1&&arguments[1]!==void 0?arguments[1]:{};t.name=t.name||e._componentTag||e.name;var r=e.prototype;Object.getOwnPropertyNames(r).forEach(function(n){if(n!=="constructor"){if($.indexOf(n)>-1){t[n]=r[n];return}var a=Object.getOwnPropertyDescriptor(r,n);a.value!==void 0?typeof a.value=="function"?(t.methods||(t.methods={}))[n]=a.value:(t.mixins||(t.mixins=[])).push({data:function(){return me({},n,a.value)}}):(a.get||a.set)&&((t.computed||(t.computed={}))[n]={get:a.get,set:a.set})}}),(t.mixins||(t.mixins=[])).push({data:function(){return je(this,e)}});var i=e.__decorators__;i&&(i.forEach(function(n){return n(t)}),delete e.__decorators__);var o=Object.getPrototypeOf(e.prototype),s=o instanceof F?o.constructor:F,l=s.extend(t);return Se(l,e,s),be()&&Ce(l,e),l}var Re={prototype:!0,arguments:!0,callee:!0,caller:!0};function Se(e,t,r){Object.getOwnPropertyNames(t).forEach(function(i){if(!Re[i]){var o=Object.getOwnPropertyDescriptor(e,i);if(!(o&&!o.configurable)){var s=Object.getOwnPropertyDescriptor(t,i);if(!_e){if(i==="cid")return;var l=Object.getOwnPropertyDescriptor(r,i);if(!Fe(s.value)&&l&&l.value===s.value)return}Object.defineProperty(e,i,s)}}})}function Y(e){return typeof e=="function"?A(e):function(t){return A(t,e)}}Y.registerHooks=function(e){$.push.apply($,ge(e))};function De(e){return typeof e!="function"||!e.managed&&!e.managedReactive}function Le(e){var t=function(){var r=this,i=typeof e=="function"?e.call(this):e;i=Object.create(i||null),i[y]=Object.create(this[y]||{});for(var o in t.managed)i[t.managed[o]]=this[o];var s=function(n){i[t.managedReactive[n]]=l[n],Object.defineProperty(i[y],t.managedReactive[n],{enumerable:!0,configurable:!0,get:function(){return r[n]}})},l=this;for(var o in t.managedReactive)s(o);return i};return t.managed={},t.managedReactive={},t}var y="__reactiveInject__";function $e(e){Array.isArray(e.inject)||(e.inject=e.inject||{},e.inject[y]={from:y,default:{}})}var xe=typeof Reflect<"u"&&typeof Reflect.getMetadata<"u";function Ee(e,t,r){if(xe&&!Array.isArray(e)&&typeof e!="function"&&!e.hasOwnProperty("type")&&typeof e.type>"u"){var i=Reflect.getMetadata("design:type",t,r);i!==Object&&(e.type=i)}}function h(e){return e===void 0&&(e={}),function(t,r){Ee(e,t,r),E(function(i,o){(i.props||(i.props={}))[o]=e})(t,r)}}function b(e){return E(function(t,r){var i=t.provide;$e(t),De(i)&&(i=t.provide=Le(i)),i.managedReactive[r]=r})}function Pe(e,t){t===void 0&&(t={});var r=t.deep,i=r===void 0?!1:r,o=t.immediate,s=o===void 0?!1:o;return E(function(l,n){typeof l.watch!="object"&&(l.watch=Object.create(null));var a=l.watch;typeof a[e]=="object"&&!Array.isArray(a[e])?a[e]=[a[e]]:typeof a[e]>"u"&&(a[e]=[]),a[e].push({handler:n,deep:i,immediate:s})})}const ze=(e,t)=>e>720&&t>480?10:5,Me=e=>Math.floor(e/250),We=e=>Math.round(e*1.5),Ne=(e,t,r)=>{const i=e/t;return Math.round(r*i)},G=(e,...t)=>{e&&console.debug(...t)};var Te=Object.defineProperty,Ie=Object.getOwnPropertyDescriptor,u=(e,t,r,i)=>{for(var o=i>1?void 0:i?Ie(t,r):t,s=e.length-1,l;s>=0;s--)(l=e[s])&&(o=(i?l(t,r,o):l(o))||o);return i&&o&&Te(t,r,o),o};let c=class extends F{constructor(){super(...arguments),this.updateLock=!1,this.bottomReached=!1,this.ref=null,this.containerData={windowSize:{height:0,width:0},windowScroll:{x:0,y:0},elementWindowOffset:0,elementSize:{height:0,width:0}}}get loadingBatch(){return this.loader&&this.updateLock}get configData(){return this.computeConfigData(this.containerData,this.items)}get layoutData(){return this.computeLayoutData(this.configData)}get renderData(){return this.computeRenderData(this.configData,this.containerData,this.layoutData)}mounted(){var e;this.ref=this.$refs.virtualGrid,this.initiliazeGrid(),window.addEventListener("resize",this.resize),((e=this.scrollElement)!=null?e:window).addEventListener("scroll",this.scroll)}beforeDestroy(){var e;window.removeEventListener("resize",this.resize),((e=this.scrollElement)!=null?e:window).removeEventListener("scroll",this.scroll)}onScrollElementChanged(e,t){(t??window).removeEventListener("scroll",this.scroll),(e??window).addEventListener("scroll",this.scroll)}resize(){this.loadMoreData()}scroll(){this.loadMoreData()}initiliazeGrid(){this.computeContainerData(),this.$nextTick(async()=>{this.loadMoreData()})}loadMoreData(){this.loadMoreDataAsync().catch(e=>{e&&console.error("Fail to load next data batch",e)}).then()}async loadMoreDataAsync(){this.computeContainerData();const e=this.containerData.windowScroll.y+this.containerData.windowSize.height,t=Math.max(0,this.containerData.elementWindowOffset+this.containerData.elementSize.height-this.updateTriggerMargin);!this.bottomReached&&e>=t&&!this.updateLock&&(this.updateLock=!0,G(this.debug,"Loading next batch"),await this.updateFunction()&&(G(this.debug,"Bottom reached"),this.bottomReached=!0),this.updateLock=!1,await this.loadMoreDataAsync())}computeContainerData(){if(this.ref===null)return;const e=this.getWindowSize(),t=this.getWindowScroll(),r=this.getElementOffset(this.ref),i=this.getElementSize(this.ref);this.containerData={windowSize:e,windowScroll:t,elementWindowOffset:r,elementSize:i}}computeConfigData(e,t){if(e===null||t===null)return{windowMargin:0,gridGap:0,columnCount:1,entries:[]};const r=e.elementSize?e.elementSize.width:0,i=this.getWindowMargin(e.windowSize.height),o=this.getGridGap(r,e.windowSize.height),s=this.getColumnCount(r),l=this.getColumnWidth(s,o,r),n=t.map(a=>{if(!a.width)return a;const d=l*a.columnSpan+o*(a.columnSpan-1);return k(I({},a),{height:this.getItemRatioHeight(a.height,a.width,d),width:d})});return{windowMargin:i,gridGap:o,columnCount:s,entries:n}}computeLayoutData(e){if(e===null)return{cells:[],totalHeight:0};let t=1,r=0,i=0,o=0;const s=e.entries.map((n,a)=>{const{columnCount:d,gridGap:g}=e;let f=n.columnSpan,p=n.height;f<1&&(f=d);const m=(a+o)%d;n.newRow&&m!==0&&(o+=d-m);const P=a+o,S=P%d+1,D=Math.floor(P/d)+1;if(S+f>d+1){const M=S+f-d-1,J=M/f;p=p*(1-J),f-=M}f>1&&(o+=f-1),D!==t&&(t=D,r+=i+g,i=0);const X=r,z=Math.round(p);return i=Math.max(i,z),k(I({},n),{columnNumber:S,rowNumber:D,offset:X,height:z,columnSpan:f})}),l=r+i;return{cells:s,totalHeight:l}}computeRenderData(e,t,r){if(r===null||e===null)return{cellsToRender:[],firstRenderedRowNumber:0,firstRenderedRowOffset:0};const i=[];let o=null,s=null;if(t.elementWindowOffset!==null){const l=t.elementWindowOffset;for(const n of r.cells){const a=l+n.offset,d=a+n.height,g=t.windowScroll.y,f=g+t.windowSize.height,p=g-e.windowMargin,m=f+e.windowMargin;a>m||d()=>!0})],c.prototype,"updateFunction",2),u([h({default:()=>ze})],c.prototype,"getGridGap",2),u([h({default:()=>Me})],c.prototype,"getColumnCount",2),u([h({default:()=>We})],c.prototype,"getWindowMargin",2),u([h({default:()=>Ne})],c.prototype,"getItemRatioHeight",2),u([h({default:null})],c.prototype,"scrollElement",2),u([h({default:500})],c.prototype,"updateTriggerMargin",2),u([h({default:null})],c.prototype,"loader",2),u([h({default:!1})],c.prototype,"debug",2),u([b()],c.prototype,"updateLock",2),u([b()],c.prototype,"bottomReached",2),u([b()],c.prototype,"ref",2),u([b()],c.prototype,"containerData",2),u([Pe("scrollElement")],c.prototype,"onScrollElementChanged",1),c=u([Y({name:"VirtualGrid"})],c);var ke=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{ref:"virtualGrid",style:{boxSizing:"border-box",height:e.layoutData.totalHeight+"px",paddingTop:e.renderData!==null&&e.renderData.firstRenderedRowOffset!==null?e.renderData.firstRenderedRowOffset+"px":"0px"}},[r("div",{staticClass:"grid",style:{display:"-ms-grid",display:"grid","align-items":"center","grid-template-columns":"repeat("+e.configData.columnCount+", 1fr)",gap:e.configData.gridGap+"px"}},e._l(e.renderData.cellsToRender,function(i){return r("div",{key:i.id,staticClass:"grid-item-wrapper",style:{height:i.height+"px","grid-column-start":i.columnNumber,"grid-column-end":i.columnNumber+i.columnSpan,"grid-row-start":e.getGridRowStart(i,e.renderData)}},[r(i.renderComponent,e._g({tag:"component",attrs:{item:i}},e.$listeners))],1)}),0),r(e.loadingBatch&&e.loader,{tag:"component"})],1)},Ae=[];function Ge(e,t,r,i,o,s,l,n){var a=typeof e=="function"?e.options:e;t&&(a.render=t,a.staticRenderFns=r,a._compiled=!0);var d;if(o&&(d=o),d)if(a.functional){a._injectStyles=d;var g=a.render;a.render=function(p,m){return d.call(m),g(p,m)}}else{var f=a.beforeCreate;a.beforeCreate=f?[].concat(f,d):[d]}return{exports:e,options:a}}const U={};var Ue=Ge(c,ke,Ae,!1,He);function He(e){for(let t in U)this[t]=U[t]}var Ve=(function(){return Ue.exports})();const qe={name:"FileLegacy",inheritAttrs:!1,props:{item:{type:Object,required:!0}},data(){return{loaded:!1,error:!1}},computed:{ariaUuid(){return`image-${this.item.injected.fileid}`},ariaLabel(){return v("photos",'Open the full size "{name}" image',{name:this.item.injected.basename})},isImage(){return this.item.injected.mime.startsWith("image")},decodedEtag(){return this.item.injected.etag.replace(""","").replace(""","")},src(){return x(`/core/preview?fileId=${this.item.injected.fileid}&c=${this.decodedEtag}&x=250&y=250&forceIcon=0&a=${this.croppedLayout?"0":"1"}`)},croppedLayout(){return this.$store.state.userConfig.croppedLayout}},beforeDestroy(){this.$refs.src=""},methods:{openViewer(){window.OCA.Viewer.open({fileInfo:W(this.item.injected),list:this.item.injected.list.map(e=>W(e))})},onLoad(){this.loaded=!0},onError(){this.error=!0},t:v}};var Be=function(){var e=this,t=e._self._c;return t("a",{staticClass:"file",class:{"file--cropped":e.croppedLayout},attrs:{href:e.item.injected.source,"aria-label":e.ariaLabel},on:{click:function(r){return r.preventDefault(),e.openViewer.apply(null,arguments)}}},[e.item.injected.mime.includes("video")&&e.item.injected.hasPreview?t("div",{staticClass:"icon-video-white"}):e._e(),t("transition-group",{staticClass:"transition-group",attrs:{name:"fade"}},[e.error?e._e():t("img",{key:`${e.item.injected.basename}-img`,ref:"img",attrs:{src:e.src,alt:e.item.injected.basename,"aria-describedby":e.ariaUuid},on:{load:e.onLoad,error:e.onError}}),!e.loaded||e.error?t("svg",{key:`${e.item.injected.basename}-svg`,attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"url(#placeholder__gradient)"}},[e.isImage?t("use",{attrs:{href:"#placeholder--img"}}):t("use",{attrs:{href:"#placeholder--video"}})]):e._e()]),t("p",{staticClass:"hidden-visually",attrs:{id:e.ariaUuid}},[e._v(e._s(e.item.injected.basename))]),t("div",{staticClass:"cover",attrs:{role:"none"}})],1)},Ke=[],Ye=R(qe,Be,Ke,!1,null,"6f079611");const Qe=Ye.exports,Xe={name:"FolderTagPreview",components:{FolderOutline:q,RouterLink:se},props:{name:{type:String,required:!0},path:{type:String,default:""},fileList:{type:Array,default:()=>[]}},data(){return{failed:[]}},computed:{isEmpty(){return this.previewList.length===0},ariaLabel(){return v("photos",'Open the "{name}" folder',{name:this.name})},previewList(){return this.fileList.filter(e=>this.failed.indexOf(e.fileid)===-1)},previewUrl(){if(this.previewList.length===0)return null;const{fileid:e,etag:t}=this.previewList.at(-1);return x(`/core/preview?fileId=${e}&c=${t}&x=250&y=250&forceIcon=0&a=0`)},toLink(){const e=`/files/${H()?.uid}`;let t=this.path.replace(new RegExp(`^${e}`),"");return t=/^\/?(.+)/i.exec(t)[1],{...this.$route,params:{path:t.split("/")}}}},methods:{onPreviewFail({fileid:e}){this.failed.push(e)},t:v}};var Je=function(){var e=this,t=e._self._c;return t("RouterLink",{staticClass:"folder",attrs:{to:e.toLink,"aria-label":e.ariaLabel}},[e.previewUrl?t("img",{staticClass:"folder__image",attrs:{src:e.previewUrl,alt:""},on:{error:function(r){return e.onPreviewFail(e.file)}}}):t("span",{staticClass:"folder__image folder__image--placeholder"},[t("FolderOutline",{staticClass:"folder__icon",attrs:{size:96,"fill-color":"var(--color-primary-element)"}})],1),t("span",{staticClass:"folder__details"},[t("FolderOutline"),t("span",{staticClass:"folder__title"},[e._v(e._s(e.name))])],1)])},Ze=[],et=R(Xe,Je,Ze,!1,null,"0660a5ac");const tt=et.exports;async function Q(e="/",t={}){const r=x(`/apps/photos/api/v1/${t.shared?"shared":"albums"}`),i=(await ae.get(r+e,t)).data.map(n=>({...n,filename:`${w}${n.filename}`,source:decodeURI(Z+`${w}${n.filename}`)}));let o;const s=[],l=[];for(const n of i)n.filename===`${w}${e}`?o=n:n.type!=="file"?s.push(n):B.indexOf(n.mime)>-1&&l.push(n);return{folder:o,folders:s,files:l}}const rt=V({name:"FolderComponent",components:{FolderTagPreview:tt},mixins:[K],inheritAttrs:!1,props:{item:{type:Object,required:!0}},data(){return{previewFolder:this.item.injected.fileid}},computed:{files(){return this.$store.state.folders.files},subFolders(){return this.$store.state.folders.subFolders},folders(){return this.$store.state.folders.folders},folderContent(){return this.folders[this.item.injected.fileid]},previewFiles(){const e=this.folders[this.previewFolder],t=e?e.map(r=>this.files[r]).slice(0,4):[];if(t.length===0&&this.subFolders[this.previewFolder]&&this.previewFolder===this.item.injected.fileid){const r=this.subFolders[this.previewFolder][0];this.updatePreviewFolder(r),this.folders[this.previewFolder]||this.getFolderData(this.files[this.previewFolder].filename)}return t}},async created(){this.folderContent||await this.getFolderData(this.item.injected.filename)},methods:{async getFolderData(e){try{const t=`/files/${H()?.uid}`,r=e.replace(new RegExp(`^${t}`),""),{folder:i,folders:o,files:s}=await Q(r,{shared:this.item.injected.showShared,signal:this.abortController.signal});this.$store.dispatch("updateFolders",{fileid:i?.fileid,files:s,folders:o}),this.$store.dispatch("updateFoldersFiles",{folder:i,files:s,folders:o})}catch(t){j.error("Failed to get folder content",{error:t,filename:e})}},updatePreviewFolder(e){this.previewFolder=e}}});var it=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("FolderTagPreview",{attrs:{id:e.item.injected.fileid,name:e.item.injected.basename.toString(),path:e.item.injected.filename,"file-list":e.previewFiles}})},ot=[],nt=R(rt,it,ot,!1,null,"5b1b48c0");const at=nt.exports,C={400:{marginTop:66,marginW:8,count:3,folderCount:1},700:{marginTop:66,marginW:8,count:4,folderCount:1},1024:{marginTop:66,marginW:44,count:5,folderCount:2},1280:{marginTop:66,marginW:44,count:4,folderCount:2},1440:{marginTop:88,marginW:66,count:5,folderCount:3},1600:{marginTop:88,marginW:66,count:6,folderCount:4},2048:{marginTop:88,marginW:66,count:7,folderCount:4},2560:{marginTop:88,marginW:88,count:8,folderCount:6},3440:{marginTop:88,marginW:88,count:9,folderCount:8},max:{marginTop:88,marginW:88,count:10,folderCount:10}},O=new F({data(){return{gridConfig:C.max}},watch:{gridConfig(e){this.$emit("changed",e)}},created(){window.addEventListener("resize",this.handleWindowResize),this.handleWindowResize()},beforeDestroy(){window.removeEventListener("resize",this.handleWindowResize)},methods:{handleWindowResize(){const e=Object.keys(C).map(t=>Number.parseInt(t)).find(t=>t>document.documentElement.clientWidth);this.gridConfig=C[e]||C.max}}}),st=V({data(){return{gridConfig:{}}},created(){O.$on("changed",this.handleGridConfigChange),j.debug("Grid config",{gridConfig:O.gridConfig}),this.gridConfig=O.gridConfig},beforeDestroy(){O.$off("changed",this.handleGridConfigChange)},methods:{handleGridConfigChange(e){this.gridConfig=e}}}),lt={name:"FoldersView",components:{FolderOutline:q,HeaderNavigation:le,NcEmptyContent:oe,NcLoadingIcon:ne,UploadPicker:re,VirtualGrid:Ve},mixins:[K,st],props:{rootTitle:{type:String,required:!0},path:{type:String,default:"/"},showShared:{type:Boolean,default:!1}},data(){return{error:null,allowedMimes:B,initializing:!0,loading:!1,appContent:document.getElementById("app-content-vue"),uploader:ie()}},computed:{files(){return this.$store.state.folders.files},folders(){return this.$store.state.folders.folders},folderId(){return this.$store.state.folders.paths[this.path]},folder(){return this.files[this.folderId]},folderAsFolder(){if(this.folder)return new ee({...this.folder,permissions:te(this.folder.permissions),owner:null})},folderContent(){return this.folders[this.folderId]||[]},fileList(){return this.folderContent&&this.folderContent.map(e=>this.files[e]).filter(e=>!!e)},subFolders(){return this.folderId&&this.files[this.folderId]&&this.$store.state.folders.subFolders[this.folderId]},folderList(){return this.subFolders&&this.subFolders.map(e=>this.files[e]).filter(e=>!!e)},contentList(){const e=this.folderList&&this.folderList.map(r=>({id:`folder-${r.fileid}`,injected:{...r,showShared:this.showShared},width:232,height:280,columnSpan:1,renderComponent:at})),t=this.fileList?.map(r=>({id:`file-${r.fileid}`,injected:{...r,list:this.fileList},width:256,height:256,columnSpan:1,renderComponent:Qe}));return[...e||[],...t||[]]},isEmpty(){return!this.haveFiles&&!this.haveFolders},haveFiles(){return!!this.fileList&&this.fileList.length!==0},haveFolders(){return!!this.folderList&&this.folderList.length!==0}},watch:{path(){this.fetchFolderContent()},showShared(){this.fetchFolderContent()}},beforeMount(){this.fetchFolderContent()},methods:{onRefresh(){this.fetchFolderContent()},async fetchFolderContent(){this.error=null,this.loading=!0,window.OCA?.Viewer?.close?.(),window.OCA?.Files?.Sidebar?.close?.(),(!this.files[this.folderId]||!this.folders[this.folderId])&&(this.initializing=!0);try{const{folder:e,folders:t,files:r}=await Q(this.path,{shared:this.showShared,signal:this.abortController.signal});this.$store.dispatch("addPath",{path:this.path,fileid:e?.fileid}),this.$store.dispatch("updateFolders",{fileid:e?.fileid,files:r,folders:t}),this.$store.dispatch("updateFoldersFiles",{folder:e,files:r,folders:t})}catch(e){e?.response&&e.response.status&&(e.response.status===404?(this.error=404,setTimeout(()=>{this.$router.push({name:this.$route.name??void 0})},3e3)):this.error=e),j.error("Error fetching album data",{error:e})}finally{this.loading=!1,this.initializing=!1}},async onUpload(e){const t=e.source.split(w).pop(),r=await de(w+t);if(r===null){j.error("Failed to fetch file",{relPath:t});return}const i={fileid:r.fileid,basename:r.basename,etag:r.attributes.etag,filename:r.root+r.path,source:r.source,lastmod:r.mtime?.getTime(),mime:r.mime,size:r.size,type:"file",permissions:"",hasPreview:r.attributes.hasPreview};this.$store.dispatch("appendFoldersFiles",[i]),this.$store.dispatch("addFilesToFolder",{fileid:this.folderId,files:[i]})},t:v}};var dt=function(){var e=this,t=e._self._c;return e.error===404?t("NcEmptyContent",{attrs:{name:e.t("photos","This folder does not exist")},scopedSlots:e._u([{key:"icon",fn:function(){return[t("FolderOutline")]},proxy:!0}],null,!1,610611029)}):e.error?t("NcEmptyContent",{attrs:{name:e.t("photos","An error occurred")}}):e.initializing?t("NcEmptyContent",{attrs:{name:e.t("photos","Loading folders…")},scopedSlots:e._u([{key:"icon",fn:function(){return[t("NcLoadingIcon")]},proxy:!0}])}):e.initializing?e._e():t("div",[t("HeaderNavigation",{key:"navigation",class:{"photos-navigation--uploading":e.uploader.queue?.length>0},attrs:{loading:e.loading,path:e.path,title:e.folder?.basename?.toString?.()||e.rootTitle,"root-title":e.rootTitle},on:{refresh:e.onRefresh}},[t("UploadPicker",{attrs:{accept:e.allowedMimes,destination:e.folderAsFolder,multiple:!0},on:{uploaded:e.onUpload}})],1),e.isEmpty?t("NcEmptyContent",{key:"emptycontent",attrs:{name:e.t("photos","No photos in here")},scopedSlots:e._u([{key:"icon",fn:function(){return[t("FolderOutline")]},proxy:!0}],null,!1,610611029)}):t("div",{staticClass:"grid-container",class:{"grid-container--folders":e.haveFolders}},[t("VirtualGrid",{ref:"virtualgrid",attrs:{items:e.contentList,"scroll-element":e.appContent,"get-column-count":()=>e.haveFolders?e.gridConfig.folderCount:e.gridConfig.count,"get-grid-gap":()=>e.haveFolders?16:8}})],1)],1)},ct=[],ut=R(lt,dt,ct,!1,null,"61f0d4f9");const $t=ut.exports;export{$t as default};
-//# sourceMappingURL=FoldersView-BRFRCvSe.chunk.mjs.map
+import"./index-CsCSS_KR.chunk.mjs";import{V as F,a as v,n as x,p as H,b as w,O as Z,d as V,P as ee,Q as te}from"./preload-helper-B1hyiFAx.chunk.mjs";import{U as re,g as ie}from"./index-SPoS3_zU-BiaeHne1.chunk.mjs";import{N as oe}from"./NcEmptyContent-DBJ9WEjx.chunk.mjs";import{N as ne}from"./NcLoadingIcon-DM-94wwW.chunk.mjs";import{n as R,s as q}from"./icons-DCSM00Rh.chunk.mjs";import{ai as W,H as ae,a as B,l as j}from"./index-msNec4Xs.chunk.mjs";import{L as se}from"./video-B2A2Ed33.chunk.mjs";import{A as K}from"./AbortControllerMixin-QihggCn5.chunk.mjs";import{H as le}from"./HeaderNavigation-NTIRuixF.chunk.mjs";import{f as de}from"./fileFetcher-CoIlTdaG.chunk.mjs";import"./index-BHk_XWCz.chunk.mjs";import"./dialog-lSyFLMgl.chunk.mjs";import"./NcModal-DnfAQoZ9.chunk.mjs";import"./NcActions-C4f9MXug-BC_2VOkH.chunk.mjs";import"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";import"./NcProgressBar-D7zYeXBH-Cnz6LtnO.chunk.mjs";import"./useHotKey-CZEtuasP.chunk.mjs";var ce=Object.defineProperty,ue=Object.defineProperties,fe=Object.getOwnPropertyDescriptors,N=Object.getOwnPropertySymbols,he=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable,T=(e,t,r)=>t in e?ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,I=(e,t)=>{for(var r in t||(t={}))he.call(t,r)&&T(e,r,t[r]);if(N)for(var r of N(t))pe.call(t,r)&&T(e,r,t[r]);return e},k=(e,t)=>ue(e,fe(t));function _(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_=function(t){return typeof t}:_=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_(e)}function me(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ge(e){return we(e)||ye(e)||ve()}function we(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t1&&arguments[1]!==void 0?arguments[1]:{};t.name=t.name||e._componentTag||e.name;var r=e.prototype;Object.getOwnPropertyNames(r).forEach(function(n){if(n!=="constructor"){if($.indexOf(n)>-1){t[n]=r[n];return}var a=Object.getOwnPropertyDescriptor(r,n);a.value!==void 0?typeof a.value=="function"?(t.methods||(t.methods={}))[n]=a.value:(t.mixins||(t.mixins=[])).push({data:function(){return me({},n,a.value)}}):(a.get||a.set)&&((t.computed||(t.computed={}))[n]={get:a.get,set:a.set})}}),(t.mixins||(t.mixins=[])).push({data:function(){return je(this,e)}});var i=e.__decorators__;i&&(i.forEach(function(n){return n(t)}),delete e.__decorators__);var o=Object.getPrototypeOf(e.prototype),s=o instanceof F?o.constructor:F,l=s.extend(t);return Se(l,e,s),be()&&Ce(l,e),l}var Re={prototype:!0,arguments:!0,callee:!0,caller:!0};function Se(e,t,r){Object.getOwnPropertyNames(t).forEach(function(i){if(!Re[i]){var o=Object.getOwnPropertyDescriptor(e,i);if(!(o&&!o.configurable)){var s=Object.getOwnPropertyDescriptor(t,i);if(!_e){if(i==="cid")return;var l=Object.getOwnPropertyDescriptor(r,i);if(!Fe(s.value)&&l&&l.value===s.value)return}Object.defineProperty(e,i,s)}}})}function Y(e){return typeof e=="function"?A(e):function(t){return A(t,e)}}Y.registerHooks=function(e){$.push.apply($,ge(e))};function De(e){return typeof e!="function"||!e.managed&&!e.managedReactive}function Le(e){var t=function(){var r=this,i=typeof e=="function"?e.call(this):e;i=Object.create(i||null),i[y]=Object.create(this[y]||{});for(var o in t.managed)i[t.managed[o]]=this[o];var s=function(n){i[t.managedReactive[n]]=l[n],Object.defineProperty(i[y],t.managedReactive[n],{enumerable:!0,configurable:!0,get:function(){return r[n]}})},l=this;for(var o in t.managedReactive)s(o);return i};return t.managed={},t.managedReactive={},t}var y="__reactiveInject__";function $e(e){Array.isArray(e.inject)||(e.inject=e.inject||{},e.inject[y]={from:y,default:{}})}var xe=typeof Reflect<"u"&&typeof Reflect.getMetadata<"u";function Ee(e,t,r){if(xe&&!Array.isArray(e)&&typeof e!="function"&&!e.hasOwnProperty("type")&&typeof e.type>"u"){var i=Reflect.getMetadata("design:type",t,r);i!==Object&&(e.type=i)}}function h(e){return e===void 0&&(e={}),function(t,r){Ee(e,t,r),E(function(i,o){(i.props||(i.props={}))[o]=e})(t,r)}}function b(e){return E(function(t,r){var i=t.provide;$e(t),De(i)&&(i=t.provide=Le(i)),i.managedReactive[r]=r})}function Pe(e,t){t===void 0&&(t={});var r=t.deep,i=r===void 0?!1:r,o=t.immediate,s=o===void 0?!1:o;return E(function(l,n){typeof l.watch!="object"&&(l.watch=Object.create(null));var a=l.watch;typeof a[e]=="object"&&!Array.isArray(a[e])?a[e]=[a[e]]:typeof a[e]>"u"&&(a[e]=[]),a[e].push({handler:n,deep:i,immediate:s})})}const ze=(e,t)=>e>720&&t>480?10:5,Me=e=>Math.floor(e/250),We=e=>Math.round(e*1.5),Ne=(e,t,r)=>{const i=e/t;return Math.round(r*i)},G=(e,...t)=>{e&&console.debug(...t)};var Te=Object.defineProperty,Ie=Object.getOwnPropertyDescriptor,u=(e,t,r,i)=>{for(var o=i>1?void 0:i?Ie(t,r):t,s=e.length-1,l;s>=0;s--)(l=e[s])&&(o=(i?l(t,r,o):l(o))||o);return i&&o&&Te(t,r,o),o};let c=class extends F{constructor(){super(...arguments),this.updateLock=!1,this.bottomReached=!1,this.ref=null,this.containerData={windowSize:{height:0,width:0},windowScroll:{x:0,y:0},elementWindowOffset:0,elementSize:{height:0,width:0}}}get loadingBatch(){return this.loader&&this.updateLock}get configData(){return this.computeConfigData(this.containerData,this.items)}get layoutData(){return this.computeLayoutData(this.configData)}get renderData(){return this.computeRenderData(this.configData,this.containerData,this.layoutData)}mounted(){var e;this.ref=this.$refs.virtualGrid,this.initiliazeGrid(),window.addEventListener("resize",this.resize),((e=this.scrollElement)!=null?e:window).addEventListener("scroll",this.scroll)}beforeDestroy(){var e;window.removeEventListener("resize",this.resize),((e=this.scrollElement)!=null?e:window).removeEventListener("scroll",this.scroll)}onScrollElementChanged(e,t){(t??window).removeEventListener("scroll",this.scroll),(e??window).addEventListener("scroll",this.scroll)}resize(){this.loadMoreData()}scroll(){this.loadMoreData()}initiliazeGrid(){this.computeContainerData(),this.$nextTick(async()=>{this.loadMoreData()})}loadMoreData(){this.loadMoreDataAsync().catch(e=>{e&&console.error("Fail to load next data batch",e)}).then()}async loadMoreDataAsync(){this.computeContainerData();const e=this.containerData.windowScroll.y+this.containerData.windowSize.height,t=Math.max(0,this.containerData.elementWindowOffset+this.containerData.elementSize.height-this.updateTriggerMargin);!this.bottomReached&&e>=t&&!this.updateLock&&(this.updateLock=!0,G(this.debug,"Loading next batch"),await this.updateFunction()&&(G(this.debug,"Bottom reached"),this.bottomReached=!0),this.updateLock=!1,await this.loadMoreDataAsync())}computeContainerData(){if(this.ref===null)return;const e=this.getWindowSize(),t=this.getWindowScroll(),r=this.getElementOffset(this.ref),i=this.getElementSize(this.ref);this.containerData={windowSize:e,windowScroll:t,elementWindowOffset:r,elementSize:i}}computeConfigData(e,t){if(e===null||t===null)return{windowMargin:0,gridGap:0,columnCount:1,entries:[]};const r=e.elementSize?e.elementSize.width:0,i=this.getWindowMargin(e.windowSize.height),o=this.getGridGap(r,e.windowSize.height),s=this.getColumnCount(r),l=this.getColumnWidth(s,o,r),n=t.map(a=>{if(!a.width)return a;const d=l*a.columnSpan+o*(a.columnSpan-1);return k(I({},a),{height:this.getItemRatioHeight(a.height,a.width,d),width:d})});return{windowMargin:i,gridGap:o,columnCount:s,entries:n}}computeLayoutData(e){if(e===null)return{cells:[],totalHeight:0};let t=1,r=0,i=0,o=0;const s=e.entries.map((n,a)=>{const{columnCount:d,gridGap:g}=e;let f=n.columnSpan,p=n.height;f<1&&(f=d);const m=(a+o)%d;n.newRow&&m!==0&&(o+=d-m);const P=a+o,S=P%d+1,D=Math.floor(P/d)+1;if(S+f>d+1){const M=S+f-d-1,J=M/f;p=p*(1-J),f-=M}f>1&&(o+=f-1),D!==t&&(t=D,r+=i+g,i=0);const X=r,z=Math.round(p);return i=Math.max(i,z),k(I({},n),{columnNumber:S,rowNumber:D,offset:X,height:z,columnSpan:f})}),l=r+i;return{cells:s,totalHeight:l}}computeRenderData(e,t,r){if(r===null||e===null)return{cellsToRender:[],firstRenderedRowNumber:0,firstRenderedRowOffset:0};const i=[];let o=null,s=null;if(t.elementWindowOffset!==null){const l=t.elementWindowOffset;for(const n of r.cells){const a=l+n.offset,d=a+n.height,g=t.windowScroll.y,f=g+t.windowSize.height,p=g-e.windowMargin,m=f+e.windowMargin;a>m||d()=>!0})],c.prototype,"updateFunction",2),u([h({default:()=>ze})],c.prototype,"getGridGap",2),u([h({default:()=>Me})],c.prototype,"getColumnCount",2),u([h({default:()=>We})],c.prototype,"getWindowMargin",2),u([h({default:()=>Ne})],c.prototype,"getItemRatioHeight",2),u([h({default:null})],c.prototype,"scrollElement",2),u([h({default:500})],c.prototype,"updateTriggerMargin",2),u([h({default:null})],c.prototype,"loader",2),u([h({default:!1})],c.prototype,"debug",2),u([b()],c.prototype,"updateLock",2),u([b()],c.prototype,"bottomReached",2),u([b()],c.prototype,"ref",2),u([b()],c.prototype,"containerData",2),u([Pe("scrollElement")],c.prototype,"onScrollElementChanged",1),c=u([Y({name:"VirtualGrid"})],c);var ke=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{ref:"virtualGrid",style:{boxSizing:"border-box",height:e.layoutData.totalHeight+"px",paddingTop:e.renderData!==null&&e.renderData.firstRenderedRowOffset!==null?e.renderData.firstRenderedRowOffset+"px":"0px"}},[r("div",{staticClass:"grid",style:{display:"-ms-grid",display:"grid","align-items":"center","grid-template-columns":"repeat("+e.configData.columnCount+", 1fr)",gap:e.configData.gridGap+"px"}},e._l(e.renderData.cellsToRender,function(i){return r("div",{key:i.id,staticClass:"grid-item-wrapper",style:{height:i.height+"px","grid-column-start":i.columnNumber,"grid-column-end":i.columnNumber+i.columnSpan,"grid-row-start":e.getGridRowStart(i,e.renderData)}},[r(i.renderComponent,e._g({tag:"component",attrs:{item:i}},e.$listeners))],1)}),0),r(e.loadingBatch&&e.loader,{tag:"component"})],1)},Ae=[];function Ge(e,t,r,i,o,s,l,n){var a=typeof e=="function"?e.options:e;t&&(a.render=t,a.staticRenderFns=r,a._compiled=!0);var d;if(o&&(d=o),d)if(a.functional){a._injectStyles=d;var g=a.render;a.render=function(p,m){return d.call(m),g(p,m)}}else{var f=a.beforeCreate;a.beforeCreate=f?[].concat(f,d):[d]}return{exports:e,options:a}}const U={};var Ue=Ge(c,ke,Ae,!1,He);function He(e){for(let t in U)this[t]=U[t]}var Ve=(function(){return Ue.exports})();const qe={name:"FileLegacy",inheritAttrs:!1,props:{item:{type:Object,required:!0}},data(){return{loaded:!1,error:!1}},computed:{ariaUuid(){return`image-${this.item.injected.fileid}`},ariaLabel(){return v("photos",'Open the full size "{name}" image',{name:this.item.injected.basename})},isImage(){return this.item.injected.mime.startsWith("image")},decodedEtag(){return this.item.injected.etag.replace(""","").replace(""","")},src(){return x(`/core/preview?fileId=${this.item.injected.fileid}&c=${this.decodedEtag}&x=250&y=250&forceIcon=0&a=${this.croppedLayout?"0":"1"}`)},croppedLayout(){return this.$store.state.userConfig.croppedLayout}},beforeDestroy(){this.$refs.src=""},methods:{openViewer(){window.OCA.Viewer.open({fileInfo:W(this.item.injected),list:this.item.injected.list.map(e=>W(e))})},onLoad(){this.loaded=!0},onError(){this.error=!0},t:v}};var Be=function(){var e=this,t=e._self._c;return t("a",{staticClass:"file",class:{"file--cropped":e.croppedLayout},attrs:{href:e.item.injected.source,"aria-label":e.ariaLabel},on:{click:function(r){return r.preventDefault(),e.openViewer.apply(null,arguments)}}},[e.item.injected.mime.includes("video")&&e.item.injected.hasPreview?t("div",{staticClass:"icon-video-white"}):e._e(),t("transition-group",{staticClass:"transition-group",attrs:{name:"fade"}},[e.error?e._e():t("img",{key:`${e.item.injected.basename}-img`,ref:"img",attrs:{src:e.src,alt:e.item.injected.basename,"aria-describedby":e.ariaUuid},on:{load:e.onLoad,error:e.onError}}),!e.loaded||e.error?t("svg",{key:`${e.item.injected.basename}-svg`,attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"url(#placeholder__gradient)"}},[e.isImage?t("use",{attrs:{href:"#placeholder--img"}}):t("use",{attrs:{href:"#placeholder--video"}})]):e._e()]),t("p",{staticClass:"hidden-visually",attrs:{id:e.ariaUuid}},[e._v(e._s(e.item.injected.basename))]),t("div",{staticClass:"cover",attrs:{role:"none"}})],1)},Ke=[],Ye=R(qe,Be,Ke,!1,null,"6f079611");const Qe=Ye.exports,Xe={name:"FolderTagPreview",components:{FolderOutline:q,RouterLink:se},props:{name:{type:String,required:!0},path:{type:String,default:""},fileList:{type:Array,default:()=>[]}},data(){return{failed:[]}},computed:{isEmpty(){return this.previewList.length===0},ariaLabel(){return v("photos",'Open the "{name}" folder',{name:this.name})},previewList(){return this.fileList.filter(e=>this.failed.indexOf(e.fileid)===-1)},previewUrl(){if(this.previewList.length===0)return null;const{fileid:e,etag:t}=this.previewList.at(-1);return x(`/core/preview?fileId=${e}&c=${t}&x=250&y=250&forceIcon=0&a=0`)},toLink(){const e=`/files/${H()?.uid}`;let t=this.path.replace(new RegExp(`^${e}`),"");return t=/^\/?(.+)/i.exec(t)[1],{...this.$route,params:{path:t.split("/")}}}},methods:{onPreviewFail({fileid:e}){this.failed.push(e)},t:v}};var Je=function(){var e=this,t=e._self._c;return t("RouterLink",{staticClass:"folder",attrs:{to:e.toLink,"aria-label":e.ariaLabel}},[e.previewUrl?t("img",{staticClass:"folder__image",attrs:{src:e.previewUrl,alt:""},on:{error:function(r){return e.onPreviewFail(e.file)}}}):t("span",{staticClass:"folder__image folder__image--placeholder"},[t("FolderOutline",{staticClass:"folder__icon",attrs:{size:96,"fill-color":"var(--color-primary-element)"}})],1),t("span",{staticClass:"folder__details"},[t("FolderOutline"),t("span",{staticClass:"folder__title"},[e._v(e._s(e.name))])],1)])},Ze=[],et=R(Xe,Je,Ze,!1,null,"0660a5ac");const tt=et.exports;async function Q(e="/",t={}){const r=x(`/apps/photos/api/v1/${t.shared?"shared":"albums"}`),i=(await ae.get(r+e,t)).data.map(n=>({...n,filename:`${w}${n.filename}`,source:decodeURI(Z+`${w}${n.filename}`)}));let o;const s=[],l=[];for(const n of i)n.filename===`${w}${e}`?o=n:n.type!=="file"?s.push(n):B.indexOf(n.mime)>-1&&l.push(n);return{folder:o,folders:s,files:l}}const rt=V({name:"FolderComponent",components:{FolderTagPreview:tt},mixins:[K],inheritAttrs:!1,props:{item:{type:Object,required:!0}},data(){return{previewFolder:this.item.injected.fileid}},computed:{files(){return this.$store.state.folders.files},subFolders(){return this.$store.state.folders.subFolders},folders(){return this.$store.state.folders.folders},folderContent(){return this.folders[this.item.injected.fileid]},previewFiles(){const e=this.folders[this.previewFolder],t=e?e.map(r=>this.files[r]).slice(0,4):[];if(t.length===0&&this.subFolders[this.previewFolder]&&this.previewFolder===this.item.injected.fileid){const r=this.subFolders[this.previewFolder][0];this.updatePreviewFolder(r),this.folders[this.previewFolder]||this.getFolderData(this.files[this.previewFolder].filename)}return t}},async created(){this.folderContent||await this.getFolderData(this.item.injected.filename)},methods:{async getFolderData(e){try{const t=`/files/${H()?.uid}`,r=e.replace(new RegExp(`^${t}`),""),{folder:i,folders:o,files:s}=await Q(r,{shared:this.item.injected.showShared,signal:this.abortController.signal});this.$store.dispatch("updateFolders",{fileid:i?.fileid,files:s,folders:o}),this.$store.dispatch("updateFoldersFiles",{folder:i,files:s,folders:o})}catch(t){j.error("Failed to get folder content",{error:t,filename:e})}},updatePreviewFolder(e){this.previewFolder=e}}});var it=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("FolderTagPreview",{attrs:{id:e.item.injected.fileid,name:e.item.injected.basename.toString(),path:e.item.injected.filename,"file-list":e.previewFiles}})},ot=[],nt=R(rt,it,ot,!1,null,"5b1b48c0");const at=nt.exports,C={400:{marginTop:66,marginW:8,count:3,folderCount:1},700:{marginTop:66,marginW:8,count:4,folderCount:1},1024:{marginTop:66,marginW:44,count:5,folderCount:2},1280:{marginTop:66,marginW:44,count:4,folderCount:2},1440:{marginTop:88,marginW:66,count:5,folderCount:3},1600:{marginTop:88,marginW:66,count:6,folderCount:4},2048:{marginTop:88,marginW:66,count:7,folderCount:4},2560:{marginTop:88,marginW:88,count:8,folderCount:6},3440:{marginTop:88,marginW:88,count:9,folderCount:8},max:{marginTop:88,marginW:88,count:10,folderCount:10}},O=new F({data(){return{gridConfig:C.max}},watch:{gridConfig(e){this.$emit("changed",e)}},created(){window.addEventListener("resize",this.handleWindowResize),this.handleWindowResize()},beforeDestroy(){window.removeEventListener("resize",this.handleWindowResize)},methods:{handleWindowResize(){const e=Object.keys(C).map(t=>Number.parseInt(t)).find(t=>t>document.documentElement.clientWidth);this.gridConfig=C[e]||C.max}}}),st=V({data(){return{gridConfig:{}}},created(){O.$on("changed",this.handleGridConfigChange),j.debug("Grid config",{gridConfig:O.gridConfig}),this.gridConfig=O.gridConfig},beforeDestroy(){O.$off("changed",this.handleGridConfigChange)},methods:{handleGridConfigChange(e){this.gridConfig=e}}}),lt={name:"FoldersView",components:{FolderOutline:q,HeaderNavigation:le,NcEmptyContent:oe,NcLoadingIcon:ne,UploadPicker:re,VirtualGrid:Ve},mixins:[K,st],props:{rootTitle:{type:String,required:!0},path:{type:String,default:"/"},showShared:{type:Boolean,default:!1}},data(){return{error:null,allowedMimes:B,initializing:!0,loading:!1,appContent:document.getElementById("app-content-vue"),uploader:ie()}},computed:{files(){return this.$store.state.folders.files},folders(){return this.$store.state.folders.folders},folderId(){return this.$store.state.folders.paths[this.path]},folder(){return this.files[this.folderId]},folderAsFolder(){if(this.folder)return new ee({...this.folder,permissions:te(this.folder.permissions),owner:null})},folderContent(){return this.folders[this.folderId]||[]},fileList(){return this.folderContent&&this.folderContent.map(e=>this.files[e]).filter(e=>!!e)},subFolders(){return this.folderId&&this.files[this.folderId]&&this.$store.state.folders.subFolders[this.folderId]},folderList(){return this.subFolders&&this.subFolders.map(e=>this.files[e]).filter(e=>!!e)},contentList(){const e=this.folderList&&this.folderList.map(r=>({id:`folder-${r.fileid}`,injected:{...r,showShared:this.showShared},width:232,height:280,columnSpan:1,renderComponent:at})),t=this.fileList?.map(r=>({id:`file-${r.fileid}`,injected:{...r,list:this.fileList},width:256,height:256,columnSpan:1,renderComponent:Qe}));return[...e||[],...t||[]]},isEmpty(){return!this.haveFiles&&!this.haveFolders},haveFiles(){return!!this.fileList&&this.fileList.length!==0},haveFolders(){return!!this.folderList&&this.folderList.length!==0}},watch:{path(){this.fetchFolderContent()},showShared(){this.fetchFolderContent()}},beforeMount(){this.fetchFolderContent()},methods:{onRefresh(){this.fetchFolderContent()},async fetchFolderContent(){this.error=null,this.loading=!0,window.OCA?.Viewer?.close?.(),window.OCA?.Files?.Sidebar?.close?.(),(!this.files[this.folderId]||!this.folders[this.folderId])&&(this.initializing=!0);try{const{folder:e,folders:t,files:r}=await Q(this.path,{shared:this.showShared,signal:this.abortController.signal});this.$store.dispatch("addPath",{path:this.path,fileid:e?.fileid}),this.$store.dispatch("updateFolders",{fileid:e?.fileid,files:r,folders:t}),this.$store.dispatch("updateFoldersFiles",{folder:e,files:r,folders:t})}catch(e){e?.response&&e.response.status&&(e.response.status===404?(this.error=404,setTimeout(()=>{this.$router.push({name:this.$route.name??void 0})},3e3)):this.error=e),j.error("Error fetching album data",{error:e})}finally{this.loading=!1,this.initializing=!1}},async onUpload(e){const t=e.source.split(w).pop(),r=await de(w+t);if(r===null){j.error("Failed to fetch file",{relPath:t});return}const i={fileid:r.fileid,basename:r.basename,etag:r.attributes.etag,filename:r.root+r.path,source:r.source,lastmod:r.mtime?.getTime(),mime:r.mime,size:r.size,type:"file",permissions:"",hasPreview:r.attributes.hasPreview};this.$store.dispatch("appendFoldersFiles",[i]),this.$store.dispatch("addFilesToFolder",{fileid:this.folderId,files:[i]})},t:v}};var dt=function(){var e=this,t=e._self._c;return e.error===404?t("NcEmptyContent",{attrs:{name:e.t("photos","This folder does not exist")},scopedSlots:e._u([{key:"icon",fn:function(){return[t("FolderOutline")]},proxy:!0}],null,!1,610611029)}):e.error?t("NcEmptyContent",{attrs:{name:e.t("photos","An error occurred")}}):e.initializing?t("NcEmptyContent",{attrs:{name:e.t("photos","Loading folders…")},scopedSlots:e._u([{key:"icon",fn:function(){return[t("NcLoadingIcon")]},proxy:!0}])}):e.initializing?e._e():t("div",[t("HeaderNavigation",{key:"navigation",class:{"photos-navigation--uploading":e.uploader.queue?.length>0},attrs:{loading:e.loading,path:e.path,title:e.folder?.basename?.toString?.()||e.rootTitle,"root-title":e.rootTitle},on:{refresh:e.onRefresh}},[t("UploadPicker",{attrs:{accept:e.allowedMimes,destination:e.folderAsFolder,multiple:!0},on:{uploaded:e.onUpload}})],1),e.isEmpty?t("NcEmptyContent",{key:"emptycontent",attrs:{name:e.t("photos","No photos in here")},scopedSlots:e._u([{key:"icon",fn:function(){return[t("FolderOutline")]},proxy:!0}],null,!1,610611029)}):t("div",{staticClass:"grid-container",class:{"grid-container--folders":e.haveFolders}},[t("VirtualGrid",{ref:"virtualgrid",attrs:{items:e.contentList,"scroll-element":e.appContent,"get-column-count":()=>e.haveFolders?e.gridConfig.folderCount:e.gridConfig.count,"get-grid-gap":()=>e.haveFolders?16:8}})],1)],1)},ct=[],ut=R(lt,dt,ct,!1,null,"61f0d4f9");const $t=ut.exports;export{$t as default};
+//# sourceMappingURL=FoldersView-DhVFd5R9.chunk.mjs.map
diff --git a/js/FoldersView-BRFRCvSe.chunk.mjs.license b/js/FoldersView-DhVFd5R9.chunk.mjs.license
similarity index 100%
rename from js/FoldersView-BRFRCvSe.chunk.mjs.license
rename to js/FoldersView-DhVFd5R9.chunk.mjs.license
diff --git a/js/FoldersView-BRFRCvSe.chunk.mjs.map b/js/FoldersView-DhVFd5R9.chunk.mjs.map
similarity index 99%
rename from js/FoldersView-BRFRCvSe.chunk.mjs.map
rename to js/FoldersView-DhVFd5R9.chunk.mjs.map
index ceb6b58eca..c5de1f37f2 100644
--- a/js/FoldersView-BRFRCvSe.chunk.mjs.map
+++ b/js/FoldersView-DhVFd5R9.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"FoldersView-BRFRCvSe.chunk.mjs","sources":["../node_modules/vue-virtual-grid/dist/vue-virtual-grid.es.js","../src/components/FileLegacy.vue","../src/components/FolderTagPreview.vue","../src/services/FolderContent.ts","../src/components/FolderComponent.vue","../src/assets/grid-sizes.ts","../src/services/GridConfig.ts","../src/mixins/GridConfig.ts","../src/views/FoldersView.vue"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nimport Vue from \"vue\";\n/**\n * vue-class-component v7.2.6\n * (c) 2015-present Evan You\n * @license MIT\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function(obj2) {\n return typeof obj2;\n };\n } else {\n _typeof = function(obj2) {\n return obj2 && typeof Symbol === \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? \"symbol\" : typeof obj2;\n };\n }\n return _typeof(obj);\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++)\n arr2[i] = arr[i];\n return arr2;\n }\n}\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\")\n return Array.from(iter);\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\nfunction reflectionIsSupported() {\n return typeof Reflect !== \"undefined\" && Reflect.defineMetadata && Reflect.getOwnMetadataKeys;\n}\nfunction copyReflectionMetadata(to, from) {\n forwardMetadata(to, from);\n Object.getOwnPropertyNames(from.prototype).forEach(function(key) {\n forwardMetadata(to.prototype, from.prototype, key);\n });\n Object.getOwnPropertyNames(from).forEach(function(key) {\n forwardMetadata(to, from, key);\n });\n}\nfunction forwardMetadata(to, from, propertyKey) {\n var metaKeys = propertyKey ? Reflect.getOwnMetadataKeys(from, propertyKey) : Reflect.getOwnMetadataKeys(from);\n metaKeys.forEach(function(metaKey) {\n var metadata = propertyKey ? Reflect.getOwnMetadata(metaKey, from, propertyKey) : Reflect.getOwnMetadata(metaKey, from);\n if (propertyKey) {\n Reflect.defineMetadata(metaKey, metadata, to, propertyKey);\n } else {\n Reflect.defineMetadata(metaKey, metadata, to);\n }\n });\n}\nvar fakeArray = {\n __proto__: []\n};\nvar hasProto = fakeArray instanceof Array;\nfunction createDecorator(factory) {\n return function(target, key, index) {\n var Ctor = typeof target === \"function\" ? target : target.constructor;\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n if (typeof index !== \"number\") {\n index = void 0;\n }\n Ctor.__decorators__.push(function(options) {\n return factory(options, key, index);\n });\n };\n}\nfunction isPrimitive(value) {\n var type = _typeof(value);\n return value == null || type !== \"object\" && type !== \"function\";\n}\nfunction collectDataFromConstructor(vm, Component2) {\n var originalInit = Component2.prototype._init;\n Component2.prototype._init = function() {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function(key2) {\n Object.defineProperty(_this, key2, {\n get: function get() {\n return vm[key2];\n },\n set: function set(value) {\n vm[key2] = value;\n },\n configurable: true\n });\n });\n };\n var data = new Component2();\n Component2.prototype._init = originalInit;\n var plainData = {};\n Object.keys(data).forEach(function(key) {\n if (data[key] !== void 0) {\n plainData[key] = data[key];\n }\n });\n return plainData;\n}\nvar $internalHooks = [\n \"data\",\n \"beforeCreate\",\n \"created\",\n \"beforeMount\",\n \"mounted\",\n \"beforeDestroy\",\n \"destroyed\",\n \"beforeUpdate\",\n \"updated\",\n \"activated\",\n \"deactivated\",\n \"render\",\n \"errorCaptured\",\n \"serverPrefetch\"\n];\nfunction componentFactory(Component2) {\n var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n options.name = options.name || Component2._componentTag || Component2.name;\n var proto = Component2.prototype;\n Object.getOwnPropertyNames(proto).forEach(function(key) {\n if (key === \"constructor\") {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (descriptor.value !== void 0) {\n if (typeof descriptor.value === \"function\") {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n } else {\n (options.mixins || (options.mixins = [])).push({\n data: function data() {\n return _defineProperty({}, key, descriptor.value);\n }\n });\n }\n } else if (descriptor.get || descriptor.set) {\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function data() {\n return collectDataFromConstructor(this, Component2);\n }\n });\n var decorators = Component2.__decorators__;\n if (decorators) {\n decorators.forEach(function(fn) {\n return fn(options);\n });\n delete Component2.__decorators__;\n }\n var superProto = Object.getPrototypeOf(Component2.prototype);\n var Super = superProto instanceof Vue ? superProto.constructor : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component2, Super);\n if (reflectionIsSupported()) {\n copyReflectionMetadata(Extended, Component2);\n }\n return Extended;\n}\nvar shouldIgnore = {\n prototype: true,\n arguments: true,\n callee: true,\n caller: true\n};\nfunction forwardStaticMembers(Extended, Original, Super) {\n Object.getOwnPropertyNames(Original).forEach(function(key) {\n if (shouldIgnore[key]) {\n return;\n }\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(Original, key);\n if (!hasProto) {\n if (key === \"cid\") {\n return;\n }\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n if (!isPrimitive(descriptor.value) && superDescriptor && superDescriptor.value === descriptor.value) {\n return;\n }\n }\n Object.defineProperty(Extended, key, descriptor);\n });\n}\nfunction Component(options) {\n if (typeof options === \"function\") {\n return componentFactory(options);\n }\n return function(Component2) {\n return componentFactory(Component2, options);\n };\n}\nComponent.registerHooks = function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, _toConsumableArray(keys));\n};\nglobalThis && globalThis.__spreadArrays || function() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++)\n s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nfunction needToProduceProvide(original) {\n return typeof original !== \"function\" || !original.managed && !original.managedReactive;\n}\nfunction produceProvide(original) {\n var provide = function() {\n var _this = this;\n var rv = typeof original === \"function\" ? original.call(this) : original;\n rv = Object.create(rv || null);\n rv[reactiveInjectKey] = Object.create(this[reactiveInjectKey] || {});\n for (var i in provide.managed) {\n rv[provide.managed[i]] = this[i];\n }\n var _loop_1 = function(i2) {\n rv[provide.managedReactive[i2]] = this_1[i2];\n Object.defineProperty(rv[reactiveInjectKey], provide.managedReactive[i2], {\n enumerable: true,\n configurable: true,\n get: function() {\n return _this[i2];\n }\n });\n };\n var this_1 = this;\n for (var i in provide.managedReactive) {\n _loop_1(i);\n }\n return rv;\n };\n provide.managed = {};\n provide.managedReactive = {};\n return provide;\n}\nvar reactiveInjectKey = \"__reactiveInject__\";\nfunction inheritInjected(componentOptions) {\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject = componentOptions.inject || {};\n componentOptions.inject[reactiveInjectKey] = {\n from: reactiveInjectKey,\n default: {}\n };\n }\n}\nvar reflectMetadataIsSupported = typeof Reflect !== \"undefined\" && typeof Reflect.getMetadata !== \"undefined\";\nfunction applyMetadata(options, target, key) {\n if (reflectMetadataIsSupported) {\n if (!Array.isArray(options) && typeof options !== \"function\" && !options.hasOwnProperty(\"type\") && typeof options.type === \"undefined\") {\n var type = Reflect.getMetadata(\"design:type\", target, key);\n if (type !== Object) {\n options.type = type;\n }\n }\n }\n}\nfunction Prop(options) {\n if (options === void 0) {\n options = {};\n }\n return function(target, key) {\n applyMetadata(options, target, key);\n createDecorator(function(componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\nfunction ProvideReactive(key) {\n return createDecorator(function(componentOptions, k) {\n var provide = componentOptions.provide;\n inheritInjected(componentOptions);\n if (needToProduceProvide(provide)) {\n provide = componentOptions.provide = produceProvide(provide);\n }\n provide.managedReactive[k] = key || k;\n });\n}\nfunction Watch(path, options) {\n if (options === void 0) {\n options = {};\n }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return createDecorator(function(componentOptions, handler) {\n if (typeof componentOptions.watch !== \"object\") {\n componentOptions.watch = /* @__PURE__ */ Object.create(null);\n }\n var watch = componentOptions.watch;\n if (typeof watch[path] === \"object\" && !Array.isArray(watch[path])) {\n watch[path] = [watch[path]];\n } else if (typeof watch[path] === \"undefined\") {\n watch[path] = [];\n }\n watch[path].push({ handler, deep, immediate });\n });\n}\nconst getGridGapDefault = (elementWidth, windowHeight) => {\n if (elementWidth > 720 && windowHeight > 480) {\n return 10;\n } else {\n return 5;\n }\n};\nconst getColumnCountDefault = (elementWidth) => {\n return Math.floor(elementWidth / 250);\n};\nconst getWindowMarginDefault = (windowHeight) => {\n return Math.round(windowHeight * 1.5);\n};\nconst getItemRatioHeightDefault = (height, width, columnWidth) => {\n const imageRatio = height / width;\n return Math.round(columnWidth * imageRatio);\n};\nconst debugLog = (condition, ...args) => {\n if (condition) {\n console.debug(...args);\n }\n};\nvar __defProp2 = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __decorateClass = (decorators, target, key, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key, result) : decorator(result)) || result;\n if (kind && result)\n __defProp2(target, key, result);\n return result;\n};\nlet VirtualGrid$1 = class extends Vue {\n constructor() {\n super(...arguments);\n this.updateLock = false;\n this.bottomReached = false;\n this.ref = null;\n this.containerData = {\n windowSize: { height: 0, width: 0 },\n windowScroll: { x: 0, y: 0 },\n elementWindowOffset: 0,\n elementSize: { height: 0, width: 0 }\n };\n }\n get loadingBatch() {\n return this.loader && this.updateLock;\n }\n get configData() {\n return this.computeConfigData(this.containerData, this.items);\n }\n get layoutData() {\n return this.computeLayoutData(this.configData);\n }\n get renderData() {\n return this.computeRenderData(this.configData, this.containerData, this.layoutData);\n }\n mounted() {\n var _a;\n this.ref = this.$refs.virtualGrid;\n this.initiliazeGrid();\n window.addEventListener(\"resize\", this.resize);\n ((_a = this.scrollElement) != null ? _a : window).addEventListener(\"scroll\", this.scroll);\n }\n beforeDestroy() {\n var _a;\n window.removeEventListener(\"resize\", this.resize);\n ((_a = this.scrollElement) != null ? _a : window).removeEventListener(\"scroll\", this.scroll);\n }\n onScrollElementChanged(scrollElement, oldScrollElement) {\n (oldScrollElement != null ? oldScrollElement : window).removeEventListener(\"scroll\", this.scroll);\n (scrollElement != null ? scrollElement : window).addEventListener(\"scroll\", this.scroll);\n }\n resize() {\n this.loadMoreData();\n }\n scroll() {\n this.loadMoreData();\n }\n initiliazeGrid() {\n this.computeContainerData();\n this.$nextTick(async () => {\n this.loadMoreData();\n });\n }\n loadMoreData() {\n this.loadMoreDataAsync().catch((error) => {\n if (error) {\n console.error(\"Fail to load next data batch\", error);\n }\n }).then();\n }\n async loadMoreDataAsync() {\n this.computeContainerData();\n const windowTop = this.containerData.windowScroll.y;\n const windowBottom = windowTop + this.containerData.windowSize.height;\n const bottomTrigger = Math.max(0, this.containerData.elementWindowOffset + this.containerData.elementSize.height - this.updateTriggerMargin);\n if (!this.bottomReached && windowBottom >= bottomTrigger && !this.updateLock) {\n this.updateLock = true;\n debugLog(this.debug, \"Loading next batch\");\n const isLastBatch = await this.updateFunction();\n if (isLastBatch) {\n debugLog(this.debug, \"Bottom reached\");\n this.bottomReached = true;\n }\n this.updateLock = false;\n await this.loadMoreDataAsync();\n }\n return;\n }\n computeContainerData() {\n if (this.ref === null) {\n return;\n }\n const windowSize = this.getWindowSize();\n const windowScroll = this.getWindowScroll();\n const elementWindowOffset = this.getElementOffset(this.ref);\n const elementSize = this.getElementSize(this.ref);\n this.containerData = { windowSize, windowScroll, elementWindowOffset, elementSize };\n }\n computeConfigData(containerData, items) {\n if (containerData === null || items === null) {\n return {\n windowMargin: 0,\n gridGap: 0,\n columnCount: 1,\n entries: []\n };\n }\n const elementWidth = containerData.elementSize ? containerData.elementSize.width : 0;\n const windowMargin = this.getWindowMargin(containerData.windowSize.height);\n const gridGap = this.getGridGap(elementWidth, containerData.windowSize.height);\n const columnCount = this.getColumnCount(elementWidth);\n const columnWidth = this.getColumnWidth(columnCount, gridGap, elementWidth);\n const entries = items.map((item) => {\n if (!item.width) {\n return item;\n }\n const imageWidth = columnWidth * item.columnSpan + gridGap * (item.columnSpan - 1);\n return __spreadProps(__spreadValues({}, item), {\n height: this.getItemRatioHeight(item.height, item.width, imageWidth),\n width: imageWidth\n });\n });\n return {\n windowMargin,\n gridGap,\n columnCount,\n entries\n };\n }\n computeLayoutData(configData) {\n if (configData === null) {\n return { cells: [], totalHeight: 0 };\n }\n let currentRowNumber = 1;\n let prevRowsTotalHeight = 0;\n let currentRowMaxHeight = 0;\n let columnShift = 0;\n const cells = configData.entries.map((entry, index) => {\n const { columnCount, gridGap } = configData;\n let columnSpanRecompute = entry.columnSpan;\n let heightRecompute = entry.height;\n if (columnSpanRecompute < 1) {\n columnSpanRecompute = columnCount;\n }\n const distanceToRowStart = (index + columnShift) % columnCount;\n if (entry.newRow && distanceToRowStart !== 0) {\n columnShift += columnCount - distanceToRowStart;\n }\n const shiftedIndex = index + columnShift;\n const columnNumber = shiftedIndex % columnCount + 1;\n const rowNumber = Math.floor(shiftedIndex / columnCount) + 1;\n if (columnNumber + columnSpanRecompute > columnCount + 1) {\n const overlapNumber = columnNumber + columnSpanRecompute - columnCount - 1;\n const overlapRatio = overlapNumber / columnSpanRecompute;\n heightRecompute = heightRecompute * (1 - overlapRatio);\n columnSpanRecompute -= overlapNumber;\n }\n if (columnSpanRecompute > 1) {\n columnShift += columnSpanRecompute - 1;\n }\n if (rowNumber !== currentRowNumber) {\n currentRowNumber = rowNumber;\n prevRowsTotalHeight += currentRowMaxHeight + gridGap;\n currentRowMaxHeight = 0;\n }\n const offset = prevRowsTotalHeight;\n const height = Math.round(heightRecompute);\n currentRowMaxHeight = Math.max(currentRowMaxHeight, height);\n return __spreadProps(__spreadValues({}, entry), { columnNumber, rowNumber, offset, height, columnSpan: columnSpanRecompute });\n });\n const totalHeight = prevRowsTotalHeight + currentRowMaxHeight;\n return { cells, totalHeight };\n }\n computeRenderData(configData, containerData, layoutData) {\n if (layoutData === null || configData === null) {\n return { cellsToRender: [], firstRenderedRowNumber: 0, firstRenderedRowOffset: 0 };\n }\n const cellsToRender = [];\n let firstRenderedRowNumber = null;\n let firstRenderedRowOffset = null;\n if (containerData.elementWindowOffset !== null) {\n const elementWindowOffset = containerData.elementWindowOffset;\n for (const cell of layoutData.cells) {\n const cellTop = elementWindowOffset + cell.offset;\n const cellBottom = cellTop + cell.height;\n const windowTop = containerData.windowScroll.y;\n const windowBottom = windowTop + containerData.windowSize.height;\n const renderTop = windowTop - configData.windowMargin;\n const renderBottom = windowBottom + configData.windowMargin;\n if (cellTop > renderBottom) {\n continue;\n }\n if (cellBottom < renderTop) {\n continue;\n }\n if (firstRenderedRowNumber === null) {\n firstRenderedRowNumber = cell.rowNumber;\n }\n if (cell.rowNumber === firstRenderedRowNumber) {\n firstRenderedRowOffset = firstRenderedRowOffset ? Math.min(firstRenderedRowOffset, cell.offset) : cell.offset;\n }\n cellsToRender.push(cell);\n }\n }\n return { cellsToRender, firstRenderedRowNumber, firstRenderedRowOffset };\n }\n getColumnWidth(columnCount, gridGap, elementWidth) {\n if (columnCount === null || gridGap === null || elementWidth === null) {\n return 0;\n }\n const totalGapSpace = (columnCount - 1) * gridGap;\n const columnWidth = Math.round((elementWidth - totalGapSpace) / columnCount);\n return columnWidth;\n }\n getGridRowStart(cell, renderData) {\n if (renderData === null) {\n return void 0;\n }\n const offset = renderData.firstRenderedRowNumber !== null ? renderData.firstRenderedRowNumber - 1 : 0;\n const gridRowStart = cell.rowNumber - offset;\n return `${gridRowStart}`;\n }\n resetGrid() {\n this.bottomReached = false;\n this.loadMoreData();\n }\n isSameElementSize(a, b) {\n return a.width === b.width && a.height === b.height;\n }\n getWindowSize() {\n return {\n width: window.innerWidth,\n height: window.innerHeight\n };\n }\n getElementSize(element) {\n const rect = element.getBoundingClientRect();\n return {\n width: rect.width,\n height: rect.height\n };\n }\n isSameElementScroll(a, b) {\n return a.x === b.x && a.y === b.y;\n }\n getWindowScroll() {\n return {\n x: window.scrollX,\n y: window.scrollY\n };\n }\n getElementOffset(element) {\n return window.scrollY + element.getBoundingClientRect().top;\n }\n};\n__decorateClass([\n Prop({ required: true })\n], VirtualGrid$1.prototype, \"items\", 2);\n__decorateClass([\n Prop({ default: () => () => true })\n], VirtualGrid$1.prototype, \"updateFunction\", 2);\n__decorateClass([\n Prop({ default: () => getGridGapDefault })\n], VirtualGrid$1.prototype, \"getGridGap\", 2);\n__decorateClass([\n Prop({ default: () => getColumnCountDefault })\n], VirtualGrid$1.prototype, \"getColumnCount\", 2);\n__decorateClass([\n Prop({ default: () => getWindowMarginDefault })\n], VirtualGrid$1.prototype, \"getWindowMargin\", 2);\n__decorateClass([\n Prop({ default: () => getItemRatioHeightDefault })\n], VirtualGrid$1.prototype, \"getItemRatioHeight\", 2);\n__decorateClass([\n Prop({ default: null })\n], VirtualGrid$1.prototype, \"scrollElement\", 2);\n__decorateClass([\n Prop({ default: 500 })\n], VirtualGrid$1.prototype, \"updateTriggerMargin\", 2);\n__decorateClass([\n Prop({ default: null })\n], VirtualGrid$1.prototype, \"loader\", 2);\n__decorateClass([\n Prop({ default: false })\n], VirtualGrid$1.prototype, \"debug\", 2);\n__decorateClass([\n ProvideReactive()\n], VirtualGrid$1.prototype, \"updateLock\", 2);\n__decorateClass([\n ProvideReactive()\n], VirtualGrid$1.prototype, \"bottomReached\", 2);\n__decorateClass([\n ProvideReactive()\n], VirtualGrid$1.prototype, \"ref\", 2);\n__decorateClass([\n ProvideReactive()\n], VirtualGrid$1.prototype, \"containerData\", 2);\n__decorateClass([\n Watch(\"scrollElement\")\n], VirtualGrid$1.prototype, \"onScrollElementChanged\", 1);\nVirtualGrid$1 = __decorateClass([\n Component({\n name: \"VirtualGrid\"\n })\n], VirtualGrid$1);\nvar render = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", { ref: \"virtualGrid\", style: {\n boxSizing: \"border-box\",\n height: _vm.layoutData.totalHeight + \"px\",\n paddingTop: _vm.renderData !== null && _vm.renderData.firstRenderedRowOffset !== null ? _vm.renderData.firstRenderedRowOffset + \"px\" : \"0px\"\n } }, [_c(\"div\", { staticClass: \"grid\", style: {\n \"display\": \"-ms-grid\",\n \"display\": \"grid\",\n \"align-items\": \"center\",\n \"grid-template-columns\": \"repeat(\" + _vm.configData.columnCount + \", 1fr)\",\n \"gap\": _vm.configData.gridGap + \"px\"\n } }, _vm._l(_vm.renderData.cellsToRender, function(item) {\n return _c(\"div\", { key: item.id, staticClass: \"grid-item-wrapper\", style: {\n \"height\": item.height + \"px\",\n \"grid-column-start\": item.columnNumber,\n \"grid-column-end\": item.columnNumber + item.columnSpan,\n \"grid-row-start\": _vm.getGridRowStart(item, _vm.renderData)\n } }, [_c(item.renderComponent, _vm._g({ tag: \"component\", attrs: { \"item\": item } }, _vm.$listeners))], 1);\n }), 0), _c(_vm.loadingBatch && _vm.loader, { tag: \"component\" })], 1);\n};\nvar staticRenderFns = [];\nfunction normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render2) {\n options.render = render2;\n options.staticRenderFns = staticRenderFns2;\n options._compiled = true;\n }\n if (functionalTemplate) {\n options.functional = true;\n }\n if (scopeId) {\n options._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(this, (options.functional ? this.parent : this).$root.$options.shadowRoot);\n } : injectStyles;\n }\n if (hook) {\n if (options.functional) {\n options._injectStyles = hook;\n var originalRender = options.render;\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options\n };\n}\nconst __cssModules = {};\nvar __component__ = /* @__PURE__ */ normalizeComponent(VirtualGrid$1, render, staticRenderFns, false, __vue2_injectStyles, null, null, null);\nfunction __vue2_injectStyles(context) {\n for (let o in __cssModules) {\n this[o] = __cssModules[o];\n }\n}\nvar VirtualGrid = /* @__PURE__ */ function() {\n return __component__.exports;\n}();\nexport { VirtualGrid as default };\n","\n\n\n\t\n\t\t
\n\t\t\n\t\t\n\t\t\t \n\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t \n\n\t\t\n\t\t{{ item.injected.basename }}
\n\t\t
\n\t \n \n\n\n\n\n","\n\n\n\t\n\t\t \n\n\t\t\n\t\t\t \n\t\t \n\n\t\t\n\t\t\t \n\t\t\t{{ name }} \n\t\t \n\t \n \n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { AxiosRequestConfig } from '@nextcloud/axios'\n\nimport axios from '@nextcloud/axios'\nimport { defaultRemoteURL, defaultRootPath } from '@nextcloud/files/dav'\nimport { generateUrl } from '@nextcloud/router'\nimport allowedMimes from './AllowedMimes.js'\n\nexport type FoldersNode = {\n\tbasename: string\n\tetag: string\n\tfileid: number\n\tfilename: string\n\tsource: string\n\tlastmod: number\n\tmime: string\n\tsize: number\n\ttype: string\n\tpermissions: string\n\thasPreview: boolean\n}\n\n/**\n * List files from a folder and filter out unwanted mimes\n *\n * @param path\n * @param options\n */\nexport default async function(path: string = '/', options: AxiosRequestConfig & { shared?: boolean } = {}) {\n\tconst endpoint = generateUrl(`/apps/photos/api/v1/${options.shared ? 'shared' : 'albums'}`)\n\n\t// fetch listing\n\tconst response = await axios.get(endpoint + path, options)\n\tconst list: FoldersNode[] = response.data\n\t\t.map((data) => ({\n\t\t\t...data,\n\t\t\tfilename: `${defaultRootPath}${data.filename}`,\n\t\t\tsource: decodeURI(defaultRemoteURL + `${defaultRootPath}${data.filename}`),\n\t\t}))\n\n\t// filter all the files and folders\n\tlet folder: FoldersNode | undefined\n\tconst folders: FoldersNode[] = []\n\tconst files: FoldersNode[] = []\n\n\tfor (const entry of list) {\n\t\t// is this the current provided path ?\n\t\tif (entry.filename === `${defaultRootPath}${path}`) {\n\t\t\tfolder = entry\n\t\t} else if (entry.type !== 'file') {\n\t\t\tfolders.push(entry)\n\t\t} else if (allowedMimes.indexOf(entry.mime) > -1) {\n\t\t\tfiles.push(entry)\n\t\t}\n\t}\n\n\t// return current folder, subfolders and files\n\treturn { folder, folders, files }\n}\n","\n\n\n\t \n \n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * Define the max width proportions\n * The number (key) indicate the MAX size\n *\n * needs to be compatible with webpack config\n * so no export default {}\n */\nexport default {\n\t400: {\n\t\tmarginTop: 66,\n\t\tmarginW: 8,\n\t\tcount: 3,\n\t\tfolderCount: 1,\n\t},\n\t700: {\n\t\tmarginTop: 66,\n\t\tmarginW: 8,\n\t\tcount: 4,\n\t\tfolderCount: 1,\n\t},\n\t1024: {\n\t\tmarginTop: 66,\n\t\tmarginW: 44,\n\t\tcount: 5,\n\t\tfolderCount: 2,\n\t},\n\t1280: {\n\t\tmarginTop: 66,\n\t\tmarginW: 44,\n\t\tcount: 4,\n\t\tfolderCount: 2,\n\t},\n\t1440: {\n\t\tmarginTop: 88,\n\t\tmarginW: 66,\n\t\tcount: 5,\n\t\tfolderCount: 3,\n\t},\n\t1600: {\n\t\tmarginTop: 88,\n\t\tmarginW: 66,\n\t\tcount: 6,\n\t\tfolderCount: 4,\n\t},\n\t2048: {\n\t\tmarginTop: 88,\n\t\tmarginW: 66,\n\t\tcount: 7,\n\t\tfolderCount: 4,\n\t},\n\t2560: {\n\t\tmarginTop: 88,\n\t\tmarginW: 88,\n\t\tcount: 8,\n\t\tfolderCount: 6,\n\t},\n\t3440: {\n\t\tmarginTop: 88,\n\t\tmarginW: 88,\n\t\tcount: 9,\n\t\tfolderCount: 8,\n\t},\n\tmax: {\n\t\tmarginTop: 88,\n\t\tmarginW: 88,\n\t\tcount: 10,\n\t\tfolderCount: 10,\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport sizes from '../assets/grid-sizes.js'\n\nexport default new Vue({\n\tdata() {\n\t\treturn {\n\t\t\tgridConfig: sizes.max,\n\t\t}\n\t},\n\twatch: {\n\t\tgridConfig(val) {\n\t\t\tthis.$emit('changed', val)\n\t\t},\n\t},\n\tcreated() {\n\t\twindow.addEventListener('resize', this.handleWindowResize)\n\t\tthis.handleWindowResize()\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this.handleWindowResize)\n\t},\n\tmethods: {\n\t\thandleWindowResize() {\n\t\t\t// find the first grid size that fit the current window width\n\t\t\tconst currentSize = Object.keys(sizes).map((size) => Number.parseInt(size)).find((size) => size > document.documentElement.clientWidth)\n\t\t\tthis.gridConfig = sizes[currentSize as number] || sizes.max\n\t\t},\n\t},\n})\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { defineComponent } from 'vue'\nimport getGridConfig from '../services/GridConfig.js'\nimport logger from '../services/logger.js'\n\n/**\n * Get the current used grid config\n */\nexport default defineComponent({\n\tdata() {\n\t\treturn {\n\t\t\tgridConfig: {} as typeof getGridConfig.gridConfig,\n\t\t}\n\t},\n\n\tcreated() {\n\t\tgetGridConfig.$on('changed', this.handleGridConfigChange)\n\t\tlogger.debug('Grid config', { gridConfig: getGridConfig.gridConfig })\n\t\tthis.gridConfig = getGridConfig.gridConfig\n\t},\n\n\tbeforeDestroy() {\n\t\tgetGridConfig.$off('changed', this.handleGridConfigChange)\n\t},\n\n\tmethods: {\n\t\thandleGridConfigChange(val: typeof getGridConfig.gridConfig) {\n\t\t\tthis.gridConfig = val\n\t\t},\n\t},\n})\n","\n\n\n\t\n\t\n\t\t\n\t\t\t \n\t\t \n\t \n\t \n\t\n\t\t\n\t\t\t \n\t\t \n\t \n\n\t\n\t\n\t\t
0 }\"\n\t\t\t:loading=\"loading\"\n\t\t\t:path=\"path\"\n\t\t\t:title=\"folder?.basename?.toString?.() || rootTitle\"\n\t\t\t:root-title=\"rootTitle\"\n\t\t\t@refresh=\"onRefresh\">\n\t\t\t \n\t\t \n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t\t \n\t\t\t \n\t\t \n\n\t\t
\n\t\t\t haveFolders ? gridConfig.folderCount : gridConfig.count\"\n\t\t\t\t:get-grid-gap=\"() => haveFolders ? 16 : 8\" />\n\t\t
\n\t
\n \n\n\n\n\n"],"names":["__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","__spreadProps","_typeof","obj2","_defineProperty","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","i","arr2","iter","reflectionIsSupported","copyReflectionMetadata","to","from","forwardMetadata","propertyKey","metaKeys","metaKey","metadata","fakeArray","hasProto","createDecorator","factory","target","index","Ctor","options","isPrimitive","type","collectDataFromConstructor","vm","Component2","originalInit","_this","keys","key2","data","plainData","$internalHooks","componentFactory","proto","descriptor","decorators","fn","superProto","Super","Vue","Extended","forwardStaticMembers","shouldIgnore","Original","extendedDescriptor","superDescriptor","Component","needToProduceProvide","original","produceProvide","provide","rv","reactiveInjectKey","_loop_1","i2","this_1","inheritInjected","componentOptions","reflectMetadataIsSupported","applyMetadata","Prop","k","ProvideReactive","Watch","path","_a","deep","_b","immediate","handler","watch","getGridGapDefault","elementWidth","windowHeight","getColumnCountDefault","getWindowMarginDefault","getItemRatioHeightDefault","height","width","columnWidth","imageRatio","debugLog","condition","args","__defProp2","__getOwnPropDesc","__decorateClass","kind","result","decorator","VirtualGrid$1","scrollElement","oldScrollElement","error","windowBottom","bottomTrigger","windowSize","windowScroll","elementWindowOffset","elementSize","containerData","items","windowMargin","gridGap","columnCount","entries","item","imageWidth","configData","currentRowNumber","prevRowsTotalHeight","currentRowMaxHeight","columnShift","cells","entry","columnSpanRecompute","heightRecompute","distanceToRowStart","shiftedIndex","columnNumber","rowNumber","overlapNumber","overlapRatio","offset","totalHeight","layoutData","cellsToRender","firstRenderedRowNumber","firstRenderedRowOffset","cell","cellTop","cellBottom","windowTop","renderTop","renderBottom","totalGapSpace","renderData","element","rect","render","_vm","_h","_c","staticRenderFns","normalizeComponent","scriptExports","render2","staticRenderFns2","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","originalRender","h","context","existing","__cssModules","__component__","__vue2_injectStyles","o","VirtualGrid","_sfc_main$3","t","generateUrl","legacyToViewerFileInfo","file","_sfc_main$2","FolderOutline","RouterLink","fileid","etag","prefix","getCurrentUser","getFolderContent","endpoint","list","axios","defaultRootPath","defaultRemoteURL","folder","folders","files","allowedMimes","_sfc_main$1","defineComponent","FolderTagPreview","AbortControllerMixin","previewFolderContent","previewFiles","id","firstChildFolder","filename","unPrefixedFileName","logger","sizes","getGridConfig","val","currentSize","size","GridConfigMixin","_sfc_main","HeaderNavigation","NcEmptyContent","NcLoadingIcon","UploadPicker","getUploader","Folder","parsePermissions","FolderComponent","FileLegacy","upload","relPath","node","fetchFile"],"mappings":"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","x_google_ignoreList":[0]}
\ No newline at end of file
+{"version":3,"file":"FoldersView-DhVFd5R9.chunk.mjs","sources":["../node_modules/vue-virtual-grid/dist/vue-virtual-grid.es.js","../src/components/FileLegacy.vue","../src/components/FolderTagPreview.vue","../src/services/FolderContent.ts","../src/components/FolderComponent.vue","../src/assets/grid-sizes.ts","../src/services/GridConfig.ts","../src/mixins/GridConfig.ts","../src/views/FoldersView.vue"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nimport Vue from \"vue\";\n/**\n * vue-class-component v7.2.6\n * (c) 2015-present Evan You\n * @license MIT\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function(obj2) {\n return typeof obj2;\n };\n } else {\n _typeof = function(obj2) {\n return obj2 && typeof Symbol === \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? \"symbol\" : typeof obj2;\n };\n }\n return _typeof(obj);\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++)\n arr2[i] = arr[i];\n return arr2;\n }\n}\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\")\n return Array.from(iter);\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\nfunction reflectionIsSupported() {\n return typeof Reflect !== \"undefined\" && Reflect.defineMetadata && Reflect.getOwnMetadataKeys;\n}\nfunction copyReflectionMetadata(to, from) {\n forwardMetadata(to, from);\n Object.getOwnPropertyNames(from.prototype).forEach(function(key) {\n forwardMetadata(to.prototype, from.prototype, key);\n });\n Object.getOwnPropertyNames(from).forEach(function(key) {\n forwardMetadata(to, from, key);\n });\n}\nfunction forwardMetadata(to, from, propertyKey) {\n var metaKeys = propertyKey ? Reflect.getOwnMetadataKeys(from, propertyKey) : Reflect.getOwnMetadataKeys(from);\n metaKeys.forEach(function(metaKey) {\n var metadata = propertyKey ? Reflect.getOwnMetadata(metaKey, from, propertyKey) : Reflect.getOwnMetadata(metaKey, from);\n if (propertyKey) {\n Reflect.defineMetadata(metaKey, metadata, to, propertyKey);\n } else {\n Reflect.defineMetadata(metaKey, metadata, to);\n }\n });\n}\nvar fakeArray = {\n __proto__: []\n};\nvar hasProto = fakeArray instanceof Array;\nfunction createDecorator(factory) {\n return function(target, key, index) {\n var Ctor = typeof target === \"function\" ? target : target.constructor;\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n if (typeof index !== \"number\") {\n index = void 0;\n }\n Ctor.__decorators__.push(function(options) {\n return factory(options, key, index);\n });\n };\n}\nfunction isPrimitive(value) {\n var type = _typeof(value);\n return value == null || type !== \"object\" && type !== \"function\";\n}\nfunction collectDataFromConstructor(vm, Component2) {\n var originalInit = Component2.prototype._init;\n Component2.prototype._init = function() {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function(key2) {\n Object.defineProperty(_this, key2, {\n get: function get() {\n return vm[key2];\n },\n set: function set(value) {\n vm[key2] = value;\n },\n configurable: true\n });\n });\n };\n var data = new Component2();\n Component2.prototype._init = originalInit;\n var plainData = {};\n Object.keys(data).forEach(function(key) {\n if (data[key] !== void 0) {\n plainData[key] = data[key];\n }\n });\n return plainData;\n}\nvar $internalHooks = [\n \"data\",\n \"beforeCreate\",\n \"created\",\n \"beforeMount\",\n \"mounted\",\n \"beforeDestroy\",\n \"destroyed\",\n \"beforeUpdate\",\n \"updated\",\n \"activated\",\n \"deactivated\",\n \"render\",\n \"errorCaptured\",\n \"serverPrefetch\"\n];\nfunction componentFactory(Component2) {\n var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n options.name = options.name || Component2._componentTag || Component2.name;\n var proto = Component2.prototype;\n Object.getOwnPropertyNames(proto).forEach(function(key) {\n if (key === \"constructor\") {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (descriptor.value !== void 0) {\n if (typeof descriptor.value === \"function\") {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n } else {\n (options.mixins || (options.mixins = [])).push({\n data: function data() {\n return _defineProperty({}, key, descriptor.value);\n }\n });\n }\n } else if (descriptor.get || descriptor.set) {\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function data() {\n return collectDataFromConstructor(this, Component2);\n }\n });\n var decorators = Component2.__decorators__;\n if (decorators) {\n decorators.forEach(function(fn) {\n return fn(options);\n });\n delete Component2.__decorators__;\n }\n var superProto = Object.getPrototypeOf(Component2.prototype);\n var Super = superProto instanceof Vue ? superProto.constructor : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component2, Super);\n if (reflectionIsSupported()) {\n copyReflectionMetadata(Extended, Component2);\n }\n return Extended;\n}\nvar shouldIgnore = {\n prototype: true,\n arguments: true,\n callee: true,\n caller: true\n};\nfunction forwardStaticMembers(Extended, Original, Super) {\n Object.getOwnPropertyNames(Original).forEach(function(key) {\n if (shouldIgnore[key]) {\n return;\n }\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(Original, key);\n if (!hasProto) {\n if (key === \"cid\") {\n return;\n }\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n if (!isPrimitive(descriptor.value) && superDescriptor && superDescriptor.value === descriptor.value) {\n return;\n }\n }\n Object.defineProperty(Extended, key, descriptor);\n });\n}\nfunction Component(options) {\n if (typeof options === \"function\") {\n return componentFactory(options);\n }\n return function(Component2) {\n return componentFactory(Component2, options);\n };\n}\nComponent.registerHooks = function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, _toConsumableArray(keys));\n};\nglobalThis && globalThis.__spreadArrays || function() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++)\n s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nfunction needToProduceProvide(original) {\n return typeof original !== \"function\" || !original.managed && !original.managedReactive;\n}\nfunction produceProvide(original) {\n var provide = function() {\n var _this = this;\n var rv = typeof original === \"function\" ? original.call(this) : original;\n rv = Object.create(rv || null);\n rv[reactiveInjectKey] = Object.create(this[reactiveInjectKey] || {});\n for (var i in provide.managed) {\n rv[provide.managed[i]] = this[i];\n }\n var _loop_1 = function(i2) {\n rv[provide.managedReactive[i2]] = this_1[i2];\n Object.defineProperty(rv[reactiveInjectKey], provide.managedReactive[i2], {\n enumerable: true,\n configurable: true,\n get: function() {\n return _this[i2];\n }\n });\n };\n var this_1 = this;\n for (var i in provide.managedReactive) {\n _loop_1(i);\n }\n return rv;\n };\n provide.managed = {};\n provide.managedReactive = {};\n return provide;\n}\nvar reactiveInjectKey = \"__reactiveInject__\";\nfunction inheritInjected(componentOptions) {\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject = componentOptions.inject || {};\n componentOptions.inject[reactiveInjectKey] = {\n from: reactiveInjectKey,\n default: {}\n };\n }\n}\nvar reflectMetadataIsSupported = typeof Reflect !== \"undefined\" && typeof Reflect.getMetadata !== \"undefined\";\nfunction applyMetadata(options, target, key) {\n if (reflectMetadataIsSupported) {\n if (!Array.isArray(options) && typeof options !== \"function\" && !options.hasOwnProperty(\"type\") && typeof options.type === \"undefined\") {\n var type = Reflect.getMetadata(\"design:type\", target, key);\n if (type !== Object) {\n options.type = type;\n }\n }\n }\n}\nfunction Prop(options) {\n if (options === void 0) {\n options = {};\n }\n return function(target, key) {\n applyMetadata(options, target, key);\n createDecorator(function(componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\nfunction ProvideReactive(key) {\n return createDecorator(function(componentOptions, k) {\n var provide = componentOptions.provide;\n inheritInjected(componentOptions);\n if (needToProduceProvide(provide)) {\n provide = componentOptions.provide = produceProvide(provide);\n }\n provide.managedReactive[k] = key || k;\n });\n}\nfunction Watch(path, options) {\n if (options === void 0) {\n options = {};\n }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return createDecorator(function(componentOptions, handler) {\n if (typeof componentOptions.watch !== \"object\") {\n componentOptions.watch = /* @__PURE__ */ Object.create(null);\n }\n var watch = componentOptions.watch;\n if (typeof watch[path] === \"object\" && !Array.isArray(watch[path])) {\n watch[path] = [watch[path]];\n } else if (typeof watch[path] === \"undefined\") {\n watch[path] = [];\n }\n watch[path].push({ handler, deep, immediate });\n });\n}\nconst getGridGapDefault = (elementWidth, windowHeight) => {\n if (elementWidth > 720 && windowHeight > 480) {\n return 10;\n } else {\n return 5;\n }\n};\nconst getColumnCountDefault = (elementWidth) => {\n return Math.floor(elementWidth / 250);\n};\nconst getWindowMarginDefault = (windowHeight) => {\n return Math.round(windowHeight * 1.5);\n};\nconst getItemRatioHeightDefault = (height, width, columnWidth) => {\n const imageRatio = height / width;\n return Math.round(columnWidth * imageRatio);\n};\nconst debugLog = (condition, ...args) => {\n if (condition) {\n console.debug(...args);\n }\n};\nvar __defProp2 = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __decorateClass = (decorators, target, key, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key, result) : decorator(result)) || result;\n if (kind && result)\n __defProp2(target, key, result);\n return result;\n};\nlet VirtualGrid$1 = class extends Vue {\n constructor() {\n super(...arguments);\n this.updateLock = false;\n this.bottomReached = false;\n this.ref = null;\n this.containerData = {\n windowSize: { height: 0, width: 0 },\n windowScroll: { x: 0, y: 0 },\n elementWindowOffset: 0,\n elementSize: { height: 0, width: 0 }\n };\n }\n get loadingBatch() {\n return this.loader && this.updateLock;\n }\n get configData() {\n return this.computeConfigData(this.containerData, this.items);\n }\n get layoutData() {\n return this.computeLayoutData(this.configData);\n }\n get renderData() {\n return this.computeRenderData(this.configData, this.containerData, this.layoutData);\n }\n mounted() {\n var _a;\n this.ref = this.$refs.virtualGrid;\n this.initiliazeGrid();\n window.addEventListener(\"resize\", this.resize);\n ((_a = this.scrollElement) != null ? _a : window).addEventListener(\"scroll\", this.scroll);\n }\n beforeDestroy() {\n var _a;\n window.removeEventListener(\"resize\", this.resize);\n ((_a = this.scrollElement) != null ? _a : window).removeEventListener(\"scroll\", this.scroll);\n }\n onScrollElementChanged(scrollElement, oldScrollElement) {\n (oldScrollElement != null ? oldScrollElement : window).removeEventListener(\"scroll\", this.scroll);\n (scrollElement != null ? scrollElement : window).addEventListener(\"scroll\", this.scroll);\n }\n resize() {\n this.loadMoreData();\n }\n scroll() {\n this.loadMoreData();\n }\n initiliazeGrid() {\n this.computeContainerData();\n this.$nextTick(async () => {\n this.loadMoreData();\n });\n }\n loadMoreData() {\n this.loadMoreDataAsync().catch((error) => {\n if (error) {\n console.error(\"Fail to load next data batch\", error);\n }\n }).then();\n }\n async loadMoreDataAsync() {\n this.computeContainerData();\n const windowTop = this.containerData.windowScroll.y;\n const windowBottom = windowTop + this.containerData.windowSize.height;\n const bottomTrigger = Math.max(0, this.containerData.elementWindowOffset + this.containerData.elementSize.height - this.updateTriggerMargin);\n if (!this.bottomReached && windowBottom >= bottomTrigger && !this.updateLock) {\n this.updateLock = true;\n debugLog(this.debug, \"Loading next batch\");\n const isLastBatch = await this.updateFunction();\n if (isLastBatch) {\n debugLog(this.debug, \"Bottom reached\");\n this.bottomReached = true;\n }\n this.updateLock = false;\n await this.loadMoreDataAsync();\n }\n return;\n }\n computeContainerData() {\n if (this.ref === null) {\n return;\n }\n const windowSize = this.getWindowSize();\n const windowScroll = this.getWindowScroll();\n const elementWindowOffset = this.getElementOffset(this.ref);\n const elementSize = this.getElementSize(this.ref);\n this.containerData = { windowSize, windowScroll, elementWindowOffset, elementSize };\n }\n computeConfigData(containerData, items) {\n if (containerData === null || items === null) {\n return {\n windowMargin: 0,\n gridGap: 0,\n columnCount: 1,\n entries: []\n };\n }\n const elementWidth = containerData.elementSize ? containerData.elementSize.width : 0;\n const windowMargin = this.getWindowMargin(containerData.windowSize.height);\n const gridGap = this.getGridGap(elementWidth, containerData.windowSize.height);\n const columnCount = this.getColumnCount(elementWidth);\n const columnWidth = this.getColumnWidth(columnCount, gridGap, elementWidth);\n const entries = items.map((item) => {\n if (!item.width) {\n return item;\n }\n const imageWidth = columnWidth * item.columnSpan + gridGap * (item.columnSpan - 1);\n return __spreadProps(__spreadValues({}, item), {\n height: this.getItemRatioHeight(item.height, item.width, imageWidth),\n width: imageWidth\n });\n });\n return {\n windowMargin,\n gridGap,\n columnCount,\n entries\n };\n }\n computeLayoutData(configData) {\n if (configData === null) {\n return { cells: [], totalHeight: 0 };\n }\n let currentRowNumber = 1;\n let prevRowsTotalHeight = 0;\n let currentRowMaxHeight = 0;\n let columnShift = 0;\n const cells = configData.entries.map((entry, index) => {\n const { columnCount, gridGap } = configData;\n let columnSpanRecompute = entry.columnSpan;\n let heightRecompute = entry.height;\n if (columnSpanRecompute < 1) {\n columnSpanRecompute = columnCount;\n }\n const distanceToRowStart = (index + columnShift) % columnCount;\n if (entry.newRow && distanceToRowStart !== 0) {\n columnShift += columnCount - distanceToRowStart;\n }\n const shiftedIndex = index + columnShift;\n const columnNumber = shiftedIndex % columnCount + 1;\n const rowNumber = Math.floor(shiftedIndex / columnCount) + 1;\n if (columnNumber + columnSpanRecompute > columnCount + 1) {\n const overlapNumber = columnNumber + columnSpanRecompute - columnCount - 1;\n const overlapRatio = overlapNumber / columnSpanRecompute;\n heightRecompute = heightRecompute * (1 - overlapRatio);\n columnSpanRecompute -= overlapNumber;\n }\n if (columnSpanRecompute > 1) {\n columnShift += columnSpanRecompute - 1;\n }\n if (rowNumber !== currentRowNumber) {\n currentRowNumber = rowNumber;\n prevRowsTotalHeight += currentRowMaxHeight + gridGap;\n currentRowMaxHeight = 0;\n }\n const offset = prevRowsTotalHeight;\n const height = Math.round(heightRecompute);\n currentRowMaxHeight = Math.max(currentRowMaxHeight, height);\n return __spreadProps(__spreadValues({}, entry), { columnNumber, rowNumber, offset, height, columnSpan: columnSpanRecompute });\n });\n const totalHeight = prevRowsTotalHeight + currentRowMaxHeight;\n return { cells, totalHeight };\n }\n computeRenderData(configData, containerData, layoutData) {\n if (layoutData === null || configData === null) {\n return { cellsToRender: [], firstRenderedRowNumber: 0, firstRenderedRowOffset: 0 };\n }\n const cellsToRender = [];\n let firstRenderedRowNumber = null;\n let firstRenderedRowOffset = null;\n if (containerData.elementWindowOffset !== null) {\n const elementWindowOffset = containerData.elementWindowOffset;\n for (const cell of layoutData.cells) {\n const cellTop = elementWindowOffset + cell.offset;\n const cellBottom = cellTop + cell.height;\n const windowTop = containerData.windowScroll.y;\n const windowBottom = windowTop + containerData.windowSize.height;\n const renderTop = windowTop - configData.windowMargin;\n const renderBottom = windowBottom + configData.windowMargin;\n if (cellTop > renderBottom) {\n continue;\n }\n if (cellBottom < renderTop) {\n continue;\n }\n if (firstRenderedRowNumber === null) {\n firstRenderedRowNumber = cell.rowNumber;\n }\n if (cell.rowNumber === firstRenderedRowNumber) {\n firstRenderedRowOffset = firstRenderedRowOffset ? Math.min(firstRenderedRowOffset, cell.offset) : cell.offset;\n }\n cellsToRender.push(cell);\n }\n }\n return { cellsToRender, firstRenderedRowNumber, firstRenderedRowOffset };\n }\n getColumnWidth(columnCount, gridGap, elementWidth) {\n if (columnCount === null || gridGap === null || elementWidth === null) {\n return 0;\n }\n const totalGapSpace = (columnCount - 1) * gridGap;\n const columnWidth = Math.round((elementWidth - totalGapSpace) / columnCount);\n return columnWidth;\n }\n getGridRowStart(cell, renderData) {\n if (renderData === null) {\n return void 0;\n }\n const offset = renderData.firstRenderedRowNumber !== null ? renderData.firstRenderedRowNumber - 1 : 0;\n const gridRowStart = cell.rowNumber - offset;\n return `${gridRowStart}`;\n }\n resetGrid() {\n this.bottomReached = false;\n this.loadMoreData();\n }\n isSameElementSize(a, b) {\n return a.width === b.width && a.height === b.height;\n }\n getWindowSize() {\n return {\n width: window.innerWidth,\n height: window.innerHeight\n };\n }\n getElementSize(element) {\n const rect = element.getBoundingClientRect();\n return {\n width: rect.width,\n height: rect.height\n };\n }\n isSameElementScroll(a, b) {\n return a.x === b.x && a.y === b.y;\n }\n getWindowScroll() {\n return {\n x: window.scrollX,\n y: window.scrollY\n };\n }\n getElementOffset(element) {\n return window.scrollY + element.getBoundingClientRect().top;\n }\n};\n__decorateClass([\n Prop({ required: true })\n], VirtualGrid$1.prototype, \"items\", 2);\n__decorateClass([\n Prop({ default: () => () => true })\n], VirtualGrid$1.prototype, \"updateFunction\", 2);\n__decorateClass([\n Prop({ default: () => getGridGapDefault })\n], VirtualGrid$1.prototype, \"getGridGap\", 2);\n__decorateClass([\n Prop({ default: () => getColumnCountDefault })\n], VirtualGrid$1.prototype, \"getColumnCount\", 2);\n__decorateClass([\n Prop({ default: () => getWindowMarginDefault })\n], VirtualGrid$1.prototype, \"getWindowMargin\", 2);\n__decorateClass([\n Prop({ default: () => getItemRatioHeightDefault })\n], VirtualGrid$1.prototype, \"getItemRatioHeight\", 2);\n__decorateClass([\n Prop({ default: null })\n], VirtualGrid$1.prototype, \"scrollElement\", 2);\n__decorateClass([\n Prop({ default: 500 })\n], VirtualGrid$1.prototype, \"updateTriggerMargin\", 2);\n__decorateClass([\n Prop({ default: null })\n], VirtualGrid$1.prototype, \"loader\", 2);\n__decorateClass([\n Prop({ default: false })\n], VirtualGrid$1.prototype, \"debug\", 2);\n__decorateClass([\n ProvideReactive()\n], VirtualGrid$1.prototype, \"updateLock\", 2);\n__decorateClass([\n ProvideReactive()\n], VirtualGrid$1.prototype, \"bottomReached\", 2);\n__decorateClass([\n ProvideReactive()\n], VirtualGrid$1.prototype, \"ref\", 2);\n__decorateClass([\n ProvideReactive()\n], VirtualGrid$1.prototype, \"containerData\", 2);\n__decorateClass([\n Watch(\"scrollElement\")\n], VirtualGrid$1.prototype, \"onScrollElementChanged\", 1);\nVirtualGrid$1 = __decorateClass([\n Component({\n name: \"VirtualGrid\"\n })\n], VirtualGrid$1);\nvar render = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", { ref: \"virtualGrid\", style: {\n boxSizing: \"border-box\",\n height: _vm.layoutData.totalHeight + \"px\",\n paddingTop: _vm.renderData !== null && _vm.renderData.firstRenderedRowOffset !== null ? _vm.renderData.firstRenderedRowOffset + \"px\" : \"0px\"\n } }, [_c(\"div\", { staticClass: \"grid\", style: {\n \"display\": \"-ms-grid\",\n \"display\": \"grid\",\n \"align-items\": \"center\",\n \"grid-template-columns\": \"repeat(\" + _vm.configData.columnCount + \", 1fr)\",\n \"gap\": _vm.configData.gridGap + \"px\"\n } }, _vm._l(_vm.renderData.cellsToRender, function(item) {\n return _c(\"div\", { key: item.id, staticClass: \"grid-item-wrapper\", style: {\n \"height\": item.height + \"px\",\n \"grid-column-start\": item.columnNumber,\n \"grid-column-end\": item.columnNumber + item.columnSpan,\n \"grid-row-start\": _vm.getGridRowStart(item, _vm.renderData)\n } }, [_c(item.renderComponent, _vm._g({ tag: \"component\", attrs: { \"item\": item } }, _vm.$listeners))], 1);\n }), 0), _c(_vm.loadingBatch && _vm.loader, { tag: \"component\" })], 1);\n};\nvar staticRenderFns = [];\nfunction normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render2) {\n options.render = render2;\n options.staticRenderFns = staticRenderFns2;\n options._compiled = true;\n }\n if (functionalTemplate) {\n options.functional = true;\n }\n if (scopeId) {\n options._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(this, (options.functional ? this.parent : this).$root.$options.shadowRoot);\n } : injectStyles;\n }\n if (hook) {\n if (options.functional) {\n options._injectStyles = hook;\n var originalRender = options.render;\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options\n };\n}\nconst __cssModules = {};\nvar __component__ = /* @__PURE__ */ normalizeComponent(VirtualGrid$1, render, staticRenderFns, false, __vue2_injectStyles, null, null, null);\nfunction __vue2_injectStyles(context) {\n for (let o in __cssModules) {\n this[o] = __cssModules[o];\n }\n}\nvar VirtualGrid = /* @__PURE__ */ function() {\n return __component__.exports;\n}();\nexport { VirtualGrid as default };\n","\n\n\n\t\n\t\t
\n\t\t\n\t\t\n\t\t\t \n\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t \n\n\t\t\n\t\t{{ item.injected.basename }}
\n\t\t
\n\t \n \n\n\n\n\n","\n\n\n\t\n\t\t \n\n\t\t\n\t\t\t \n\t\t \n\n\t\t\n\t\t\t \n\t\t\t{{ name }} \n\t\t \n\t \n \n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { AxiosRequestConfig } from '@nextcloud/axios'\n\nimport axios from '@nextcloud/axios'\nimport { defaultRemoteURL, defaultRootPath } from '@nextcloud/files/dav'\nimport { generateUrl } from '@nextcloud/router'\nimport allowedMimes from './AllowedMimes.js'\n\nexport type FoldersNode = {\n\tbasename: string\n\tetag: string\n\tfileid: number\n\tfilename: string\n\tsource: string\n\tlastmod: number\n\tmime: string\n\tsize: number\n\ttype: string\n\tpermissions: string\n\thasPreview: boolean\n}\n\n/**\n * List files from a folder and filter out unwanted mimes\n *\n * @param path\n * @param options\n */\nexport default async function(path: string = '/', options: AxiosRequestConfig & { shared?: boolean } = {}) {\n\tconst endpoint = generateUrl(`/apps/photos/api/v1/${options.shared ? 'shared' : 'albums'}`)\n\n\t// fetch listing\n\tconst response = await axios.get(endpoint + path, options)\n\tconst list: FoldersNode[] = response.data\n\t\t.map((data) => ({\n\t\t\t...data,\n\t\t\tfilename: `${defaultRootPath}${data.filename}`,\n\t\t\tsource: decodeURI(defaultRemoteURL + `${defaultRootPath}${data.filename}`),\n\t\t}))\n\n\t// filter all the files and folders\n\tlet folder: FoldersNode | undefined\n\tconst folders: FoldersNode[] = []\n\tconst files: FoldersNode[] = []\n\n\tfor (const entry of list) {\n\t\t// is this the current provided path ?\n\t\tif (entry.filename === `${defaultRootPath}${path}`) {\n\t\t\tfolder = entry\n\t\t} else if (entry.type !== 'file') {\n\t\t\tfolders.push(entry)\n\t\t} else if (allowedMimes.indexOf(entry.mime) > -1) {\n\t\t\tfiles.push(entry)\n\t\t}\n\t}\n\n\t// return current folder, subfolders and files\n\treturn { folder, folders, files }\n}\n","\n\n\n\t \n \n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * Define the max width proportions\n * The number (key) indicate the MAX size\n *\n * needs to be compatible with webpack config\n * so no export default {}\n */\nexport default {\n\t400: {\n\t\tmarginTop: 66,\n\t\tmarginW: 8,\n\t\tcount: 3,\n\t\tfolderCount: 1,\n\t},\n\t700: {\n\t\tmarginTop: 66,\n\t\tmarginW: 8,\n\t\tcount: 4,\n\t\tfolderCount: 1,\n\t},\n\t1024: {\n\t\tmarginTop: 66,\n\t\tmarginW: 44,\n\t\tcount: 5,\n\t\tfolderCount: 2,\n\t},\n\t1280: {\n\t\tmarginTop: 66,\n\t\tmarginW: 44,\n\t\tcount: 4,\n\t\tfolderCount: 2,\n\t},\n\t1440: {\n\t\tmarginTop: 88,\n\t\tmarginW: 66,\n\t\tcount: 5,\n\t\tfolderCount: 3,\n\t},\n\t1600: {\n\t\tmarginTop: 88,\n\t\tmarginW: 66,\n\t\tcount: 6,\n\t\tfolderCount: 4,\n\t},\n\t2048: {\n\t\tmarginTop: 88,\n\t\tmarginW: 66,\n\t\tcount: 7,\n\t\tfolderCount: 4,\n\t},\n\t2560: {\n\t\tmarginTop: 88,\n\t\tmarginW: 88,\n\t\tcount: 8,\n\t\tfolderCount: 6,\n\t},\n\t3440: {\n\t\tmarginTop: 88,\n\t\tmarginW: 88,\n\t\tcount: 9,\n\t\tfolderCount: 8,\n\t},\n\tmax: {\n\t\tmarginTop: 88,\n\t\tmarginW: 88,\n\t\tcount: 10,\n\t\tfolderCount: 10,\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport sizes from '../assets/grid-sizes.js'\n\nexport default new Vue({\n\tdata() {\n\t\treturn {\n\t\t\tgridConfig: sizes.max,\n\t\t}\n\t},\n\twatch: {\n\t\tgridConfig(val) {\n\t\t\tthis.$emit('changed', val)\n\t\t},\n\t},\n\tcreated() {\n\t\twindow.addEventListener('resize', this.handleWindowResize)\n\t\tthis.handleWindowResize()\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this.handleWindowResize)\n\t},\n\tmethods: {\n\t\thandleWindowResize() {\n\t\t\t// find the first grid size that fit the current window width\n\t\t\tconst currentSize = Object.keys(sizes).map((size) => Number.parseInt(size)).find((size) => size > document.documentElement.clientWidth)\n\t\t\tthis.gridConfig = sizes[currentSize as number] || sizes.max\n\t\t},\n\t},\n})\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { defineComponent } from 'vue'\nimport getGridConfig from '../services/GridConfig.js'\nimport logger from '../services/logger.js'\n\n/**\n * Get the current used grid config\n */\nexport default defineComponent({\n\tdata() {\n\t\treturn {\n\t\t\tgridConfig: {} as typeof getGridConfig.gridConfig,\n\t\t}\n\t},\n\n\tcreated() {\n\t\tgetGridConfig.$on('changed', this.handleGridConfigChange)\n\t\tlogger.debug('Grid config', { gridConfig: getGridConfig.gridConfig })\n\t\tthis.gridConfig = getGridConfig.gridConfig\n\t},\n\n\tbeforeDestroy() {\n\t\tgetGridConfig.$off('changed', this.handleGridConfigChange)\n\t},\n\n\tmethods: {\n\t\thandleGridConfigChange(val: typeof getGridConfig.gridConfig) {\n\t\t\tthis.gridConfig = val\n\t\t},\n\t},\n})\n","\n\n\n\t\n\t\n\t\t\n\t\t\t \n\t\t \n\t \n\t \n\t\n\t\t\n\t\t\t \n\t\t \n\t \n\n\t\n\t\n\t\t
0 }\"\n\t\t\t:loading=\"loading\"\n\t\t\t:path=\"path\"\n\t\t\t:title=\"folder?.basename?.toString?.() || rootTitle\"\n\t\t\t:root-title=\"rootTitle\"\n\t\t\t@refresh=\"onRefresh\">\n\t\t\t \n\t\t \n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t\t \n\t\t\t \n\t\t \n\n\t\t
\n\t\t\t haveFolders ? gridConfig.folderCount : gridConfig.count\"\n\t\t\t\t:get-grid-gap=\"() => haveFolders ? 16 : 8\" />\n\t\t
\n\t
\n \n\n\n\n\n"],"names":["__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","__spreadProps","_typeof","obj2","_defineProperty","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","i","arr2","iter","reflectionIsSupported","copyReflectionMetadata","to","from","forwardMetadata","propertyKey","metaKeys","metaKey","metadata","fakeArray","hasProto","createDecorator","factory","target","index","Ctor","options","isPrimitive","type","collectDataFromConstructor","vm","Component2","originalInit","_this","keys","key2","data","plainData","$internalHooks","componentFactory","proto","descriptor","decorators","fn","superProto","Super","Vue","Extended","forwardStaticMembers","shouldIgnore","Original","extendedDescriptor","superDescriptor","Component","needToProduceProvide","original","produceProvide","provide","rv","reactiveInjectKey","_loop_1","i2","this_1","inheritInjected","componentOptions","reflectMetadataIsSupported","applyMetadata","Prop","k","ProvideReactive","Watch","path","_a","deep","_b","immediate","handler","watch","getGridGapDefault","elementWidth","windowHeight","getColumnCountDefault","getWindowMarginDefault","getItemRatioHeightDefault","height","width","columnWidth","imageRatio","debugLog","condition","args","__defProp2","__getOwnPropDesc","__decorateClass","kind","result","decorator","VirtualGrid$1","scrollElement","oldScrollElement","error","windowBottom","bottomTrigger","windowSize","windowScroll","elementWindowOffset","elementSize","containerData","items","windowMargin","gridGap","columnCount","entries","item","imageWidth","configData","currentRowNumber","prevRowsTotalHeight","currentRowMaxHeight","columnShift","cells","entry","columnSpanRecompute","heightRecompute","distanceToRowStart","shiftedIndex","columnNumber","rowNumber","overlapNumber","overlapRatio","offset","totalHeight","layoutData","cellsToRender","firstRenderedRowNumber","firstRenderedRowOffset","cell","cellTop","cellBottom","windowTop","renderTop","renderBottom","totalGapSpace","renderData","element","rect","render","_vm","_h","_c","staticRenderFns","normalizeComponent","scriptExports","render2","staticRenderFns2","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","originalRender","h","context","existing","__cssModules","__component__","__vue2_injectStyles","o","VirtualGrid","_sfc_main$3","t","generateUrl","legacyToViewerFileInfo","file","_sfc_main$2","FolderOutline","RouterLink","fileid","etag","prefix","getCurrentUser","getFolderContent","endpoint","list","axios","defaultRootPath","defaultRemoteURL","folder","folders","files","allowedMimes","_sfc_main$1","defineComponent","FolderTagPreview","AbortControllerMixin","previewFolderContent","previewFiles","id","firstChildFolder","filename","unPrefixedFileName","logger","sizes","getGridConfig","val","currentSize","size","GridConfigMixin","_sfc_main","HeaderNavigation","NcEmptyContent","NcLoadingIcon","UploadPicker","getUploader","Folder","parsePermissions","FolderComponent","FileLegacy","upload","relPath","node","fetchFile"],"mappings":"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","x_google_ignoreList":[0]}
\ No newline at end of file
diff --git a/js/HeaderNavigation-Cs3s9UVW.chunk.mjs b/js/HeaderNavigation-NTIRuixF.chunk.mjs
similarity index 93%
rename from js/HeaderNavigation-Cs3s9UVW.chunk.mjs
rename to js/HeaderNavigation-NTIRuixF.chunk.mjs
index adf334c041..03fba8dc44 100644
--- a/js/HeaderNavigation-Cs3s9UVW.chunk.mjs
+++ b/js/HeaderNavigation-NTIRuixF.chunk.mjs
@@ -1,2 +1,2 @@
-import{a as s}from"./preload-helper-B1hyiFAx.chunk.mjs";import{N as i}from"./index-msNec4Xs.chunk.mjs";import{N as a}from"./NcLoadingIcon-DM-94wwW.chunk.mjs";import{e,n}from"./icons-Du8Q1knx.chunk.mjs";const r={name:"HeaderNavigation",components:{ArrowLeft:e,NcButton:i,NcLoadingIcon:a},inheritAttrs:!1,props:{loading:{type:Boolean,default:!1},path:{type:String,default:"/"},title:{type:String,required:!0},rootTitle:{type:String,default:s("photos","Photos")}},computed:{isRoot(){return this.path==="/"},name(){return this.isRoot?this.rootTitle:this.title}},methods:{folderUp(){this.$router.push(this.$route.path.split("/").slice(0,-1).join("/"))},refresh(){this.$emit("refresh")},t:s}};var l=function(){var t=this,o=t._self._c;return o("div",{staticClass:"photos-navigation",class:{"photos-navigation--root":t.isRoot},attrs:{role:"toolbar"}},[t.isRoot?t._e():o("NcButton",{staticClass:"photos-navigation__back",attrs:{"aria-label":t.t("photos","Go back"),variant:"tertiary"},on:{click:t.folderUp},scopedSlots:t._u([{key:"icon",fn:function(){return[o("ArrowLeft",{attrs:{size:20}})]},proxy:!0}],null,!1,1821202730)}),o("div",{staticClass:"photos-navigation__title"},[o("h1",{staticClass:"photos-navigation__title__main",on:{click:t.refresh}},[t._v(" "+t._s(t.name)+" ")]),o("div",{staticClass:"photos-navigation__title__sub"}),t._t("subtitle")],2),o("div",{staticClass:"photos-navigation__content"},[t.$slots.default?o("div",{staticClass:"photos-navigation__content__left"},[t._t("default")],2):t._e(),o("NcLoadingIcon",{directives:[{name:"show",rawName:"v-show",value:t.loading,expression:"loading"}],staticClass:"photos-navigation__loader"}),o("div",{staticClass:"photos-navigation__content__right"},[t._t("right")],2)],1)],1)},c=[],p=n(r,l,c,!1,null,"dee91203");const v=p.exports;export{v as H};
-//# sourceMappingURL=HeaderNavigation-Cs3s9UVW.chunk.mjs.map
+import{a as s}from"./preload-helper-B1hyiFAx.chunk.mjs";import{N as i}from"./index-msNec4Xs.chunk.mjs";import{N as a}from"./NcLoadingIcon-DM-94wwW.chunk.mjs";import{e,n}from"./icons-DCSM00Rh.chunk.mjs";const r={name:"HeaderNavigation",components:{ArrowLeft:e,NcButton:i,NcLoadingIcon:a},inheritAttrs:!1,props:{loading:{type:Boolean,default:!1},path:{type:String,default:"/"},title:{type:String,required:!0},rootTitle:{type:String,default:s("photos","Photos")}},computed:{isRoot(){return this.path==="/"},name(){return this.isRoot?this.rootTitle:this.title}},methods:{folderUp(){this.$router.push(this.$route.path.split("/").slice(0,-1).join("/"))},refresh(){this.$emit("refresh")},t:s}};var l=function(){var t=this,o=t._self._c;return o("div",{staticClass:"photos-navigation",class:{"photos-navigation--root":t.isRoot},attrs:{role:"toolbar"}},[t.isRoot?t._e():o("NcButton",{staticClass:"photos-navigation__back",attrs:{"aria-label":t.t("photos","Go back"),variant:"tertiary"},on:{click:t.folderUp},scopedSlots:t._u([{key:"icon",fn:function(){return[o("ArrowLeft",{attrs:{size:20}})]},proxy:!0}],null,!1,1821202730)}),o("div",{staticClass:"photos-navigation__title"},[o("h1",{staticClass:"photos-navigation__title__main",on:{click:t.refresh}},[t._v(" "+t._s(t.name)+" ")]),o("div",{staticClass:"photos-navigation__title__sub"}),t._t("subtitle")],2),o("div",{staticClass:"photos-navigation__content"},[t.$slots.default?o("div",{staticClass:"photos-navigation__content__left"},[t._t("default")],2):t._e(),o("NcLoadingIcon",{directives:[{name:"show",rawName:"v-show",value:t.loading,expression:"loading"}],staticClass:"photos-navigation__loader"}),o("div",{staticClass:"photos-navigation__content__right"},[t._t("right")],2)],1)],1)},c=[],p=n(r,l,c,!1,null,"dee91203");const v=p.exports;export{v as H};
+//# sourceMappingURL=HeaderNavigation-NTIRuixF.chunk.mjs.map
diff --git a/js/HeaderNavigation-Cs3s9UVW.chunk.mjs.license b/js/HeaderNavigation-NTIRuixF.chunk.mjs.license
similarity index 100%
rename from js/HeaderNavigation-Cs3s9UVW.chunk.mjs.license
rename to js/HeaderNavigation-NTIRuixF.chunk.mjs.license
diff --git a/js/HeaderNavigation-Cs3s9UVW.chunk.mjs.map b/js/HeaderNavigation-NTIRuixF.chunk.mjs.map
similarity index 98%
rename from js/HeaderNavigation-Cs3s9UVW.chunk.mjs.map
rename to js/HeaderNavigation-NTIRuixF.chunk.mjs.map
index e1cdfb6a77..9caaf7cf3e 100644
--- a/js/HeaderNavigation-Cs3s9UVW.chunk.mjs.map
+++ b/js/HeaderNavigation-NTIRuixF.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"HeaderNavigation-Cs3s9UVW.chunk.mjs","sources":["../src/components/HeaderNavigation.vue"],"sourcesContent":["\n\n\n\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t\t \n\t\t\t \n\t\t \n\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t{{ name }}\n\t\t\t \n\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t \n\t\t\t
\n\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t \n\t\t\t
\n\t\t
\n\t
\n \n\n\n\n\n"],"names":["_sfc_main","ArrowLeft","NcButton","NcLoadingIcon","t"],"mappings":"0MAiDA,MAAAA,EAAA,CACA,KAAA,mBAEA,WAAA,CACA,UAAAC,EACA,SAAAC,EACA,cAAAC,CAAA,EAGA,aAAA,GAEA,MAAA,CACA,QAAA,CACA,KAAA,QACA,QAAA,EAAA,EAGA,KAAA,CACA,KAAA,OACA,QAAA,GAAA,EAGA,MAAA,CACA,KAAA,OACA,SAAA,EAAA,EAGA,UAAA,CACA,KAAA,OACA,QAAAC,EAAA,SAAA,QAAA,CAAA,CACA,EAGA,SAAA,CACA,QAAA,CAEA,OADA,KAAA,OAAA,GAEA,EAEA,MAAA,CACA,OAAA,KAAA,OACA,KAAA,UAEA,KAAA,KACA,CAAA,EAGA,QAAA,CACA,UAAA,CACA,KAAA,QAAA,KAAA,KAAA,OAAA,KAAA,MAAA,GAAA,EAAA,MAAA,EAAA,EAAA,EAAA,KAAA,GAAA,CAAA,CACA,EAEA,SAAA,CACA,KAAA,MAAA,SAAA,CACA,EAAA,EAEAA,CAAA,CAEA"}
\ No newline at end of file
+{"version":3,"file":"HeaderNavigation-NTIRuixF.chunk.mjs","sources":["../src/components/HeaderNavigation.vue"],"sourcesContent":["\n\n\n\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t\t \n\t\t\t \n\t\t \n\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t{{ name }}\n\t\t\t \n\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t \n\t\t\t
\n\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t \n\t\t\t
\n\t\t
\n\t
\n \n\n\n\n\n"],"names":["_sfc_main","ArrowLeft","NcButton","NcLoadingIcon","t"],"mappings":"0MAiDA,MAAAA,EAAA,CACA,KAAA,mBAEA,WAAA,CACA,UAAAC,EACA,SAAAC,EACA,cAAAC,CAAA,EAGA,aAAA,GAEA,MAAA,CACA,QAAA,CACA,KAAA,QACA,QAAA,EAAA,EAGA,KAAA,CACA,KAAA,OACA,QAAA,GAAA,EAGA,MAAA,CACA,KAAA,OACA,SAAA,EAAA,EAGA,UAAA,CACA,KAAA,OACA,QAAAC,EAAA,SAAA,QAAA,CAAA,CACA,EAGA,SAAA,CACA,QAAA,CAEA,OADA,KAAA,OAAA,GAEA,EAEA,MAAA,CACA,OAAA,KAAA,OACA,KAAA,UAEA,KAAA,KACA,CAAA,EAGA,QAAA,CACA,UAAA,CACA,KAAA,QAAA,KAAA,KAAA,OAAA,KAAA,MAAA,GAAA,EAAA,MAAA,EAAA,EAAA,EAAA,KAAA,GAAA,CAAA,CACA,EAEA,SAAA,CACA,KAAA,MAAA,SAAA,CACA,EAAA,EAEAA,CAAA,CAEA"}
\ No newline at end of file
diff --git a/js/InvalidFilenameDialog-C-Tc0bjw-CP1MULfA.chunk.mjs b/js/InvalidFilenameDialog-C-Tc0bjw-BiQf0n_n.chunk.mjs
similarity index 83%
rename from js/InvalidFilenameDialog-C-Tc0bjw-CP1MULfA.chunk.mjs
rename to js/InvalidFilenameDialog-C-Tc0bjw-BiQf0n_n.chunk.mjs
index 8c54692b3a..4458fb7da8 100644
--- a/js/InvalidFilenameDialog-C-Tc0bjw-CP1MULfA.chunk.mjs
+++ b/js/InvalidFilenameDialog-C-Tc0bjw-BiQf0n_n.chunk.mjs
@@ -1,2 +1,2 @@
-import{I as n,a as i}from"./index-CsCSS_KR.chunk.mjs";import{d as o}from"./preload-helper-B1hyiFAx.chunk.mjs";import{n as s,t}from"./index-SPoS3_zU-NmnSNTht.chunk.mjs";import{N as l}from"./NcDialog-Di3PCaC2-BKnn9ALj.chunk.mjs";import{N as m}from"./NcTextField-Doo3Q45d-MzM9MGlJ.chunk.mjs";import{N as c}from"./NcProgressBar-D7zYeXBH-Cnz6LtnO.chunk.mjs";import"./index-msNec4Xs.chunk.mjs";import"./index-BHk_XWCz.chunk.mjs";import"./dialog-lSyFLMgl.chunk.mjs";import"./NcModal-BX64wQqg.chunk.mjs";import"./NcLoadingIcon-DM-94wwW.chunk.mjs";import"./NcActions-C4f9MXug-FA3YIyzG.chunk.mjs";import"./video-DVVFoi8e.chunk.mjs";import"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";import"./useHotKey-oP-0fLfr.chunk.mjs";import"./useModelMigration-EhAWvqDD-ClbwSWZP.chunk.mjs";const d=o({components:{NcDialog:l,NcNoteCard:c,NcTextField:m},props:{error:{type:n,required:!0},validateFilename:{type:Function,required:!0}},setup(){return{t}},data(){return{newName:"",validationError:""}},computed:{isValidName(){return this.validationError===""},isInvalidFileType(){return this.error.reason===i.Extension&&this.error.segment.match(/^\.\w/)!==null},canRename(){return!this.isInvalidFileType},dialogButtons(){const e=[{label:t("Cancel"),type:"error",callback:()=>{this.$emit("close",{cancel:!0})}},{label:t("Skip"),callback:()=>{this.$emit("close",{skip:!0})}}];return this.canRename&&e.push({label:t("Rename"),type:"primary",disabled:!this.isValidName,callback:()=>{this.$emit("close",{rename:this.newName.trimEnd()})}}),e}},watch:{error:{handler(){this.validationError=this.getErrorText(this.error),this.newName=this.error.filename},immediate:!0},newName(){try{this.validateFilename(this.newName.trimEnd()),this.validationError=""}catch(e){this.validationError=this.getErrorText(e)}finally{const e=this.$refs.textfield?.$el.querySelector("input");e&&(e.setCustomValidity(this.validationError),e.reportValidity())}}},methods:{getErrorText(e){switch(e.reason){case i.Character:return t('"{segment}" is not allowed inside a file or folder name.',{segment:e.segment});case i.ReservedName:return t('"{segment}" is a forbidden file or folder name.',{segment:e.segment});case i.Extension:return e.segment.match(/\.\w/)?t('"{segment}" is a forbidden file type.',{segment:e.segment}):t('Filenames must not end with "{segment}".',{segment:e.segment})}}}});var p=function(){var e=this,a=e._self._c;return e._self._setupProxy,a("NcDialog",{attrs:{buttons:e.dialogButtons,name:e.t("Invalid filename")},on:{close:function(r){return e.$emit("close",{cancel:!0})}}},[a("NcNoteCard",{attrs:{severity:"error"}},[e._v(" "+e._s(e.getErrorText(e.error))+" "+e._s(e.t("You can either rename the file, skip this file or cancel the whole operation."))+" ")]),e.canRename?a("NcTextField",{ref:"textfield",staticClass:"invalid-filename-dialog__input",attrs:{error:!e.isValidName,"helper-text":e.validationError,label:e.t("New filename"),value:e.newName},on:{"update:value":function(r){e.newName=r},input:function(r){e.newName=r.target.value}}}):e._e()],1)},h=[],u=s(d,p,h,!1,null,"05c6fe08");const V=u.exports;export{V as default};
-//# sourceMappingURL=InvalidFilenameDialog-C-Tc0bjw-CP1MULfA.chunk.mjs.map
+import{I as n,a as i}from"./index-CsCSS_KR.chunk.mjs";import{d as o}from"./preload-helper-B1hyiFAx.chunk.mjs";import{n as s,t}from"./index-SPoS3_zU-BiaeHne1.chunk.mjs";import{N as l}from"./NcDialog-Di3PCaC2-BbWxOohO.chunk.mjs";import{N as m}from"./NcTextField-Doo3Q45d-BClSKUyw.chunk.mjs";import{N as c}from"./NcProgressBar-D7zYeXBH-Cnz6LtnO.chunk.mjs";import"./index-msNec4Xs.chunk.mjs";import"./index-BHk_XWCz.chunk.mjs";import"./dialog-lSyFLMgl.chunk.mjs";import"./NcModal-DnfAQoZ9.chunk.mjs";import"./NcLoadingIcon-DM-94wwW.chunk.mjs";import"./NcActions-C4f9MXug-BC_2VOkH.chunk.mjs";import"./video-B2A2Ed33.chunk.mjs";import"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";import"./useHotKey-CZEtuasP.chunk.mjs";import"./useModelMigration-EhAWvqDD-ClbwSWZP.chunk.mjs";const d=o({components:{NcDialog:l,NcNoteCard:c,NcTextField:m},props:{error:{type:n,required:!0},validateFilename:{type:Function,required:!0}},setup(){return{t}},data(){return{newName:"",validationError:""}},computed:{isValidName(){return this.validationError===""},isInvalidFileType(){return this.error.reason===i.Extension&&this.error.segment.match(/^\.\w/)!==null},canRename(){return!this.isInvalidFileType},dialogButtons(){const e=[{label:t("Cancel"),type:"error",callback:()=>{this.$emit("close",{cancel:!0})}},{label:t("Skip"),callback:()=>{this.$emit("close",{skip:!0})}}];return this.canRename&&e.push({label:t("Rename"),type:"primary",disabled:!this.isValidName,callback:()=>{this.$emit("close",{rename:this.newName.trimEnd()})}}),e}},watch:{error:{handler(){this.validationError=this.getErrorText(this.error),this.newName=this.error.filename},immediate:!0},newName(){try{this.validateFilename(this.newName.trimEnd()),this.validationError=""}catch(e){this.validationError=this.getErrorText(e)}finally{const e=this.$refs.textfield?.$el.querySelector("input");e&&(e.setCustomValidity(this.validationError),e.reportValidity())}}},methods:{getErrorText(e){switch(e.reason){case i.Character:return t('"{segment}" is not allowed inside a file or folder name.',{segment:e.segment});case i.ReservedName:return t('"{segment}" is a forbidden file or folder name.',{segment:e.segment});case i.Extension:return e.segment.match(/\.\w/)?t('"{segment}" is a forbidden file type.',{segment:e.segment}):t('Filenames must not end with "{segment}".',{segment:e.segment})}}}});var p=function(){var e=this,a=e._self._c;return e._self._setupProxy,a("NcDialog",{attrs:{buttons:e.dialogButtons,name:e.t("Invalid filename")},on:{close:function(r){return e.$emit("close",{cancel:!0})}}},[a("NcNoteCard",{attrs:{severity:"error"}},[e._v(" "+e._s(e.getErrorText(e.error))+" "+e._s(e.t("You can either rename the file, skip this file or cancel the whole operation."))+" ")]),e.canRename?a("NcTextField",{ref:"textfield",staticClass:"invalid-filename-dialog__input",attrs:{error:!e.isValidName,"helper-text":e.validationError,label:e.t("New filename"),value:e.newName},on:{"update:value":function(r){e.newName=r},input:function(r){e.newName=r.target.value}}}):e._e()],1)},h=[],u=s(d,p,h,!1,null,"05c6fe08");const V=u.exports;export{V as default};
+//# sourceMappingURL=InvalidFilenameDialog-C-Tc0bjw-BiQf0n_n.chunk.mjs.map
diff --git a/js/InvalidFilenameDialog-C-Tc0bjw-CP1MULfA.chunk.mjs.license b/js/InvalidFilenameDialog-C-Tc0bjw-BiQf0n_n.chunk.mjs.license
similarity index 100%
rename from js/InvalidFilenameDialog-C-Tc0bjw-CP1MULfA.chunk.mjs.license
rename to js/InvalidFilenameDialog-C-Tc0bjw-BiQf0n_n.chunk.mjs.license
diff --git a/js/InvalidFilenameDialog-C-Tc0bjw-CP1MULfA.chunk.mjs.map b/js/InvalidFilenameDialog-C-Tc0bjw-BiQf0n_n.chunk.mjs.map
similarity index 99%
rename from js/InvalidFilenameDialog-C-Tc0bjw-CP1MULfA.chunk.mjs.map
rename to js/InvalidFilenameDialog-C-Tc0bjw-BiQf0n_n.chunk.mjs.map
index 5f4b827700..f8c0af34ab 100644
--- a/js/InvalidFilenameDialog-C-Tc0bjw-CP1MULfA.chunk.mjs.map
+++ b/js/InvalidFilenameDialog-C-Tc0bjw-BiQf0n_n.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"InvalidFilenameDialog-C-Tc0bjw-CP1MULfA.chunk.mjs","sources":["../node_modules/@nextcloud/upload/dist/chunks/InvalidFilenameDialog-C-Tc0bjw.mjs"],"sourcesContent":["import '../assets/InvalidFilenameDialog-Cint9TUL.css';\nimport { InvalidFilenameError, InvalidFilenameErrorReason } from \"@nextcloud/files\";\nimport { defineComponent } from \"vue\";\nimport { t, n as normalizeComponent } from \"./index-SPoS3_zU.mjs\";\nimport NcDialog from \"@nextcloud/vue/dist/Components/NcDialog.js\";\nimport NcTextField from \"@nextcloud/vue/dist/Components/NcTextField.js\";\nimport NcNoteCard from \"@nextcloud/vue/dist/Components/NcNoteCard.js\";\nconst _sfc_main = defineComponent({\n components: {\n NcDialog,\n NcNoteCard,\n NcTextField\n },\n props: {\n error: {\n type: InvalidFilenameError,\n required: true\n },\n /**\n * @deprecated just for legacy reasons, replace with function from @nextcloud/files in future\n */\n validateFilename: {\n type: Function,\n required: true\n }\n },\n setup() {\n return {\n t\n };\n },\n data() {\n return {\n newName: \"\",\n validationError: \"\"\n };\n },\n computed: {\n isValidName() {\n return this.validationError === \"\";\n },\n isInvalidFileType() {\n return this.error.reason === InvalidFilenameErrorReason.Extension && this.error.segment.match(/^\\.\\w/) !== null;\n },\n canRename() {\n return !this.isInvalidFileType;\n },\n dialogButtons() {\n const buttons = [\n {\n label: t(\"Cancel\"),\n type: \"error\",\n callback: () => {\n this.$emit(\"close\", { cancel: true });\n }\n },\n {\n label: t(\"Skip\"),\n callback: () => {\n this.$emit(\"close\", { skip: true });\n }\n }\n ];\n if (this.canRename) {\n buttons.push({\n label: t(\"Rename\"),\n type: \"primary\",\n disabled: !this.isValidName,\n callback: () => {\n this.$emit(\"close\", { rename: this.newName.trimEnd() });\n }\n });\n }\n return buttons;\n }\n },\n watch: {\n error: {\n handler() {\n this.validationError = this.getErrorText(this.error);\n this.newName = this.error.filename;\n },\n immediate: true\n },\n newName() {\n try {\n this.validateFilename(this.newName.trimEnd());\n this.validationError = \"\";\n } catch (error) {\n this.validationError = this.getErrorText(error);\n } finally {\n const textfield = this.$refs.textfield?.$el.querySelector(\"input\");\n if (textfield) {\n textfield.setCustomValidity(this.validationError);\n textfield.reportValidity();\n }\n }\n }\n },\n methods: {\n getErrorText(error) {\n switch (error.reason) {\n case InvalidFilenameErrorReason.Character:\n return t('\"{segment}\" is not allowed inside a file or folder name.', { segment: error.segment });\n case InvalidFilenameErrorReason.ReservedName:\n return t('\"{segment}\" is a forbidden file or folder name.', { segment: error.segment });\n case InvalidFilenameErrorReason.Extension:\n return error.segment.match(/\\.\\w/) ? t('\"{segment}\" is a forbidden file type.', { segment: error.segment }) : t('Filenames must not end with \"{segment}\".', { segment: error.segment });\n }\n }\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"NcDialog\", { attrs: { \"buttons\": _vm.dialogButtons, \"name\": _vm.t(\"Invalid filename\") }, on: { \"close\": function($event) {\n return _vm.$emit(\"close\", { cancel: true });\n } } }, [_c(\"NcNoteCard\", { attrs: { \"severity\": \"error\" } }, [_vm._v(\" \" + _vm._s(_vm.getErrorText(_vm.error)) + \" \" + _vm._s(_vm.t(\"You can either rename the file, skip this file or cancel the whole operation.\")) + \" \")]), _vm.canRename ? _c(\"NcTextField\", { ref: \"textfield\", staticClass: \"invalid-filename-dialog__input\", attrs: { \"error\": !_vm.isValidName, \"helper-text\": _vm.validationError, \"label\": _vm.t(\"New filename\"), \"value\": _vm.newName }, on: { \"update:value\": function($event) {\n _vm.newName = $event;\n }, \"input\": function($event) {\n _vm.newName = $event.target.value;\n } } }) : _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 \"05c6fe08\"\n);\nconst InvalidFilenameDialog = __component__.exports;\nexport {\n InvalidFilenameDialog as default\n};\n//# sourceMappingURL=InvalidFilenameDialog-C-Tc0bjw.mjs.map\n"],"names":["_sfc_main","defineComponent","NcDialog","NcNoteCard","NcTextField","InvalidFilenameError","r","InvalidFilenameErrorReason","buttons","t","error","textfield","_sfc_render","_vm","_c","$event","_sfc_staticRenderFns","__component__","normalizeComponent","InvalidFilenameDialog"],"mappings":"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","x_google_ignoreList":[0]}
\ No newline at end of file
+{"version":3,"file":"InvalidFilenameDialog-C-Tc0bjw-BiQf0n_n.chunk.mjs","sources":["../node_modules/@nextcloud/upload/dist/chunks/InvalidFilenameDialog-C-Tc0bjw.mjs"],"sourcesContent":["import '../assets/InvalidFilenameDialog-Cint9TUL.css';\nimport { InvalidFilenameError, InvalidFilenameErrorReason } from \"@nextcloud/files\";\nimport { defineComponent } from \"vue\";\nimport { t, n as normalizeComponent } from \"./index-SPoS3_zU.mjs\";\nimport NcDialog from \"@nextcloud/vue/dist/Components/NcDialog.js\";\nimport NcTextField from \"@nextcloud/vue/dist/Components/NcTextField.js\";\nimport NcNoteCard from \"@nextcloud/vue/dist/Components/NcNoteCard.js\";\nconst _sfc_main = defineComponent({\n components: {\n NcDialog,\n NcNoteCard,\n NcTextField\n },\n props: {\n error: {\n type: InvalidFilenameError,\n required: true\n },\n /**\n * @deprecated just for legacy reasons, replace with function from @nextcloud/files in future\n */\n validateFilename: {\n type: Function,\n required: true\n }\n },\n setup() {\n return {\n t\n };\n },\n data() {\n return {\n newName: \"\",\n validationError: \"\"\n };\n },\n computed: {\n isValidName() {\n return this.validationError === \"\";\n },\n isInvalidFileType() {\n return this.error.reason === InvalidFilenameErrorReason.Extension && this.error.segment.match(/^\\.\\w/) !== null;\n },\n canRename() {\n return !this.isInvalidFileType;\n },\n dialogButtons() {\n const buttons = [\n {\n label: t(\"Cancel\"),\n type: \"error\",\n callback: () => {\n this.$emit(\"close\", { cancel: true });\n }\n },\n {\n label: t(\"Skip\"),\n callback: () => {\n this.$emit(\"close\", { skip: true });\n }\n }\n ];\n if (this.canRename) {\n buttons.push({\n label: t(\"Rename\"),\n type: \"primary\",\n disabled: !this.isValidName,\n callback: () => {\n this.$emit(\"close\", { rename: this.newName.trimEnd() });\n }\n });\n }\n return buttons;\n }\n },\n watch: {\n error: {\n handler() {\n this.validationError = this.getErrorText(this.error);\n this.newName = this.error.filename;\n },\n immediate: true\n },\n newName() {\n try {\n this.validateFilename(this.newName.trimEnd());\n this.validationError = \"\";\n } catch (error) {\n this.validationError = this.getErrorText(error);\n } finally {\n const textfield = this.$refs.textfield?.$el.querySelector(\"input\");\n if (textfield) {\n textfield.setCustomValidity(this.validationError);\n textfield.reportValidity();\n }\n }\n }\n },\n methods: {\n getErrorText(error) {\n switch (error.reason) {\n case InvalidFilenameErrorReason.Character:\n return t('\"{segment}\" is not allowed inside a file or folder name.', { segment: error.segment });\n case InvalidFilenameErrorReason.ReservedName:\n return t('\"{segment}\" is a forbidden file or folder name.', { segment: error.segment });\n case InvalidFilenameErrorReason.Extension:\n return error.segment.match(/\\.\\w/) ? t('\"{segment}\" is a forbidden file type.', { segment: error.segment }) : t('Filenames must not end with \"{segment}\".', { segment: error.segment });\n }\n }\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"NcDialog\", { attrs: { \"buttons\": _vm.dialogButtons, \"name\": _vm.t(\"Invalid filename\") }, on: { \"close\": function($event) {\n return _vm.$emit(\"close\", { cancel: true });\n } } }, [_c(\"NcNoteCard\", { attrs: { \"severity\": \"error\" } }, [_vm._v(\" \" + _vm._s(_vm.getErrorText(_vm.error)) + \" \" + _vm._s(_vm.t(\"You can either rename the file, skip this file or cancel the whole operation.\")) + \" \")]), _vm.canRename ? _c(\"NcTextField\", { ref: \"textfield\", staticClass: \"invalid-filename-dialog__input\", attrs: { \"error\": !_vm.isValidName, \"helper-text\": _vm.validationError, \"label\": _vm.t(\"New filename\"), \"value\": _vm.newName }, on: { \"update:value\": function($event) {\n _vm.newName = $event;\n }, \"input\": function($event) {\n _vm.newName = $event.target.value;\n } } }) : _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 \"05c6fe08\"\n);\nconst InvalidFilenameDialog = __component__.exports;\nexport {\n InvalidFilenameDialog as default\n};\n//# sourceMappingURL=InvalidFilenameDialog-C-Tc0bjw.mjs.map\n"],"names":["_sfc_main","defineComponent","NcDialog","NcNoteCard","NcTextField","InvalidFilenameError","r","InvalidFilenameErrorReason","buttons","t","error","textfield","_sfc_render","_vm","_c","$event","_sfc_staticRenderFns","__component__","normalizeComponent","InvalidFilenameDialog"],"mappings":"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","x_google_ignoreList":[0]}
\ No newline at end of file
diff --git a/js/NcActions-C4f9MXug-FA3YIyzG.chunk.mjs b/js/NcActions-C4f9MXug-BC_2VOkH.chunk.mjs
similarity index 99%
rename from js/NcActions-C4f9MXug-FA3YIyzG.chunk.mjs
rename to js/NcActions-C4f9MXug-BC_2VOkH.chunk.mjs
index 69728ae02d..82435ce055 100644
--- a/js/NcActions-C4f9MXug-FA3YIyzG.chunk.mjs
+++ b/js/NcActions-C4f9MXug-BC_2VOkH.chunk.mjs
@@ -1,4 +1,4 @@
-import{ac as Lt,ad as on,ae as ne,af as ae,ag as Fe,n as he,k as rn,A as sn,r as an,ah as ln,e as cn,N as un}from"./index-msNec4Xs.chunk.mjs";import{m as pn,o as dn,A as we,V as Ke,d as hn,c as fn}from"./preload-helper-B1hyiFAx.chunk.mjs";import{t as Qe}from"./video-DVVFoi8e.chunk.mjs";import{G as mn}from"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";function Re(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(u){throw u},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
+import{ac as Lt,ad as on,ae as ne,af as ae,ag as Fe,n as he,k as rn,A as sn,r as an,ah as ln,e as cn,N as un}from"./index-msNec4Xs.chunk.mjs";import{m as pn,o as dn,A as we,V as Ke,d as hn,c as fn}from"./preload-helper-B1hyiFAx.chunk.mjs";import{t as Qe}from"./video-B2A2Ed33.chunk.mjs";import{G as mn}from"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";function Re(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(u){throw u},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return a=u.done,u},e:function(u){s=!0,i=u},f:function(){try{a||n.return==null||n.return()}finally{if(s)throw i}}}}function vn(e,t,n){return(t=$n(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yn(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function bn(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function tt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),n.push.apply(n,o)}return n}function nt(e){for(var t=1;t0?e[e.length-1]:null},activateTrap:function(e,t){var n=j.getActiveTrap(e);t!==n&&j.pauseTrap(e);var o=e.indexOf(t);o===-1||e.splice(o,1),e.push(t)},deactivateTrap:function(e,t){var n=e.indexOf(t);n!==-1&&e.splice(n,1),j.unpauseTrap(e)},pauseTrap:function(e){var t=j.getActiveTrap(e);t?._setPausedState(!0)},unpauseTrap:function(e){var t=j.getActiveTrap(e);t&&!t._isManuallyPaused()&&t._setPausedState(!1)}},An=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Tn=function(e){return e?.key==="Escape"||e?.key==="Esc"||e?.keyCode===27},ce=function(e){return e?.key==="Tab"||e?.keyCode===9},xn=function(e){return ce(e)&&!e.shiftKey},Sn=function(e){return ce(e)&&e.shiftKey},ot=function(e){return setTimeout(e,0)},le=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o1&&arguments[1]!==void 0?arguments[1]:{},d=c.hasFallback,A=d===void 0?!1:d,y=c.params,S=y===void 0?[]:y,v=r[l];if(typeof v=="function"&&(v=v.apply(void 0,wn(S))),v===!0&&(v=void 0),!v){if(v===void 0||v===!1)return v;throw new Error("`".concat(l,"` was specified but was not a node, or did not return a node"))}var T=v;if(typeof v=="string"){try{T=n.querySelector(v)}catch(_){throw new Error("`".concat(l,'` appears to be an invalid selector; error="').concat(_.message,'"'))}if(!T&&!A)throw new Error("`".concat(l,"` as selector refers to no known node"))}return T},h=function(){var l=p("initialFocus",{hasFallback:!0});if(l===!1)return!1;if(l===void 0||l&&!Fe(l,r.tabbableOptions))if(u(n.activeElement)>=0)l=n.activeElement;else{var c=i.tabbableGroups[0],d=c&&c.firstTabbableNode;l=d||p("fallbackFocus")}else l===null&&(l=p("fallbackFocus"));if(!l)throw new Error("Your focus-trap needs to have at least one focusable element");return l},g=function(){if(i.containerGroups=i.containers.map(function(l){var c=Lt(l,r.tabbableOptions),d=on(l,r.tabbableOptions),A=c.length>0?c[0]:void 0,y=c.length>0?c[c.length-1]:void 0,S=d.find(function(_){return ne(_)}),v=d.slice().reverse().find(function(_){return ne(_)}),T=!!c.find(function(_){return ae(_)>0});return{container:l,tabbableNodes:c,focusableNodes:d,posTabIndexesFound:T,firstTabbableNode:A,lastTabbableNode:y,firstDomTabbableNode:S,lastDomTabbableNode:v,nextTabbableNode:function(_){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,H=c.indexOf(_);return H<0?M?d.slice(d.indexOf(_)+1).find(function(O){return ne(O)}):d.slice(0,d.indexOf(_)).reverse().find(function(O){return ne(O)}):c[H+(M?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(l){return l.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!p("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(l){return l.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},m=function(l){var c=l.activeElement;if(c)return c.shadowRoot&&c.shadowRoot.activeElement!==null?m(c.shadowRoot):c},f=function(l){if(l!==!1&&l!==m(document)){if(!l||!l.focus){f(h());return}l.focus({preventScroll:!!r.preventScroll}),i.mostRecentlyFocusedNode=l,An(l)&&l.select()}},$=function(l){var c=p("setReturnFocus",{params:[l]});return c||(c===!1?!1:l)},P=function(l){var c=l.target,d=l.event,A=l.isBackward,y=A===void 0?!1:A;c=c||me(d),g();var S=null;if(i.tabbableGroups.length>0){var v=u(c,d),T=v>=0?i.containerGroups[v]:void 0;if(v<0)y?S=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:S=i.tabbableGroups[0].firstTabbableNode;else if(y){var _=i.tabbableGroups.findIndex(function(Me){var Oe=Me.firstTabbableNode;return c===Oe});if(_<0&&(T.container===c||Fe(c,r.tabbableOptions)&&!ne(c,r.tabbableOptions)&&!T.nextTabbableNode(c,!1))&&(_=v),_>=0){var M=_===0?i.tabbableGroups.length-1:_-1,H=i.tabbableGroups[M];S=ae(c)>=0?H.lastTabbableNode:H.lastDomTabbableNode}else ce(d)||(S=T.nextTabbableNode(c,!1))}else{var O=i.tabbableGroups.findIndex(function(Me){var Oe=Me.lastTabbableNode;return c===Oe});if(O<0&&(T.container===c||Fe(c,r.tabbableOptions)&&!ne(c,r.tabbableOptions)&&!T.nextTabbableNode(c))&&(O=v),O>=0){var Ee=O===i.tabbableGroups.length-1?0:O+1,U=i.tabbableGroups[Ee];S=ae(c)>=0?U.firstTabbableNode:U.firstDomTabbableNode}else ce(d)||(S=T.nextTabbableNode(c))}}else S=p("fallbackFocus");return S},w=function(l){var c=me(l);if(!(u(c,l)>=0)){if(le(r.clickOutsideDeactivates,l)){a.deactivate({returnFocus:r.returnFocusOnDeactivate});return}le(r.allowOutsideClick,l)||l.preventDefault()}},C=function(l){var c=me(l),d=u(c,l)>=0;if(d||c instanceof Document)d&&(i.mostRecentlyFocusedNode=c);else{l.stopImmediatePropagation();var A,y=!0;if(i.mostRecentlyFocusedNode)if(ae(i.mostRecentlyFocusedNode)>0){var S=u(i.mostRecentlyFocusedNode),v=i.containerGroups[S].tabbableNodes;if(v.length>0){var T=v.findIndex(function(_){return _===i.mostRecentlyFocusedNode});T>=0&&(r.isKeyForward(i.recentNavEvent)?T+1=0&&(A=v[T-1],y=!1))}}else i.containerGroups.some(function(_){return _.tabbableNodes.some(function(M){return ae(M)>0})})||(y=!1);else y=!1;y&&(A=P({target:i.mostRecentlyFocusedNode,isBackward:r.isKeyBackward(i.recentNavEvent)})),f(A||i.mostRecentlyFocusedNode||h())}i.recentNavEvent=void 0},x=function(l){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=l;var d=P({event:l,isBackward:c});d&&(ce(l)&&l.preventDefault(),f(d))},k=function(l){(r.isKeyForward(l)||r.isKeyBackward(l))&&x(l,r.isKeyBackward(l))},N=function(l){Tn(l)&&le(r.escapeDeactivates,l)!==!1&&(l.preventDefault(),a.deactivate())},B=function(l){var c=me(l);u(c,l)>=0||le(r.clickOutsideDeactivates,l)||le(r.allowOutsideClick,l)||(l.preventDefault(),l.stopImmediatePropagation())},D=function(){if(i.active)return j.activateTrap(o,a),i.delayInitialFocusTimer=r.delayInitialFocus?ot(function(){f(h())}):f(h()),n.addEventListener("focusin",C,!0),n.addEventListener("mousedown",w,{capture:!0,passive:!1}),n.addEventListener("touchstart",w,{capture:!0,passive:!1}),n.addEventListener("click",B,{capture:!0,passive:!1}),n.addEventListener("keydown",k,{capture:!0,passive:!1}),n.addEventListener("keydown",N),a},E=function(l){i.active&&!i.paused&&a._setSubtreeIsolation(!1),i.adjacentElements.clear(),i.alreadySilent.clear();var c=new Set,d=new Set,A=et(l),y;try{for(A.s();!(y=A.n()).done;){var S=y.value;c.add(S);for(var v=typeof ShadowRoot<"u"&&S.getRootNode()instanceof ShadowRoot,T=S;T;){c.add(T);var _=T.parentElement,M=[];_?M=_.children:!_&&v&&(M=T.getRootNode().children,_=T.getRootNode().host,v=typeof ShadowRoot<"u"&&_.getRootNode()instanceof ShadowRoot);var H=et(M),O;try{for(H.s();!(O=H.n()).done;){var Ee=O.value;d.add(Ee)}}catch(U){H.e(U)}finally{H.f()}T=_}}}catch(U){A.e(U)}finally{A.f()}c.forEach(function(U){d.delete(U)}),i.adjacentElements=d},L=function(){if(i.active)return n.removeEventListener("focusin",C,!0),n.removeEventListener("mousedown",w,!0),n.removeEventListener("touchstart",w,!0),n.removeEventListener("click",B,!0),n.removeEventListener("keydown",k,!0),n.removeEventListener("keydown",N),a},F=function(l){var c=l.some(function(d){var A=Array.from(d.removedNodes);return A.some(function(y){return y===i.mostRecentlyFocusedNode})});c&&f(h())},z=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(F):void 0,V=function(){z&&(z.disconnect(),i.active&&!i.paused&&i.containers.map(function(l){z.observe(l,{subtree:!0,childList:!0})}))};return a={get active(){return i.active},get paused(){return i.paused},activate:function(l){if(i.active)return this;var c=s(l,"onActivate"),d=s(l,"onPostActivate"),A=s(l,"checkCanFocusTrap"),y=j.getActiveTrap(o),S=!1;if(y&&!y.paused){var v;(v=y._setSubtreeIsolation)===null||v===void 0||v.call(y,!1),S=!0}try{A||g(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=m(n),c?.();var T=function(){A&&g(),D(),V(),r.isolateSubtrees&&a._setSubtreeIsolation(!0),d?.()};if(A)return A(i.containers.concat()).then(T,T),this;T()}catch(M){if(y===j.getActiveTrap(o)&&S){var _;(_=y._setSubtreeIsolation)===null||_===void 0||_.call(y,!0)}throw M}return this},deactivate:function(l){if(!i.active)return this;var c=nt({onDeactivate:r.onDeactivate,onPostDeactivate:r.onPostDeactivate,checkCanReturnFocus:r.checkCanReturnFocus},l);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,i.paused||a._setSubtreeIsolation(!1),i.alreadySilent.clear(),L(),i.active=!1,i.paused=!1,V(),j.deactivateTrap(o,a);var d=s(c,"onDeactivate"),A=s(c,"onPostDeactivate"),y=s(c,"checkCanReturnFocus"),S=s(c,"returnFocus","returnFocusOnDeactivate");d?.();var v=function(){ot(function(){S&&f($(i.nodeFocusedBeforeActivation)),A?.()})};return S&&y?(y($(i.nodeFocusedBeforeActivation)).then(v,v),this):(v(),this)},pause:function(l){return i.active?(i.manuallyPaused=!0,this._setPausedState(!0,l)):this},unpause:function(l){return i.active?(i.manuallyPaused=!1,o[o.length-1]!==this?this:this._setPausedState(!1,l)):this},updateContainerElements:function(l){var c=[].concat(l).filter(Boolean);return i.containers=c.map(function(d){return typeof d=="string"?n.querySelector(d):d}),r.isolateSubtrees&&E(i.containers),i.active&&(g(),r.isolateSubtrees&&!i.paused&&a._setSubtreeIsolation(!0)),V(),this}},Object.defineProperties(a,{_isManuallyPaused:{value:function(){return i.manuallyPaused}},_setPausedState:{value:function(l,c){if(i.paused===l)return this;if(i.paused=l,l){var d=s(c,"onPause"),A=s(c,"onPostPause");d?.(),L(),V(),a._setSubtreeIsolation(!1),A?.()}else{var y=s(c,"onUnpause"),S=s(c,"onPostUnpause");y?.(),a._setSubtreeIsolation(!0),g(),D(),V(),S?.()}return this}},_setSubtreeIsolation:{value:function(l){r.isolateSubtrees&&i.adjacentElements.forEach(function(c){var d;l?r.isolateSubtrees==="aria-hidden"?((c.ariaHidden==="true"||((d=c.getAttribute("aria-hidden"))===null||d===void 0?void 0:d.toLowerCase())==="true")&&i.alreadySilent.add(c),c.setAttribute("aria-hidden","true")):((c.inert||c.hasAttribute("inert"))&&i.alreadySilent.add(c),c.setAttribute("inert",!0)):i.alreadySilent.has(c)||(r.isolateSubtrees==="aria-hidden"?c.removeAttribute("aria-hidden"):c.removeAttribute("inert"))})}}}),a.updateContainerElements(e),a};function Be(){return window._nc_focus_trap??=[],window._nc_focus_trap}function kn(){let e=[];return{pause(){e=[...Be()];for(const t of e)t.pause()},unpause(){if(e.length===Be().length)for(const t of e)t.unpause();e=[]}}}var Ki="M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z",Zi="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z",Yi="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z",Xi="M5,17.59L15.59,7H9V5H19V15H17V8.41L6.41,19L5,17.59Z",Nn="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z",Ji="M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z",Ln="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z",Qi="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z",er="M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2M14.59,8L12,10.59L9.41,8L8,9.41L10.59,12L8,14.59L9.41,16L12,13.41L14.59,16L16,14.59L13.41,12L16,9.41L14.59,8Z",tr="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z",nr="M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z",or="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z",ir="M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z";const En={beforeUpdate(){this.text=this.getText()},data(){return{text:this.getText()}},computed:{isLongText(){return this.text&&this.text.trim().length>20}},methods:{getText(){return this.$slots.default?this.$slots.default[0].text.trim():""}}};function Mn(e,t){let n=e.$parent;for(;n;){if(n.$options.name===t)return n;n=n.$parent}}const On={mixins:[En],props:{icon:{type:String,default:""},name:{type:String,default:""},title:{type:String,default:""},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},ariaHidden:{type:Boolean,default:null}},emits:["click"],computed:{isIconUrl(){try{return!!new URL(this.icon,this.icon.startsWith("/")?window.location.origin:void 0)}catch{return!1}}},methods:{onClick(e){if(this.$emit("click",e),this.closeAfterClick){const t=Mn(this,"NcActions");t&&t.closeMenu&&t.closeMenu(!1)}}}},Fn={name:"NcActionButton",components:{NcIconSvgWrapper:rn},mixins:[On],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}},props:{ariaHidden:{type:Boolean,default:null},disabled:{type:Boolean,default:!1},isMenu:{type:Boolean,default:!1},type:{type:String,default:"button",validator:e=>["button","checkbox","radio","reset","submit"].includes(e)},modelValue:{type:[Boolean,String],default:null},value:{type:String,default:null},description:{type:String,default:""}},setup(){return{mdiCheck:Nn,mdiChevronRight:Ln}},computed:{isFocusable(){return!this.disabled},isChecked(){return this.type==="radio"&&typeof this.modelValue!="boolean"?this.modelValue===this.value:this.modelValue},nativeType(){return this.type==="submit"||this.type==="reset"?this.type:"button"},buttonAttributes(){const e={};return this.isInSemanticMenu?(e.role="menuitem",this.type==="radio"?(e.role="menuitemradio",e["aria-checked"]=this.isChecked?"true":"false"):(this.type==="checkbox"||this.nativeType==="button"&&this.modelValue!==null)&&(e.role="menuitemcheckbox",e["aria-checked"]=this.modelValue===null?"mixed":this.modelValue?"true":"false")):this.modelValue!==null&&this.nativeType==="button"&&(e["aria-pressed"]=this.modelValue?"true":"false"),e}},methods:{handleClick(e){this.onClick(e),(this.modelValue!==null||this.type!=="button")&&(this.type==="radio"?typeof this.modelValue!="boolean"?this.isChecked||this.$emit("update:modelValue",this.value):this.$emit("update:modelValue",!this.isChecked):this.$emit("update:modelValue",!this.isChecked))}}};var In=function(){var e=this,t=e._self._c;return t("li",{staticClass:"action",class:{"action--disabled":e.disabled},attrs:{role:e.isInSemanticMenu&&"presentation"}},[t("button",e._b({staticClass:"action-button button-vue",class:{"action-button--active":e.isChecked,focusable:e.isFocusable},attrs:{"aria-label":e.ariaLabel,disabled:e.disabled,title:e.title,type:e.nativeType},on:{click:e.handleClick}},"button",e.buttonAttributes,!1),[e._t("icon",function(){return[t("span",{staticClass:"action-button__icon",class:[e.isIconUrl?"action-button__icon--url":e.icon],style:{backgroundImage:e.isIconUrl?`url(${e.icon})`:null},attrs:{"aria-hidden":"true"}})]}),t("span",{staticClass:"action-button__longtext-wrapper"},[e.name?t("strong",{staticClass:"action-button__name"},[e._v(" "+e._s(e.name)+" ")]):e._e(),e.isLongText?t("span",{staticClass:"action-button__longtext",domProps:{textContent:e._s(e.text)}}):t("span",{staticClass:"action-button__text"},[e._v(" "+e._s(e.text)+" ")]),e.description?t("span",{staticClass:"action-button__description",domProps:{textContent:e._s(e.description)}}):e._e()]),e.isMenu?t("NcIconSvgWrapper",{staticClass:"action-button__menu-icon",attrs:{directional:"",path:e.mdiChevronRight}}):e.isChecked?t("NcIconSvgWrapper",{staticClass:"action-button__pressed-icon",attrs:{path:e.mdiCheck}}):e.isChecked===!1?t("span",{staticClass:"action-button__pressed-icon material-design-icon"}):e._e(),e._e()],2)])},Hn=[],Rn=he(Fn,In,Hn,!1,null,"ab2ff78b");const rr=Rn.exports;function Bn(e,t={}){const n=kn();pn(e,()=>{Qe(t.disabled)||(Qe(e)?n.pause():n.unpause())}),dn(()=>{n.unpause()})}function q(e){return e.split("-")[0]}function oe(e){return e.split("-")[1]}function fe(e){return["top","bottom"].includes(q(e))?"x":"y"}function Ze(e){return e==="y"?"height":"width"}function it(e){let{reference:t,floating:n,placement:o}=e;const r=t.x+t.width/2-n.width/2,i=t.y+t.height/2-n.height/2;let a;switch(q(o)){case"top":a={x:r,y:t.y-n.height};break;case"bottom":a={x:r,y:t.y+t.height};break;case"right":a={x:t.x+t.width,y:i};break;case"left":a={x:t.x-n.width,y:i};break;default:a={x:t.x,y:t.y}}const s=fe(o),u=Ze(s);switch(oe(o)){case"start":a[s]=a[s]-(t[u]/2-n[u]/2);break;case"end":a[s]=a[s]+(t[u]/2-n[u]/2);break}return a}const Dn=async(e,t,n)=>{const{placement:o="bottom",strategy:r="absolute",middleware:i=[],platform:a}=n;let s=await a.getElementRects({reference:e,floating:t,strategy:r}),{x:u,y:p}=it({...s,placement:o}),h=o,g={};for(let m=0;m({name:"arrow",options:e,async fn(t){const{element:n,padding:o=0}=e??{},{x:r,y:i,placement:a,rects:s,platform:u}=t;if(n==null)return{};const p=Mt(o),h={x:r,y:i},g=q(a),m=fe(g),f=Ze(m),$=await u.getDimensions({element:n}),P=m==="y"?"top":"left",w=m==="y"?"bottom":"right",C=s.reference[f]+s.reference[m]-h[m]-s.floating[f],x=h[m]-s.reference[m],k=await u.getOffsetParent({element:n}),N=k?m==="y"?k.clientHeight||0:k.clientWidth||0:0,B=C/2-x/2,D=p[P],E=N-$[f]-p[w],L=N/2-$[f]/2+B,F=ze(D,L,E);return{data:{[m]:F,centerOffset:L-F}}}}),Wn={left:"right",right:"left",bottom:"top",top:"bottom"};function _e(e){return e.replace(/left|right|bottom|top/g,t=>Wn[t])}function Ot(e,t){const n=oe(e)==="start",o=fe(e),r=Ze(o);let i=o==="x"?n?"right":"left":n?"bottom":"top";return t.reference[r]>t.floating[r]&&(i=_e(i)),{main:i,cross:_e(i)}}const Gn={start:"end",end:"start"};function Ve(e){return e.replace(/start|end/g,t=>Gn[t])}const qn=["top","right","bottom","left"],Un=qn.reduce((e,t)=>e.concat(t,t+"-start",t+"-end"),[]);function Kn(e,t,n){return(e?[...n.filter(o=>oe(o)===e),...n.filter(o=>oe(o)!==e)]:n.filter(o=>q(o)===o)).filter(o=>e?oe(o)===e||(t?Ve(o)!==o:!1):!0)}const Zn=function(e){return e===void 0&&(e={}),{name:"autoPlacement",options:e,async fn(t){var n,o,r,i,a,s;const{x:u,y:p,rects:h,middlewareData:g,placement:m}=t,{alignment:f=null,allowedPlacements:$=Un,autoAlignment:P=!0,...w}=e;if((n=g.autoPlacement)!=null&&n.skip)return{};const C=Kn(f,P,$),x=await Se(t,w),k=(o=(r=g.autoPlacement)==null?void 0:r.index)!=null?o:0,N=C[k],{main:B,cross:D}=Ot(N,h);if(m!==N)return{x:u,y:p,reset:{placement:C[0]}};const E=[x[q(N)],x[B],x[D]],L=[...(i=(a=g.autoPlacement)==null?void 0:a.overflows)!=null?i:[],{placement:N,overflows:E}],F=C[k+1];if(F)return{data:{index:k+1,overflows:L},reset:{placement:F}};const z=L.slice().sort((l,c)=>l.overflows[0]-c.overflows[0]),V=(s=z.find(l=>{let{overflows:c}=l;return c.every(d=>d<=0)}))==null?void 0:s.placement;return{data:{skip:!0},reset:{placement:V??z[0].placement}}}}};function Yn(e){const t=_e(e);return[Ve(e),t,Ve(t)]}const Xn=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,o;const{placement:r,middlewareData:i,rects:a,initialPlacement:s}=t;if((n=i.flip)!=null&&n.skip)return{};const{mainAxis:u=!0,crossAxis:p=!0,fallbackPlacements:h,fallbackStrategy:g="bestFit",flipAlignment:m=!0,...f}=e,$=q(r),P=h||($===s||!m?[_e(s)]:Yn(s)),w=[s,...P],C=await Se(t,f),x=[];let k=((o=i.flip)==null?void 0:o.overflows)||[];if(u&&x.push(C[$]),p){const{main:E,cross:L}=Ot(r,a);x.push(C[E],C[L])}if(k=[...k,{placement:r,overflows:x}],!x.every(E=>E<=0)){var N,B;const E=((N=(B=i.flip)==null?void 0:B.index)!=null?N:0)+1,L=w[E];if(L)return{data:{index:E,overflows:k},reset:{placement:L}};let F="bottom";switch(g){case"bestFit":{var D;const z=(D=k.slice().sort((V,l)=>V.overflows.filter(c=>c>0).reduce((c,d)=>c+d,0)-l.overflows.filter(c=>c>0).reduce((c,d)=>c+d,0))[0])==null?void 0:D.placement;z&&(F=z);break}case"initialPlacement":F=s;break}return{data:{skip:!0},reset:{placement:F}}}return{}}}};function Jn(e){let{placement:t,rects:n,value:o}=e;const r=q(t),i=["left","top"].includes(r)?-1:1,a=typeof o=="function"?o({...n,placement:t}):o,{mainAxis:s,crossAxis:u}=typeof a=="number"?{mainAxis:a,crossAxis:0}:{mainAxis:0,crossAxis:0,...a};return fe(r)==="x"?{x:u,y:s*i}:{x:s*i,y:u}}const Qn=function(e){return e===void 0&&(e=0),{name:"offset",options:e,fn(t){const{x:n,y:o,placement:r,rects:i}=t,a=Jn({placement:r,rects:i,value:e});return{x:n+a.x,y:o+a.y,data:a}}}};function eo(e){return e==="x"?"y":"x"}const to=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:r}=t,{mainAxis:i=!0,crossAxis:a=!1,limiter:s={fn:w=>{let{x:C,y:x}=w;return{x:C,y:x}}},...u}=e,p={x:n,y:o},h=await Se(t,u),g=fe(q(r)),m=eo(g);let f=p[g],$=p[m];if(i){const w=g==="y"?"top":"left",C=g==="y"?"bottom":"right",x=f+h[w],k=f-h[C];f=ze(x,f,k)}if(a){const w=m==="y"?"top":"left",C=m==="y"?"bottom":"right",x=$+h[w],k=$-h[C];$=ze(x,$,k)}const P=s.fn({...t,[g]:f,[m]:$});return{...P,data:{x:P.x-n,y:P.y-o}}}}},no=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n;const{placement:o,rects:r,middlewareData:i}=t,{apply:a,...s}=e;if((n=i.size)!=null&&n.skip)return{};const u=await Se(t,s),p=q(o),h=oe(o)==="end";let g,m;p==="top"||p==="bottom"?(g=p,m=h?"left":"right"):(m=p,g=h?"top":"bottom");const f=ee(u.left,0),$=ee(u.right,0),P=ee(u.top,0),w=ee(u.bottom,0),C={height:r.floating.height-(["left","right"].includes(o)?2*(P!==0||w!==0?P+w:ee(u.top,u.bottom)):u[g]),width:r.floating.width-(["top","bottom"].includes(o)?2*(f!==0||$!==0?f+$:ee(u.left,u.right)):u[m])};return a?.({...C,...r}),{data:{skip:!0},reset:{rects:!0}}}}};function Ye(e){return e?.toString()==="[object Window]"}function X(e){if(e==null)return window;if(!Ye(e)){const t=e.ownerDocument;return t&&t.defaultView||window}return e}function Pe(e){return X(e).getComputedStyle(e)}function W(e){return Ye(e)?"":e?(e.nodeName||"").toLowerCase():""}function G(e){return e instanceof X(e).HTMLElement}function $e(e){return e instanceof X(e).Element}function oo(e){return e instanceof X(e).Node}function Ft(e){const t=X(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Ce(e){const{overflow:t,overflowX:n,overflowY:o}=Pe(e);return/auto|scroll|overlay|hidden/.test(t+o+n)}function io(e){return["table","td","th"].includes(W(e))}function It(e){const t=navigator.userAgent.toLowerCase().includes("firefox"),n=Pe(e);return n.transform!=="none"||n.perspective!=="none"||n.contain==="paint"||["transform","perspective"].includes(n.willChange)||t&&n.willChange==="filter"||t&&(n.filter?n.filter!=="none":!1)}const rt=Math.min,ue=Math.max,Ae=Math.round;function ie(e,t){t===void 0&&(t=!1);const n=e.getBoundingClientRect();let o=1,r=1;return t&&G(e)&&(o=e.offsetWidth>0&&Ae(n.width)/e.offsetWidth||1,r=e.offsetHeight>0&&Ae(n.height)/e.offsetHeight||1),{width:n.width/o,height:n.height/r,top:n.top/r,right:n.right/o,bottom:n.bottom/r,left:n.left/o,x:n.left/o,y:n.top/r}}function J(e){return((oo(e)?e.ownerDocument:e.document)||window.document).documentElement}function ke(e){return Ye(e)?{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}:{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function Ht(e){return ie(J(e)).left+ke(e).scrollLeft}function ro(e){const t=ie(e);return Ae(t.width)!==e.offsetWidth||Ae(t.height)!==e.offsetHeight}function so(e,t,n){const o=G(t),r=J(t),i=ie(e,o&&ro(t));let a={scrollLeft:0,scrollTop:0};const s={x:0,y:0};if(o||!o&&n!=="fixed")if((W(t)!=="body"||Ce(r))&&(a=ke(t)),G(t)){const u=ie(t,!0);s.x=u.x+t.clientLeft,s.y=u.y+t.clientTop}else r&&(s.x=Ht(r));return{x:i.left+a.scrollLeft-s.x,y:i.top+a.scrollTop-s.y,width:i.width,height:i.height}}function Ne(e){return W(e)==="html"?e:e.assignedSlot||e.parentNode||(Ft(e)?e.host:null)||J(e)}function st(e){return!G(e)||getComputedStyle(e).position==="fixed"?null:e.offsetParent}function ao(e){let t=Ne(e);for(;G(t)&&!["html","body"].includes(W(t));){if(It(t))return t;t=t.parentNode}return null}function je(e){const t=X(e);let n=st(e);for(;n&&io(n)&&getComputedStyle(n).position==="static";)n=st(n);return n&&(W(n)==="html"||W(n)==="body"&&getComputedStyle(n).position==="static"&&!It(n))?t:n||ao(e)||t}function at(e){return{width:e.offsetWidth,height:e.offsetHeight}}function lo(e){let{rect:t,offsetParent:n,strategy:o}=e;const r=G(n),i=J(n);if(n===i)return t;let a={scrollLeft:0,scrollTop:0};const s={x:0,y:0};if((r||!r&&o!=="fixed")&&((W(n)!=="body"||Ce(i))&&(a=ke(n)),G(n))){const u=ie(n,!0);s.x=u.x+n.clientLeft,s.y=u.y+n.clientTop}return{...t,x:t.x-a.scrollLeft+s.x,y:t.y-a.scrollTop+s.y}}function co(e){const t=X(e),n=J(e),o=t.visualViewport;let r=n.clientWidth,i=n.clientHeight,a=0,s=0;return o&&(r=o.width,i=o.height,Math.abs(t.innerWidth/o.scale-o.width)<.01&&(a=o.offsetLeft,s=o.offsetTop)),{width:r,height:i,x:a,y:s}}function uo(e){var t;const n=J(e),o=ke(e),r=(t=e.ownerDocument)==null?void 0:t.body,i=ue(n.scrollWidth,n.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),a=ue(n.scrollHeight,n.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0);let s=-o.scrollLeft+Ht(e);const u=-o.scrollTop;return Pe(r||n).direction==="rtl"&&(s+=ue(n.clientWidth,r?r.clientWidth:0)-i),{width:i,height:a,x:s,y:u}}function Rt(e){return["html","body","#document"].includes(W(e))?e.ownerDocument.body:G(e)&&Ce(e)?e:Rt(Ne(e))}function Te(e,t){var n;t===void 0&&(t=[]);const o=Rt(e),r=o===((n=e.ownerDocument)==null?void 0:n.body),i=X(o),a=r?[i].concat(i.visualViewport||[],Ce(o)?o:[]):o,s=t.concat(a);return r?s:s.concat(Te(Ne(a)))}function po(e,t){const n=t.getRootNode==null?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&Ft(n)){let o=t;do{if(o&&e===o)return!0;o=o.parentNode||o.host}while(o)}return!1}function ho(e){const t=ie(e),n=t.top+e.clientTop,o=t.left+e.clientLeft;return{top:n,left:o,x:o,y:n,right:o+e.clientWidth,bottom:n+e.clientHeight,width:e.clientWidth,height:e.clientHeight}}function lt(e,t){return t==="viewport"?De(co(e)):$e(t)?ho(t):De(uo(J(e)))}function fo(e){const t=Te(Ne(e)),n=["absolute","fixed"].includes(Pe(e).position)&&G(e)?je(e):e;return $e(n)?t.filter(o=>$e(o)&&po(o,n)&&W(o)!=="body"):[]}function mo(e){let{element:t,boundary:n,rootBoundary:o}=e;const r=[...n==="clippingParents"?fo(t):[].concat(n),o],i=r[0],a=r.reduce((s,u)=>{const p=lt(t,u);return s.top=ue(p.top,s.top),s.right=rt(p.right,s.right),s.bottom=rt(p.bottom,s.bottom),s.left=ue(p.left,s.left),s},lt(t,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}const go={getElementRects:e=>{let{reference:t,floating:n,strategy:o}=e;return{reference:so(t,je(n),o),floating:{...at(n),x:0,y:0}}},convertOffsetParentRelativeRectToViewportRelativeRect:e=>lo(e),getOffsetParent:e=>{let{element:t}=e;return je(t)},isElement:e=>$e(e),getDocumentElement:e=>{let{element:t}=e;return J(t)},getClippingClientRect:e=>mo(e),getDimensions:e=>{let{element:t}=e;return at(t)},getClientRects:e=>{let{element:t}=e;return t.getClientRects()}},vo=(e,t,n)=>Dn(e,t,{platform:go,...n});var yo=Object.defineProperty,bo=Object.defineProperties,wo=Object.getOwnPropertyDescriptors,xe=Object.getOwnPropertySymbols,Bt=Object.prototype.hasOwnProperty,Dt=Object.prototype.propertyIsEnumerable,ct=(e,t,n)=>t in e?yo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Y=(e,t)=>{for(var n in t||(t={}))Bt.call(t,n)&&ct(e,n,t[n]);if(xe)for(var n of xe(t))Dt.call(t,n)&&ct(e,n,t[n]);return e},Le=(e,t)=>bo(e,wo(t)),_o=(e,t)=>{var n={};for(var o in e)Bt.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&xe)for(var o of xe(e))t.indexOf(o)<0&&Dt.call(e,o)&&(n[o]=e[o]);return n};function zt(e,t){for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(typeof t[n]=="object"&&e[n]?zt(e[n],t[n]):e[n]=t[n])}const R={disabled:!1,distance:5,skidding:0,container:"body",boundary:void 0,instantMove:!1,disposeTimeout:5e3,popperTriggers:[],strategy:"absolute",preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,themes:{tooltip:{placement:"top",triggers:["hover","focus","touch"],hideTriggers:e=>[...e,"click"],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:"..."},dropdown:{placement:"bottom",triggers:["click"],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:"dropdown",triggers:["hover","focus"],popperTriggers:["hover","focus"],delay:{show:0,hide:400}}}};function re(e,t){let n=R.themes[e]||{},o;do o=n[t],typeof o>"u"?n.$extend?n=R.themes[n.$extend]||{}:(n=null,o=R[t]):n=null;while(n);return o}function $o(e){const t=[e];let n=R.themes[e]||{};do n.$extend&&!n.$resetCss?(t.push(n.$extend),n=R.themes[n.$extend]||{}):n=null;while(n);return t.map(o=>`v-popper--theme-${o}`)}function ut(e){const t=[e];let n=R.themes[e]||{};do n.$extend?(t.push(n.$extend),n=R.themes[n.$extend]||{}):n=null;while(n);return t}let te=!1;if(typeof window<"u"){te=!1;try{const e=Object.defineProperty({},"passive",{get(){te=!0}});window.addEventListener("test",null,e)}catch{}}let Vt=!1;typeof window<"u"&&typeof navigator<"u"&&(Vt=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);const jt=["auto","top","bottom","left","right"].reduce((e,t)=>e.concat([t,`${t}-start`,`${t}-end`]),[]),pt={hover:"mouseenter",focus:"focus",click:"click",touch:"touchstart"},dt={hover:"mouseleave",focus:"blur",click:"click",touch:"touchend"};function ht(e,t){const n=e.indexOf(t);n!==-1&&e.splice(n,1)}function Ie(){return new Promise(e=>requestAnimationFrame(()=>{requestAnimationFrame(e)}))}const I=[];let Q=null;const ft={};function mt(e){let t=ft[e];return t||(t=ft[e]=[]),t}let We=function(){};typeof window<"u"&&(We=window.Element);function b(e){return function(){const t=this.$props;return re(t.theme,e)}}const He="__floating-vue__popper";var Wt=()=>({name:"VPopper",props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,required:!0},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:b("disabled")},positioningDisabled:{type:Boolean,default:b("positioningDisabled")},placement:{type:String,default:b("placement"),validator:e=>jt.includes(e)},delay:{type:[String,Number,Object],default:b("delay")},distance:{type:[Number,String],default:b("distance")},skidding:{type:[Number,String],default:b("skidding")},triggers:{type:Array,default:b("triggers")},showTriggers:{type:[Array,Function],default:b("showTriggers")},hideTriggers:{type:[Array,Function],default:b("hideTriggers")},popperTriggers:{type:Array,default:b("popperTriggers")},popperShowTriggers:{type:[Array,Function],default:b("popperShowTriggers")},popperHideTriggers:{type:[Array,Function],default:b("popperHideTriggers")},container:{type:[String,Object,We,Boolean],default:b("container")},boundary:{type:[String,We],default:b("boundary")},strategy:{type:String,validator:e=>["absolute","fixed"].includes(e),default:b("strategy")},autoHide:{type:[Boolean,Function],default:b("autoHide")},handleResize:{type:Boolean,default:b("handleResize")},instantMove:{type:Boolean,default:b("instantMove")},eagerMount:{type:Boolean,default:b("eagerMount")},popperClass:{type:[String,Array,Object],default:b("popperClass")},computeTransformOrigin:{type:Boolean,default:b("computeTransformOrigin")},autoMinSize:{type:Boolean,default:b("autoMinSize")},autoSize:{type:[Boolean,String],default:b("autoSize")},autoMaxSize:{type:Boolean,default:b("autoMaxSize")},autoBoundaryMaxSize:{type:Boolean,default:b("autoBoundaryMaxSize")},preventOverflow:{type:Boolean,default:b("preventOverflow")},overflowPadding:{type:[Number,String],default:b("overflowPadding")},arrowPadding:{type:[Number,String],default:b("arrowPadding")},arrowOverflow:{type:Boolean,default:b("arrowOverflow")},flip:{type:Boolean,default:b("flip")},shift:{type:Boolean,default:b("shift")},shiftCrossAxis:{type:Boolean,default:b("shiftCrossAxis")},noAutoFocus:{type:Boolean,default:b("noAutoFocus")}},provide(){return{[He]:{parentPopper:this}}},inject:{[He]:{default:null}},data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:"",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null},shownChildren:new Set,lastAutoHide:!0}},computed:{popperId(){return this.ariaId!=null?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:typeof this.autoHide=="function"?this.lastAutoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:Le(Y({},this.classes),{popperClass:this.popperClass}),result:this.positioningDisabled?null:this.result}},parentPopper(){var e;return(e=this[He])==null?void 0:e.parentPopper},hasPopperShowTriggerHover(){var e,t;return((e=this.popperTriggers)==null?void 0:e.includes("hover"))||((t=this.popperShowTriggers)==null?void 0:t.includes("hover"))}},watch:Y(Y({shown:"$_autoShowHide",disabled(e){e?this.dispose():this.init()},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition())}},["triggers","positioningDisabled"].reduce((e,t)=>(e[t]="$_refreshListeners",e),{})),["placement","distance","skidding","boundary","strategy","overflowPadding","arrowPadding","preventOverflow","shift","shiftCrossAxis","flip"].reduce((e,t)=>(e[t]="$_computePosition",e),{})),created(){this.$_isDisposed=!0,this.randomId=`popper_${[Math.random(),Date.now()].map(e=>e.toString(36).substring(2,10)).join("_")}`,this.autoMinSize&&console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize="min"` instead.'),this.autoMaxSize&&console.warn("[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.")},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeDestroy(){this.dispose()},methods:{show({event:e=null,skipDelay:t=!1,force:n=!1}={}){var o,r;(o=this.parentPopper)!=null&&o.lockedChild&&this.parentPopper.lockedChild!==this||(this.$_pendingHide=!1,(n||!this.disabled)&&(((r=this.parentPopper)==null?void 0:r.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.$_scheduleShow(e,t),this.$emit("show"),this.$_showFrameLocked=!0,requestAnimationFrame(()=>{this.$_showFrameLocked=!1})),this.$emit("update:shown",!0))},hide({event:e=null,skipDelay:t=!1,skipAiming:n=!1}={}){var o;if(!this.$_hideInProgress){if(this.shownChildren.size>0){this.$_pendingHide=!0;return}if(!n&&this.hasPopperShowTriggerHover&&this.$_isAimingPopper()){this.parentPopper&&(this.parentPopper.lockedChild=this,clearTimeout(this.parentPopper.lockedChildTimer),this.parentPopper.lockedChildTimer=setTimeout(()=>{this.parentPopper.lockedChild===this&&(this.parentPopper.lockedChild.hide({skipDelay:t}),this.parentPopper.lockedChild=null)},1e3));return}((o=this.parentPopper)==null?void 0:o.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.$_pendingHide=!1,this.$_scheduleHide(e,t),this.$emit("hide"),this.$emit("update:shown",!1)}},init(){this.$_isDisposed&&(this.$_isDisposed=!1,this.isMounted=!1,this.$_events=[],this.$_preventShow=!1,this.$_referenceNode=this.referenceNode(),this.$_targetNodes=this.targetNodes().filter(e=>e.nodeType===e.ELEMENT_NODE),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(".v-popper__inner"),this.$_arrowNode=this.$_popperNode.querySelector(".v-popper__arrow-container"),this.$_swapTargetAttrs("title","data-original-title"),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show())},dispose(){this.$_isDisposed||(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted=!1,this.isShown=!1,this.$_updateParentShownChildren(!1),this.$_swapTargetAttrs("data-original-title","title"),this.$emit("dispose"))},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit("resize"))},async $_computePosition(){var e;if(this.$_isDisposed||this.positioningDisabled)return;const t={strategy:this.strategy,middleware:[]};(this.distance||this.skidding)&&t.middleware.push(Qn({mainAxis:this.distance,crossAxis:this.skidding}));const n=this.placement.startsWith("auto");if(n?t.middleware.push(Zn({alignment:(e=this.placement.split("-")[1])!=null?e:""})):t.placement=this.placement,this.preventOverflow&&(this.shift&&t.middleware.push(to({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!n&&this.flip&&t.middleware.push(Xn({padding:this.overflowPadding,boundary:this.boundary}))),t.middleware.push(jn({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&t.middleware.push({name:"arrowOverflow",fn:({placement:r,rects:i,middlewareData:a})=>{let s;const{centerOffset:u}=a.arrow;return r.startsWith("top")||r.startsWith("bottom")?s=Math.abs(u)>i.reference.width/2:s=Math.abs(u)>i.reference.height/2,{data:{overflow:s}}}}),this.autoMinSize||this.autoSize){const r=this.autoSize?this.autoSize:this.autoMinSize?"min":null;t.middleware.push({name:"autoSize",fn:({rects:i,placement:a,middlewareData:s})=>{var u;if((u=s.autoSize)!=null&&u.skip)return{};let p,h;return a.startsWith("top")||a.startsWith("bottom")?p=i.reference.width:h=i.reference.height,this.$_innerNode.style[r==="min"?"minWidth":r==="max"?"maxWidth":"width"]=p!=null?`${p}px`:null,this.$_innerNode.style[r==="min"?"minHeight":r==="max"?"maxHeight":"height"]=h!=null?`${h}px`:null,{data:{skip:!0},reset:{rects:!0}}}})}(this.autoMaxSize||this.autoBoundaryMaxSize)&&(this.$_innerNode.style.maxWidth=null,this.$_innerNode.style.maxHeight=null,t.middleware.push(no({boundary:this.boundary,padding:this.overflowPadding,apply:({width:r,height:i})=>{this.$_innerNode.style.maxWidth=r!=null?`${r}px`:null,this.$_innerNode.style.maxHeight=i!=null?`${i}px`:null}})));const o=await vo(this.$_referenceNode,this.$_popperNode,t);Object.assign(this.result,{x:o.x,y:o.y,placement:o.placement,strategy:o.strategy,arrow:Y(Y({},o.middlewareData.arrow),o.middlewareData.arrowOverflow)})},$_scheduleShow(e=null,t=!1){if(this.$_updateParentShownChildren(!0),this.$_hideInProgress=!1,clearTimeout(this.$_scheduleTimer),Q&&this.instantMove&&Q.instantMove&&Q!==this.parentPopper){Q.$_applyHide(!0),this.$_applyShow(!0);return}t?this.$_applyShow():this.$_scheduleTimer=setTimeout(this.$_applyShow.bind(this),this.$_computeDelay("show"))},$_scheduleHide(e=null,t=!1){if(this.shownChildren.size>0){this.$_pendingHide=!0;return}this.$_updateParentShownChildren(!1),this.$_hideInProgress=!0,clearTimeout(this.$_scheduleTimer),this.isShown&&(Q=this),t?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay("hide"))},$_computeDelay(e){const t=this.delay;return parseInt(t&&t[e]||t||0)},async $_applyShow(e=!1){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition=e,!this.isShown&&(this.$_ensureTeleport(),await Ie(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([...Te(this.$_referenceNode),...Te(this.$_popperNode)],"scroll",()=>{this.$_computePosition()}))},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const t=this.$_referenceNode.getBoundingClientRect(),n=this.$_popperNode.querySelector(".v-popper__wrapper"),o=n.parentNode.getBoundingClientRect(),r=t.x+t.width/2-(o.left+n.offsetLeft),i=t.y+t.height/2-(o.top+n.offsetTop);this.result.transformOrigin=`${r}px ${i}px`}this.isShown=!0,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":""});const e=this.showGroup;if(e){let t;for(let n=0;n0){this.$_pendingHide=!0,this.$_hideInProgress=!1;return}if(clearTimeout(this.$_scheduleTimer),!this.isShown)return;this.skipTransition=e,ht(I,this),I.length===0&&document.body.classList.remove("v-popper--some-open");for(const n of ut(this.theme)){const o=mt(n);ht(o,this),o.length===0&&document.body.classList.remove(`v-popper--some-open--${n}`)}Q===this&&(Q=null),this.isShown=!1,this.$_applyAttrsToTarget({"aria-describedby":void 0,"data-popper-shown":void 0}),clearTimeout(this.$_disposeTimer);const t=re(this.theme,"disposeTimeout");t!==null&&(this.$_disposeTimer=setTimeout(()=>{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=!1)},t)),this.$_removeEventListeners("scroll"),this.$emit("apply-hide"),this.classes.showFrom=!1,this.classes.showTo=!1,this.classes.hideFrom=!0,this.classes.hideTo=!1,await Ie(),this.classes.hideFrom=!1,this.classes.hideTo=!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.$_isDisposed)return;let e=this.container;if(typeof e=="string"?e=window.document.querySelector(e):e===!1&&(e=this.$_targetNodes[0].parentNode),!e)throw new Error("No container for popover: "+this.container);e.appendChild(this.$_popperNode),this.isMounted=!0},$_addEventListeners(){const e=n=>{this.isShown&&!this.$_hideInProgress||(n.usedByTooltip=!0,!this.$_preventShow&&this.show({event:n}))};this.$_registerTriggerListeners(this.$_targetNodes,pt,this.triggers,this.showTriggers,e),this.$_registerTriggerListeners([this.$_popperNode],pt,this.popperTriggers,this.popperShowTriggers,e);const t=n=>o=>{o.usedByTooltip||this.hide({event:o,skipAiming:n})};this.$_registerTriggerListeners(this.$_targetNodes,dt,this.triggers,this.hideTriggers,t(!1)),this.$_registerTriggerListeners([this.$_popperNode],dt,this.popperTriggers,this.popperHideTriggers,t(!0))},$_registerEventListeners(e,t,n){this.$_events.push({targetNodes:e,eventType:t,handler:n}),e.forEach(o=>o.addEventListener(t,n,te?{passive:!0}:void 0))},$_registerTriggerListeners(e,t,n,o,r){let i=n;o!=null&&(i=typeof o=="function"?o(i):o),i.forEach(a=>{const s=t[a];s&&this.$_registerEventListeners(e,s,r)})},$_removeEventListeners(e){const t=[];this.$_events.forEach(n=>{const{targetNodes:o,eventType:r,handler:i}=n;!e||e===r?o.forEach(a=>a.removeEventListener(r,i)):t.push(n)}),this.$_events=t},$_refreshListeners(){this.$_isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())},$_handleGlobalClose(e,t=!1){this.$_showFrameLocked||(this.hide({event:e}),e.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),t&&(this.$_preventShow=!0,setTimeout(()=>{this.$_preventShow=!1},300)))},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(e,t){for(const n of this.$_targetNodes){const o=n.getAttribute(e);o&&(n.removeAttribute(e),n.setAttribute(t,o))}},$_applyAttrsToTarget(e){for(const t of this.$_targetNodes)for(const n in e){const o=e[n];o==null?t.removeAttribute(n):t.setAttribute(n,o)}},$_updateParentShownChildren(e){let t=this.parentPopper;for(;t;)e?t.shownChildren.add(this.randomId):(t.shownChildren.delete(this.randomId),t.$_pendingHide&&t.hide()),t=t.parentPopper},$_isAimingPopper(){const e=this.$el.getBoundingClientRect();if(pe>=e.left&&pe<=e.right&&de>=e.top&&de<=e.bottom){const t=this.$_popperNode.getBoundingClientRect(),n=pe-K,o=de-Z,r=t.left+t.width/2-K+(t.top+t.height/2)-Z+t.width+t.height,i=K+n*r,a=Z+o*r;return ge(K,Z,i,a,t.left,t.top,t.left,t.bottom)||ge(K,Z,i,a,t.left,t.top,t.right,t.top)||ge(K,Z,i,a,t.right,t.top,t.right,t.bottom)||ge(K,Z,i,a,t.left,t.bottom,t.right,t.bottom)}return!1}},render(){return this.$scopedSlots.default(this.slotData)[0]}});typeof document<"u"&&typeof window<"u"&&(Vt?(document.addEventListener("touchstart",gt,te?{passive:!0,capture:!0}:!0),document.addEventListener("touchend",To,te?{passive:!0,capture:!0}:!0)):(window.addEventListener("mousedown",gt,!0),window.addEventListener("click",Ao,!0)),window.addEventListener("resize",Po));function gt(e){for(let t=0;t=0;o--){const r=I[o];try{const i=r.$_containsGlobalTarget=xo(r,e);r.$_pendingHide=!1,requestAnimationFrame(()=>{if(r.$_pendingHide=!1,!n[r.randomId]&&vt(r,i,e)){if(r.$_handleGlobalClose(e,t),!e.closeAllPopover&&e.closePopover&&i){let s=r.parentPopper;for(;s;)n[s.randomId]=!0,s=s.parentPopper;return}let a=r.parentPopper;for(;a&&vt(a,a.$_containsGlobalTarget,e);)a.$_handleGlobalClose(e,t),a=a.parentPopper}})}catch{}}}function xo(e,t){const n=e.popperNode();return e.$_mouseDownContains||n.contains(t.target)}function vt(e,t,n){return n.closeAllPopover||n.closePopover&&t||So(e,n)&&!t}function So(e,t){if(typeof e.autoHide=="function"){const n=e.autoHide(t);return e.lastAutoHide=n,n}return e.autoHide}function Po(e){for(let t=0;t{K=pe,Z=de,pe=e.clientX,de=e.clientY},te?{passive:!0}:void 0);function ge(e,t,n,o,r,i,a,s){const u=((a-r)*(t-i)-(s-i)*(e-r))/((s-i)*(n-e)-(a-r)*(o-t)),p=((n-e)*(t-i)-(o-t)*(e-r))/((s-i)*(n-e)-(a-r)*(o-t));return u>=0&&u<=1&&p>=0&&p<=1}function Co(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);var n=e.indexOf("Trident/");if(n>0){var o=e.indexOf("rv:");return parseInt(e.substring(o+3,e.indexOf(".",o)),10)}var r=e.indexOf("Edge/");return r>0?parseInt(e.substring(r+5,e.indexOf(".",r)),10):-1}var be;function Ge(){Ge.init||(Ge.init=!0,be=Co()!==-1)}var ko={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var e=this;Ge(),this.$nextTick(function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight,e.emitOnMount&&e.emitSize()});var t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",be&&this.$el.appendChild(t),t.data="about:blank",be||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!be&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};function No(e,t,n,o,r,i,a,s,u,p){var h=typeof n=="function"?n.options:n;return e&&e.render&&(h.render=e.render,h.staticRenderFns=e.staticRenderFns,h._compiled=!0),h._scopeId=o,n}var Lo=ko,qt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},Eo=[];qt._withStripped=!0;var Mo=void 0,Oo="data-v-8859cc6c",qe=No({render:qt,staticRenderFns:Eo},Mo,Lo,Oo);function Fo(e){e.component("resize-observer",qe),e.component("ResizeObserver",qe)}var Io={version:"1.0.1",install:Fo},ve=null;typeof window<"u"?ve=window.Vue:typeof we<"u"&&(ve=we.Vue),ve&&ve.use(Io);var Ut={computed:{themeClass(){return $o(this.theme)}}},Ho={name:"VPopperContent",components:{ResizeObserver:qe},mixins:[Ut],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},methods:{toPx(e){return e!=null&&!isNaN(e)?`${e}px`:null}}},Ro=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"popover",staticClass:"v-popper__popper",class:[e.themeClass,e.classes.popperClass,{"v-popper__popper--shown":e.shown,"v-popper__popper--hidden":!e.shown,"v-popper__popper--show-from":e.classes.showFrom,"v-popper__popper--show-to":e.classes.showTo,"v-popper__popper--hide-from":e.classes.hideFrom,"v-popper__popper--hide-to":e.classes.hideTo,"v-popper__popper--skip-transition":e.skipTransition,"v-popper__popper--arrow-overflow":e.result&&e.result.arrow.overflow,"v-popper__popper--no-positioning":!e.result}],style:e.result?{position:e.result.strategy,transform:"translate3d("+Math.round(e.result.x)+"px,"+Math.round(e.result.y)+"px,0)"}:void 0,attrs:{id:e.popperId,"aria-hidden":e.shown?"false":"true",tabindex:e.autoHide?0:void 0,"data-popper-placement":e.result?e.result.placement:void 0},on:{keyup:function(o){if(!o.type.indexOf("key")&&e._k(o.keyCode,"esc",27,o.key,["Esc","Escape"]))return null;e.autoHide&&e.$emit("hide")}}},[n("div",{staticClass:"v-popper__backdrop",on:{click:function(o){e.autoHide&&e.$emit("hide")}}}),n("div",{staticClass:"v-popper__wrapper",style:e.result?{transformOrigin:e.result.transformOrigin}:void 0},[n("div",{ref:"inner",staticClass:"v-popper__inner"},[e.mounted?[n("div",[e._t("default")],2),e.handleResize?n("ResizeObserver",{on:{notify:function(o){return e.$emit("resize",o)}}}):e._e()]:e._e()],2),n("div",{ref:"arrow",staticClass:"v-popper__arrow-container",style:e.result?{left:e.toPx(e.result.arrow.x),top:e.toPx(e.result.arrow.y)}:void 0},[n("div",{staticClass:"v-popper__arrow-outer"}),n("div",{staticClass:"v-popper__arrow-inner"})])])])},Bo=[];function se(e,t,n,o,r,i,a,s){var u=typeof e=="function"?e.options:e;t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0);var p;if(r&&(p=r),p)if(u.functional){u._injectStyles=p;var h=u.render;u.render=function(m,f){return p.call(f),h(m,f)}}else{var g=u.beforeCreate;u.beforeCreate=g?[].concat(g,p):[p]}return{exports:e,options:u}}const yt={};var Do=se(Ho,Ro,Bo,!1,zo);function zo(e){for(let t in yt)this[t]=yt[t]}var Kt=(function(){return Do.exports})(),Xe={methods:{show(...e){return this.$refs.popper.show(...e)},hide(...e){return this.$refs.popper.hide(...e)},dispose(...e){return this.$refs.popper.dispose(...e)},onResize(...e){return this.$refs.popper.onResize(...e)}}},Vo={name:"VPopperWrapper",components:{Popper:Wt(),PopperContent:Kt},mixins:[Xe,Ut],inheritAttrs:!1,props:{theme:{type:String,default(){return this.$options.vPopperTheme}}},methods:{getTargetNodes(){return Array.from(this.$refs.reference.children).filter(e=>e!==this.$refs.popperContent.$el)}}},jo=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Popper",e._g(e._b({ref:"popper",attrs:{theme:e.theme,"target-nodes":e.getTargetNodes,"reference-node":function(){return e.$refs.reference},"popper-node":function(){return e.$refs.popperContent.$el}},scopedSlots:e._u([{key:"default",fn:function(o){var r=o.popperId,i=o.isShown,a=o.shouldMountContent,s=o.skipTransition,u=o.autoHide,p=o.show,h=o.hide,g=o.handleResize,m=o.onResize,f=o.classes,$=o.result;return[n("div",{ref:"reference",staticClass:"v-popper",class:[e.themeClass,{"v-popper--shown":i}]},[e._t("default",null,{shown:i,show:p,hide:h}),n("PopperContent",{ref:"popperContent",attrs:{"popper-id":r,theme:e.theme,shown:i,mounted:a,"skip-transition":s,"auto-hide":u,"handle-resize":g,classes:f,result:$},on:{hide:h,resize:m}},[e._t("popper",null,{shown:i,hide:h})],2)],2)]}}],null,!0)},"Popper",e.$attrs,!1),e.$listeners))},Wo=[];const bt={};var Go=se(Vo,jo,Wo,!1,qo);function qo(e){for(let t in bt)this[t]=bt[t]}var Je=(function(){return Go.exports})(),Uo=Le(Y({},Je),{name:"VDropdown",vPopperTheme:"dropdown"});let Ko,Zo;const wt={};var Yo=se(Uo,Ko,Zo,!1,Xo);function Xo(e){for(let t in wt)this[t]=wt[t]}var Ue=(function(){return Yo.exports})(),Jo=Le(Y({},Je),{name:"VMenu",vPopperTheme:"menu"});let Qo,ei;const _t={};var ti=se(Jo,Qo,ei,!1,ni);function ni(e){for(let t in _t)this[t]=_t[t]}var $t=(function(){return ti.exports})(),oi=Le(Y({},Je),{name:"VTooltip",vPopperTheme:"tooltip"});let ii,ri;const At={};var si=se(oi,ii,ri,!1,ai);function ai(e){for(let t in At)this[t]=At[t]}var Tt=(function(){return si.exports})(),li={name:"VTooltipDirective",components:{Popper:Wt(),PopperContent:Kt},mixins:[Xe],inheritAttrs:!1,props:{theme:{type:String,default:"tooltip"},html:{type:Boolean,default(){return re(this.theme,"html")}},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default(){return re(this.theme,"loadingContent")}}},data(){return{asyncContent:null}},computed:{isContentAsync(){return typeof this.content=="function"},loading(){return this.isContentAsync&&this.asyncContent==null},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(e){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId=0},methods:{fetchContent(e){if(typeof this.content=="function"&&this.$_isShown&&(e||!this.$_loading&&this.asyncContent==null)){this.asyncContent=null,this.$_loading=!0;const t=++this.$_fetchId,n=this.content(this);n.then?n.then(o=>this.onResult(t,o)):this.onResult(t,n)}},onResult(e,t){e===this.$_fetchId&&(this.$_loading=!1,this.asyncContent=t)},onShow(){this.$_isShown=!0,this.fetchContent()},onHide(){this.$_isShown=!1}}},ci=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Popper",e._g(e._b({ref:"popper",attrs:{theme:e.theme,"popper-node":function(){return e.$refs.popperContent.$el}},on:{"apply-show":e.onShow,"apply-hide":e.onHide},scopedSlots:e._u([{key:"default",fn:function(o){var r=o.popperId,i=o.isShown,a=o.shouldMountContent,s=o.skipTransition,u=o.autoHide,p=o.hide,h=o.handleResize,g=o.onResize,m=o.classes,f=o.result;return[n("PopperContent",{ref:"popperContent",class:{"v-popper--tooltip-loading":e.loading},attrs:{"popper-id":r,theme:e.theme,shown:i,mounted:a,"skip-transition":s,"auto-hide":u,"handle-resize":h,classes:m,result:f},on:{hide:p,resize:g}},[e.html?n("div",{domProps:{innerHTML:e._s(e.finalContent)}}):n("div",{domProps:{textContent:e._s(e.finalContent)}})])]}}])},"Popper",e.$attrs,!1),e.$listeners))},ui=[];const xt={};var pi=se(li,ci,ui,!1,di);function di(e){for(let t in xt)this[t]=xt[t]}var hi=(function(){return pi.exports})();const Zt="v-popper--has-tooltip";function fi(e,t){let n=e.placement;if(!n&&t)for(const o of jt)t[o]&&(n=o);return n||(n=re(e.theme||"tooltip","placement")),n}function Yt(e,t,n){let o;const r=typeof t;return r==="string"?o={content:t}:t&&r==="object"?o=t:o={content:!1},o.placement=fi(o,n),o.targetNodes=()=>[e],o.referenceNode=()=>e,o}function mi(e,t,n){const o=Yt(e,t,n),r=e.$_popper=new Ke({mixins:[Xe],data(){return{options:o}},render(a){const s=this.options,{theme:u,html:p,content:h,loadingContent:g}=s,m=_o(s,["theme","html","content","loadingContent"]);return a(hi,{props:{theme:u,html:p,content:h,loadingContent:g},attrs:m,ref:"popper"})},devtools:{hide:!0}}),i=document.createElement("div");return document.body.appendChild(i),r.$mount(i),e.classList&&e.classList.add(Zt),r}function Xt(e){e.$_popper&&(e.$_popper.$destroy(),delete e.$_popper,delete e.$_popperOldShown),e.classList&&e.classList.remove(Zt)}function St(e,{value:t,oldValue:n,modifiers:o}){const r=Yt(e,t,o);if(!r.content||re(r.theme||"tooltip","disabled"))Xt(e);else{let i;e.$_popper?(i=e.$_popper,i.options=r):i=mi(e,t,o),typeof t.shown<"u"&&t.shown!==e.$_popperOldShown&&(e.$_popperOldShown=t.shown,t.shown?i.show():i.hide())}}var gi={bind:St,update:St,unbind(e){Xt(e)}};function Pt(e){e.addEventListener("click",Jt),e.addEventListener("touchstart",Qt,te?{passive:!0}:!1)}function Ct(e){e.removeEventListener("click",Jt),e.removeEventListener("touchstart",Qt),e.removeEventListener("touchend",en),e.removeEventListener("touchcancel",tn)}function Jt(e){const t=e.currentTarget;e.closePopover=!t.$_vclosepopover_touch,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}function Qt(e){if(e.changedTouches.length===1){const t=e.currentTarget;t.$_vclosepopover_touch=!0;const n=e.changedTouches[0];t.$_vclosepopover_touchPoint=n,t.addEventListener("touchend",en),t.addEventListener("touchcancel",tn)}}function en(e){const t=e.currentTarget;if(t.$_vclosepopover_touch=!1,e.changedTouches.length===1){const n=e.changedTouches[0],o=t.$_vclosepopover_touchPoint;e.closePopover=Math.abs(n.screenY-o.screenY)<20&&Math.abs(n.screenX-o.screenX)<20,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}}function tn(e){const t=e.currentTarget;t.$_vclosepopover_touch=!1}var vi={bind(e,{value:t,modifiers:n}){e.$_closePopoverModifiers=n,(typeof t>"u"||t)&&Pt(e)},update(e,{value:t,oldValue:n,modifiers:o}){e.$_closePopoverModifiers=o,t!==n&&(typeof t>"u"||t?Pt(e):Ct(e))},unbind(e){Ct(e)}};const kt=R,yi=Ue;function bi(e,t={}){e.$_vTooltipInstalled||(e.$_vTooltipInstalled=!0,zt(R,t),e.directive("tooltip",gi),e.directive("close-popper",vi),e.component("v-tooltip",Tt),e.component("VTooltip",Tt),e.component("v-dropdown",Ue),e.component("VDropdown",Ue),e.component("v-menu",$t),e.component("VMenu",$t))}const wi={version:"1.0.0-beta.19",install:bi,options:R};let ye=null;typeof window<"u"?ye=window.Vue:typeof we<"u"&&(ye=we.Vue),ye&&ye.use(wi);const _i=hn({name:"NcPopoverTriggerProvider",provide(){return{"NcPopover:trigger:shown":()=>this.shown,"NcPopover:trigger:attrs":()=>this.triggerAttrs}},props:{shown:{type:Boolean,required:!0},popupRole:{type:String,default:void 0}},computed:{triggerAttrs(){return{"aria-haspopup":this.popupRole,"aria-expanded":this.shown.toString()}}},render(){return this.$scopedSlots.default?.({attrs:this.triggerAttrs})}}),$i=null,Ai=null;var Ti=he(_i,$i,Ai,!1,null,null);const xi=Ti.exports,Si="_ncPopover_6PjkA",Pi={"material-design-icon":"_material-design-icon_AAwhR",ncPopover:Si},nn="nc-popover-8";kt.themes[nn]=structuredClone(kt.themes.dropdown);const Ci={name:"NcPopover",components:{Dropdown:yi,NcPopoverTriggerProvider:xi},inheritAttrs:!1,props:{shown:{type:Boolean,default:!1},popupRole:{type:String,default:void 0,validator:e=>["menu","listbox","tree","grid","dialog","true"].includes(e)},popoverBaseClass:{type:String,default:""},focusTrap:{type:Boolean,default:!0},noFocusTrap:{type:Boolean,default:!1},setReturnFocus:{default:void 0,type:[Boolean,HTMLElement,SVGElement,String,Function]},noAutoReturnFocus:{type:Boolean,default:!1}},emits:["after-show","after-hide","update:shown"],setup(){return{THEME:nn}},data(){return{internalShown:this.shown}},watch:{shown(e){this.internalShown=e,this.internalShown&&this.checkTriggerA11y()},internalShown(e){this.$emit("update:shown",e)}},beforeDestroy(){this.clearFocusTrap(),this.clearEscapeStopPropagation()},methods:{checkTriggerA11y(){if(window.OC?.debug){const e=this.getPopoverTriggerButtonElement();(!e||!e.hasAttributes("aria-expanded","aria-haspopup"))&&Ke.util.warn("It looks like you are using a custom button as a or other popover #trigger. If you are not using as a trigger, you need to bind attrs from the #trigger slot props to your custom button. See docs for an example.")}},removeFloatingVueAriaDescribedBy(){const e=this.getPopoverTriggerElement().querySelectorAll("[data-popper-shown]");for(const t of e)t.removeAttribute("aria-describedby")},getPopoverContentElement(){return this.$refs.popover?.$refs.popperContent?.$el},getPopoverTriggerElement(){return this.$refs.popover.$refs.reference},getPopoverTriggerButtonElement(){const e=this.getPopoverTriggerElement();return e&&Lt(e)[0]},async useFocusTrap(){if(await this.$nextTick(),this.noFocusTrap||!this.focusTrap)return;const e=this.getPopoverContentElement();e.tabIndex=-1,e&&(this.$focusTrap=Cn(e,{escapeDeactivates:!1,allowOutsideClick:!0,setReturnFocus:this.setReturnFocus||!this.noAutoReturnFocus&&this.getPopoverTriggerButtonElement(),trapStack:Be(),fallbackFocus:e}),this.$focusTrap.activate())},clearFocusTrap(e={}){try{this.$focusTrap?.deactivate(e),this.$focusTrap=null}catch(t){sn.warn("Could not clear focus trap",{error:t})}},addEscapeStopPropagation(){this.getPopoverContentElement()?.addEventListener("keydown",this.stopKeydownEscapeHandler)},clearEscapeStopPropagation(){this.getPopoverContentElement()?.removeEventListener("keydown",this.stopKeydownEscapeHandler)},stopKeydownEscapeHandler(e){e.type==="keydown"&&e.key==="Escape"&&e.stopPropagation()},async afterShow(){this.getPopoverContentElement().addEventListener("transitionend",()=>{this.$emit("after-show")},{once:!0,passive:!0}),this.removeFloatingVueAriaDescribedBy(),await this.$nextTick(),await this.useFocusTrap(),this.addEscapeStopPropagation()},afterHide(){this.getPopoverContentElement().addEventListener("transitionend",()=>{this.$emit("after-hide")},{once:!0,passive:!0}),this.clearFocusTrap(),this.clearEscapeStopPropagation()}}};var ki=function(){var e=this,t=e._self._c;return t("Dropdown",e._g(e._b({ref:"popover",attrs:{distance:10,"arrow-padding":10,"no-auto-focus":!0,"popper-class":[e.$style.ncPopover,e.popoverBaseClass],theme:e.THEME,shown:e.internalShown},on:{"update:shown":function(n){e.internalShown=n},"apply-show":e.afterShow,"apply-hide":e.afterHide},scopedSlots:e._u([{key:"popper",fn:function(n){return[e._t("default",null,null,n)]}}],null,!0)},"Dropdown",e.$attrs,!1),e.$listeners),[t("NcPopoverTriggerProvider",{attrs:{shown:e.internalShown,"popup-role":e.popupRole},scopedSlots:e._u([{key:"default",fn:function(n){return[e._t("trigger",null,null,n)]}}],null,!0)})],1)},Ni=[];const Nt={$style:Pi};function Li(e){for(var t in Nt)this[t]=Nt[t]}var Ei=he(Ci,ki,Ni,!1,Li,null);const Mi=Ei.exports,Oi={name:"DotsHorizontalIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Fi=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon dots-horizontal-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(n){return e.$emit("click",n)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e(),t("path",{attrs:{d:"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z"}})])])},Ii=[],Hi=he(Oi,Fi,Ii,!1,null,null);const Ri=Hi.exports;an(ln);const Bi=".focusable",Di={name:"NcActions",components:{NcButton:un,NcPopover:Mi},provide(){return{"NcActions:isSemanticMenu":fn(()=>this.actionsMenuSemanticType==="menu")}},props:{open:{type:Boolean,default:!1},manualOpen:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},forceName:{type:Boolean,default:!1},menuName:{type:String,default:null},forceSemanticType:{type:String,default:null,validator(e){return["dialog","menu","expanded","tooltip"].includes(e)}},primary:{type:Boolean,default:!1},type:{type:String,validator(e){return["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].includes(e)},default:null},defaultIcon:{type:String,default:""},ariaLabel:{type:String,default:cn("Actions")},ariaHidden:{type:Boolean,default:null},placement:{type:String,default:"bottom"},boundariesElement:{type:Element,default:()=>document.querySelector("#content-vue")??document.querySelector("body")},container:{type:[Boolean,String,Object,Element],default:"body"},disabled:{type:Boolean,default:!1},inline:{type:Number,default:0},variant:{type:String,validator(e){return["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].includes(e)},default:null},size:{type:String,default:"normal",validator(e){return["small","normal","large"].includes(e)}}},emits:["click","blur","focus","close","closed","open","opened","update:open"],setup(){const e=`menu-${mn()}`,t=`trigger-${e}`;return{randomId:e,triggerRandomId:t}},data(){return{opened:this.open,focusIndex:0,actionsMenuSemanticType:"unknown"}},computed:{triggerButtonVariant(){return(this.type??this.variant)||(this.primary?"primary":this.menuName?"secondary":"tertiary")},config(){return{menu:{popupRole:"menu",withArrowNavigation:!0,withTabNavigation:!1,withFocusTrap:!1,triggerA11yAttr:{"aria-controls":this.opened?this.randomId:null},popoverContainerA11yAttrs:{},popoverUlA11yAttrs:{"aria-labelledby":this.triggerRandomId,id:this.randomId,role:"menu"}},expanded:{popupRole:void 0,withArrowNavigation:!1,withTabNavigation:!0,withFocusTrap:!1,triggerA11yAttr:{},popoverContainerA11yAttrs:{},popoverUlA11yAttrs:{}},dialog:{popupRole:"dialog",withArrowNavigation:!1,withTabNavigation:!0,withFocusTrap:!0,triggerA11yAttr:{"aria-controls":this.opened?this.randomId:null},popoverContainerA11yAttrs:{id:this.randomId,role:"dialog","aria-labelledby":this.triggerRandomId,"aria-modal":"true"},popoverUlA11yAttrs:{}},tooltip:{popupRole:void 0,withArrowNavigation:!1,withTabNavigation:!1,withFocusTrap:!1,triggerA11yAttr:{},popoverContainerA11yAttrs:{},popoverUlA11yAttrs:{}},unknown:{popupRole:void 0,role:void 0,withArrowNavigation:!0,withTabNavigation:!1,withFocusTrap:!0,triggerA11yAttr:{},popoverContainerA11yAttrs:{},popoverUlA11yAttrs:{"aria-labelledby":this.triggerRandomId}}}[this.actionsMenuSemanticType]}},watch:{open(e){e!==this.opened&&(this.opened=e)},opened(){this.opened?document.body.addEventListener("keydown",this.handleEscapePressed):document.body.removeEventListener("keydown",this.handleEscapePressed)}},created(){Bn(()=>this.opened,{disabled:()=>this.config.withFocusTrap})},methods:{getActionName(e){return e?.componentOptions?.Ctor?.extendOptions?.name??e?.componentOptions?.tag},isValidSingleAction(e){return["NcActionButton","NcActionLink","NcActionRouter"].includes(this.getActionName(e))},isIconUrl(e){try{return!!new URL(e,e.startsWith("/")?window.location.origin:void 0)}catch{return!1}},openMenu(){this.opened||(this.opened=!0,this.$emit("update:open",!0),this.$emit("open"))},async closeMenu(e=!0){this.opened&&(await this.$nextTick(),this.opened=!1,this.$refs.popover?.clearFocusTrap({returnFocus:e}),this.$emit("update:open",!1),this.$emit("close"),this.focusIndex=0,e&&this.$refs.triggerButton?.$el.focus())},onClosed(){this.$emit("closed")},onOpened(){this.$nextTick(()=>{this.focusFirstAction(null),this.resizePopover(),this.$emit("opened")})},resizePopover(){const e=this.$refs.menu.closest(".v-popper__inner"),t=this.$refs.menu.clientHeight,n=this.getMaxMenuHeight();if(t>n){let o=0,r=0;for(const i of this.$refs.menuList.children){if(o+i.clientHeight/2>n){e.style.height=`${o-r/2}px`;break}r=i.clientHeight,o+=r}}else e.style.height="fit-content"},getMaxMenuHeight(){const{top:e,bottom:t}=this.$refs.triggerButton?.$el.getBoundingClientRect()??{top:0,bottom:0},{top:n,bottom:o}=this.boundariesElement?.getBoundingClientRect()??{top:0,bottom:window.innerHeight};return Math.max(Math.min(e-84,e-n),Math.min(window.innerHeight-t-34,o-t))},getCurrentActiveMenuItemElement(){return this.$refs.menu.querySelector("li.active")},getFocusableMenuItemElements(){return this.$refs.menu.querySelectorAll(Bi)},onKeydown(e){if(e.key==="Tab"){if(this.config.withFocusTrap)return;if(!this.config.withTabNavigation){this.closeMenu(!0);return}e.preventDefault();const t=this.getFocusableMenuItemElements(),n=[...t].indexOf(document.activeElement);if(n===-1)return;const o=e.shiftKey?n-1:n+1;(o<0||o===t.length)&&this.closeMenu(!0),this.focusIndex=o,this.focusAction();return}this.config.withArrowNavigation&&(e.key==="ArrowUp"&&this.focusPreviousAction(e),e.key==="ArrowDown"&&this.focusNextAction(e),e.key==="PageUp"&&this.focusFirstAction(e),e.key==="PageDown"&&this.focusLastAction(e)),this.handleEscapePressed(e)},onTriggerKeydown(e){e.key==="Escape"&&this.actionsMenuSemanticType==="tooltip"&&this.closeMenu()},handleEscapePressed(e){e.key==="Escape"&&(this.closeMenu(),e.preventDefault())},removeCurrentActive(){const e=this.$refs.menu.querySelector("li.active");e&&e.classList.remove("active")},focusAction(){const e=this.getFocusableMenuItemElements()[this.focusIndex];if(e){this.removeCurrentActive();const t=e.closest("li.action");e.focus(),t&&t.classList.add("active")}},focusPreviousAction(e){this.opened&&(this.focusIndex===0?this.focusLastAction(e):(this.preventIfEvent(e),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction(e){if(this.opened){const t=this.getFocusableMenuItemElements().length-1;this.focusIndex===t?this.focusFirstAction(e):(this.preventIfEvent(e),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction(e){if(this.opened){this.preventIfEvent(e);const t=[...this.getFocusableMenuItemElements()].findIndex(n=>n.getAttribute("aria-checked")==="true"&&n.getAttribute("role")==="menuitemradio");this.focusIndex=t>-1?t:0,this.focusAction()}},focusLastAction(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=this.getFocusableMenuItemElements().length-1,this.focusAction())},preventIfEvent(e){e&&(e.preventDefault(),e.stopPropagation())},onFocus(e){this.$emit("focus",e)},onBlur(e){this.$emit("blur",e),this.actionsMenuSemanticType==="tooltip"&&this.$refs.menu&&this.getFocusableMenuItemElements().length===0&&this.closeMenu(!1)},onClick(e){this.$emit("click",e)}},render(e){const t=(this.$slots.default||[]).filter(s=>this.getActionName(s));if(t.length===0)return;let n=t.filter(this.isValidSingleAction);this.forceMenu&&n.length>0&&this.inline>0&&(Ke.util.warn("Specifying forceMenu will ignore any inline actions rendering."),n=[]);const o=n.slice(0,this.inline),r=t.filter(s=>!o.includes(s));if(this.forceSemanticType)this.actionsMenuSemanticType=this.forceSemanticType;else{const s=["NcActionInput","NcActionTextEditable"],u=["NcActionButton","NcActionButtonGroup","NcActionCheckbox","NcActionRadio"],p=["NcActionLink","NcActionRouter"],h=r.some(f=>s.includes(this.getActionName(f))),g=r.some(f=>u.includes(this.getActionName(f))),m=r.some(f=>p.includes(this.getActionName(f)));h?this.actionsMenuSemanticType="dialog":g?this.actionsMenuSemanticType="menu":m?this.actionsMenuSemanticType="expanded":t.filter(f=>this.getActionName(f).startsWith("NcAction")).length===t.length?this.actionsMenuSemanticType="tooltip":this.actionsMenuSemanticType="unknown"}const i=s=>{const u=s?.componentOptions?.propsData?.icon,p=s?.data?.scopedSlots?.icon()?.[0]??(this.isIconUrl(u)?e("img",{class:"action-item__menutoggle__icon",attrs:{src:u,alt:""}}):e("span",{class:["icon",u]})),h=s?.data?.attrs||{},g=s?.componentOptions?.listeners?.click,m=s?.componentOptions?.children?.[0]?.text?.trim?.(),f=s?.componentOptions?.propsData?.ariaLabel||m,$=this.forceName?m:"";let P=s?.componentOptions?.propsData?.title;this.forceName||P||(P=m);const w={...s?.componentOptions?.propsData??{}},C=["submit","reset"].includes(w.type)?w.modelValue:"button";return delete w.modelValue,delete w.type,e("NcButton",{class:["action-item action-item--single",s?.data?.staticClass,s?.data?.class],attrs:{...h,"aria-label":f,title:P},ref:s?.data?.ref,props:{...w,disabled:this.disabled||s?.componentOptions?.propsData?.disabled,pressed:s?.componentOptions?.propsData?.modelValue,size:this.size,type:C,variant:(this.type??this.variant)||($?"secondary":"tertiary")},on:{focus:this.onFocus,blur:this.onBlur,"update:pressed":s?.componentOptions?.listeners?.["update:modelValue"]??(()=>{}),...!!g&&{click:x=>{g&&g(x)}}}},[e("template",{slot:"icon"},[p]),$])},a=s=>{const u=this.$slots.icon?.[0]||(this.defaultIcon?e("span",{class:["icon",this.defaultIcon]}):e(Ri,{props:{size:20}}));return e("NcPopover",{ref:"popover",props:{delay:0,handleResize:!0,shown:this.opened,placement:this.placement,boundary:this.boundariesElement,container:this.container,popoverBaseClass:"action-item__popper",popupRole:this.config.popupRole,noAutoReturnFocus:!this.withFocusTrap,focusTrap:this.config.withFocusTrap},attrs:{delay:0,handleResize:!0,shown:this.opened,placement:this.placement,boundary:this.boundariesElement,container:this.container,...this.manualOpen&&{triggers:[]}},on:{show:this.openMenu,"after-show":this.onOpened,hide:this.closeMenu,"after-hide":this.onClosed}},[e("NcButton",{class:"action-item__menutoggle",props:{size:this.size,variant:this.triggerButtonVariant,disabled:this.disabled},slot:"trigger",ref:"triggerButton",attrs:{id:this.triggerRandomId,"aria-label":this.menuName?null:this.ariaLabel,...this.config.triggerA11yAttr},on:{focus:this.onFocus,blur:this.onBlur,click:this.onClick,keydown:this.onTriggerKeydown}},[e("template",{slot:"icon"},[u]),this.menuName]),e("div",{class:{open:this.opened},attrs:{tabindex:"-1",...this.config.popoverContainerA11yAttrs},on:{keydown:this.onKeydown},ref:"menu"},[e("ul",{attrs:{tabindex:"-1",...this.config.popoverUlA11yAttrs},ref:"menuList"},[s])])])};return t.length===1&&n.length===1&&!this.forceMenu?i(t[0]):(this.$nextTick(()=>{this.opened&&this.$refs.menu&&(this.resizePopover(),(this.$refs.menu.querySelector("li.active")||[]).length===0&&this.focusFirstAction())}),o.length>0&&this.inline>0?e("div",{class:["action-items",`action-item--${this.triggerButtonVariant}`]},[...o.map(i),r.length>0?e("div",{class:["action-item",{"action-item--open":this.opened}]},[a(r)]):null]):e("div",{class:["action-item action-item--default-popover",`action-item--${this.triggerButtonVariant}`,{"action-item--open":this.opened}]},[a(t)]))}},zi=null,Vi=null;var ji=he(Di,zi,Vi,!1,null,"38a26e61");const sr=ji.exports;export{On as A,Ri as D,rr as N,Mi as a,sr as b,Qi as c,Yi as d,Cn as e,Ln as f,Be as g,Ji as h,Nn as i,Ki as j,or as k,Xi as l,ir as m,tr as n,nr as o,er as p,Zi as q,kt as r};
-//# sourceMappingURL=NcActions-C4f9MXug-FA3YIyzG.chunk.mjs.map
+//# sourceMappingURL=NcActions-C4f9MXug-BC_2VOkH.chunk.mjs.map
diff --git a/js/NcActions-C4f9MXug-FA3YIyzG.chunk.mjs.license b/js/NcActions-C4f9MXug-BC_2VOkH.chunk.mjs.license
similarity index 100%
rename from js/NcActions-C4f9MXug-FA3YIyzG.chunk.mjs.license
rename to js/NcActions-C4f9MXug-BC_2VOkH.chunk.mjs.license
diff --git a/js/NcActions-C4f9MXug-FA3YIyzG.chunk.mjs.map b/js/NcActions-C4f9MXug-BC_2VOkH.chunk.mjs.map
similarity index 99%
rename from js/NcActions-C4f9MXug-FA3YIyzG.chunk.mjs.map
rename to js/NcActions-C4f9MXug-BC_2VOkH.chunk.mjs.map
index dcb7953237..24b363540c 100644
--- a/js/NcActions-C4f9MXug-FA3YIyzG.chunk.mjs.map
+++ b/js/NcActions-C4f9MXug-BC_2VOkH.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"NcActions-C4f9MXug-FA3YIyzG.chunk.mjs","sources":["../node_modules/focus-trap/dist/focus-trap.esm.js","../node_modules/@nextcloud/vue/dist/chunks/focusTrap-HJQ4pqHV.mjs","../node_modules/@nextcloud/vue/dist/chunks/mdi-DtJ8HsM-.mjs","../node_modules/@nextcloud/vue/dist/chunks/actionGlobal-DqVa7c7G.mjs","../node_modules/@nextcloud/vue/dist/chunks/actionText-BMig9Egt.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActionButton-DJ-fERS3.mjs","../node_modules/@nextcloud/vue/dist/chunks/useTrapStackControl-BnLfCgGU.mjs","../node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","../node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","../node_modules/floating-vue/dist/floating-vue.es.js","../node_modules/@nextcloud/vue/dist/chunks/NcPopover-BCDLqFHH.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActions-C4f9MXug.mjs"],"sourcesContent":["/*!\n* focus-trap 7.8.0\n* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE\n*/\nimport { tabbable, focusable, isTabbable, getTabIndex, isFocusable } from 'tabbable';\n\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return _arrayLikeToArray(r);\n}\nfunction _createForOfIteratorHelper(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (!t) {\n if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) {\n t && (r = t);\n var n = 0,\n F = function () {};\n return {\n s: F,\n n: function () {\n return n >= r.length ? {\n done: true\n } : {\n done: false,\n value: r[n++]\n };\n },\n e: function (r) {\n throw r;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var o,\n a = true,\n u = false;\n return {\n s: function () {\n t = t.call(r);\n },\n n: function () {\n var r = t.next();\n return a = r.done, r;\n },\n e: function (r) {\n u = true, o = r;\n },\n f: function () {\n try {\n a || null == t.return || t.return();\n } finally {\n if (u) throw o;\n }\n }\n };\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: true,\n configurable: true,\n writable: true\n }) : e[r] = t, e;\n}\nfunction _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), true).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _toConsumableArray(r) {\n return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r);\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\n\nvar activeFocusTraps = {\n // Returns the trap from the top of the stack.\n getActiveTrap: function getActiveTrap(trapStack) {\n if ((trapStack === null || trapStack === void 0 ? void 0 : trapStack.length) > 0) {\n return trapStack[trapStack.length - 1];\n }\n return null;\n },\n // Pauses the currently active trap, then adds a new trap to the stack.\n activateTrap: function activateTrap(trapStack, trap) {\n var activeTrap = activeFocusTraps.getActiveTrap(trapStack);\n if (trap !== activeTrap) {\n activeFocusTraps.pauseTrap(trapStack);\n }\n var trapIndex = trapStack.indexOf(trap);\n if (trapIndex === -1) {\n trapStack.push(trap);\n } else {\n // move this existing trap to the front of the queue\n trapStack.splice(trapIndex, 1);\n trapStack.push(trap);\n }\n },\n // Removes the trap from the top of the stack, then unpauses the next trap down.\n deactivateTrap: function deactivateTrap(trapStack, trap) {\n var trapIndex = trapStack.indexOf(trap);\n if (trapIndex !== -1) {\n trapStack.splice(trapIndex, 1);\n }\n activeFocusTraps.unpauseTrap(trapStack);\n },\n // Pauses the trap at the top of the stack.\n pauseTrap: function pauseTrap(trapStack) {\n var activeTrap = activeFocusTraps.getActiveTrap(trapStack);\n activeTrap === null || activeTrap === void 0 || activeTrap._setPausedState(true);\n },\n // Unpauses the trap at the top of the stack.\n unpauseTrap: function unpauseTrap(trapStack) {\n var activeTrap = activeFocusTraps.getActiveTrap(trapStack);\n if (activeTrap && !activeTrap._isManuallyPaused()) {\n activeTrap._setPausedState(false);\n }\n }\n};\nvar isSelectableInput = function isSelectableInput(node) {\n return node.tagName && node.tagName.toLowerCase() === 'input' && typeof node.select === 'function';\n};\nvar isEscapeEvent = function isEscapeEvent(e) {\n return (e === null || e === void 0 ? void 0 : e.key) === 'Escape' || (e === null || e === void 0 ? void 0 : e.key) === 'Esc' || (e === null || e === void 0 ? void 0 : e.keyCode) === 27;\n};\nvar isTabEvent = function isTabEvent(e) {\n return (e === null || e === void 0 ? void 0 : e.key) === 'Tab' || (e === null || e === void 0 ? void 0 : e.keyCode) === 9;\n};\n\n// checks for TAB by default\nvar isKeyForward = function isKeyForward(e) {\n return isTabEvent(e) && !e.shiftKey;\n};\n\n// checks for SHIFT+TAB by default\nvar isKeyBackward = function isKeyBackward(e) {\n return isTabEvent(e) && e.shiftKey;\n};\nvar delay = function delay(fn) {\n return setTimeout(fn, 0);\n};\n\n/**\n * Get an option's value when it could be a plain value, or a handler that provides\n * the value.\n * @param {*} value Option's value to check.\n * @param {...*} [params] Any parameters to pass to the handler, if `value` is a function.\n * @returns {*} The `value`, or the handler's returned value.\n */\nvar valueOrHandler = function valueOrHandler(value) {\n for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n params[_key - 1] = arguments[_key];\n }\n return typeof value === 'function' ? value.apply(void 0, params) : value;\n};\nvar getActualTarget = function getActualTarget(event) {\n // NOTE: If the trap is _inside_ a shadow DOM, event.target will always be the\n // shadow host. However, event.target.composedPath() will be an array of\n // nodes \"clicked\" from inner-most (the actual element inside the shadow) to\n // outer-most (the host HTML document). If we have access to composedPath(),\n // then use its first element; otherwise, fall back to event.target (and\n // this only works for an _open_ shadow DOM; otherwise,\n // composedPath()[0] === event.target always).\n return event.target.shadowRoot && typeof event.composedPath === 'function' ? event.composedPath()[0] : event.target;\n};\n\n// NOTE: this must be _outside_ `createFocusTrap()` to make sure all traps in this\n// current instance use the same stack if `userOptions.trapStack` isn't specified\nvar internalTrapStack = [];\nvar createFocusTrap = function createFocusTrap(elements, userOptions) {\n // SSR: a live trap shouldn't be created in this type of environment so this\n // should be safe code to execute if the `document` option isn't specified\n var doc = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.document) || document;\n var trapStack = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.trapStack) || internalTrapStack;\n var config = _objectSpread2({\n returnFocusOnDeactivate: true,\n escapeDeactivates: true,\n delayInitialFocus: true,\n isolateSubtrees: false,\n isKeyForward: isKeyForward,\n isKeyBackward: isKeyBackward\n }, userOptions);\n var state = {\n // containers given to createFocusTrap()\n /** @type {Array} */\n containers: [],\n // list of objects identifying tabbable nodes in `containers` in the trap\n // NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap\n // is active, but the trap should never get to a state where there isn't at least one group\n // with at least one tabbable node in it (that would lead to an error condition that would\n // result in an error being thrown)\n /** @type {Array<{\n * container: HTMLElement,\n * tabbableNodes: Array, // empty if none\n * focusableNodes: Array, // empty if none\n * posTabIndexesFound: boolean,\n * firstTabbableNode: HTMLElement|undefined,\n * lastTabbableNode: HTMLElement|undefined,\n * firstDomTabbableNode: HTMLElement|undefined,\n * lastDomTabbableNode: HTMLElement|undefined,\n * nextTabbableNode: (node: HTMLElement, forward: boolean) => HTMLElement|undefined\n * }>}\n */\n containerGroups: [],\n // same order/length as `containers` list\n\n // references to objects in `containerGroups`, but only those that actually have\n // tabbable nodes in them\n // NOTE: same order as `containers` and `containerGroups`, but __not necessarily__\n // the same length\n tabbableGroups: [],\n // references to nodes that are siblings to the ancestors of this trap's containers.\n /** @type {Set} */\n adjacentElements: new Set(),\n // references to nodes that were inert or aria-hidden before the trap was activated.\n /** @type {Set} */\n alreadySilent: new Set(),\n nodeFocusedBeforeActivation: null,\n mostRecentlyFocusedNode: null,\n active: false,\n paused: false,\n manuallyPaused: false,\n // timer ID for when delayInitialFocus is true and initial focus in this trap\n // has been delayed during activation\n delayInitialFocusTimer: undefined,\n // the most recent KeyboardEvent for the configured nav key (typically [SHIFT+]TAB), if any\n recentNavEvent: undefined\n };\n var trap; // eslint-disable-line prefer-const -- some private functions reference it, and its methods reference private functions, so we must declare here and define later\n\n /**\n * Gets a configuration option value.\n * @param {Object|undefined} configOverrideOptions If true, and option is defined in this set,\n * value will be taken from this object. Otherwise, value will be taken from base configuration.\n * @param {string} optionName Name of the option whose value is sought.\n * @param {string|undefined} [configOptionName] Name of option to use __instead of__ `optionName`\n * IIF `configOverrideOptions` is not defined. Otherwise, `optionName` is used.\n */\n var getOption = function getOption(configOverrideOptions, optionName, configOptionName) {\n return configOverrideOptions && configOverrideOptions[optionName] !== undefined ? configOverrideOptions[optionName] : config[configOptionName || optionName];\n };\n\n /**\n * Finds the index of the container that contains the element.\n * @param {HTMLElement} element\n * @param {Event} [event] If available, and `element` isn't directly found in any container,\n * the event's composed path is used to see if includes any known trap containers in the\n * case where the element is inside a Shadow DOM.\n * @returns {number} Index of the container in either `state.containers` or\n * `state.containerGroups` (the order/length of these lists are the same); -1\n * if the element isn't found.\n */\n var findContainerIndex = function findContainerIndex(element, event) {\n var composedPath = typeof (event === null || event === void 0 ? void 0 : event.composedPath) === 'function' ? event.composedPath() : undefined;\n // NOTE: search `containerGroups` because it's possible a group contains no tabbable\n // nodes, but still contains focusable nodes (e.g. if they all have `tabindex=-1`)\n // and we still need to find the element in there\n return state.containerGroups.findIndex(function (_ref) {\n var container = _ref.container,\n tabbableNodes = _ref.tabbableNodes;\n return container.contains(element) || (// fall back to explicit tabbable search which will take into consideration any\n // web components if the `tabbableOptions.getShadowRoot` option was used for\n // the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't\n // look inside web components even if open)\n composedPath === null || composedPath === void 0 ? void 0 : composedPath.includes(container)) || tabbableNodes.find(function (node) {\n return node === element;\n });\n });\n };\n\n /**\n * Gets the node for the given option, which is expected to be an option that\n * can be either a DOM node, a string that is a selector to get a node, `false`\n * (if a node is explicitly NOT given), or a function that returns any of these\n * values.\n * @param {string} optionName\n * @param {Object} options\n * @param {boolean} [options.hasFallback] True if the option could be a selector string\n * and the option allows for a fallback scenario in the case where the selector is\n * valid but does not match a node (i.e. the queried node doesn't exist in the DOM).\n * @param {Array} [options.params] Params to pass to the option if it's a function.\n * @returns {undefined | null | false | HTMLElement | SVGElement} Returns\n * `undefined` if the option is not specified; `null` if the option didn't resolve\n * to a node but `options.hasFallback=true`, `false` if the option resolved to `false`\n * (node explicitly not given); otherwise, the resolved DOM node.\n * @throws {Error} If the option is set, not `false`, and is not, or does not\n * resolve to a node, unless the option is a selector string and `options.hasFallback=true`.\n */\n var getNodeForOption = function getNodeForOption(optionName) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$hasFallback = _ref2.hasFallback,\n hasFallback = _ref2$hasFallback === void 0 ? false : _ref2$hasFallback,\n _ref2$params = _ref2.params,\n params = _ref2$params === void 0 ? [] : _ref2$params;\n var optionValue = config[optionName];\n if (typeof optionValue === 'function') {\n optionValue = optionValue.apply(void 0, _toConsumableArray(params));\n }\n if (optionValue === true) {\n optionValue = undefined; // use default value\n }\n if (!optionValue) {\n if (optionValue === undefined || optionValue === false) {\n return optionValue;\n }\n // else, empty string (invalid), null (invalid), 0 (invalid)\n\n throw new Error(\"`\".concat(optionName, \"` was specified but was not a node, or did not return a node\"));\n }\n var node = optionValue; // could be HTMLElement, SVGElement, or non-empty string at this point\n\n if (typeof optionValue === 'string') {\n try {\n node = doc.querySelector(optionValue); // resolve to node, or null if fails\n } catch (err) {\n throw new Error(\"`\".concat(optionName, \"` appears to be an invalid selector; error=\\\"\").concat(err.message, \"\\\"\"));\n }\n if (!node) {\n if (!hasFallback) {\n throw new Error(\"`\".concat(optionName, \"` as selector refers to no known node\"));\n }\n // else, `node` MUST be `null` because that's what `Document.querySelector()` returns\n // if the selector is valid but doesn't match anything\n }\n }\n return node;\n };\n var getInitialFocusNode = function getInitialFocusNode() {\n var node = getNodeForOption('initialFocus', {\n hasFallback: true\n });\n\n // false explicitly indicates we want no initialFocus at all\n if (node === false) {\n return false;\n }\n if (node === undefined || node && !isFocusable(node, config.tabbableOptions)) {\n // option not specified nor focusable: use fallback options\n if (findContainerIndex(doc.activeElement) >= 0) {\n node = doc.activeElement;\n } else {\n var firstTabbableGroup = state.tabbableGroups[0];\n var firstTabbableNode = firstTabbableGroup && firstTabbableGroup.firstTabbableNode;\n\n // NOTE: `fallbackFocus` option function cannot return `false` (not supported)\n node = firstTabbableNode || getNodeForOption('fallbackFocus');\n }\n } else if (node === null) {\n // option is a VALID selector string that doesn't yield a node: use the `fallbackFocus`\n // option instead of the default behavior when the option isn't specified at all\n node = getNodeForOption('fallbackFocus');\n }\n if (!node) {\n throw new Error('Your focus-trap needs to have at least one focusable element');\n }\n return node;\n };\n var updateTabbableNodes = function updateTabbableNodes() {\n state.containerGroups = state.containers.map(function (container) {\n var tabbableNodes = tabbable(container, config.tabbableOptions);\n\n // NOTE: if we have tabbable nodes, we must have focusable nodes; focusable nodes\n // are a superset of tabbable nodes since nodes with negative `tabindex` attributes\n // are focusable but not tabbable\n var focusableNodes = focusable(container, config.tabbableOptions);\n var firstTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[0] : undefined;\n var lastTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[tabbableNodes.length - 1] : undefined;\n var firstDomTabbableNode = focusableNodes.find(function (node) {\n return isTabbable(node);\n });\n var lastDomTabbableNode = focusableNodes.slice().reverse().find(function (node) {\n return isTabbable(node);\n });\n var posTabIndexesFound = !!tabbableNodes.find(function (node) {\n return getTabIndex(node) > 0;\n });\n return {\n container: container,\n tabbableNodes: tabbableNodes,\n focusableNodes: focusableNodes,\n /** True if at least one node with positive `tabindex` was found in this container. */\n posTabIndexesFound: posTabIndexesFound,\n /** First tabbable node in container, __tabindex__ order; `undefined` if none. */\n firstTabbableNode: firstTabbableNode,\n /** Last tabbable node in container, __tabindex__ order; `undefined` if none. */\n lastTabbableNode: lastTabbableNode,\n // NOTE: DOM order is NOT NECESSARILY \"document position\" order, but figuring that out\n // would require more than just https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n // because that API doesn't work with Shadow DOM as well as it should (@see\n // https://github.com/whatwg/dom/issues/320) and since this first/last is only needed, so far,\n // to address an edge case related to positive tabindex support, this seems like a much easier,\n // \"close enough most of the time\" alternative for positive tabindexes which should generally\n // be avoided anyway...\n /** First tabbable node in container, __DOM__ order; `undefined` if none. */\n firstDomTabbableNode: firstDomTabbableNode,\n /** Last tabbable node in container, __DOM__ order; `undefined` if none. */\n lastDomTabbableNode: lastDomTabbableNode,\n /**\n * Finds the __tabbable__ node that follows the given node in the specified direction,\n * in this container, if any.\n * @param {HTMLElement} node\n * @param {boolean} [forward] True if going in forward tab order; false if going\n * in reverse.\n * @returns {HTMLElement|undefined} The next tabbable node, if any.\n */\n nextTabbableNode: function nextTabbableNode(node) {\n var forward = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var nodeIdx = tabbableNodes.indexOf(node);\n if (nodeIdx < 0) {\n // either not tabbable nor focusable, or was focused but not tabbable (negative tabindex):\n // since `node` should at least have been focusable, we assume that's the case and mimic\n // what browsers do, which is set focus to the next node in __document position order__,\n // regardless of positive tabindexes, if any -- and for reasons explained in the NOTE\n // above related to `firstDomTabbable` and `lastDomTabbable` properties, we fall back to\n // basic DOM order\n if (forward) {\n return focusableNodes.slice(focusableNodes.indexOf(node) + 1).find(function (el) {\n return isTabbable(el);\n });\n }\n return focusableNodes.slice(0, focusableNodes.indexOf(node)).reverse().find(function (el) {\n return isTabbable(el);\n });\n }\n return tabbableNodes[nodeIdx + (forward ? 1 : -1)];\n }\n };\n });\n state.tabbableGroups = state.containerGroups.filter(function (group) {\n return group.tabbableNodes.length > 0;\n });\n\n // throw if no groups have tabbable nodes and we don't have a fallback focus node either\n if (state.tabbableGroups.length <= 0 && !getNodeForOption('fallbackFocus') // returning false not supported for this option\n ) {\n throw new Error('Your focus-trap must have at least one container with at least one tabbable node in it at all times');\n }\n\n // NOTE: Positive tabindexes are only properly supported in single-container traps because\n // doing it across multiple containers where tabindexes could be all over the place\n // would require Tabbable to support multiple containers, would require additional\n // specialized Shadow DOM support, and would require Tabbable's multi-container support\n // to look at those containers in document position order rather than user-provided\n // order (as they are treated in Focus-trap, for legacy reasons). See discussion on\n // https://github.com/focus-trap/focus-trap/issues/375 for more details.\n if (state.containerGroups.find(function (g) {\n return g.posTabIndexesFound;\n }) && state.containerGroups.length > 1) {\n throw new Error(\"At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.\");\n }\n };\n\n /**\n * Gets the current activeElement. If it's a web-component and has open shadow-root\n * it will recursively search inside shadow roots for the \"true\" activeElement.\n *\n * @param {Document | ShadowRoot} el\n *\n * @returns {HTMLElement} The element that currently has the focus\n **/\n var _getActiveElement = function getActiveElement(el) {\n var activeElement = el.activeElement;\n if (!activeElement) {\n return;\n }\n if (activeElement.shadowRoot && activeElement.shadowRoot.activeElement !== null) {\n return _getActiveElement(activeElement.shadowRoot);\n }\n return activeElement;\n };\n var _tryFocus = function tryFocus(node) {\n if (node === false) {\n return;\n }\n if (node === _getActiveElement(document)) {\n return;\n }\n if (!node || !node.focus) {\n _tryFocus(getInitialFocusNode());\n return;\n }\n node.focus({\n preventScroll: !!config.preventScroll\n });\n // NOTE: focus() API does not trigger focusIn event so set MRU node manually\n state.mostRecentlyFocusedNode = node;\n if (isSelectableInput(node)) {\n node.select();\n }\n };\n var getReturnFocusNode = function getReturnFocusNode(previousActiveElement) {\n var node = getNodeForOption('setReturnFocus', {\n params: [previousActiveElement]\n });\n return node ? node : node === false ? false : previousActiveElement;\n };\n\n /**\n * Finds the next node (in either direction) where focus should move according to a\n * keyboard focus-in event.\n * @param {Object} params\n * @param {Node} [params.target] Known target __from which__ to navigate, if any.\n * @param {KeyboardEvent|FocusEvent} [params.event] Event to use if `target` isn't known (event\n * will be used to determine the `target`). Ignored if `target` is specified.\n * @param {boolean} [params.isBackward] True if focus should move backward.\n * @returns {Node|undefined} The next node, or `undefined` if a next node couldn't be\n * determined given the current state of the trap.\n */\n var findNextNavNode = function findNextNavNode(_ref3) {\n var target = _ref3.target,\n event = _ref3.event,\n _ref3$isBackward = _ref3.isBackward,\n isBackward = _ref3$isBackward === void 0 ? false : _ref3$isBackward;\n target = target || getActualTarget(event);\n updateTabbableNodes();\n var destinationNode = null;\n if (state.tabbableGroups.length > 0) {\n // make sure the target is actually contained in a group\n // NOTE: the target may also be the container itself if it's focusable\n // with tabIndex='-1' and was given initial focus\n var containerIndex = findContainerIndex(target, event);\n var containerGroup = containerIndex >= 0 ? state.containerGroups[containerIndex] : undefined;\n if (containerIndex < 0) {\n // target not found in any group: quite possible focus has escaped the trap,\n // so bring it back into...\n if (isBackward) {\n // ...the last node in the last group\n destinationNode = state.tabbableGroups[state.tabbableGroups.length - 1].lastTabbableNode;\n } else {\n // ...the first node in the first group\n destinationNode = state.tabbableGroups[0].firstTabbableNode;\n }\n } else if (isBackward) {\n // REVERSE\n\n // is the target the first tabbable node in a group?\n var startOfGroupIndex = state.tabbableGroups.findIndex(function (_ref4) {\n var firstTabbableNode = _ref4.firstTabbableNode;\n return target === firstTabbableNode;\n });\n if (startOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target, false))) {\n // an exception case where the target is either the container itself, or\n // a non-tabbable node that was given focus (i.e. tabindex is negative\n // and user clicked on it or node was programmatically given focus)\n // and is not followed by any other tabbable node, in which\n // case, we should handle shift+tab as if focus were on the container's\n // first tabbable node, and go to the last tabbable node of the LAST group\n startOfGroupIndex = containerIndex;\n }\n if (startOfGroupIndex >= 0) {\n // YES: then shift+tab should go to the last tabbable node in the\n // previous group (and wrap around to the last tabbable node of\n // the LAST group if it's the first tabbable node of the FIRST group)\n var destinationGroupIndex = startOfGroupIndex === 0 ? state.tabbableGroups.length - 1 : startOfGroupIndex - 1;\n var destinationGroup = state.tabbableGroups[destinationGroupIndex];\n destinationNode = getTabIndex(target) >= 0 ? destinationGroup.lastTabbableNode : destinationGroup.lastDomTabbableNode;\n } else if (!isTabEvent(event)) {\n // user must have customized the nav keys so we have to move focus manually _within_\n // the active group: do this based on the order determined by tabbable()\n destinationNode = containerGroup.nextTabbableNode(target, false);\n }\n } else {\n // FORWARD\n\n // is the target the last tabbable node in a group?\n var lastOfGroupIndex = state.tabbableGroups.findIndex(function (_ref5) {\n var lastTabbableNode = _ref5.lastTabbableNode;\n return target === lastTabbableNode;\n });\n if (lastOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target))) {\n // an exception case where the target is the container itself, or\n // a non-tabbable node that was given focus (i.e. tabindex is negative\n // and user clicked on it or node was programmatically given focus)\n // and is not followed by any other tabbable node, in which\n // case, we should handle tab as if focus were on the container's\n // last tabbable node, and go to the first tabbable node of the FIRST group\n lastOfGroupIndex = containerIndex;\n }\n if (lastOfGroupIndex >= 0) {\n // YES: then tab should go to the first tabbable node in the next\n // group (and wrap around to the first tabbable node of the FIRST\n // group if it's the last tabbable node of the LAST group)\n var _destinationGroupIndex = lastOfGroupIndex === state.tabbableGroups.length - 1 ? 0 : lastOfGroupIndex + 1;\n var _destinationGroup = state.tabbableGroups[_destinationGroupIndex];\n destinationNode = getTabIndex(target) >= 0 ? _destinationGroup.firstTabbableNode : _destinationGroup.firstDomTabbableNode;\n } else if (!isTabEvent(event)) {\n // user must have customized the nav keys so we have to move focus manually _within_\n // the active group: do this based on the order determined by tabbable()\n destinationNode = containerGroup.nextTabbableNode(target);\n }\n }\n } else {\n // no groups available\n // NOTE: the fallbackFocus option does not support returning false to opt-out\n destinationNode = getNodeForOption('fallbackFocus');\n }\n return destinationNode;\n };\n\n // This needs to be done on mousedown and touchstart instead of click\n // so that it precedes the focus event.\n var checkPointerDown = function checkPointerDown(e) {\n var target = getActualTarget(e);\n if (findContainerIndex(target, e) >= 0) {\n // allow the click since it ocurred inside the trap\n return;\n }\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n // immediately deactivate the trap\n trap.deactivate({\n // NOTE: by setting `returnFocus: false`, deactivate() will do nothing,\n // which will result in the outside click setting focus to the node\n // that was clicked (and if not focusable, to \"nothing\"); by setting\n // `returnFocus: true`, we'll attempt to re-focus the node originally-focused\n // on activation (or the configured `setReturnFocus` node), whether the\n // outside click was on a focusable node or not\n returnFocus: config.returnFocusOnDeactivate\n });\n return;\n }\n\n // This is needed for mobile devices.\n // (If we'll only let `click` events through,\n // then on mobile they will be blocked anyways if `touchstart` is blocked.)\n if (valueOrHandler(config.allowOutsideClick, e)) {\n // allow the click outside the trap to take place\n return;\n }\n\n // otherwise, prevent the click\n e.preventDefault();\n };\n\n // In case focus escapes the trap for some strange reason, pull it back in.\n // NOTE: the focusIn event is NOT cancelable, so if focus escapes, it may cause unexpected\n // scrolling if the node that got focused was out of view; there's nothing we can do to\n // prevent that from happening by the time we discover that focus escaped\n var checkFocusIn = function checkFocusIn(event) {\n var target = getActualTarget(event);\n var targetContained = findContainerIndex(target, event) >= 0;\n\n // In Firefox when you Tab out of an iframe the Document is briefly focused.\n if (targetContained || target instanceof Document) {\n if (targetContained) {\n state.mostRecentlyFocusedNode = target;\n }\n } else {\n // escaped! pull it back in to where it just left\n event.stopImmediatePropagation();\n\n // focus will escape if the MRU node had a positive tab index and user tried to nav forward;\n // it will also escape if the MRU node had a 0 tab index and user tried to nav backward\n // toward a node with a positive tab index\n var nextNode; // next node to focus, if we find one\n var navAcrossContainers = true;\n if (state.mostRecentlyFocusedNode) {\n if (getTabIndex(state.mostRecentlyFocusedNode) > 0) {\n // MRU container index must be >=0 otherwise we wouldn't have it as an MRU node...\n var mruContainerIdx = findContainerIndex(state.mostRecentlyFocusedNode);\n // there MAY not be any tabbable nodes in the container if there are at least 2 containers\n // and the MRU node is focusable but not tabbable (focus-trap requires at least 1 container\n // with at least one tabbable node in order to function, so this could be the other container\n // with nothing tabbable in it)\n var tabbableNodes = state.containerGroups[mruContainerIdx].tabbableNodes;\n if (tabbableNodes.length > 0) {\n // MRU tab index MAY not be found if the MRU node is focusable but not tabbable\n var mruTabIdx = tabbableNodes.findIndex(function (node) {\n return node === state.mostRecentlyFocusedNode;\n });\n if (mruTabIdx >= 0) {\n if (config.isKeyForward(state.recentNavEvent)) {\n if (mruTabIdx + 1 < tabbableNodes.length) {\n nextNode = tabbableNodes[mruTabIdx + 1];\n navAcrossContainers = false;\n }\n // else, don't wrap within the container as focus should move to next/previous\n // container\n } else {\n if (mruTabIdx - 1 >= 0) {\n nextNode = tabbableNodes[mruTabIdx - 1];\n navAcrossContainers = false;\n }\n // else, don't wrap within the container as focus should move to next/previous\n // container\n }\n // else, don't find in container order without considering direction too\n }\n }\n // else, no tabbable nodes in that container (which means we must have at least one other\n // container with at least one tabbable node in it, otherwise focus-trap would've thrown\n // an error the last time updateTabbableNodes() was run): find next node among all known\n // containers\n } else {\n // check to see if there's at least one tabbable node with a positive tab index inside\n // the trap because focus seems to escape when navigating backward from a tabbable node\n // with tabindex=0 when this is the case (instead of wrapping to the tabbable node with\n // the greatest positive tab index like it should)\n if (!state.containerGroups.some(function (g) {\n return g.tabbableNodes.some(function (n) {\n return getTabIndex(n) > 0;\n });\n })) {\n // no containers with tabbable nodes with positive tab indexes which means the focus\n // escaped for some other reason and we should just execute the fallback to the\n // MRU node or initial focus node, if any\n navAcrossContainers = false;\n }\n }\n } else {\n // no MRU node means we're likely in some initial condition when the trap has just\n // been activated and initial focus hasn't been given yet, in which case we should\n // fall through to trying to focus the initial focus node, which is what should\n // happen below at this point in the logic\n navAcrossContainers = false;\n }\n if (navAcrossContainers) {\n nextNode = findNextNavNode({\n // move FROM the MRU node, not event-related node (which will be the node that is\n // outside the trap causing the focus escape we're trying to fix)\n target: state.mostRecentlyFocusedNode,\n isBackward: config.isKeyBackward(state.recentNavEvent)\n });\n }\n if (nextNode) {\n _tryFocus(nextNode);\n } else {\n _tryFocus(state.mostRecentlyFocusedNode || getInitialFocusNode());\n }\n }\n state.recentNavEvent = undefined; // clear\n };\n\n // Hijack key nav events on the first and last focusable nodes of the trap,\n // in order to prevent focus from escaping. If it escapes for even a\n // moment it can end up scrolling the page and causing confusion so we\n // kind of need to capture the action at the keydown phase.\n var checkKeyNav = function checkKeyNav(event) {\n var isBackward = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n state.recentNavEvent = event;\n var destinationNode = findNextNavNode({\n event: event,\n isBackward: isBackward\n });\n if (destinationNode) {\n if (isTabEvent(event)) {\n // since tab natively moves focus, we wouldn't have a destination node unless we\n // were on the edge of a container and had to move to the next/previous edge, in\n // which case we want to prevent default to keep the browser from moving focus\n // to where it normally would\n event.preventDefault();\n }\n _tryFocus(destinationNode);\n }\n // else, let the browser take care of [shift+]tab and move the focus\n };\n var checkTabKey = function checkTabKey(event) {\n if (config.isKeyForward(event) || config.isKeyBackward(event)) {\n checkKeyNav(event, config.isKeyBackward(event));\n }\n };\n\n // we use a different event phase for the Escape key to allow canceling the event and checking for this in escapeDeactivates\n var checkEscapeKey = function checkEscapeKey(event) {\n if (isEscapeEvent(event) && valueOrHandler(config.escapeDeactivates, event) !== false) {\n event.preventDefault();\n trap.deactivate();\n }\n };\n var checkClick = function checkClick(e) {\n var target = getActualTarget(e);\n if (findContainerIndex(target, e) >= 0) {\n return;\n }\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n return;\n }\n if (valueOrHandler(config.allowOutsideClick, e)) {\n return;\n }\n e.preventDefault();\n e.stopImmediatePropagation();\n };\n\n //\n // EVENT LISTENERS\n //\n\n var addListeners = function addListeners() {\n if (!state.active) {\n return;\n }\n\n // There can be only one listening focus trap at a time\n activeFocusTraps.activateTrap(trapStack, trap);\n\n // Delay ensures that the focused element doesn't capture the event\n // that caused the focus trap activation.\n state.delayInitialFocusTimer = config.delayInitialFocus ? delay(function () {\n _tryFocus(getInitialFocusNode());\n }) : _tryFocus(getInitialFocusNode());\n doc.addEventListener('focusin', checkFocusIn, true);\n doc.addEventListener('mousedown', checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener('touchstart', checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener('click', checkClick, {\n capture: true,\n passive: false\n });\n doc.addEventListener('keydown', checkTabKey, {\n capture: true,\n passive: false\n });\n doc.addEventListener('keydown', checkEscapeKey);\n return trap;\n };\n\n /**\n * Traverses up the DOM from each of `containers`, collecting references to\n * the elements that are siblings to `container` or an ancestor of `container`.\n * @param {Array} containers\n */\n var collectAdjacentElements = function collectAdjacentElements(containers) {\n // Re-activate all adjacent elements & clear previous collection.\n if (state.active && !state.paused) {\n trap._setSubtreeIsolation(false);\n }\n state.adjacentElements.clear();\n state.alreadySilent.clear();\n\n // Collect all ancestors of all containers to avoid redundant processing.\n var containerAncestors = new Set();\n var adjacentElements = new Set();\n\n // Compile all elements adjacent to the focus trap containers & lineage.\n var _iterator = _createForOfIteratorHelper(containers),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var container = _step.value;\n containerAncestors.add(container);\n var insideShadowRoot = typeof ShadowRoot !== 'undefined' && container.getRootNode() instanceof ShadowRoot;\n var current = container;\n while (current) {\n containerAncestors.add(current);\n var parent = current.parentElement;\n var siblings = [];\n if (parent) {\n siblings = parent.children;\n } else if (!parent && insideShadowRoot) {\n siblings = current.getRootNode().children;\n parent = current.getRootNode().host;\n insideShadowRoot = typeof ShadowRoot !== 'undefined' && parent.getRootNode() instanceof ShadowRoot;\n }\n\n // Add all the children, we'll remove container lineage later.\n var _iterator2 = _createForOfIteratorHelper(siblings),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var child = _step2.value;\n adjacentElements.add(child);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n current = parent;\n }\n }\n\n // Multi-container traps may overlap.\n // Remove elements within container lineages.\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n containerAncestors.forEach(function (el) {\n adjacentElements[\"delete\"](el);\n });\n state.adjacentElements = adjacentElements;\n };\n var removeListeners = function removeListeners() {\n if (!state.active) {\n return;\n }\n doc.removeEventListener('focusin', checkFocusIn, true);\n doc.removeEventListener('mousedown', checkPointerDown, true);\n doc.removeEventListener('touchstart', checkPointerDown, true);\n doc.removeEventListener('click', checkClick, true);\n doc.removeEventListener('keydown', checkTabKey, true);\n doc.removeEventListener('keydown', checkEscapeKey);\n return trap;\n };\n\n //\n // MUTATION OBSERVER\n //\n\n var checkDomRemoval = function checkDomRemoval(mutations) {\n var isFocusedNodeRemoved = mutations.some(function (mutation) {\n var removedNodes = Array.from(mutation.removedNodes);\n return removedNodes.some(function (node) {\n return node === state.mostRecentlyFocusedNode;\n });\n });\n\n // If the currently focused is removed then browsers will move focus to the\n // element. If this happens, try to move focus back into the trap.\n if (isFocusedNodeRemoved) {\n _tryFocus(getInitialFocusNode());\n }\n };\n\n // Use MutationObserver - if supported - to detect if focused node is removed\n // from the DOM.\n var mutationObserver = typeof window !== 'undefined' && 'MutationObserver' in window ? new MutationObserver(checkDomRemoval) : undefined;\n var updateObservedNodes = function updateObservedNodes() {\n if (!mutationObserver) {\n return;\n }\n mutationObserver.disconnect();\n if (state.active && !state.paused) {\n state.containers.map(function (container) {\n mutationObserver.observe(container, {\n subtree: true,\n childList: true\n });\n });\n }\n };\n\n //\n // TRAP DEFINITION\n //\n\n trap = {\n get active() {\n return state.active;\n },\n get paused() {\n return state.paused;\n },\n activate: function activate(activateOptions) {\n if (state.active) {\n return this;\n }\n var onActivate = getOption(activateOptions, 'onActivate');\n var onPostActivate = getOption(activateOptions, 'onPostActivate');\n var checkCanFocusTrap = getOption(activateOptions, 'checkCanFocusTrap');\n\n // If a currently-active trap is isolating its subtree, we need to remove\n // that isolation to allow the new trap to find tabbable nodes.\n var preexistingTrap = activeFocusTraps.getActiveTrap(trapStack);\n var revertState = false;\n if (preexistingTrap && !preexistingTrap.paused) {\n var _preexistingTrap$_set;\n // [#1729] method MAY not exist if using `trapStack` option to share stack with older\n // versions of Focus-trap in the same DOM so use optional chaining here just in case\n // since this is a trap we may not have created from this instance of the library\n (_preexistingTrap$_set = preexistingTrap._setSubtreeIsolation) === null || _preexistingTrap$_set === void 0 || _preexistingTrap$_set.call(preexistingTrap, false);\n revertState = true;\n }\n try {\n if (!checkCanFocusTrap) {\n updateTabbableNodes();\n }\n state.active = true;\n state.paused = false;\n state.nodeFocusedBeforeActivation = _getActiveElement(doc);\n onActivate === null || onActivate === void 0 || onActivate();\n var finishActivation = function finishActivation() {\n if (checkCanFocusTrap) {\n updateTabbableNodes();\n }\n addListeners();\n updateObservedNodes();\n if (config.isolateSubtrees) {\n trap._setSubtreeIsolation(true);\n }\n onPostActivate === null || onPostActivate === void 0 || onPostActivate();\n };\n if (checkCanFocusTrap) {\n checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation);\n return this;\n }\n finishActivation();\n } catch (error) {\n // If our activation throws an exception and the stack hasn't changed,\n // we need to re-enable the prior trap's subtree isolation.\n if (preexistingTrap === activeFocusTraps.getActiveTrap(trapStack) && revertState) {\n var _preexistingTrap$_set2;\n // [#1729] method MAY not exist if using `trapStack` option to share stack with older\n // versions of Focus-trap in the same DOM so use optional chaining here just in case\n // since this is a trap we may not have created from this instance of the library\n (_preexistingTrap$_set2 = preexistingTrap._setSubtreeIsolation) === null || _preexistingTrap$_set2 === void 0 || _preexistingTrap$_set2.call(preexistingTrap, true);\n }\n throw error;\n }\n return this;\n },\n deactivate: function deactivate(deactivateOptions) {\n if (!state.active) {\n return this;\n }\n var options = _objectSpread2({\n onDeactivate: config.onDeactivate,\n onPostDeactivate: config.onPostDeactivate,\n checkCanReturnFocus: config.checkCanReturnFocus\n }, deactivateOptions);\n clearTimeout(state.delayInitialFocusTimer); // noop if undefined\n state.delayInitialFocusTimer = undefined;\n\n // Prior to removing this trap from the trapStack, we need to remove any applications of `inert`.\n // This allows the next trap down to update its tabbable nodes properly.\n //\n // If this trap is not top of the stack, don't change any current isolation.\n if (!state.paused) {\n trap._setSubtreeIsolation(false);\n }\n state.alreadySilent.clear();\n removeListeners();\n state.active = false;\n state.paused = false;\n updateObservedNodes();\n activeFocusTraps.deactivateTrap(trapStack, trap);\n var onDeactivate = getOption(options, 'onDeactivate');\n var onPostDeactivate = getOption(options, 'onPostDeactivate');\n var checkCanReturnFocus = getOption(options, 'checkCanReturnFocus');\n var returnFocus = getOption(options, 'returnFocus', 'returnFocusOnDeactivate');\n onDeactivate === null || onDeactivate === void 0 || onDeactivate();\n var finishDeactivation = function finishDeactivation() {\n delay(function () {\n if (returnFocus) {\n _tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));\n }\n onPostDeactivate === null || onPostDeactivate === void 0 || onPostDeactivate();\n });\n };\n if (returnFocus && checkCanReturnFocus) {\n checkCanReturnFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)).then(finishDeactivation, finishDeactivation);\n return this;\n }\n finishDeactivation();\n return this;\n },\n pause: function pause(pauseOptions) {\n if (!state.active) {\n return this;\n }\n state.manuallyPaused = true;\n return this._setPausedState(true, pauseOptions);\n },\n unpause: function unpause(unpauseOptions) {\n if (!state.active) {\n return this;\n }\n state.manuallyPaused = false;\n if (trapStack[trapStack.length - 1] !== this) {\n return this;\n }\n return this._setPausedState(false, unpauseOptions);\n },\n updateContainerElements: function updateContainerElements(containerElements) {\n var elementsAsArray = [].concat(containerElements).filter(Boolean);\n state.containers = elementsAsArray.map(function (element) {\n return typeof element === 'string' ? doc.querySelector(element) : element;\n });\n if (config.isolateSubtrees) {\n collectAdjacentElements(state.containers);\n }\n if (state.active) {\n updateTabbableNodes();\n if (config.isolateSubtrees && !state.paused) {\n trap._setSubtreeIsolation(true);\n }\n }\n updateObservedNodes();\n return this;\n }\n };\n Object.defineProperties(trap, {\n _isManuallyPaused: {\n value: function value() {\n return state.manuallyPaused;\n }\n },\n _setPausedState: {\n value: function value(paused, options) {\n if (state.paused === paused) {\n return this;\n }\n state.paused = paused;\n if (paused) {\n var onPause = getOption(options, 'onPause');\n var onPostPause = getOption(options, 'onPostPause');\n onPause === null || onPause === void 0 || onPause();\n removeListeners();\n updateObservedNodes();\n trap._setSubtreeIsolation(false);\n onPostPause === null || onPostPause === void 0 || onPostPause();\n } else {\n var onUnpause = getOption(options, 'onUnpause');\n var onPostUnpause = getOption(options, 'onPostUnpause');\n onUnpause === null || onUnpause === void 0 || onUnpause();\n trap._setSubtreeIsolation(true);\n updateTabbableNodes();\n addListeners();\n updateObservedNodes();\n onPostUnpause === null || onPostUnpause === void 0 || onPostUnpause();\n }\n return this;\n }\n },\n _setSubtreeIsolation: {\n value: function value(isEnabled) {\n if (config.isolateSubtrees) {\n state.adjacentElements.forEach(function (el) {\n var _el$getAttribute;\n if (isEnabled) {\n switch (config.isolateSubtrees) {\n case 'aria-hidden':\n // check both attribute and property to ensure initial state is captured\n // correctly across different browsers and test environments (like JSDOM)\n if (el.ariaHidden === 'true' || ((_el$getAttribute = el.getAttribute('aria-hidden')) === null || _el$getAttribute === void 0 ? void 0 : _el$getAttribute.toLowerCase()) === 'true') {\n state.alreadySilent.add(el);\n }\n el.setAttribute('aria-hidden', 'true');\n break;\n default:\n // check both attribute and property to ensure initial state is captured\n // correctly across different browsers and test environments (like JSDOM)\n if (el.inert || el.hasAttribute('inert')) {\n state.alreadySilent.add(el);\n }\n el.setAttribute('inert', true);\n break;\n }\n } else {\n if (state.alreadySilent.has(el)) ; else {\n switch (config.isolateSubtrees) {\n case 'aria-hidden':\n el.removeAttribute('aria-hidden');\n break;\n default:\n el.removeAttribute('inert');\n break;\n }\n }\n }\n });\n }\n }\n }\n });\n\n // initialize container elements\n trap.updateContainerElements(elements);\n return trap;\n};\n\nexport { createFocusTrap };\n//# sourceMappingURL=focus-trap.esm.js.map\n","function getTrapStack() {\n window._nc_focus_trap ??= [];\n return window._nc_focus_trap;\n}\nfunction createTrapStackController() {\n let pausedStack = [];\n return {\n /**\n * Pause the current focus-trap stack\n */\n pause() {\n pausedStack = [...getTrapStack()];\n for (const trap of pausedStack) {\n trap.pause();\n }\n },\n /**\n * Unpause the paused focus trap stack\n * If the actual stack is different from the paused one, ignore unpause.\n */\n unpause() {\n if (pausedStack.length === getTrapStack().length) {\n for (const trap of pausedStack) {\n trap.unpause();\n }\n }\n pausedStack = [];\n }\n };\n}\nexport {\n createTrapStackController as c,\n getTrapStack as g\n};\n//# sourceMappingURL=focusTrap-HJQ4pqHV.mjs.map\n","var mdiAlertCircleOutline = \"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z\";\nvar mdiArrowLeft = \"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\";\nvar mdiArrowRight = \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\";\nvar mdiArrowTopRight = \"M5,17.59L15.59,7H9V5H19V15H17V8.41L6.41,19L5,17.59Z\";\nvar mdiCheck = \"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\";\nvar mdiCheckboxBlankOutline = \"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z\";\nvar mdiCheckboxMarked = \"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nvar mdiChevronLeft = \"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\";\nvar mdiChevronRight = \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\";\nvar mdiClose = \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\";\nvar mdiCloseCircleOutline = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2M14.59,8L12,10.59L9.41,8L8,9.41L10.59,12L8,14.59L9.41,16L12,13.41L14.59,16L16,14.59L13.41,12L16,9.41L14.59,8Z\";\nvar mdiCog = \"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\";\nvar mdiCogOutline = \"M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M10,22C9.75,22 9.54,21.82 9.5,21.58L9.13,18.93C8.5,18.68 7.96,18.34 7.44,17.94L4.95,18.95C4.73,19.03 4.46,18.95 4.34,18.73L2.34,15.27C2.21,15.05 2.27,14.78 2.46,14.63L4.57,12.97L4.5,12L4.57,11L2.46,9.37C2.27,9.22 2.21,8.95 2.34,8.73L4.34,5.27C4.46,5.05 4.73,4.96 4.95,5.05L7.44,6.05C7.96,5.66 8.5,5.32 9.13,5.07L9.5,2.42C9.54,2.18 9.75,2 10,2H14C14.25,2 14.46,2.18 14.5,2.42L14.87,5.07C15.5,5.32 16.04,5.66 16.56,6.05L19.05,5.05C19.27,4.96 19.54,5.05 19.66,5.27L21.66,8.73C21.79,8.95 21.73,9.22 21.54,9.37L19.43,11L19.5,12L19.43,13L21.54,14.63C21.73,14.78 21.79,15.05 21.66,15.27L19.66,18.73C19.54,18.95 19.27,19.04 19.05,18.95L16.56,17.95C16.04,18.34 15.5,18.68 14.87,18.93L14.5,21.58C14.46,21.82 14.25,22 14,22H10M11.25,4L10.88,6.61C9.68,6.86 8.62,7.5 7.85,8.39L5.44,7.35L4.69,8.65L6.8,10.2C6.4,11.37 6.4,12.64 6.8,13.8L4.68,15.36L5.43,16.66L7.86,15.62C8.63,16.5 9.68,17.14 10.87,17.38L11.24,20H12.76L13.13,17.39C14.32,17.14 15.37,16.5 16.14,15.62L18.57,16.66L19.32,15.36L17.2,13.81C17.6,12.64 17.6,11.37 17.2,10.2L19.31,8.65L18.56,7.35L16.15,8.39C15.38,7.5 14.32,6.86 13.12,6.62L12.75,4H11.25Z\";\nvar mdiContentCopy = \"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\";\nvar mdiCreation = \"M19,1L17.74,3.75L15,5L17.74,6.26L19,9L20.25,6.26L23,5L20.25,3.75M9,4L6.5,9.5L1,12L6.5,14.5L9,20L11.5,14.5L17,12L11.5,9.5M19,15L17.74,17.74L15,19L17.74,20.25L19,23L20.25,20.25L23,19L20.25,17.74\";\nvar mdiDotsHorizontal = \"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\";\nvar mdiOpenInNew = \"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\";\nvar mdiRadioboxBlank = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nvar mdiRadioboxMarked = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z\";\nvar mdiUndo = \"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\";\nexport {\n mdiCheck as a,\n mdiUndo as b,\n mdiClose as c,\n mdiArrowRight as d,\n mdiContentCopy as e,\n mdiCreation as f,\n mdiRadioboxMarked as g,\n mdiRadioboxBlank as h,\n mdiCheckboxMarked as i,\n mdiCheckboxBlankOutline as j,\n mdiAlertCircleOutline as k,\n mdiCogOutline as l,\n mdiChevronRight as m,\n mdiCog as n,\n mdiOpenInNew as o,\n mdiArrowTopRight as p,\n mdiDotsHorizontal as q,\n mdiCloseCircleOutline as r,\n mdiArrowLeft as s,\n mdiChevronLeft as t\n};\n//# sourceMappingURL=mdi-DtJ8HsM-.mjs.map\n","const ActionGlobalMixin = {\n beforeUpdate() {\n this.text = this.getText();\n },\n data() {\n return {\n // $slots are not reactive.\n // We need to update the content manually\n text: this.getText()\n };\n },\n computed: {\n isLongText() {\n return this.text && this.text.trim().length > 20;\n }\n },\n methods: {\n getText() {\n return this.$slots.default ? this.$slots.default[0].text.trim() : \"\";\n }\n }\n};\nexport {\n ActionGlobalMixin as A\n};\n//# sourceMappingURL=actionGlobal-DqVa7c7G.mjs.map\n","import { A as ActionGlobalMixin } from \"./actionGlobal-DqVa7c7G.mjs\";\nfunction GetParent(context, name) {\n let parent = context.$parent;\n while (parent) {\n if (parent.$options.name === name) {\n return parent;\n }\n parent = parent.$parent;\n }\n}\nconst ActionTextMixin = {\n mixins: [ActionGlobalMixin],\n props: {\n /**\n * Icon to show with the action, can be either a CSS class or an URL\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: \"\"\n },\n /**\n * Whether we close the Actions menu after the click\n */\n closeAfterClick: {\n type: Boolean,\n default: false\n },\n /**\n * Aria label for the button. Not needed if the button has text.\n */\n ariaLabel: {\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 emits: [\n \"click\"\n ],\n computed: {\n /**\n * Check if icon prop is an URL\n *\n * @return {boolean} Whether the icon prop is an URL\n */\n isIconUrl() {\n try {\n return !!new URL(this.icon, this.icon.startsWith(\"/\") ? window.location.origin : void 0);\n } catch {\n return false;\n }\n }\n },\n methods: {\n onClick(event) {\n this.$emit(\"click\", event);\n if (this.closeAfterClick) {\n const parent = GetParent(this, \"NcActions\");\n if (parent && parent.closeMenu) {\n parent.closeMenu(false);\n }\n }\n }\n }\n};\nexport {\n ActionTextMixin as A\n};\n//# sourceMappingURL=actionText-BMig9Egt.mjs.map\n","import '../assets/NcActionButton-cjcF16FC.css';\nimport { m as mdiChevronRight, a as mdiCheck } from \"./mdi-DtJ8HsM-.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Bui9PhAS.mjs\";\nimport { A as ActionTextMixin } from \"./actionText-BMig9Egt.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcActionButton\",\n components: {\n NcIconSvgWrapper\n },\n mixins: [ActionTextMixin],\n inject: {\n isInSemanticMenu: {\n from: \"NcActions:isSemanticMenu\",\n default: false\n }\n },\n props: {\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 // eslint-disable-next-line vue/no-boolean-default\n default: null\n },\n /**\n * disabled state of the action button\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * If this is a menu, a chevron icon will\n * be added at the end of the line\n */\n isMenu: {\n type: Boolean,\n default: false\n },\n /**\n * The button's behavior, by default the button acts like a normal button with optional toggle button behavior if `modelValue` is `true` or `false`.\n * But you can also set to checkbox button behavior with tri-state or radio button like behavior.\n * This extends the native HTML button type attribute.\n */\n type: {\n type: String,\n default: \"button\",\n validator: (behavior) => [\"button\", \"checkbox\", \"radio\", \"reset\", \"submit\"].includes(behavior)\n },\n /**\n * The buttons state if `type` is 'checkbox' or 'radio' (meaning if it is pressed / selected).\n * For checkbox and toggle button behavior - boolean value.\n * For radio button behavior - could be a boolean checked or a string with the value of the button.\n * Note: Unlike native radio buttons, NcActionButton are not grouped by name, so you need to connect them by bind correct modelValue.\n *\n * **This is not availabe for `type='submit'` or `type='reset'`**\n *\n * If using `type='checkbox'` a `model-value` of `true` means checked, `false` means unchecked and `null` means indeterminate (tri-state)\n * For `type='radio'` `null` is equal to `false`\n */\n modelValue: {\n type: [Boolean, String],\n default: null\n },\n /**\n * The value used for the `modelValue` when this component is used with radio behavior\n * Similar to the `value` attribute of ` `\n */\n value: {\n type: String,\n default: null\n },\n /**\n * Small underlying text content of the entry\n */\n description: {\n type: String,\n default: \"\"\n }\n },\n setup() {\n return {\n mdiCheck,\n mdiChevronRight\n };\n },\n computed: {\n /**\n * determines if the action is focusable\n *\n * @return {boolean} is the action focusable ?\n */\n isFocusable() {\n return !this.disabled;\n },\n /**\n * The current \"checked\" or \"pressed\" state for the model behavior\n */\n isChecked() {\n if (this.type === \"radio\" && typeof this.modelValue !== \"boolean\") {\n return this.modelValue === this.value;\n }\n return this.modelValue;\n },\n /**\n * The native HTML type to set on the button\n */\n nativeType() {\n if (this.type === \"submit\" || this.type === \"reset\") {\n return this.type;\n }\n return \"button\";\n },\n /**\n * HTML attributes to bind to the \n */\n buttonAttributes() {\n const attributes = {};\n if (this.isInSemanticMenu) {\n attributes.role = \"menuitem\";\n if (this.type === \"radio\") {\n attributes.role = \"menuitemradio\";\n attributes[\"aria-checked\"] = this.isChecked ? \"true\" : \"false\";\n } else if (this.type === \"checkbox\" || this.nativeType === \"button\" && this.modelValue !== null) {\n attributes.role = \"menuitemcheckbox\";\n attributes[\"aria-checked\"] = this.modelValue === null ? \"mixed\" : this.modelValue ? \"true\" : \"false\";\n }\n } else if (this.modelValue !== null && this.nativeType === \"button\") {\n attributes[\"aria-pressed\"] = this.modelValue ? \"true\" : \"false\";\n }\n return attributes;\n }\n },\n methods: {\n /**\n * Forward click event, let mixin handle the close-after-click and emit new modelValue if needed\n *\n * @param {MouseEvent} event The click event\n */\n handleClick(event) {\n this.onClick(event);\n if (this.modelValue !== null || this.type !== \"button\") {\n if (this.type === \"radio\") {\n if (typeof this.modelValue !== \"boolean\") {\n if (!this.isChecked) {\n this.$emit(\"update:modelValue\", this.value);\n }\n } else {\n this.$emit(\"update:modelValue\", !this.isChecked);\n }\n } else {\n this.$emit(\"update:modelValue\", !this.isChecked);\n }\n }\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"action\", class: { \"action--disabled\": _vm.disabled }, attrs: { \"role\": _vm.isInSemanticMenu && \"presentation\" } }, [_c(\"button\", _vm._b({ staticClass: \"action-button button-vue\", class: {\n \"action-button--active\": _vm.isChecked,\n focusable: _vm.isFocusable\n }, attrs: { \"aria-label\": _vm.ariaLabel, \"disabled\": _vm.disabled, \"title\": _vm.title, \"type\": _vm.nativeType }, on: { \"click\": _vm.handleClick } }, \"button\", _vm.buttonAttributes, false), [_vm._t(\"icon\", function() {\n return [_c(\"span\", { staticClass: \"action-button__icon\", class: [_vm.isIconUrl ? \"action-button__icon--url\" : _vm.icon], style: { backgroundImage: _vm.isIconUrl ? `url(${_vm.icon})` : null }, attrs: { \"aria-hidden\": \"true\" } })];\n }), _c(\"span\", { staticClass: \"action-button__longtext-wrapper\" }, [_vm.name ? _c(\"strong\", { staticClass: \"action-button__name\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _vm.isLongText ? _c(\"span\", { staticClass: \"action-button__longtext\", domProps: { \"textContent\": _vm._s(_vm.text) } }) : _c(\"span\", { staticClass: \"action-button__text\" }, [_vm._v(\" \" + _vm._s(_vm.text) + \" \")]), _vm.description ? _c(\"span\", { staticClass: \"action-button__description\", domProps: { \"textContent\": _vm._s(_vm.description) } }) : _vm._e()]), _vm.isMenu ? _c(\"NcIconSvgWrapper\", { staticClass: \"action-button__menu-icon\", attrs: { \"directional\": \"\", \"path\": _vm.mdiChevronRight } }) : _vm.isChecked ? _c(\"NcIconSvgWrapper\", { staticClass: \"action-button__pressed-icon\", attrs: { \"path\": _vm.mdiCheck } }) : _vm.isChecked === false ? _c(\"span\", { staticClass: \"action-button__pressed-icon material-design-icon\" }) : _vm._e(), _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 \"ab2ff78b\"\n);\nconst NcActionButton = __component__.exports;\nexport {\n NcActionButton as N\n};\n//# sourceMappingURL=NcActionButton-DJ-fERS3.mjs.map\n","import { toValue } from \"@vueuse/core\";\nimport { watch, onUnmounted } from \"vue\";\nimport { c as createTrapStackController } from \"./focusTrap-HJQ4pqHV.mjs\";\nfunction useTrapStackControl(shouldPause, options = {}) {\n const trapStackController = createTrapStackController();\n watch(shouldPause, () => {\n if (toValue(options.disabled)) {\n return;\n }\n if (toValue(shouldPause)) {\n trapStackController.pause();\n } else {\n trapStackController.unpause();\n }\n });\n onUnmounted(() => {\n trapStackController.unpause();\n });\n}\nexport {\n useTrapStackControl as u\n};\n//# sourceMappingURL=useTrapStackControl-BnLfCgGU.mjs.map\n","function getBasePlacement(placement) {\n return placement.split('-')[0];\n}\n\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\n\nfunction getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].includes(getBasePlacement(placement)) ? 'x' : 'y';\n}\n\nfunction getLengthFromAxis(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\n\nfunction computeCoordsFromPlacement(_ref) {\n let {\n reference,\n floating,\n placement\n } = _ref;\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n let coords;\n\n switch (getBasePlacement(placement)) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n\n switch (getAlignment(placement)) {\n case 'start':\n coords[mainAxis] = coords[mainAxis] - (reference[length] / 2 - floating[length] / 2);\n break;\n\n case 'end':\n coords[mainAxis] = coords[mainAxis] + (reference[length] / 2 - floating[length] / 2);\n break;\n }\n\n return coords;\n}\n\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n\n if (process.env.NODE_ENV !== \"production\") {\n if (platform == null) {\n console.error(['Floating UI: `platform` property was not passed to config. If you', 'want to use Floating UI on the web, install @floating-ui/dom', 'instead of the /core package. Otherwise, you can create your own', '`platform`: https://floating-ui.com/docs/platform'].join(' '));\n }\n\n if (middleware.filter(_ref => {\n let {\n name\n } = _ref;\n return name === 'autoPlacement' || name === 'flip';\n }).length > 1) {\n throw new Error(['Floating UI: duplicate `flip` and/or `autoPlacement`', 'middleware detected. This will lead to an infinite loop. Ensure only', 'one of either has been passed to the `middleware` array.'].join(' '));\n }\n }\n\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement\n });\n let statefulPlacement = placement;\n let middlewareData = {};\n let _debug_loop_count_ = 0;\n\n for (let i = 0; i < middleware.length; i++) {\n if (process.env.NODE_ENV !== \"production\") {\n _debug_loop_count_++;\n\n if (_debug_loop_count_ > 100) {\n throw new Error(['Floating UI: The middleware lifecycle appears to be', 'running in an infinite loop. This is usually caused by a `reset`', 'continually being returned without a break condition.'].join(' '));\n }\n }\n\n const {\n name,\n fn\n } = middleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = { ...middlewareData,\n [name]: data != null ? data : {}\n };\n\n if (reset) {\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n\n ({\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement: statefulPlacement\n }));\n }\n\n i = -1;\n continue;\n }\n }\n\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\n\nfunction getSideObjectFromPadding(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\n\nfunction rectToClientRect(rect) {\n return { ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nasync function detectOverflow(middlewareArguments, options) {\n if (options === void 0) {\n options = {};\n }\n\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = middlewareArguments;\n const {\n boundary = 'clippingParents',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = options;\n const paddingObject = getSideObjectFromPadding(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = await platform.getClippingClientRect({\n element: (await platform.isElement(element)) ? element : element.contextElement || (await platform.getDocumentElement({\n element: elements.floating\n })),\n boundary,\n rootBoundary\n });\n const elementClientRect = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: elementContext === 'floating' ? { ...rects.floating,\n x,\n y\n } : rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n })); // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n return {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n}\n\nconst min = Math.min;\nconst max = Math.max;\n\nfunction within(min$1, value, max$1) {\n return max(min$1, min(value, max$1));\n}\n\nconst arrow = options => ({\n name: 'arrow',\n options,\n\n async fn(middlewareArguments) {\n // Since `element` is required, we don't Partial<> the type\n const {\n element,\n padding = 0\n } = options != null ? options : {};\n const {\n x,\n y,\n placement,\n rects,\n platform\n } = middlewareArguments;\n\n if (element == null) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn('Floating UI: No `element` was passed to the `arrow` middleware.');\n }\n\n return {};\n }\n\n const paddingObject = getSideObjectFromPadding(padding);\n const coords = {\n x,\n y\n };\n const basePlacement = getBasePlacement(placement);\n const axis = getMainAxisFromPlacement(basePlacement);\n const length = getLengthFromAxis(axis);\n const arrowDimensions = await platform.getDimensions({\n element\n });\n const minProp = axis === 'y' ? 'top' : 'left';\n const maxProp = axis === 'y' ? 'bottom' : 'right';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await platform.getOffsetParent({\n element\n });\n const clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n const centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside of the floating element's bounds\n\n const min = paddingObject[minProp];\n const max = clientSize - arrowDimensions[length] - paddingObject[maxProp];\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = within(min, center, max);\n return {\n data: {\n [axis]: offset,\n centerOffset: center - offset\n }\n };\n }\n\n});\n\nconst hash$1 = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, matched => hash$1[matched]);\n}\n\nfunction getAlignmentSides(placement, rects) {\n const isStart = getAlignment(placement) === 'start';\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n let mainAlignmentSide = mainAxis === 'x' ? isStart ? 'right' : 'left' : isStart ? 'bottom' : 'top';\n\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n\n return {\n main: mainAlignmentSide,\n cross: getOppositePlacement(mainAlignmentSide)\n };\n}\n\nconst hash = {\n start: 'end',\n end: 'start'\n};\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, matched => hash[matched]);\n}\n\nconst basePlacements = ['top', 'right', 'bottom', 'left'];\nconst allPlacements = /*#__PURE__*/basePlacements.reduce((acc, basePlacement) => acc.concat(basePlacement, basePlacement + \"-start\", basePlacement + \"-end\"), []);\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getBasePlacement(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n\n return true;\n });\n}\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'autoPlacement',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$autoP, _middlewareData$autoP2, _middlewareData$autoP3, _middlewareData$autoP4, _middlewareData$autoP5, _placementsSortedByLe;\n\n const {\n x,\n y,\n rects,\n middlewareData,\n placement\n } = middlewareArguments;\n const {\n alignment = null,\n allowedPlacements = allPlacements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$autoP = middlewareData.autoPlacement) != null && _middlewareData$autoP.skip) {\n return {};\n }\n\n const placements = getPlacementList(alignment, autoAlignment, allowedPlacements);\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const currentIndex = (_middlewareData$autoP2 = (_middlewareData$autoP3 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP3.index) != null ? _middlewareData$autoP2 : 0;\n const currentPlacement = placements[currentIndex];\n const {\n main,\n cross\n } = getAlignmentSides(currentPlacement, rects); // Make `computeCoords` start from the right place\n\n if (placement !== currentPlacement) {\n return {\n x,\n y,\n reset: {\n placement: placements[0]\n }\n };\n }\n\n const currentOverflows = [overflow[getBasePlacement(currentPlacement)], overflow[main], overflow[cross]];\n const allOverflows = [...((_middlewareData$autoP4 = (_middlewareData$autoP5 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP5.overflows) != null ? _middlewareData$autoP4 : []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements[currentIndex + 1]; // There are more placements to check\n\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n const placementsSortedByLeastOverflow = allOverflows.slice().sort((a, b) => a.overflows[0] - b.overflows[0]);\n const placementThatFitsOnAllSides = (_placementsSortedByLe = placementsSortedByLeastOverflow.find(_ref => {\n let {\n overflows\n } = _ref;\n return overflows.every(overflow => overflow <= 0);\n })) == null ? void 0 : _placementsSortedByLe.placement;\n return {\n data: {\n skip: true\n },\n reset: {\n placement: placementThatFitsOnAllSides != null ? placementThatFitsOnAllSides : placementsSortedByLeastOverflow[0].placement\n }\n };\n }\n\n };\n};\n\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\n\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'flip',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$flip, _middlewareData$flip2;\n\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement\n } = middlewareArguments;\n\n if ((_middlewareData$flip = middlewareData.flip) != null && _middlewareData$flip.skip) {\n return {};\n }\n\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n flipAlignment = true,\n ...detectOverflowOptions\n } = options;\n const basePlacement = getBasePlacement(placement);\n const isBasePlacement = basePlacement === initialPlacement;\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.overflows) || [];\n\n if (checkMainAxis) {\n overflows.push(overflow[basePlacement]);\n }\n\n if (checkCrossAxis) {\n const {\n main,\n cross\n } = getAlignmentSides(placement, rects);\n overflows.push(overflow[main], overflow[cross]);\n }\n\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }]; // One or more sides is overflowing\n\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip$, _middlewareData$flip3;\n\n const nextIndex = ((_middlewareData$flip$ = (_middlewareData$flip3 = middlewareData.flip) == null ? void 0 : _middlewareData$flip3.index) != null ? _middlewareData$flip$ : 0) + 1;\n const nextPlacement = placements[nextIndex];\n\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n let resetPlacement = 'bottom';\n\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$slice$;\n\n const placement = (_overflowsData$slice$ = overflowsData.slice().sort((a, b) => a.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0) - b.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0))[0]) == null ? void 0 : _overflowsData$slice$.placement;\n\n if (placement) {\n resetPlacement = placement;\n }\n\n break;\n }\n\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n\n return {};\n }\n\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return basePlacements.some(side => overflow[side] >= 0);\n}\n\nconst hide = () => ({\n name: 'hide',\n\n async fn(modifierArguments) {\n const referenceOverflow = await detectOverflow(modifierArguments, {\n elementContext: 'reference'\n });\n const floatingAltOverflow = await detectOverflow(modifierArguments, {\n altBoundary: true\n });\n const referenceHiddenOffsets = getSideOffsets(referenceOverflow, modifierArguments.rects.reference);\n const escapedOffsets = getSideOffsets(floatingAltOverflow, modifierArguments.rects.floating);\n const referenceHidden = isAnySideFullyClipped(referenceHiddenOffsets);\n const escaped = isAnySideFullyClipped(escapedOffsets);\n return {\n data: {\n referenceHidden,\n referenceHiddenOffsets,\n escaped,\n escapedOffsets\n }\n };\n }\n\n});\n\nfunction convertValueToCoords(_ref) {\n let {\n placement,\n rects,\n value\n } = _ref;\n const basePlacement = getBasePlacement(placement);\n const multiplier = ['left', 'top'].includes(basePlacement) ? -1 : 1;\n const rawValue = typeof value === 'function' ? value({ ...rects,\n placement\n }) : value;\n const {\n mainAxis,\n crossAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawValue\n };\n return getMainAxisFromPlacement(basePlacement) === 'x' ? {\n x: crossAxis,\n y: mainAxis * multiplier\n } : {\n x: mainAxis * multiplier,\n y: crossAxis\n };\n}\nconst offset = function (value) {\n if (value === void 0) {\n value = 0;\n }\n\n return {\n name: 'offset',\n options: value,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects\n } = middlewareArguments;\n const diffCoords = convertValueToCoords({\n placement,\n rects,\n value\n });\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\n };\n }\n\n };\n};\n\nfunction getCrossAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\n\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'shift',\n options,\n\n async fn(middlewareArguments) {\n const {\n x,\n y,\n placement\n } = middlewareArguments;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = options;\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const mainAxis = getMainAxisFromPlacement(getBasePlacement(placement));\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = within(min, mainAxisCoord, max);\n }\n\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = within(min, crossAxisCoord, max);\n }\n\n const limitedCoords = limiter.fn({ ...middlewareArguments,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return { ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n\n };\n};\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n options,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = options;\n const coords = {\n x,\n y\n };\n const mainAxis = getMainAxisFromPlacement(placement);\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = typeof offset === 'function' ? offset({ ...rects,\n placement\n }) : offset;\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2, _middlewareData$offse3, _middlewareData$offse4;\n\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getBasePlacement(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? (_middlewareData$offse = (_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) != null ? _middlewareData$offse : 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : (_middlewareData$offse3 = (_middlewareData$offse4 = middlewareData.offset) == null ? void 0 : _middlewareData$offse4[crossAxis]) != null ? _middlewareData$offse3 : 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n\n };\n};\n\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'size',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$size;\n\n const {\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n apply,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$size = middlewareData.size) != null && _middlewareData$size.skip) {\n return {};\n }\n\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const basePlacement = getBasePlacement(placement);\n const isEnd = getAlignment(placement) === 'end';\n let heightSide;\n let widthSide;\n\n if (basePlacement === 'top' || basePlacement === 'bottom') {\n heightSide = basePlacement;\n widthSide = isEnd ? 'left' : 'right';\n } else {\n widthSide = basePlacement;\n heightSide = isEnd ? 'top' : 'bottom';\n }\n\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n const dimensions = {\n height: rects.floating.height - (['left', 'right'].includes(placement) ? 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom)) : overflow[heightSide]),\n width: rects.floating.width - (['top', 'bottom'].includes(placement) ? 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right)) : overflow[widthSide])\n };\n apply == null ? void 0 : apply({ ...dimensions,\n ...rects\n });\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n\n };\n};\n\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'inline',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$inlin, _await$platform$getCl;\n\n const {\n placement,\n elements,\n rects,\n platform,\n strategy,\n middlewareData\n } = middlewareArguments; // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n\n const {\n padding = 2,\n x,\n y\n } = options;\n\n if ((_middlewareData$inlin = middlewareData.inline) != null && _middlewareData$inlin.skip) {\n return {};\n }\n\n const fallback = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n }));\n const clientRects = Array.from((_await$platform$getCl = await (platform.getClientRects == null ? void 0 : platform.getClientRects({\n element: elements.reference\n }))) != null ? _await$platform$getCl : []);\n const paddingObject = getSideObjectFromPadding(padding);\n\n function getBoundingClientRect() {\n // There are two rects and they are disjoined\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n var _clientRects$find;\n\n // Find the first rect in which the point is fully inside\n return (_clientRects$find = clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom)) != null ? _clientRects$find : fallback;\n } // There are 2 or more connected rects\n\n\n if (clientRects.length >= 2) {\n if (getMainAxisFromPlacement(placement) === 'x') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getBasePlacement(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n const isLeftPlacement = getBasePlacement(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftPlacement ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n return fallback;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n rects: await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n })\n }\n };\n }\n\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, rectToClientRect, shift, size };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\n\nfunction isWindow(value) {\n return (value == null ? void 0 : value.toString()) === '[object Window]';\n}\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (!isWindow(node)) {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n\nfunction getComputedStyle$1(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\nfunction getNodeName(node) {\n return isWindow(node) ? '' : node ? (node.nodeName || '').toLowerCase() : '';\n}\n\nfunction isHTMLElement(value) {\n return value instanceof getWindow(value).HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof getWindow(value).Element;\n}\nfunction isNode(value) {\n return value instanceof getWindow(value).Node;\n}\nfunction isShadowRoot(node) {\n const OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\nfunction isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const {\n overflow,\n overflowX,\n overflowY\n } = getComputedStyle$1(element);\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n // TODO: Try and use feature detection here instead\n const isFirefox = navigator.userAgent.toLowerCase().includes('firefox');\n const css = getComputedStyle$1(element); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n return css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].includes(css.willChange) || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false);\n}\n\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\n\nfunction getBoundingClientRect(element, includeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n const clientRect = element.getBoundingClientRect();\n let scaleX = 1;\n let scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n return {\n width: clientRect.width / scaleX,\n height: clientRect.height / scaleY,\n top: clientRect.top / scaleY,\n right: clientRect.right / scaleX,\n bottom: clientRect.bottom / scaleY,\n left: clientRect.left / scaleX,\n x: clientRect.left / scaleX,\n y: clientRect.top / scaleY\n };\n}\n\nfunction getDocumentElement(node) {\n return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement;\n}\n\nfunction getNodeScroll(element) {\n if (isWindow(element)) {\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n }\n\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}\n\nfunction getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\nfunction isScaled(element) {\n const rect = getBoundingClientRect(element);\n return round(rect.width) !== element.offsetWidth || round(rect.height) !== element.offsetHeight;\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const rect = getBoundingClientRect(element, isOffsetParentAnElement && isScaled(offsetParent));\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // @ts-ignore\n node.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n node.parentNode || ( // DOM Element detected\n isShadowRoot(node) ? node.host : null) || // ShadowRoot detected\n getDocumentElement(node) // fallback\n\n );\n}\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n}\n\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && !['html', 'body'].includes(getNodeName(currentNode))) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n const window = getWindow(element);\n let offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}\n\nfunction getDimensions(element) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n\n if (offsetParent === documentElement) {\n return rect;\n }\n\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } // This doesn't appear to be need to be negated.\n // else if (documentElement) {\n // offsets.x = getWindowScrollBarX(documentElement);\n // }\n\n }\n\n return { ...rect,\n x: rect.x - scroll.scrollLeft + offsets.x,\n y: rect.y - scroll.scrollTop + offsets.y\n };\n}\n\nfunction getViewportRect(element) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n\n if (Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) < 0.01) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// of the `` and `` rect bounds if horizontally scrollable\n\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n const width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n const height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n\n if (getComputedStyle$1(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getScrollParent(node) {\n if (['html', 'body', '#document'].includes(getNodeName(node))) {\n // @ts-ignore assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}\n\nfunction getScrollParents(node, list) {\n var _node$ownerDocument;\n\n if (list === void 0) {\n list = [];\n }\n\n const scrollParent = getScrollParent(node);\n const isBody = scrollParent === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body);\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n const updatedList = list.concat(target);\n return isBody ? updatedList : // @ts-ignore: isBody tells us target will be an HTMLElement here\n updatedList.concat(getScrollParents(getParentNode(target)));\n}\n\nfunction contains(parent, child) {\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n\n do {\n // use `===` replace node.isSameNode()\n if (next && parent === next) {\n return true;\n } // @ts-ignore: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n }\n\n return false;\n}\n\nfunction getInnerBoundingClientRect(element) {\n const clientRect = getBoundingClientRect(element);\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n return {\n top,\n left,\n x: left,\n y: top,\n right: left + element.clientWidth,\n bottom: top + element.clientHeight,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getClientRectFromClippingParent(element, clippingParent) {\n if (clippingParent === 'viewport') {\n return rectToClientRect(getViewportRect(element));\n }\n\n if (isElement(clippingParent)) {\n return getInnerBoundingClientRect(clippingParent);\n }\n\n return rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n const clippingParents = getScrollParents(getParentNode(element));\n const canEscapeClipping = ['absolute', 'fixed'].includes(getComputedStyle$1(element).position);\n const clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // @ts-ignore isElement check ensures we return Array\n\n\n return clippingParents.filter(clippingParent => isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body');\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nfunction getClippingClientRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary\n } = _ref;\n const mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromClippingParent(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingParent(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}\n\nconst platform = {\n getElementRects: _ref => {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n return {\n reference: getRectRelativeToOffsetParent(reference, getOffsetParent(floating), strategy),\n floating: { ...getDimensions(floating),\n x: 0,\n y: 0\n }\n };\n },\n convertOffsetParentRelativeRectToViewportRelativeRect: args => convertOffsetParentRelativeRectToViewportRelativeRect(args),\n getOffsetParent: _ref2 => {\n let {\n element\n } = _ref2;\n return getOffsetParent(element);\n },\n isElement: value => isElement(value),\n getDocumentElement: _ref3 => {\n let {\n element\n } = _ref3;\n return getDocumentElement(element);\n },\n getClippingClientRect: args => getClippingClientRect(args),\n getDimensions: _ref4 => {\n let {\n element\n } = _ref4;\n return getDimensions(element);\n },\n getClientRects: _ref5 => {\n let {\n element\n } = _ref5;\n return element.getClientRects();\n }\n};\n\nconst computePosition = (reference, floating, options) => computePosition$1(reference, floating, {\n platform,\n ...options\n});\n\nexport { computePosition, getScrollParents };\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nimport { offset, autoPlacement, shift, flip, arrow, size, computePosition, getScrollParents } from \"@floating-ui/dom\";\nimport Vue from \"vue\";\nfunction assign(to, from) {\n for (const key in from) {\n if (Object.prototype.hasOwnProperty.call(from, key)) {\n if (typeof from[key] === \"object\" && to[key]) {\n assign(to[key], from[key]);\n } else {\n to[key] = from[key];\n }\n }\n }\n}\nconst config = {\n disabled: false,\n distance: 5,\n skidding: 0,\n container: \"body\",\n boundary: void 0,\n instantMove: false,\n disposeTimeout: 5e3,\n popperTriggers: [],\n strategy: \"absolute\",\n preventOverflow: true,\n flip: true,\n shift: true,\n overflowPadding: 0,\n arrowPadding: 0,\n arrowOverflow: true,\n themes: {\n tooltip: {\n placement: \"top\",\n triggers: [\"hover\", \"focus\", \"touch\"],\n hideTriggers: (events) => [...events, \"click\"],\n delay: {\n show: 200,\n hide: 0\n },\n handleResize: false,\n html: false,\n loadingContent: \"...\"\n },\n dropdown: {\n placement: \"bottom\",\n triggers: [\"click\"],\n delay: 0,\n handleResize: true,\n autoHide: true\n },\n menu: {\n $extend: \"dropdown\",\n triggers: [\"hover\", \"focus\"],\n popperTriggers: [\"hover\", \"focus\"],\n delay: {\n show: 0,\n hide: 400\n }\n }\n }\n};\nfunction getDefaultConfig(theme, key) {\n let themeConfig = config.themes[theme] || {};\n let value;\n do {\n value = themeConfig[key];\n if (typeof value === \"undefined\") {\n if (themeConfig.$extend) {\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n value = config[key];\n }\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return value;\n}\nfunction getThemeClasses(theme) {\n const result = [theme];\n let themeConfig = config.themes[theme] || {};\n do {\n if (themeConfig.$extend && !themeConfig.$resetCss) {\n result.push(themeConfig.$extend);\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return result.map((c) => `v-popper--theme-${c}`);\n}\nfunction getAllParentThemes(theme) {\n const result = [theme];\n let themeConfig = config.themes[theme] || {};\n do {\n if (themeConfig.$extend) {\n result.push(themeConfig.$extend);\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return result;\n}\nvar vueResize = \"\";\nlet supportsPassive = false;\nif (typeof window !== \"undefined\") {\n supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, \"passive\", {\n get() {\n supportsPassive = true;\n }\n });\n window.addEventListener(\"test\", null, opts);\n } catch (e) {\n }\n}\nlet isIOS = false;\nif (typeof window !== \"undefined\" && typeof navigator !== \"undefined\") {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\nconst placements = [\"auto\", \"top\", \"bottom\", \"left\", \"right\"].reduce((acc, base) => acc.concat([\n base,\n `${base}-start`,\n `${base}-end`\n]), []);\nconst SHOW_EVENT_MAP = {\n hover: \"mouseenter\",\n focus: \"focus\",\n click: \"click\",\n touch: \"touchstart\"\n};\nconst HIDE_EVENT_MAP = {\n hover: \"mouseleave\",\n focus: \"blur\",\n click: \"click\",\n touch: \"touchend\"\n};\nfunction removeFromArray(array, item) {\n const index = array.indexOf(item);\n if (index !== -1) {\n array.splice(index, 1);\n }\n}\nfunction nextFrame() {\n return new Promise((resolve) => requestAnimationFrame(() => {\n requestAnimationFrame(resolve);\n }));\n}\nconst shownPoppers = [];\nlet hidingPopper = null;\nconst shownPoppersByTheme = {};\nfunction getShownPoppersByTheme(theme) {\n let list = shownPoppersByTheme[theme];\n if (!list) {\n list = shownPoppersByTheme[theme] = [];\n }\n return list;\n}\nlet Element = function() {\n};\nif (typeof window !== \"undefined\") {\n Element = window.Element;\n}\nfunction defaultPropFactory(prop) {\n return function() {\n const props = this.$props;\n return getDefaultConfig(props.theme, prop);\n };\n}\nconst PROVIDE_KEY = \"__floating-vue__popper\";\nvar PrivatePopper = () => ({\n name: \"VPopper\",\n props: {\n theme: {\n type: String,\n required: true\n },\n targetNodes: {\n type: Function,\n required: true\n },\n referenceNode: {\n type: Function,\n required: true\n },\n popperNode: {\n type: Function,\n required: true\n },\n shown: {\n type: Boolean,\n default: false\n },\n showGroup: {\n type: String,\n default: null\n },\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: defaultPropFactory(\"disabled\")\n },\n positioningDisabled: {\n type: Boolean,\n default: defaultPropFactory(\"positioningDisabled\")\n },\n placement: {\n type: String,\n default: defaultPropFactory(\"placement\"),\n validator: (value) => placements.includes(value)\n },\n delay: {\n type: [String, Number, Object],\n default: defaultPropFactory(\"delay\")\n },\n distance: {\n type: [Number, String],\n default: defaultPropFactory(\"distance\")\n },\n skidding: {\n type: [Number, String],\n default: defaultPropFactory(\"skidding\")\n },\n triggers: {\n type: Array,\n default: defaultPropFactory(\"triggers\")\n },\n showTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"showTriggers\")\n },\n hideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"hideTriggers\")\n },\n popperTriggers: {\n type: Array,\n default: defaultPropFactory(\"popperTriggers\")\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperShowTriggers\")\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperHideTriggers\")\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: defaultPropFactory(\"container\")\n },\n boundary: {\n type: [String, Element],\n default: defaultPropFactory(\"boundary\")\n },\n strategy: {\n type: String,\n validator: (value) => [\"absolute\", \"fixed\"].includes(value),\n default: defaultPropFactory(\"strategy\")\n },\n autoHide: {\n type: [Boolean, Function],\n default: defaultPropFactory(\"autoHide\")\n },\n handleResize: {\n type: Boolean,\n default: defaultPropFactory(\"handleResize\")\n },\n instantMove: {\n type: Boolean,\n default: defaultPropFactory(\"instantMove\")\n },\n eagerMount: {\n type: Boolean,\n default: defaultPropFactory(\"eagerMount\")\n },\n popperClass: {\n type: [String, Array, Object],\n default: defaultPropFactory(\"popperClass\")\n },\n computeTransformOrigin: {\n type: Boolean,\n default: defaultPropFactory(\"computeTransformOrigin\")\n },\n autoMinSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMinSize\")\n },\n autoSize: {\n type: [Boolean, String],\n default: defaultPropFactory(\"autoSize\")\n },\n autoMaxSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMaxSize\")\n },\n autoBoundaryMaxSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoBoundaryMaxSize\")\n },\n preventOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"preventOverflow\")\n },\n overflowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"overflowPadding\")\n },\n arrowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"arrowPadding\")\n },\n arrowOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"arrowOverflow\")\n },\n flip: {\n type: Boolean,\n default: defaultPropFactory(\"flip\")\n },\n shift: {\n type: Boolean,\n default: defaultPropFactory(\"shift\")\n },\n shiftCrossAxis: {\n type: Boolean,\n default: defaultPropFactory(\"shiftCrossAxis\")\n },\n noAutoFocus: {\n type: Boolean,\n default: defaultPropFactory(\"noAutoFocus\")\n }\n },\n provide() {\n return {\n [PROVIDE_KEY]: {\n parentPopper: this\n }\n };\n },\n inject: {\n [PROVIDE_KEY]: { default: null }\n },\n data() {\n return {\n isShown: false,\n isMounted: false,\n skipTransition: false,\n classes: {\n showFrom: false,\n showTo: false,\n hideFrom: false,\n hideTo: true\n },\n result: {\n x: 0,\n y: 0,\n placement: \"\",\n strategy: this.strategy,\n arrow: {\n x: 0,\n y: 0,\n centerOffset: 0\n },\n transformOrigin: null\n },\n shownChildren: /* @__PURE__ */ new Set(),\n lastAutoHide: true\n };\n },\n computed: {\n popperId() {\n return this.ariaId != null ? this.ariaId : this.randomId;\n },\n shouldMountContent() {\n return this.eagerMount || this.isMounted;\n },\n slotData() {\n return {\n popperId: this.popperId,\n isShown: this.isShown,\n shouldMountContent: this.shouldMountContent,\n skipTransition: this.skipTransition,\n autoHide: typeof this.autoHide === \"function\" ? this.lastAutoHide : this.autoHide,\n show: this.show,\n hide: this.hide,\n handleResize: this.handleResize,\n onResize: this.onResize,\n classes: __spreadProps(__spreadValues({}, this.classes), {\n popperClass: this.popperClass\n }),\n result: this.positioningDisabled ? null : this.result\n };\n },\n parentPopper() {\n var _a;\n return (_a = this[PROVIDE_KEY]) == null ? void 0 : _a.parentPopper;\n },\n hasPopperShowTriggerHover() {\n var _a, _b;\n return ((_a = this.popperTriggers) == null ? void 0 : _a.includes(\"hover\")) || ((_b = this.popperShowTriggers) == null ? void 0 : _b.includes(\"hover\"));\n }\n },\n watch: __spreadValues(__spreadValues({\n shown: \"$_autoShowHide\",\n disabled(value) {\n if (value) {\n this.dispose();\n } else {\n this.init();\n }\n },\n async container() {\n if (this.isShown) {\n this.$_ensureTeleport();\n await this.$_computePosition();\n }\n }\n }, [\n \"triggers\",\n \"positioningDisabled\"\n ].reduce((acc, prop) => {\n acc[prop] = \"$_refreshListeners\";\n return acc;\n }, {})), [\n \"placement\",\n \"distance\",\n \"skidding\",\n \"boundary\",\n \"strategy\",\n \"overflowPadding\",\n \"arrowPadding\",\n \"preventOverflow\",\n \"shift\",\n \"shiftCrossAxis\",\n \"flip\"\n ].reduce((acc, prop) => {\n acc[prop] = \"$_computePosition\";\n return acc;\n }, {})),\n created() {\n this.$_isDisposed = true;\n this.randomId = `popper_${[Math.random(), Date.now()].map((n) => n.toString(36).substring(2, 10)).join(\"_\")}`;\n if (this.autoMinSize) {\n console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize=\"min\"` instead.');\n }\n if (this.autoMaxSize) {\n console.warn(\"[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.\");\n }\n },\n mounted() {\n this.init();\n this.$_detachPopperNode();\n },\n activated() {\n this.$_autoShowHide();\n },\n deactivated() {\n this.hide();\n },\n beforeDestroy() {\n this.dispose();\n },\n methods: {\n show({ event = null, skipDelay = false, force = false } = {}) {\n var _a, _b;\n if (((_a = this.parentPopper) == null ? void 0 : _a.lockedChild) && this.parentPopper.lockedChild !== this)\n return;\n this.$_pendingHide = false;\n if (force || !this.disabled) {\n if (((_b = this.parentPopper) == null ? void 0 : _b.lockedChild) === this) {\n this.parentPopper.lockedChild = null;\n }\n this.$_scheduleShow(event, skipDelay);\n this.$emit(\"show\");\n this.$_showFrameLocked = true;\n requestAnimationFrame(() => {\n this.$_showFrameLocked = false;\n });\n }\n this.$emit(\"update:shown\", true);\n },\n hide({ event = null, skipDelay = false, skipAiming = false } = {}) {\n var _a;\n if (this.$_hideInProgress)\n return;\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n return;\n }\n if (!skipAiming && this.hasPopperShowTriggerHover && this.$_isAimingPopper()) {\n if (this.parentPopper) {\n this.parentPopper.lockedChild = this;\n clearTimeout(this.parentPopper.lockedChildTimer);\n this.parentPopper.lockedChildTimer = setTimeout(() => {\n if (this.parentPopper.lockedChild === this) {\n this.parentPopper.lockedChild.hide({ skipDelay });\n this.parentPopper.lockedChild = null;\n }\n }, 1e3);\n }\n return;\n }\n if (((_a = this.parentPopper) == null ? void 0 : _a.lockedChild) === this) {\n this.parentPopper.lockedChild = null;\n }\n this.$_pendingHide = false;\n this.$_scheduleHide(event, skipDelay);\n this.$emit(\"hide\");\n this.$emit(\"update:shown\", false);\n },\n init() {\n if (!this.$_isDisposed)\n return;\n this.$_isDisposed = false;\n this.isMounted = false;\n this.$_events = [];\n this.$_preventShow = false;\n this.$_referenceNode = this.referenceNode();\n this.$_targetNodes = this.targetNodes().filter((e) => e.nodeType === e.ELEMENT_NODE);\n this.$_popperNode = this.popperNode();\n this.$_innerNode = this.$_popperNode.querySelector(\".v-popper__inner\");\n this.$_arrowNode = this.$_popperNode.querySelector(\".v-popper__arrow-container\");\n this.$_swapTargetAttrs(\"title\", \"data-original-title\");\n this.$_detachPopperNode();\n if (this.triggers.length) {\n this.$_addEventListeners();\n }\n if (this.shown) {\n this.show();\n }\n },\n dispose() {\n if (this.$_isDisposed)\n return;\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({ skipDelay: true });\n this.$_detachPopperNode();\n this.isMounted = false;\n this.isShown = false;\n this.$_updateParentShownChildren(false);\n this.$_swapTargetAttrs(\"data-original-title\", \"title\");\n this.$emit(\"dispose\");\n },\n async onResize() {\n if (this.isShown) {\n await this.$_computePosition();\n this.$emit(\"resize\");\n }\n },\n async $_computePosition() {\n var _a;\n if (this.$_isDisposed || this.positioningDisabled)\n return;\n const options2 = {\n strategy: this.strategy,\n middleware: []\n };\n if (this.distance || this.skidding) {\n options2.middleware.push(offset({\n mainAxis: this.distance,\n crossAxis: this.skidding\n }));\n }\n const isPlacementAuto = this.placement.startsWith(\"auto\");\n if (isPlacementAuto) {\n options2.middleware.push(autoPlacement({\n alignment: (_a = this.placement.split(\"-\")[1]) != null ? _a : \"\"\n }));\n } else {\n options2.placement = this.placement;\n }\n if (this.preventOverflow) {\n if (this.shift) {\n options2.middleware.push(shift({\n padding: this.overflowPadding,\n boundary: this.boundary,\n crossAxis: this.shiftCrossAxis\n }));\n }\n if (!isPlacementAuto && this.flip) {\n options2.middleware.push(flip({\n padding: this.overflowPadding,\n boundary: this.boundary\n }));\n }\n }\n options2.middleware.push(arrow({\n element: this.$_arrowNode,\n padding: this.arrowPadding\n }));\n if (this.arrowOverflow) {\n options2.middleware.push({\n name: \"arrowOverflow\",\n fn: ({ placement, rects, middlewareData }) => {\n let overflow;\n const { centerOffset } = middlewareData.arrow;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n overflow = Math.abs(centerOffset) > rects.reference.width / 2;\n } else {\n overflow = Math.abs(centerOffset) > rects.reference.height / 2;\n }\n return {\n data: {\n overflow\n }\n };\n }\n });\n }\n if (this.autoMinSize || this.autoSize) {\n const autoSize = this.autoSize ? this.autoSize : this.autoMinSize ? \"min\" : null;\n options2.middleware.push({\n name: \"autoSize\",\n fn: ({ rects, placement, middlewareData }) => {\n var _a2;\n if ((_a2 = middlewareData.autoSize) == null ? void 0 : _a2.skip) {\n return {};\n }\n let width;\n let height;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n width = rects.reference.width;\n } else {\n height = rects.reference.height;\n }\n this.$_innerNode.style[autoSize === \"min\" ? \"minWidth\" : autoSize === \"max\" ? \"maxWidth\" : \"width\"] = width != null ? `${width}px` : null;\n this.$_innerNode.style[autoSize === \"min\" ? \"minHeight\" : autoSize === \"max\" ? \"maxHeight\" : \"height\"] = height != null ? `${height}px` : null;\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n });\n }\n if (this.autoMaxSize || this.autoBoundaryMaxSize) {\n this.$_innerNode.style.maxWidth = null;\n this.$_innerNode.style.maxHeight = null;\n options2.middleware.push(size({\n boundary: this.boundary,\n padding: this.overflowPadding,\n apply: ({ width, height }) => {\n this.$_innerNode.style.maxWidth = width != null ? `${width}px` : null;\n this.$_innerNode.style.maxHeight = height != null ? `${height}px` : null;\n }\n }));\n }\n const data = await computePosition(this.$_referenceNode, this.$_popperNode, options2);\n Object.assign(this.result, {\n x: data.x,\n y: data.y,\n placement: data.placement,\n strategy: data.strategy,\n arrow: __spreadValues(__spreadValues({}, data.middlewareData.arrow), data.middlewareData.arrowOverflow)\n });\n },\n $_scheduleShow(event = null, skipDelay = false) {\n this.$_updateParentShownChildren(true);\n this.$_hideInProgress = false;\n clearTimeout(this.$_scheduleTimer);\n if (hidingPopper && this.instantMove && hidingPopper.instantMove && hidingPopper !== this.parentPopper) {\n hidingPopper.$_applyHide(true);\n this.$_applyShow(true);\n return;\n }\n if (skipDelay) {\n this.$_applyShow();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyShow.bind(this), this.$_computeDelay(\"show\"));\n }\n },\n $_scheduleHide(event = null, skipDelay = false) {\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n return;\n }\n this.$_updateParentShownChildren(false);\n this.$_hideInProgress = true;\n clearTimeout(this.$_scheduleTimer);\n if (this.isShown) {\n hidingPopper = this;\n }\n if (skipDelay) {\n this.$_applyHide();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyHide.bind(this), this.$_computeDelay(\"hide\"));\n }\n },\n $_computeDelay(type) {\n const delay = this.delay;\n return parseInt(delay && delay[type] || delay || 0);\n },\n async $_applyShow(skipTransition = false) {\n clearTimeout(this.$_disposeTimer);\n clearTimeout(this.$_scheduleTimer);\n this.skipTransition = skipTransition;\n if (this.isShown) {\n return;\n }\n this.$_ensureTeleport();\n await nextFrame();\n await this.$_computePosition();\n await this.$_applyShowEffect();\n if (!this.positioningDisabled) {\n this.$_registerEventListeners([\n ...getScrollParents(this.$_referenceNode),\n ...getScrollParents(this.$_popperNode)\n ], \"scroll\", () => {\n this.$_computePosition();\n });\n }\n },\n async $_applyShowEffect() {\n if (this.$_hideInProgress)\n return;\n if (this.computeTransformOrigin) {\n const bounds = this.$_referenceNode.getBoundingClientRect();\n const popperWrapper = this.$_popperNode.querySelector(\".v-popper__wrapper\");\n const parentBounds = popperWrapper.parentNode.getBoundingClientRect();\n const x = bounds.x + bounds.width / 2 - (parentBounds.left + popperWrapper.offsetLeft);\n const y = bounds.y + bounds.height / 2 - (parentBounds.top + popperWrapper.offsetTop);\n this.result.transformOrigin = `${x}px ${y}px`;\n }\n this.isShown = true;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": this.popperId,\n \"data-popper-shown\": \"\"\n });\n const showGroup = this.showGroup;\n if (showGroup) {\n let popover;\n for (let i = 0; i < shownPoppers.length; i++) {\n popover = shownPoppers[i];\n if (popover.showGroup !== showGroup) {\n popover.hide();\n popover.$emit(\"close-group\");\n }\n }\n }\n shownPoppers.push(this);\n document.body.classList.add(\"v-popper--some-open\");\n for (const theme of getAllParentThemes(this.theme)) {\n getShownPoppersByTheme(theme).push(this);\n document.body.classList.add(`v-popper--some-open--${theme}`);\n }\n this.$emit(\"apply-show\");\n this.classes.showFrom = true;\n this.classes.showTo = false;\n this.classes.hideFrom = false;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.showFrom = false;\n this.classes.showTo = true;\n if (!this.noAutoFocus)\n this.$_popperNode.focus();\n },\n async $_applyHide(skipTransition = false) {\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n this.$_hideInProgress = false;\n return;\n }\n clearTimeout(this.$_scheduleTimer);\n if (!this.isShown) {\n return;\n }\n this.skipTransition = skipTransition;\n removeFromArray(shownPoppers, this);\n if (shownPoppers.length === 0) {\n document.body.classList.remove(\"v-popper--some-open\");\n }\n for (const theme of getAllParentThemes(this.theme)) {\n const list = getShownPoppersByTheme(theme);\n removeFromArray(list, this);\n if (list.length === 0) {\n document.body.classList.remove(`v-popper--some-open--${theme}`);\n }\n }\n if (hidingPopper === this) {\n hidingPopper = null;\n }\n this.isShown = false;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": void 0,\n \"data-popper-shown\": void 0\n });\n clearTimeout(this.$_disposeTimer);\n const disposeTime = getDefaultConfig(this.theme, \"disposeTimeout\");\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(() => {\n if (this.$_popperNode) {\n this.$_detachPopperNode();\n this.isMounted = false;\n }\n }, disposeTime);\n }\n this.$_removeEventListeners(\"scroll\");\n this.$emit(\"apply-hide\");\n this.classes.showFrom = false;\n this.classes.showTo = false;\n this.classes.hideFrom = true;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.hideFrom = false;\n this.classes.hideTo = true;\n },\n $_autoShowHide() {\n if (this.shown) {\n this.show();\n } else {\n this.hide();\n }\n },\n $_ensureTeleport() {\n if (this.$_isDisposed)\n return;\n let container = this.container;\n if (typeof container === \"string\") {\n container = window.document.querySelector(container);\n } else if (container === false) {\n container = this.$_targetNodes[0].parentNode;\n }\n if (!container) {\n throw new Error(\"No container for popover: \" + this.container);\n }\n container.appendChild(this.$_popperNode);\n this.isMounted = true;\n },\n $_addEventListeners() {\n const handleShow = (event) => {\n if (this.isShown && !this.$_hideInProgress) {\n return;\n }\n event.usedByTooltip = true;\n !this.$_preventShow && this.show({ event });\n };\n this.$_registerTriggerListeners(this.$_targetNodes, SHOW_EVENT_MAP, this.triggers, this.showTriggers, handleShow);\n this.$_registerTriggerListeners([this.$_popperNode], SHOW_EVENT_MAP, this.popperTriggers, this.popperShowTriggers, handleShow);\n const handleHide = (skipAiming) => (event) => {\n if (event.usedByTooltip) {\n return;\n }\n this.hide({ event, skipAiming });\n };\n this.$_registerTriggerListeners(this.$_targetNodes, HIDE_EVENT_MAP, this.triggers, this.hideTriggers, handleHide(false));\n this.$_registerTriggerListeners([this.$_popperNode], HIDE_EVENT_MAP, this.popperTriggers, this.popperHideTriggers, handleHide(true));\n },\n $_registerEventListeners(targetNodes, eventType, handler) {\n this.$_events.push({ targetNodes, eventType, handler });\n targetNodes.forEach((node) => node.addEventListener(eventType, handler, supportsPassive ? {\n passive: true\n } : void 0));\n },\n $_registerTriggerListeners(targetNodes, eventMap, commonTriggers, customTrigger, handler) {\n let triggers = commonTriggers;\n if (customTrigger != null) {\n triggers = typeof customTrigger === \"function\" ? customTrigger(triggers) : customTrigger;\n }\n triggers.forEach((trigger) => {\n const eventType = eventMap[trigger];\n if (eventType) {\n this.$_registerEventListeners(targetNodes, eventType, handler);\n }\n });\n },\n $_removeEventListeners(filterEventType) {\n const newList = [];\n this.$_events.forEach((listener) => {\n const { targetNodes, eventType, handler } = listener;\n if (!filterEventType || filterEventType === eventType) {\n targetNodes.forEach((node) => node.removeEventListener(eventType, handler));\n } else {\n newList.push(listener);\n }\n });\n this.$_events = newList;\n },\n $_refreshListeners() {\n if (!this.$_isDisposed) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n }\n },\n $_handleGlobalClose(event, touch = false) {\n if (this.$_showFrameLocked)\n return;\n this.hide({ event });\n if (event.closePopover) {\n this.$emit(\"close-directive\");\n } else {\n this.$emit(\"auto-hide\");\n }\n if (touch) {\n this.$_preventShow = true;\n setTimeout(() => {\n this.$_preventShow = false;\n }, 300);\n }\n },\n $_detachPopperNode() {\n this.$_popperNode.parentNode && this.$_popperNode.parentNode.removeChild(this.$_popperNode);\n },\n $_swapTargetAttrs(attrFrom, attrTo) {\n for (const el of this.$_targetNodes) {\n const value = el.getAttribute(attrFrom);\n if (value) {\n el.removeAttribute(attrFrom);\n el.setAttribute(attrTo, value);\n }\n }\n },\n $_applyAttrsToTarget(attrs) {\n for (const el of this.$_targetNodes) {\n for (const n in attrs) {\n const value = attrs[n];\n if (value == null) {\n el.removeAttribute(n);\n } else {\n el.setAttribute(n, value);\n }\n }\n }\n },\n $_updateParentShownChildren(value) {\n let parent = this.parentPopper;\n while (parent) {\n if (value) {\n parent.shownChildren.add(this.randomId);\n } else {\n parent.shownChildren.delete(this.randomId);\n if (parent.$_pendingHide) {\n parent.hide();\n }\n }\n parent = parent.parentPopper;\n }\n },\n $_isAimingPopper() {\n const referenceBounds = this.$el.getBoundingClientRect();\n if (mouseX >= referenceBounds.left && mouseX <= referenceBounds.right && mouseY >= referenceBounds.top && mouseY <= referenceBounds.bottom) {\n const popperBounds = this.$_popperNode.getBoundingClientRect();\n const vectorX = mouseX - mousePreviousX;\n const vectorY = mouseY - mousePreviousY;\n const distance = popperBounds.left + popperBounds.width / 2 - mousePreviousX + (popperBounds.top + popperBounds.height / 2) - mousePreviousY;\n const newVectorLength = distance + popperBounds.width + popperBounds.height;\n const edgeX = mousePreviousX + vectorX * newVectorLength;\n const edgeY = mousePreviousY + vectorY * newVectorLength;\n return lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.top, popperBounds.left, popperBounds.bottom) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.top, popperBounds.right, popperBounds.top) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.right, popperBounds.top, popperBounds.right, popperBounds.bottom) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.bottom, popperBounds.right, popperBounds.bottom);\n }\n return false;\n }\n },\n render() {\n return this.$scopedSlots.default(this.slotData)[0];\n }\n});\nif (typeof document !== \"undefined\" && typeof window !== \"undefined\") {\n if (isIOS) {\n document.addEventListener(\"touchstart\", handleGlobalMousedown, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n document.addEventListener(\"touchend\", handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener(\"mousedown\", handleGlobalMousedown, true);\n window.addEventListener(\"click\", handleGlobalClick, true);\n }\n window.addEventListener(\"resize\", computePositionAllShownPoppers);\n}\nfunction handleGlobalMousedown(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n try {\n const popperContent = popper.popperNode();\n popper.$_mouseDownContains = popperContent.contains(event.target);\n } catch (e) {\n }\n }\n}\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\nfunction handleGlobalClose(event, touch = false) {\n const preventClose = {};\n for (let i = shownPoppers.length - 1; i >= 0; i--) {\n const popper = shownPoppers[i];\n try {\n const contains = popper.$_containsGlobalTarget = isContainingEventTarget(popper, event);\n popper.$_pendingHide = false;\n requestAnimationFrame(() => {\n popper.$_pendingHide = false;\n if (preventClose[popper.randomId])\n return;\n if (shouldAutoHide(popper, contains, event)) {\n popper.$_handleGlobalClose(event, touch);\n if (!event.closeAllPopover && event.closePopover && contains) {\n let parent2 = popper.parentPopper;\n while (parent2) {\n preventClose[parent2.randomId] = true;\n parent2 = parent2.parentPopper;\n }\n return;\n }\n let parent = popper.parentPopper;\n while (parent) {\n if (shouldAutoHide(parent, parent.$_containsGlobalTarget, event)) {\n parent.$_handleGlobalClose(event, touch);\n } else {\n break;\n }\n parent = parent.parentPopper;\n }\n }\n });\n } catch (e) {\n }\n }\n}\nfunction isContainingEventTarget(popper, event) {\n const popperContent = popper.popperNode();\n return popper.$_mouseDownContains || popperContent.contains(event.target);\n}\nfunction shouldAutoHide(popper, contains, event) {\n return event.closeAllPopover || event.closePopover && contains || getAutoHideResult(popper, event) && !contains;\n}\nfunction getAutoHideResult(popper, event) {\n if (typeof popper.autoHide === \"function\") {\n const result = popper.autoHide(event);\n popper.lastAutoHide = result;\n return result;\n }\n return popper.autoHide;\n}\nfunction computePositionAllShownPoppers(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.$_computePosition(event);\n }\n}\nfunction hideAllPoppers() {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.hide();\n }\n}\nlet mousePreviousX = 0;\nlet mousePreviousY = 0;\nlet mouseX = 0;\nlet mouseY = 0;\nif (typeof window !== \"undefined\") {\n window.addEventListener(\"mousemove\", (event) => {\n mousePreviousX = mouseX;\n mousePreviousY = mouseY;\n mouseX = event.clientX;\n mouseY = event.clientY;\n }, supportsPassive ? {\n passive: true\n } : void 0);\n}\nfunction lineIntersectsLine(x1, y1, x2, y2, x3, y3, x4, y4) {\n const uA = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / ((y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1));\n const uB = ((x2 - x1) * (y1 - y3) - (y2 - y1) * (x1 - x3)) / ((y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1));\n return uA >= 0 && uA <= 1 && uB >= 0 && uB <= 1;\n}\nfunction getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf(\"MSIE \");\n if (msie > 0) {\n return parseInt(ua.substring(msie + 5, ua.indexOf(\".\", msie)), 10);\n }\n var trident = ua.indexOf(\"Trident/\");\n if (trident > 0) {\n var rv = ua.indexOf(\"rv:\");\n return parseInt(ua.substring(rv + 3, ua.indexOf(\".\", rv)), 10);\n }\n var edge = ua.indexOf(\"Edge/\");\n if (edge > 0) {\n return parseInt(ua.substring(edge + 5, ua.indexOf(\".\", edge)), 10);\n }\n return -1;\n}\nvar isIE;\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\nvar script = {\n name: \"ResizeObserver\",\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted() {\n var _this = this;\n initCompat();\n this.$nextTick(function() {\n _this._w = _this.$el.offsetWidth;\n _this._h = _this.$el.offsetHeight;\n if (_this.emitOnMount) {\n _this.emitSize();\n }\n });\n var object = document.createElement(\"object\");\n this._resizeObject = object;\n object.setAttribute(\"aria-hidden\", \"true\");\n object.setAttribute(\"tabindex\", -1);\n object.onload = this.addResizeHandlers;\n object.type = \"text/html\";\n if (isIE) {\n this.$el.appendChild(object);\n }\n object.data = \"about:blank\";\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify: function compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize: function emitSize() {\n this.$emit(\"notify\", {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers: function addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\", this.compareAndNotify);\n this.compareAndNotify();\n },\n removeResizeHandlers: function removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\", this.compareAndNotify);\n }\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\nfunction normalizeComponent$1(template, style, script2, scopeId, isFunctionalTemplate, moduleIdentifier, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== \"boolean\") {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n }\n var options2 = typeof script2 === \"function\" ? script2.options : script2;\n if (template && template.render) {\n options2.render = template.render;\n options2.staticRenderFns = template.staticRenderFns;\n options2._compiled = true;\n if (isFunctionalTemplate) {\n options2.functional = true;\n }\n }\n if (scopeId) {\n options2._scopeId = scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function hook2(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (style) {\n style.call(this, createInjectorSSR(context));\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options2._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function(context) {\n style.call(this, createInjector(context));\n };\n }\n if (hook) {\n if (options2.functional) {\n var originalRender = options2.render;\n options2.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options2.beforeCreate;\n options2.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return script2;\n}\nvar __vue_script__ = script;\nvar __vue_render__ = function __vue_render__2() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", {\n staticClass: \"resize-observer\",\n attrs: {\n tabindex: \"-1\"\n }\n });\n};\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\nvar __vue_inject_styles__ = void 0;\nvar __vue_scope_id__ = \"data-v-8859cc6c\";\nvar __vue_module_identifier__ = void 0;\nvar __vue_is_functional_template__ = false;\nvar __vue_component__ = /* @__PURE__ */ normalizeComponent$1({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, void 0, void 0, void 0);\nfunction install$1(Vue2) {\n Vue2.component(\"resize-observer\", __vue_component__);\n Vue2.component(\"ResizeObserver\", __vue_component__);\n}\nvar plugin$1 = {\n version: \"1.0.1\",\n install: install$1\n};\nvar GlobalVue$1 = null;\nif (typeof window !== \"undefined\") {\n GlobalVue$1 = window.Vue;\n} else if (typeof global !== \"undefined\") {\n GlobalVue$1 = global.Vue;\n}\nif (GlobalVue$1) {\n GlobalVue$1.use(plugin$1);\n}\nvar PrivateThemeClass = {\n computed: {\n themeClass() {\n return getThemeClasses(this.theme);\n }\n }\n};\nvar __vue2_script$5 = {\n name: \"VPopperContent\",\n components: {\n ResizeObserver: __vue_component__\n },\n mixins: [\n PrivateThemeClass\n ],\n props: {\n popperId: String,\n theme: String,\n shown: Boolean,\n mounted: Boolean,\n skipTransition: Boolean,\n autoHide: Boolean,\n handleResize: Boolean,\n classes: Object,\n result: Object\n },\n methods: {\n toPx(value) {\n if (value != null && !isNaN(value)) {\n return `${value}px`;\n }\n return null;\n }\n }\n};\nvar render$2 = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", { ref: \"popover\", staticClass: \"v-popper__popper\", class: [\n _vm.themeClass,\n _vm.classes.popperClass,\n {\n \"v-popper__popper--shown\": _vm.shown,\n \"v-popper__popper--hidden\": !_vm.shown,\n \"v-popper__popper--show-from\": _vm.classes.showFrom,\n \"v-popper__popper--show-to\": _vm.classes.showTo,\n \"v-popper__popper--hide-from\": _vm.classes.hideFrom,\n \"v-popper__popper--hide-to\": _vm.classes.hideTo,\n \"v-popper__popper--skip-transition\": _vm.skipTransition,\n \"v-popper__popper--arrow-overflow\": _vm.result && _vm.result.arrow.overflow,\n \"v-popper__popper--no-positioning\": !_vm.result\n }\n ], style: _vm.result ? {\n position: _vm.result.strategy,\n transform: \"translate3d(\" + Math.round(_vm.result.x) + \"px,\" + Math.round(_vm.result.y) + \"px,0)\"\n } : void 0, attrs: { \"id\": _vm.popperId, \"aria-hidden\": _vm.shown ? \"false\" : \"true\", \"tabindex\": _vm.autoHide ? 0 : void 0, \"data-popper-placement\": _vm.result ? _vm.result.placement : void 0 }, on: { \"keyup\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }\n _vm.autoHide && _vm.$emit(\"hide\");\n } } }, [_c(\"div\", { staticClass: \"v-popper__backdrop\", on: { \"click\": function($event) {\n _vm.autoHide && _vm.$emit(\"hide\");\n } } }), _c(\"div\", { staticClass: \"v-popper__wrapper\", style: _vm.result ? {\n transformOrigin: _vm.result.transformOrigin\n } : void 0 }, [_c(\"div\", { ref: \"inner\", staticClass: \"v-popper__inner\" }, [_vm.mounted ? [_c(\"div\", [_vm._t(\"default\")], 2), _vm.handleResize ? _c(\"ResizeObserver\", { on: { \"notify\": function($event) {\n return _vm.$emit(\"resize\", $event);\n } } }) : _vm._e()] : _vm._e()], 2), _c(\"div\", { ref: \"arrow\", staticClass: \"v-popper__arrow-container\", style: _vm.result ? {\n left: _vm.toPx(_vm.result.arrow.x),\n top: _vm.toPx(_vm.result.arrow.y)\n } : void 0 }, [_c(\"div\", { staticClass: \"v-popper__arrow-outer\" }), _c(\"div\", { staticClass: \"v-popper__arrow-inner\" })])])]);\n};\nvar staticRenderFns$2 = [];\nvar PopperContent_vue_vue_type_style_index_0_lang = \"\";\nfunction normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options2 = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render2) {\n options2.render = render2;\n options2.staticRenderFns = staticRenderFns2;\n options2._compiled = true;\n }\n if (functionalTemplate) {\n options2.functional = true;\n }\n if (scopeId) {\n options2._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options2._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(this, (options2.functional ? this.parent : this).$root.$options.shadowRoot);\n } : injectStyles;\n }\n if (hook) {\n if (options2.functional) {\n options2._injectStyles = hook;\n var originalRender = options2.render;\n options2.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options2.beforeCreate;\n options2.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options: options2\n };\n}\nconst __cssModules$5 = {};\nvar __component__$5 = /* @__PURE__ */ normalizeComponent(__vue2_script$5, render$2, staticRenderFns$2, false, __vue2_injectStyles$5, null, null, null);\nfunction __vue2_injectStyles$5(context) {\n for (let o in __cssModules$5) {\n this[o] = __cssModules$5[o];\n }\n}\nvar PrivatePopperContent = /* @__PURE__ */ function() {\n return __component__$5.exports;\n}();\nvar PrivatePopperMethods = {\n methods: {\n show(...args) {\n return this.$refs.popper.show(...args);\n },\n hide(...args) {\n return this.$refs.popper.hide(...args);\n },\n dispose(...args) {\n return this.$refs.popper.dispose(...args);\n },\n onResize(...args) {\n return this.$refs.popper.onResize(...args);\n }\n }\n};\nvar __vue2_script$4 = {\n name: \"VPopperWrapper\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods,\n PrivateThemeClass\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default() {\n return this.$options.vPopperTheme;\n }\n }\n },\n methods: {\n getTargetNodes() {\n return Array.from(this.$refs.reference.children).filter((node) => node !== this.$refs.popperContent.$el);\n }\n }\n};\nvar render$1 = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"Popper\", _vm._g(_vm._b({ ref: \"popper\", attrs: { \"theme\": _vm.theme, \"target-nodes\": _vm.getTargetNodes, \"reference-node\": function() {\n return _vm.$refs.reference;\n }, \"popper-node\": function() {\n return _vm.$refs.popperContent.$el;\n } }, scopedSlots: _vm._u([{ key: \"default\", fn: function(ref) {\n var popperId = ref.popperId;\n var isShown = ref.isShown;\n var shouldMountContent = ref.shouldMountContent;\n var skipTransition = ref.skipTransition;\n var autoHide = ref.autoHide;\n var show = ref.show;\n var hide = ref.hide;\n var handleResize = ref.handleResize;\n var onResize = ref.onResize;\n var classes = ref.classes;\n var result = ref.result;\n return [_c(\"div\", { ref: \"reference\", staticClass: \"v-popper\", class: [\n _vm.themeClass,\n {\n \"v-popper--shown\": isShown\n }\n ] }, [_vm._t(\"default\", null, { \"shown\": isShown, \"show\": show, \"hide\": hide }), _c(\"PopperContent\", { ref: \"popperContent\", attrs: { \"popper-id\": popperId, \"theme\": _vm.theme, \"shown\": isShown, \"mounted\": shouldMountContent, \"skip-transition\": skipTransition, \"auto-hide\": autoHide, \"handle-resize\": handleResize, \"classes\": classes, \"result\": result }, on: { \"hide\": hide, \"resize\": onResize } }, [_vm._t(\"popper\", null, { \"shown\": isShown, \"hide\": hide })], 2)], 2)];\n } }], null, true) }, \"Popper\", _vm.$attrs, false), _vm.$listeners));\n};\nvar staticRenderFns$1 = [];\nconst __cssModules$4 = {};\nvar __component__$4 = /* @__PURE__ */ normalizeComponent(__vue2_script$4, render$1, staticRenderFns$1, false, __vue2_injectStyles$4, null, null, null);\nfunction __vue2_injectStyles$4(context) {\n for (let o in __cssModules$4) {\n this[o] = __cssModules$4[o];\n }\n}\nvar PrivatePopperWrapper = /* @__PURE__ */ function() {\n return __component__$4.exports;\n}();\nvar __vue2_script$3 = __spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VDropdown\",\n vPopperTheme: \"dropdown\"\n});\nvar Dropdown_vue_vue_type_style_index_0_lang = \"\";\nlet __vue2_render$2, __vue2_staticRenderFns$2;\nconst __cssModules$3 = {};\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(__vue2_script$3, __vue2_render$2, __vue2_staticRenderFns$2, false, __vue2_injectStyles$3, null, null, null);\nfunction __vue2_injectStyles$3(context) {\n for (let o in __cssModules$3) {\n this[o] = __cssModules$3[o];\n }\n}\nvar PrivateDropdown = /* @__PURE__ */ function() {\n return __component__$3.exports;\n}();\nvar __vue2_script$2 = __spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VMenu\",\n vPopperTheme: \"menu\"\n});\nlet __vue2_render$1, __vue2_staticRenderFns$1;\nconst __cssModules$2 = {};\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(__vue2_script$2, __vue2_render$1, __vue2_staticRenderFns$1, false, __vue2_injectStyles$2, null, null, null);\nfunction __vue2_injectStyles$2(context) {\n for (let o in __cssModules$2) {\n this[o] = __cssModules$2[o];\n }\n}\nvar PrivateMenu = /* @__PURE__ */ function() {\n return __component__$2.exports;\n}();\nvar __vue2_script$1 = __spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VTooltip\",\n vPopperTheme: \"tooltip\"\n});\nvar Tooltip_vue_vue_type_style_index_0_lang = \"\";\nlet __vue2_render, __vue2_staticRenderFns;\nconst __cssModules$1 = {};\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(__vue2_script$1, __vue2_render, __vue2_staticRenderFns, false, __vue2_injectStyles$1, null, null, null);\nfunction __vue2_injectStyles$1(context) {\n for (let o in __cssModules$1) {\n this[o] = __cssModules$1[o];\n }\n}\nvar PrivateTooltip = /* @__PURE__ */ function() {\n return __component__$1.exports;\n}();\nvar __vue2_script = {\n name: \"VTooltipDirective\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default: \"tooltip\"\n },\n html: {\n type: Boolean,\n default() {\n return getDefaultConfig(this.theme, \"html\");\n }\n },\n content: {\n type: [String, Number, Function],\n default: null\n },\n loadingContent: {\n type: String,\n default() {\n return getDefaultConfig(this.theme, \"loadingContent\");\n }\n }\n },\n data() {\n return {\n asyncContent: null\n };\n },\n computed: {\n isContentAsync() {\n return typeof this.content === \"function\";\n },\n loading() {\n return this.isContentAsync && this.asyncContent == null;\n },\n finalContent() {\n if (this.isContentAsync) {\n return this.loading ? this.loadingContent : this.asyncContent;\n }\n return this.content;\n }\n },\n watch: {\n content: {\n handler() {\n this.fetchContent(true);\n },\n immediate: true\n },\n async finalContent(value) {\n await this.$nextTick();\n this.$refs.popper.onResize();\n }\n },\n created() {\n this.$_fetchId = 0;\n },\n methods: {\n fetchContent(force) {\n if (typeof this.content === \"function\" && this.$_isShown && (force || !this.$_loading && this.asyncContent == null)) {\n this.asyncContent = null;\n this.$_loading = true;\n const fetchId = ++this.$_fetchId;\n const result = this.content(this);\n if (result.then) {\n result.then((res) => this.onResult(fetchId, res));\n } else {\n this.onResult(fetchId, result);\n }\n }\n },\n onResult(fetchId, result) {\n if (fetchId !== this.$_fetchId)\n return;\n this.$_loading = false;\n this.asyncContent = result;\n },\n onShow() {\n this.$_isShown = true;\n this.fetchContent();\n },\n onHide() {\n this.$_isShown = false;\n }\n }\n};\nvar render = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"Popper\", _vm._g(_vm._b({ ref: \"popper\", attrs: { \"theme\": _vm.theme, \"popper-node\": function() {\n return _vm.$refs.popperContent.$el;\n } }, on: { \"apply-show\": _vm.onShow, \"apply-hide\": _vm.onHide }, scopedSlots: _vm._u([{ key: \"default\", fn: function(ref) {\n var popperId = ref.popperId;\n var isShown = ref.isShown;\n var shouldMountContent = ref.shouldMountContent;\n var skipTransition = ref.skipTransition;\n var autoHide = ref.autoHide;\n var hide = ref.hide;\n var handleResize = ref.handleResize;\n var onResize = ref.onResize;\n var classes = ref.classes;\n var result = ref.result;\n return [_c(\"PopperContent\", { ref: \"popperContent\", class: {\n \"v-popper--tooltip-loading\": _vm.loading\n }, attrs: { \"popper-id\": popperId, \"theme\": _vm.theme, \"shown\": isShown, \"mounted\": shouldMountContent, \"skip-transition\": skipTransition, \"auto-hide\": autoHide, \"handle-resize\": handleResize, \"classes\": classes, \"result\": result }, on: { \"hide\": hide, \"resize\": onResize } }, [_vm.html ? _c(\"div\", { domProps: { \"innerHTML\": _vm._s(_vm.finalContent) } }) : _c(\"div\", { domProps: { \"textContent\": _vm._s(_vm.finalContent) } })])];\n } }]) }, \"Popper\", _vm.$attrs, false), _vm.$listeners));\n};\nvar staticRenderFns = [];\nconst __cssModules = {};\nvar __component__ = /* @__PURE__ */ normalizeComponent(__vue2_script, render, staticRenderFns, false, __vue2_injectStyles, null, null, null);\nfunction __vue2_injectStyles(context) {\n for (let o in __cssModules) {\n this[o] = __cssModules[o];\n }\n}\nvar PrivateTooltipDirective = /* @__PURE__ */ function() {\n return __component__.exports;\n}();\nconst TARGET_CLASS = \"v-popper--has-tooltip\";\nfunction getPlacement(options2, modifiers) {\n let result = options2.placement;\n if (!result && modifiers) {\n for (const pos of placements) {\n if (modifiers[pos]) {\n result = pos;\n }\n }\n }\n if (!result) {\n result = getDefaultConfig(options2.theme || \"tooltip\", \"placement\");\n }\n return result;\n}\nfunction getOptions(el, value, modifiers) {\n let options2;\n const type = typeof value;\n if (type === \"string\") {\n options2 = { content: value };\n } else if (value && type === \"object\") {\n options2 = value;\n } else {\n options2 = { content: false };\n }\n options2.placement = getPlacement(options2, modifiers);\n options2.targetNodes = () => [el];\n options2.referenceNode = () => el;\n return options2;\n}\nfunction createTooltip(el, value, modifiers) {\n const options2 = getOptions(el, value, modifiers);\n const tooltipApp = el.$_popper = new Vue({\n mixins: [\n PrivatePopperMethods\n ],\n data() {\n return {\n options: options2\n };\n },\n render(h) {\n const _a = this.options, {\n theme,\n html,\n content,\n loadingContent\n } = _a, otherOptions = __objRest(_a, [\n \"theme\",\n \"html\",\n \"content\",\n \"loadingContent\"\n ]);\n return h(PrivateTooltipDirective, {\n props: {\n theme,\n html,\n content,\n loadingContent\n },\n attrs: otherOptions,\n ref: \"popper\"\n });\n },\n devtools: {\n hide: true\n }\n });\n const mountTarget = document.createElement(\"div\");\n document.body.appendChild(mountTarget);\n tooltipApp.$mount(mountTarget);\n if (el.classList) {\n el.classList.add(TARGET_CLASS);\n }\n return tooltipApp;\n}\nfunction destroyTooltip(el) {\n if (el.$_popper) {\n el.$_popper.$destroy();\n delete el.$_popper;\n delete el.$_popperOldShown;\n }\n if (el.classList) {\n el.classList.remove(TARGET_CLASS);\n }\n}\nfunction bind(el, { value, oldValue, modifiers }) {\n const options2 = getOptions(el, value, modifiers);\n if (!options2.content || getDefaultConfig(options2.theme || \"tooltip\", \"disabled\")) {\n destroyTooltip(el);\n } else {\n let tooltipApp;\n if (el.$_popper) {\n tooltipApp = el.$_popper;\n tooltipApp.options = options2;\n } else {\n tooltipApp = createTooltip(el, value, modifiers);\n }\n if (typeof value.shown !== \"undefined\" && value.shown !== el.$_popperOldShown) {\n el.$_popperOldShown = value.shown;\n value.shown ? tooltipApp.show() : tooltipApp.hide();\n }\n }\n}\nvar PrivateVTooltip = {\n bind,\n update: bind,\n unbind(el) {\n destroyTooltip(el);\n }\n};\nfunction addListeners(el) {\n el.addEventListener(\"click\", onClick);\n el.addEventListener(\"touchstart\", onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\nfunction removeListeners(el) {\n el.removeEventListener(\"click\", onClick);\n el.removeEventListener(\"touchstart\", onTouchStart);\n el.removeEventListener(\"touchend\", onTouchEnd);\n el.removeEventListener(\"touchcancel\", onTouchCancel);\n}\nfunction onClick(event) {\n const el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n const touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener(\"touchend\", onTouchEnd);\n el.addEventListener(\"touchcancel\", onTouchCancel);\n }\n}\nfunction onTouchEnd(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n if (event.changedTouches.length === 1) {\n const touch = event.changedTouches[0];\n const firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\nfunction onTouchCancel(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\nvar PrivateVClosePopper = {\n bind(el, { value, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n }\n },\n update(el, { value, oldValue, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (value !== oldValue) {\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n unbind(el) {\n removeListeners(el);\n }\n};\nconst options = config;\nconst VTooltip = PrivateVTooltip;\nconst VClosePopper = PrivateVClosePopper;\nconst Dropdown = PrivateDropdown;\nconst Menu = PrivateMenu;\nconst Popper = PrivatePopper;\nconst PopperContent = PrivatePopperContent;\nconst PopperMethods = PrivatePopperMethods;\nconst PopperWrapper = PrivatePopperWrapper;\nconst ThemeClass = PrivateThemeClass;\nconst Tooltip = PrivateTooltip;\nconst TooltipDirective = PrivateTooltipDirective;\nfunction install(app, options2 = {}) {\n if (app.$_vTooltipInstalled)\n return;\n app.$_vTooltipInstalled = true;\n assign(config, options2);\n app.directive(\"tooltip\", PrivateVTooltip);\n app.directive(\"close-popper\", PrivateVClosePopper);\n app.component(\"v-tooltip\", PrivateTooltip);\n app.component(\"VTooltip\", PrivateTooltip);\n app.component(\"v-dropdown\", PrivateDropdown);\n app.component(\"VDropdown\", PrivateDropdown);\n app.component(\"v-menu\", PrivateMenu);\n app.component(\"VMenu\", PrivateMenu);\n}\nconst plugin = {\n version: \"1.0.0-beta.19\",\n install,\n options: config\n};\nlet GlobalVue = null;\nif (typeof window !== \"undefined\") {\n GlobalVue = window.Vue;\n} else if (typeof global !== \"undefined\") {\n GlobalVue = global.Vue;\n}\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\nexport { Dropdown, HIDE_EVENT_MAP, Menu, Popper, PopperContent, PopperMethods, PopperWrapper, SHOW_EVENT_MAP, ThemeClass, Tooltip, TooltipDirective, VClosePopper, VTooltip, createTooltip, plugin as default, destroyTooltip, hideAllPoppers, install, options, placements };\n","import '../assets/NcPopover-kKcTWlOL.css';\nimport { options, Dropdown } from \"floating-vue\";\nimport { createFocusTrap } from \"focus-trap\";\nimport { tabbable } from \"tabbable\";\nimport Vue, { defineComponent } from \"vue\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { g as getTrapStack } from \"./focusTrap-HJQ4pqHV.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nconst _sfc_main$1 = defineComponent({\n name: \"NcPopoverTriggerProvider\",\n provide() {\n return {\n \"NcPopover:trigger:shown\": () => this.shown,\n \"NcPopover:trigger:attrs\": () => this.triggerAttrs\n };\n },\n props: {\n /**\n * Is the popover currently shown\n */\n shown: {\n type: Boolean,\n required: true\n },\n /**\n * ARIA Role of the popup\n */\n popupRole: {\n type: String,\n default: void 0\n }\n },\n computed: {\n triggerAttrs() {\n return {\n \"aria-haspopup\": this.popupRole,\n \"aria-expanded\": this.shown.toString()\n };\n }\n },\n render() {\n return this.$scopedSlots.default?.({\n attrs: this.triggerAttrs\n });\n }\n});\nconst _sfc_render$1 = null;\nconst _sfc_staticRenderFns$1 = null;\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst NcPopoverTriggerProvider = __component__$1.exports;\nconst ncPopover = \"_ncPopover_6PjkA\";\nconst style0 = {\n \"material-design-icon\": \"_material-design-icon_AAwhR\",\n ncPopover\n};\nconst THEME = \"nc-popover-8\";\noptions.themes[THEME] = structuredClone(options.themes.dropdown);\nconst _sfc_main = {\n name: \"NcPopover\",\n components: {\n Dropdown,\n NcPopoverTriggerProvider\n },\n inheritAttrs: false,\n props: {\n /**\n * Show or hide the popper\n *\n * @see https://floating-vue.starpad.dev/api/#shown\n */\n shown: {\n type: Boolean,\n default: false\n },\n /**\n * Popup role\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-haspopup#values\n */\n popupRole: {\n type: String,\n default: void 0,\n validator: (value) => [\"menu\", \"listbox\", \"tree\", \"grid\", \"dialog\", \"true\"].includes(value)\n },\n /**\n * Class to be applied to the popover base\n */\n popoverBaseClass: {\n type: String,\n default: \"\"\n },\n /**\n * Enable popover focus trap\n *\n * @deprecated use noFocusTrap instead\n */\n focusTrap: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Disable the popover focus trap.\n */\n noFocusTrap: {\n type: Boolean,\n default: false\n },\n /**\n * Set element to return focus to after focus trap deactivation\n *\n * @type {SetReturnFocus}\n */\n setReturnFocus: {\n default: void 0,\n type: [Boolean, HTMLElement, SVGElement, String, Function]\n },\n /**\n * When there is no setReturnFocus, NcPopover will try to return focus to the trigger button.\n * Use this prop to disable this behavior.\n */\n noAutoReturnFocus: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"after-show\",\n \"after-hide\",\n /**\n * @see https://floating-vue.starpad.dev/api/#update-shown\n */\n \"update:shown\"\n ],\n setup() {\n return {\n THEME\n };\n },\n data() {\n return {\n internalShown: this.shown\n };\n },\n watch: {\n shown(value) {\n this.internalShown = value;\n if (this.internalShown) {\n this.checkTriggerA11y();\n }\n },\n internalShown(value) {\n this.$emit(\"update:shown\", value);\n }\n },\n beforeDestroy() {\n this.clearFocusTrap();\n this.clearEscapeStopPropagation();\n },\n methods: {\n /**\n * Check if the trigger has all required a11y attributes.\n * Important to check custom trigger button.\n */\n checkTriggerA11y() {\n if (window.OC?.debug) {\n const triggerButton = this.getPopoverTriggerButtonElement();\n if (!triggerButton || !triggerButton.hasAttributes(\"aria-expanded\", \"aria-haspopup\")) {\n Vue.util.warn(\"It looks like you are using a custom button as a or other popover #trigger. If you are not using as a trigger, you need to bind attrs from the #trigger slot props to your custom button. See docs for an example.\");\n }\n }\n },\n /**\n * Remove incorrect aria-describedby attribute from the trigger.\n *\n * @see https://github.com/Akryum/floating-vue/blob/8d4f7125aae0e3ea00ba4093d6d2001ab15058f1/packages/floating-vue/src/components/Popper.ts#L734\n */\n removeFloatingVueAriaDescribedBy() {\n const triggerContainer = this.getPopoverTriggerElement();\n const triggerElements = triggerContainer.querySelectorAll(\"[data-popper-shown]\");\n for (const el of triggerElements) {\n el.removeAttribute(\"aria-describedby\");\n }\n },\n /**\n * @return {HTMLElement|undefined}\n */\n getPopoverContentElement() {\n return this.$refs.popover?.$refs.popperContent?.$el;\n },\n /**\n * @return {HTMLElement|undefined}\n */\n getPopoverTriggerElement() {\n return this.$refs.popover.$refs.reference;\n },\n /**\n * @return {HTMLElement|undefined}\n */\n getPopoverTriggerButtonElement() {\n const triggerContainer = this.getPopoverTriggerElement();\n return triggerContainer && tabbable(triggerContainer)[0];\n },\n /**\n * Add focus trap for accessibility.\n */\n async useFocusTrap() {\n await this.$nextTick();\n if (this.noFocusTrap || !this.focusTrap) {\n return;\n }\n const el = this.getPopoverContentElement();\n el.tabIndex = -1;\n if (!el) {\n return;\n }\n this.$focusTrap = createFocusTrap(el, {\n // Prevents to lose focus using esc key\n // Focus will be release when popover be hide\n escapeDeactivates: false,\n allowOutsideClick: true,\n setReturnFocus: this.setReturnFocus || !this.noAutoReturnFocus && this.getPopoverTriggerButtonElement(),\n trapStack: getTrapStack(),\n fallbackFocus: el\n });\n this.$focusTrap.activate();\n },\n /**\n * Remove focus trap\n *\n * @param {object} options The configuration options for focusTrap\n */\n clearFocusTrap(options2 = {}) {\n try {\n this.$focusTrap?.deactivate(options2);\n this.$focusTrap = null;\n } catch (error) {\n logger.warn(\"Could not clear focus trap\", { error });\n }\n },\n /**\n * Add stopPropagation for Escape.\n * It prevents global Escape handling after closing popover.\n *\n * Manual event handling is used here instead of v-on because there is no direct access to the node.\n * Alternative - wrap in a div wrapper.\n */\n addEscapeStopPropagation() {\n const el = this.getPopoverContentElement();\n el?.addEventListener(\"keydown\", this.stopKeydownEscapeHandler);\n },\n /**\n * Remove stop Escape handler\n */\n clearEscapeStopPropagation() {\n const el = this.getPopoverContentElement();\n el?.removeEventListener(\"keydown\", this.stopKeydownEscapeHandler);\n },\n /**\n * @param {KeyboardEvent} event - native keydown event\n */\n stopKeydownEscapeHandler(event) {\n if (event.type === \"keydown\" && event.key === \"Escape\") {\n event.stopPropagation();\n }\n },\n async afterShow() {\n this.getPopoverContentElement().addEventListener(\"transitionend\", () => {\n this.$emit(\"after-show\");\n }, { once: true, passive: true });\n this.removeFloatingVueAriaDescribedBy();\n await this.$nextTick();\n await this.useFocusTrap();\n this.addEscapeStopPropagation();\n },\n afterHide() {\n this.getPopoverContentElement().addEventListener(\"transitionend\", () => {\n this.$emit(\"after-hide\");\n }, { once: true, passive: true });\n this.clearFocusTrap();\n this.clearEscapeStopPropagation();\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"Dropdown\", _vm._g(_vm._b({ ref: \"popover\", attrs: { \"distance\": 10, \"arrow-padding\": 10, \"no-auto-focus\": true, \"popper-class\": [_vm.$style.ncPopover, _vm.popoverBaseClass], \"theme\": _vm.THEME, \"shown\": _vm.internalShown }, on: { \"update:shown\": function($event) {\n _vm.internalShown = $event;\n }, \"apply-show\": _vm.afterShow, \"apply-hide\": _vm.afterHide }, scopedSlots: _vm._u([{ key: \"popper\", fn: function(slotProps) {\n return [_vm._t(\"default\", null, null, slotProps)];\n } }], null, true) }, \"Dropdown\", _vm.$attrs, false), _vm.$listeners), [_c(\"NcPopoverTriggerProvider\", { attrs: { \"shown\": _vm.internalShown, \"popup-role\": _vm.popupRole }, scopedSlots: _vm._u([{ key: \"default\", fn: function(slotProps) {\n return [_vm._t(\"trigger\", null, null, slotProps)];\n } }], null, true) })], 1);\n};\nvar _sfc_staticRenderFns = [];\nconst __cssModules = {\n \"$style\": style0\n};\nfunction _sfc_injectStyles(ctx) {\n for (var key in __cssModules) {\n this[key] = __cssModules[key];\n }\n}\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n _sfc_injectStyles,\n null\n);\nconst NcPopover = __component__.exports;\nexport {\n NcPopover as N\n};\n//# sourceMappingURL=NcPopover-BCDLqFHH.mjs.map\n","import '../assets/NcActions-CuFJSslC.css';\nimport Vue, { computed } from \"vue\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { u as useTrapStackControl } from \"./useTrapStackControl-BnLfCgGU.mjs\";\nimport { r as register, F as t4, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-F5ebeBB_.mjs\";\nimport { N as NcButton } from \"./NcButton-DAGirW_B.mjs\";\nimport { N as NcPopover } from \"./NcPopover-BCDLqFHH.mjs\";\nconst _sfc_main$1 = {\n name: \"DotsHorizontalIcon\",\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$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon dots-horizontal-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\" } })])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst DotsHorizontalIcon = __component__$1.exports;\nregister(t4);\nconst focusableSelector = \".focusable\";\nconst _sfc_main = {\n name: \"NcActions\",\n components: {\n NcButton,\n NcPopover\n },\n provide() {\n return {\n /**\n * NcActions can be used as:\n * - Application menu (has menu role)\n * - Expanded block (has no specific role, should be used an element with expanded role)\n * - Popover with plain text or text inputs (has no specific role)\n * Depending on the usage (used items), the menu and its items should have different roles for a11y.\n * Provide the role for NcAction* components in the NcActions content.\n *\n * @type {import('vue').ComputedRef}\n */\n \"NcActions:isSemanticMenu\": computed(() => this.actionsMenuSemanticType === \"menu\")\n };\n },\n props: {\n /**\n * Specify the open state of the popover menu\n */\n open: {\n type: Boolean,\n default: false\n },\n /**\n * This disables the internal open management,\n * so the actions menu only respects the `open` prop.\n * This is e.g. necessary for the NcAvatar component\n * to only open the actions menu after loading it's entries has finished.\n */\n manualOpen: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Force the name to show for single actions\n */\n forceName: {\n type: Boolean,\n default: false\n },\n /**\n * Specify the menu name\n */\n menuName: {\n type: String,\n default: null\n },\n /**\n * NcActions can be used as:\n *\n * - Application menu (has menu role)\n * - Navigation (has no specific role, should be used an element with expanded role)\n * - Popover with plain text or text inputs (has no specific role)\n *\n * By default the used type is automatically detected by components used in the default slot.#\n *\n * With Vue this is limited to direct children of the NcActions component.\n * So if you use a wrapper, you have to provide the semantic type yourself (see Example)\n *\n * Choose:\n *\n * - 'dialog' if you use any of these components: NcActionInput', 'NcActionTextEditable'\n * - 'menu' if you use any of these components: 'NcActionButton', 'NcActionButtonGroup', 'NcActionCheckbox', 'NcActionRadio'\n * - 'expanded' if using one of these: 'NcActionLink', 'NcActionRouter'. This represents an expanded block.\n * - 'tooltip' only to be used when a text without any interactive elements is used.\n * - Leave this property unset otherwise\n */\n forceSemanticType: {\n type: String,\n default: null,\n validator(value) {\n return [\"dialog\", \"menu\", \"expanded\", \"tooltip\"].includes(value);\n }\n },\n /**\n * Apply primary styling for this menu\n */\n primary: {\n type: Boolean,\n default: false\n },\n /**\n * Specifies the button variant used for trigger and single actions buttons.\n *\n * Accepted values: primary, secondary, tertiary, tertiary-no-background, tertiary-on-primary, error, warning, success. If left empty,\n * the default button style will be applied.\n *\n * @deprecated use `variant` instead - will be removed with v9\n */\n type: {\n type: String,\n validator(value) {\n return [\"primary\", \"secondary\", \"tertiary\", \"tertiary-no-background\", \"tertiary-on-primary\", \"error\", \"warning\", \"success\"].includes(value);\n },\n default: null\n },\n /**\n * Icon to show for the toggle menu button\n * when more than one action is inside the actions component.\n * Only replace the default three-dot icon if really necessary.\n */\n defaultIcon: {\n type: String,\n default: \"\"\n },\n /**\n * Aria label for the actions menu.\n *\n * If `menuName` is defined this will not be used to prevent\n * any accessible name conflicts. This ensures that the\n * element can be activated via voice input.\n */\n ariaLabel: {\n type: String,\n default: t(\"Actions\")\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 // eslint-disable-next-line vue/no-boolean-default\n default: null\n },\n /**\n * Wanted direction of the menu\n */\n placement: {\n type: String,\n default: \"bottom\"\n },\n /**\n * DOM element for the actions' popover boundaries\n */\n boundariesElement: {\n type: Element,\n default: () => document.querySelector(\"#content-vue\") ?? document.querySelector(\"body\")\n },\n /**\n * Selector for the actions' popover container\n */\n container: {\n type: [Boolean, String, Object, Element],\n default: \"body\"\n },\n /**\n * Disabled state of the main button (single action or menu toggle)\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Display x items inline out of the dropdown menu\n * Will be ignored if `forceMenu` is set\n */\n inline: {\n type: Number,\n default: 0\n },\n /**\n * Specifies the button variant used for trigger and single actions buttons.\n *\n * If left empty, the default button style will be applied.\n *\n * @since 8.24.0\n */\n variant: {\n type: String,\n validator(value) {\n return [\"primary\", \"secondary\", \"tertiary\", \"tertiary-no-background\", \"tertiary-on-primary\", \"error\", \"warning\", \"success\"].includes(value);\n },\n default: null\n },\n /**\n * Specify the size used for trigger and single actions buttons.\n *\n * If left empty, the default button size will be applied.\n */\n size: {\n type: String,\n default: \"normal\",\n validator(value) {\n return [\"small\", \"normal\", \"large\"].includes(value);\n }\n }\n },\n emits: [\n \"click\",\n \"blur\",\n \"focus\",\n \"close\",\n \"closed\",\n \"open\",\n \"opened\",\n \"update:open\"\n ],\n setup() {\n const randomId = `menu-${GenRandomId()}`;\n const triggerRandomId = `trigger-${randomId}`;\n return {\n randomId,\n triggerRandomId\n };\n },\n data() {\n return {\n opened: this.open,\n focusIndex: 0,\n /**\n * @type {'menu'|'expanded'|'dialog'|'tooltip'|'unknown'}\n */\n actionsMenuSemanticType: \"unknown\"\n };\n },\n computed: {\n triggerButtonVariant() {\n return (this.type ?? this.variant) || (this.primary ? \"primary\" : this.menuName ? \"secondary\" : \"tertiary\");\n },\n /**\n * A11y roles and keyboard navigation configuration depending on the semantic type\n */\n config() {\n const configs = {\n menu: {\n popupRole: \"menu\",\n withArrowNavigation: true,\n withTabNavigation: false,\n withFocusTrap: false,\n triggerA11yAttr: {\n \"aria-controls\": this.opened ? this.randomId : null\n },\n popoverContainerA11yAttrs: {},\n popoverUlA11yAttrs: {\n \"aria-labelledby\": this.triggerRandomId,\n id: this.randomId,\n role: \"menu\"\n }\n },\n expanded: {\n popupRole: void 0,\n withArrowNavigation: false,\n withTabNavigation: true,\n withFocusTrap: false,\n triggerA11yAttr: {},\n popoverContainerA11yAttrs: {},\n popoverUlA11yAttrs: {}\n },\n dialog: {\n popupRole: \"dialog\",\n withArrowNavigation: false,\n withTabNavigation: true,\n withFocusTrap: true,\n triggerA11yAttr: {\n \"aria-controls\": this.opened ? this.randomId : null\n },\n popoverContainerA11yAttrs: {\n id: this.randomId,\n role: \"dialog\",\n // Dialog must have a label\n \"aria-labelledby\": this.triggerRandomId,\n \"aria-modal\": \"true\"\n },\n popoverUlA11yAttrs: {}\n },\n tooltip: {\n popupRole: void 0,\n withArrowNavigation: false,\n withTabNavigation: false,\n withFocusTrap: false,\n triggerA11yAttr: {},\n popoverContainerA11yAttrs: {},\n popoverUlA11yAttrs: {}\n },\n // Due to Vue limitations, we sometimes cannot determine the true type\n // As a fallback use both arrow navigation and focus trap\n unknown: {\n popupRole: void 0,\n role: void 0,\n withArrowNavigation: true,\n withTabNavigation: false,\n withFocusTrap: true,\n triggerA11yAttr: {},\n popoverContainerA11yAttrs: {},\n popoverUlA11yAttrs: {\n // there is nothing against labelling a list, it is mostly recommended\n // so as we do not know the dialog type lets include the label\n \"aria-labelledby\": this.triggerRandomId\n }\n }\n };\n return configs[this.actionsMenuSemanticType];\n }\n },\n watch: {\n // Watch parent prop\n open(state) {\n if (state === this.opened) {\n return;\n }\n this.opened = state;\n },\n opened() {\n if (this.opened) {\n document.body.addEventListener(\"keydown\", this.handleEscapePressed);\n } else {\n document.body.removeEventListener(\"keydown\", this.handleEscapePressed);\n }\n }\n },\n created() {\n useTrapStackControl(() => this.opened, {\n disabled: () => this.config.withFocusTrap\n });\n },\n methods: {\n /**\n * Get the name of the action component\n *\n * @param {import('vue').VNode} action - a vnode with a NcAction* component instance\n * @return {string} the name of the action component\n */\n getActionName(action) {\n return action?.componentOptions?.Ctor?.extendOptions?.name ?? action?.componentOptions?.tag;\n },\n /**\n * Do we have exactly one Action and\n * is it allowed as a standalone element?\n *\n * @param {import('vue').VNode} action The action to check\n * @return {boolean}\n */\n isValidSingleAction(action) {\n return [\"NcActionButton\", \"NcActionLink\", \"NcActionRouter\"].includes(this.getActionName(action));\n },\n /**\n * Check whether a icon prop value is an URL or not\n *\n * @param {string} url The icon prop value\n */\n isIconUrl(url) {\n try {\n return !!new URL(url, url.startsWith(\"/\") ? window.location.origin : void 0);\n } catch {\n return false;\n }\n },\n // MENU STATE MANAGEMENT\n openMenu() {\n if (this.opened) {\n return;\n }\n this.opened = true;\n this.$emit(\"update:open\", true);\n this.$emit(\"open\");\n },\n async closeMenu(returnFocus = true) {\n if (!this.opened) {\n return;\n }\n await this.$nextTick();\n this.opened = false;\n this.$refs.popover?.clearFocusTrap({ returnFocus });\n this.$emit(\"update:open\", false);\n this.$emit(\"close\");\n this.focusIndex = 0;\n if (returnFocus) {\n this.$refs.triggerButton?.$el.focus();\n }\n },\n onClosed() {\n this.$emit(\"closed\");\n },\n /**\n * Called when popover is shown after the show delay\n */\n onOpened() {\n this.$nextTick(() => {\n this.focusFirstAction(null);\n this.resizePopover();\n this.$emit(\"opened\");\n });\n },\n /**\n * Handle resizing the popover to make sure users can discover there is more to scroll\n */\n resizePopover() {\n const inner = this.$refs.menu.closest(\".v-popper__inner\");\n const height = this.$refs.menu.clientHeight;\n const maxMenuHeight = this.getMaxMenuHeight();\n if (height > maxMenuHeight) {\n let currentHeight = 0;\n let actionHeight = 0;\n for (const action of this.$refs.menuList.children) {\n if (currentHeight + action.clientHeight / 2 > maxMenuHeight) {\n inner.style.height = `${currentHeight - actionHeight / 2}px`;\n break;\n }\n actionHeight = action.clientHeight;\n currentHeight += actionHeight;\n }\n } else {\n inner.style.height = \"fit-content\";\n }\n },\n getMaxMenuHeight() {\n const { top, bottom } = this.$refs.triggerButton?.$el.getBoundingClientRect() ?? { top: 0, bottom: 0 };\n const { top: boundaryTop, bottom: boundaryBottom } = this.boundariesElement?.getBoundingClientRect() ?? { top: 0, bottom: window.innerHeight };\n return Math.max(\n // Either expand to the top\n Math.min(\n // max height is the top position of the trigger minus the header height minus the wedge and the padding\n top - 84,\n // and also limited to the space in the boundary\n top - boundaryTop\n ),\n // or expand to the bottom\n Math.min(\n // the max height is the window height minus current position of the trigger minus the wedge and padding\n window.innerHeight - bottom - 34,\n // and limit to the available space in the boundary\n boundaryBottom - bottom\n )\n );\n },\n // MENU KEYS & FOCUS MANAGEMENT\n /**\n * @return {HTMLElement|null}\n */\n getCurrentActiveMenuItemElement() {\n return this.$refs.menu.querySelector(\"li.active\");\n },\n /**\n * @return {NodeList}\n */\n getFocusableMenuItemElements() {\n return this.$refs.menu.querySelectorAll(focusableSelector);\n },\n /**\n * Dispatches the keydown listener to different handlers\n *\n * @param {object} event The keydown event\n */\n onKeydown(event) {\n if (event.key === \"Tab\") {\n if (this.config.withFocusTrap) {\n return;\n }\n if (!this.config.withTabNavigation) {\n this.closeMenu(true);\n return;\n }\n event.preventDefault();\n const focusList = this.getFocusableMenuItemElements();\n const focusIndex = [...focusList].indexOf(document.activeElement);\n if (focusIndex === -1) {\n return;\n }\n const newFocusIndex = event.shiftKey ? focusIndex - 1 : focusIndex + 1;\n if (newFocusIndex < 0 || newFocusIndex === focusList.length) {\n this.closeMenu(true);\n }\n this.focusIndex = newFocusIndex;\n this.focusAction();\n return;\n }\n if (this.config.withArrowNavigation) {\n if (event.key === \"ArrowUp\") {\n this.focusPreviousAction(event);\n }\n if (event.key === \"ArrowDown\") {\n this.focusNextAction(event);\n }\n if (event.key === \"PageUp\") {\n this.focusFirstAction(event);\n }\n if (event.key === \"PageDown\") {\n this.focusLastAction(event);\n }\n }\n this.handleEscapePressed(event);\n },\n onTriggerKeydown(event) {\n if (event.key === \"Escape\") {\n if (this.actionsMenuSemanticType === \"tooltip\") {\n this.closeMenu();\n }\n }\n },\n handleEscapePressed(event) {\n if (event.key === \"Escape\") {\n this.closeMenu();\n event.preventDefault();\n }\n },\n removeCurrentActive() {\n const currentActiveElement = this.$refs.menu.querySelector(\"li.active\");\n if (currentActiveElement) {\n currentActiveElement.classList.remove(\"active\");\n }\n },\n focusAction() {\n const focusElement = this.getFocusableMenuItemElements()[this.focusIndex];\n if (focusElement) {\n this.removeCurrentActive();\n const liMenuParent = focusElement.closest(\"li.action\");\n focusElement.focus();\n if (liMenuParent) {\n liMenuParent.classList.add(\"active\");\n }\n }\n },\n focusPreviousAction(event) {\n if (this.opened) {\n if (this.focusIndex === 0) {\n this.focusLastAction(event);\n } else {\n this.preventIfEvent(event);\n this.focusIndex = this.focusIndex - 1;\n }\n this.focusAction();\n }\n },\n focusNextAction(event) {\n if (this.opened) {\n const indexLength = this.getFocusableMenuItemElements().length - 1;\n if (this.focusIndex === indexLength) {\n this.focusFirstAction(event);\n } else {\n this.preventIfEvent(event);\n this.focusIndex = this.focusIndex + 1;\n }\n this.focusAction();\n }\n },\n focusFirstAction(event) {\n if (this.opened) {\n this.preventIfEvent(event);\n const firstCheckedIndex = [...this.getFocusableMenuItemElements()].findIndex((button) => {\n return button.getAttribute(\"aria-checked\") === \"true\" && button.getAttribute(\"role\") === \"menuitemradio\";\n });\n this.focusIndex = firstCheckedIndex > -1 ? firstCheckedIndex : 0;\n this.focusAction();\n }\n },\n focusLastAction(event) {\n if (this.opened) {\n this.preventIfEvent(event);\n this.focusIndex = this.getFocusableMenuItemElements().length - 1;\n this.focusAction();\n }\n },\n preventIfEvent(event) {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n onFocus(event) {\n this.$emit(\"focus\", event);\n },\n onBlur(event) {\n this.$emit(\"blur\", event);\n if (this.actionsMenuSemanticType === \"tooltip\") {\n if (this.$refs.menu && this.getFocusableMenuItemElements().length === 0) {\n this.closeMenu(false);\n }\n }\n },\n onClick(event) {\n this.$emit(\"click\", event);\n }\n },\n /**\n * The render function to display the component\n *\n * @param {Function} h The function to create VNodes\n * @return {object|undefined} The created VNode\n */\n render(h) {\n const actions = (this.$slots.default || []).filter((action) => this.getActionName(action));\n if (actions.length === 0) {\n return;\n }\n let validInlineActions = actions.filter(this.isValidSingleAction);\n if (this.forceMenu && validInlineActions.length > 0 && this.inline > 0) {\n Vue.util.warn(\"Specifying forceMenu will ignore any inline actions rendering.\");\n validInlineActions = [];\n }\n const inlineActions = validInlineActions.slice(0, this.inline);\n const menuActions = actions.filter((action) => !inlineActions.includes(action));\n if (this.forceSemanticType) {\n this.actionsMenuSemanticType = this.forceSemanticType;\n } else {\n const textInputActions = [\"NcActionInput\", \"NcActionTextEditable\"];\n const menuItemsActions = [\"NcActionButton\", \"NcActionButtonGroup\", \"NcActionCheckbox\", \"NcActionRadio\"];\n const linkActions = [\"NcActionLink\", \"NcActionRouter\"];\n const hasTextInputAction = menuActions.some((action) => textInputActions.includes(this.getActionName(action)));\n const hasMenuItemAction = menuActions.some((action) => menuItemsActions.includes(this.getActionName(action)));\n const hasLinkAction = menuActions.some((action) => linkActions.includes(this.getActionName(action)));\n if (hasTextInputAction) {\n this.actionsMenuSemanticType = \"dialog\";\n } else if (hasMenuItemAction) {\n this.actionsMenuSemanticType = \"menu\";\n } else if (hasLinkAction) {\n this.actionsMenuSemanticType = \"expanded\";\n } else {\n const ncActions = actions.filter((action) => this.getActionName(action).startsWith(\"NcAction\"));\n if (ncActions.length === actions.length) {\n this.actionsMenuSemanticType = \"tooltip\";\n } else {\n this.actionsMenuSemanticType = \"unknown\";\n }\n }\n }\n const renderInlineAction = (action) => {\n const iconProp = action?.componentOptions?.propsData?.icon;\n const icon = action?.data?.scopedSlots?.icon()?.[0] ?? (this.isIconUrl(iconProp) ? h(\"img\", { class: \"action-item__menutoggle__icon\", attrs: { src: iconProp, alt: \"\" } }) : h(\"span\", { class: [\"icon\", iconProp] }));\n const attrs = action?.data?.attrs || {};\n const clickListener = action?.componentOptions?.listeners?.click;\n const text = action?.componentOptions?.children?.[0]?.text?.trim?.();\n const ariaLabel = action?.componentOptions?.propsData?.ariaLabel || text;\n const buttonText = this.forceName ? text : \"\";\n let title = action?.componentOptions?.propsData?.title;\n if (!(this.forceName || title)) {\n title = text;\n }\n const propsToForward = { ...action?.componentOptions?.propsData ?? {} };\n const nativeType = [\"submit\", \"reset\"].includes(propsToForward.type) ? propsToForward.modelValue : \"button\";\n delete propsToForward.modelValue;\n delete propsToForward.type;\n return h(\n \"NcButton\",\n {\n class: [\n \"action-item action-item--single\",\n action?.data?.staticClass,\n action?.data?.class\n ],\n attrs: {\n ...attrs,\n \"aria-label\": ariaLabel,\n title\n },\n ref: action?.data?.ref,\n props: {\n ...propsToForward,\n disabled: this.disabled || action?.componentOptions?.propsData?.disabled,\n pressed: action?.componentOptions?.propsData?.modelValue,\n size: this.size,\n type: nativeType,\n // If it has a menuName, we use a secondary button\n variant: (this.type ?? this.variant) || (buttonText ? \"secondary\" : \"tertiary\")\n },\n on: {\n focus: this.onFocus,\n blur: this.onBlur,\n // forward any pressed state from NcButton just like NcActionButton does\n \"update:pressed\": action?.componentOptions?.listeners?.[\"update:modelValue\"] ?? (() => {\n }),\n // If we have a click listener,\n // we bind it to execute on click and forward the click event\n ...!!clickListener && {\n click: (event) => {\n if (clickListener) {\n clickListener(event);\n }\n }\n }\n }\n },\n [\n h(\"template\", { slot: \"icon\" }, [icon]),\n buttonText\n ]\n );\n };\n const renderActionsPopover = (actions2) => {\n const triggerIcon = this.$slots.icon?.[0] || (this.defaultIcon ? h(\"span\", { class: [\"icon\", this.defaultIcon] }) : h(DotsHorizontalIcon, {\n props: {\n size: 20\n }\n }));\n return h(\n \"NcPopover\",\n {\n ref: \"popover\",\n props: {\n delay: 0,\n handleResize: true,\n shown: this.opened,\n placement: this.placement,\n boundary: this.boundariesElement,\n container: this.container,\n popoverBaseClass: \"action-item__popper\",\n popupRole: this.config.popupRole,\n noAutoReturnFocus: !this.withFocusTrap,\n focusTrap: this.config.withFocusTrap\n },\n // For some reason the popover component\n // does not react to props given under the 'props' key,\n // so we use both 'attrs' and 'props'\n attrs: {\n delay: 0,\n handleResize: true,\n shown: this.opened,\n placement: this.placement,\n boundary: this.boundariesElement,\n container: this.container,\n ...this.manualOpen && { triggers: [] }\n },\n on: {\n show: this.openMenu,\n \"after-show\": this.onOpened,\n hide: this.closeMenu,\n \"after-hide\": this.onClosed\n }\n },\n [\n h(\"NcButton\", {\n class: \"action-item__menutoggle\",\n props: {\n size: this.size,\n variant: this.triggerButtonVariant,\n disabled: this.disabled\n },\n slot: \"trigger\",\n ref: \"triggerButton\",\n attrs: {\n id: this.triggerRandomId,\n \"aria-label\": this.menuName ? null : this.ariaLabel,\n ...this.config.triggerA11yAttr\n },\n on: {\n focus: this.onFocus,\n blur: this.onBlur,\n click: this.onClick,\n keydown: this.onTriggerKeydown\n }\n }, [\n h(\"template\", { slot: \"icon\" }, [triggerIcon]),\n this.menuName\n ]),\n h(\"div\", {\n class: {\n open: this.opened\n },\n attrs: {\n tabindex: \"-1\",\n ...this.config.popoverContainerA11yAttrs\n },\n on: {\n keydown: this.onKeydown\n },\n ref: \"menu\"\n }, [\n h(\"ul\", {\n attrs: {\n tabindex: \"-1\",\n ...this.config.popoverUlA11yAttrs\n },\n ref: \"menuList\"\n }, [\n actions2\n ])\n ])\n ]\n );\n };\n if (actions.length === 1 && validInlineActions.length === 1 && !this.forceMenu) {\n return renderInlineAction(actions[0]);\n }\n this.$nextTick(() => {\n if (this.opened && this.$refs.menu) {\n this.resizePopover();\n const isAnyActive = this.$refs.menu.querySelector(\"li.active\") || [];\n if (isAnyActive.length === 0) {\n this.focusFirstAction();\n }\n }\n });\n if (inlineActions.length > 0 && this.inline > 0) {\n return h(\n \"div\",\n {\n class: [\n \"action-items\",\n `action-item--${this.triggerButtonVariant}`\n ]\n },\n [\n // Render inline actions\n ...inlineActions.map(renderInlineAction),\n // render the rest within the popover menu\n menuActions.length > 0 ? h(\n \"div\",\n {\n class: [\n \"action-item\",\n {\n \"action-item--open\": this.opened\n }\n ]\n },\n [\n renderActionsPopover(menuActions)\n ]\n ) : null\n ]\n );\n }\n return h(\n \"div\",\n {\n class: [\n \"action-item action-item--default-popover\",\n `action-item--${this.triggerButtonVariant}`,\n {\n \"action-item--open\": this.opened\n }\n ]\n },\n [\n renderActionsPopover(actions)\n ]\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 \"38a26e61\"\n);\nconst NcActions = __component__.exports;\nexport {\n DotsHorizontalIcon as D,\n NcActions as N\n};\n//# sourceMappingURL=NcActions-C4f9MXug.mjs.map\n"],"names":["_arrayLikeToArray","r","a","e","n","_arrayWithoutHoles","_createForOfIteratorHelper","t","_unsupportedIterableToArray","F","o","u","_defineProperty","_toPropertyKey","_iterableToArray","_nonIterableSpread","ownKeys","_objectSpread2","_toConsumableArray","_toPrimitive","i","activeFocusTraps","trapStack","trap","activeTrap","trapIndex","isSelectableInput","node","isEscapeEvent","isTabEvent","isKeyForward","isKeyBackward","delay","fn","valueOrHandler","value","_len","params","_key","getActualTarget","event","internalTrapStack","createFocusTrap","elements","userOptions","doc","config","state","getOption","configOverrideOptions","optionName","configOptionName","findContainerIndex","element","composedPath","_ref","container","tabbableNodes","getNodeForOption","_ref2","_ref2$hasFallback","hasFallback","_ref2$params","optionValue","err","getInitialFocusNode","isFocusable","firstTabbableGroup","firstTabbableNode","updateTabbableNodes","tabbable","focusableNodes","focusable","lastTabbableNode","firstDomTabbableNode","isTabbable","lastDomTabbableNode","posTabIndexesFound","getTabIndex","forward","nodeIdx","el","group","g","_getActiveElement","activeElement","_tryFocus","getReturnFocusNode","previousActiveElement","findNextNavNode","_ref3","target","_ref3$isBackward","isBackward","destinationNode","containerIndex","containerGroup","startOfGroupIndex","_ref4","destinationGroupIndex","destinationGroup","lastOfGroupIndex","_ref5","_destinationGroupIndex","_destinationGroup","checkPointerDown","checkFocusIn","targetContained","nextNode","navAcrossContainers","mruContainerIdx","mruTabIdx","checkKeyNav","checkTabKey","checkEscapeKey","checkClick","addListeners","collectAdjacentElements","containers","containerAncestors","adjacentElements","_iterator","_step","insideShadowRoot","current","parent","siblings","_iterator2","_step2","child","removeListeners","checkDomRemoval","mutations","isFocusedNodeRemoved","mutation","removedNodes","mutationObserver","updateObservedNodes","activateOptions","onActivate","onPostActivate","checkCanFocusTrap","preexistingTrap","revertState","_preexistingTrap$_set","finishActivation","error","_preexistingTrap$_set2","deactivateOptions","options","onDeactivate","onPostDeactivate","checkCanReturnFocus","returnFocus","finishDeactivation","pauseOptions","unpauseOptions","containerElements","elementsAsArray","paused","onPause","onPostPause","onUnpause","onPostUnpause","isEnabled","_el$getAttribute","getTrapStack","createTrapStackController","pausedStack","mdiAlertCircleOutline","mdiArrowLeft","mdiArrowRight","mdiArrowTopRight","mdiCheck","mdiChevronLeft","mdiChevronRight","mdiClose","mdiCloseCircleOutline","mdiContentCopy","mdiDotsHorizontal","mdiOpenInNew","mdiUndo","ActionGlobalMixin","GetParent","context","name","ActionTextMixin","_sfc_main","NcIconSvgWrapper","behavior","attributes","_sfc_render","_vm","_c","_sfc_staticRenderFns","__component__","normalizeComponent","NcActionButton","useTrapStackControl","shouldPause","trapStackController","watch","toValue","onUnmounted","getBasePlacement","placement","getAlignment","getMainAxisFromPlacement","getLengthFromAxis","axis","computeCoordsFromPlacement","reference","floating","commonX","commonY","coords","mainAxis","length","computePosition","strategy","middleware","platform","rects","x","y","statefulPlacement","middlewareData","nextX","nextY","data","reset","expandPaddingObject","padding","getSideObjectFromPadding","rectToClientRect","rect","detectOverflow","middlewareArguments","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","elementClientRect","min","max","within","min$1","max$1","arrow","basePlacement","arrowDimensions","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","offset","hash$1","getOppositePlacement","matched","getAlignmentSides","isStart","mainAlignmentSide","hash","getOppositeAlignmentPlacement","basePlacements","allPlacements","acc","getPlacementList","alignment","autoAlignment","allowedPlacements","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_middlewareData$autoP3","_middlewareData$autoP4","_middlewareData$autoP5","_placementsSortedByLe","detectOverflowOptions","placements","overflow","currentIndex","currentPlacement","main","cross","currentOverflows","allOverflows","nextPlacement","placementsSortedByLeastOverflow","b","placementThatFitsOnAllSides","overflows","getExpandedPlacements","oppositePlacement","flip","_middlewareData$flip","_middlewareData$flip2","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","flipAlignment","fallbackPlacements","overflowsData","side","_middlewareData$flip$","_middlewareData$flip3","nextIndex","resetPlacement","_overflowsData$slice$","convertValueToCoords","multiplier","rawValue","crossAxis","diffCoords","getCrossAxis","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","size","_middlewareData$size","apply","isEnd","heightSide","widthSide","xMin","xMax","yMin","yMax","dimensions","isWindow","getWindow","ownerDocument","getComputedStyle$1","getNodeName","isHTMLElement","isElement","isNode","isShadowRoot","OwnElement","isScrollParent","overflowX","overflowY","isTableElement","isContainingBlock","isFirefox","css","round","getBoundingClientRect","includeScale","clientRect","scaleX","scaleY","getDocumentElement","getNodeScroll","getWindowScrollBarX","isScaled","getRectRelativeToOffsetParent","offsetParent","isOffsetParentAnElement","documentElement","scroll","offsets","offsetRect","getParentNode","getTrueOffsetParent","getContainingBlock","currentNode","getOffsetParent","window","getDimensions","convertOffsetParentRelativeRectToViewportRelativeRect","getViewportRect","win","html","visualViewport","width","height","getDocumentRect","_element$ownerDocumen","body","getScrollParent","getScrollParents","list","_node$ownerDocument","scrollParent","isBody","updatedList","contains","rootNode","next","getInnerBoundingClientRect","top","left","getClientRectFromClippingParent","clippingParent","getClippingParents","clippingParents","clipperElement","getClippingClientRect","firstClippingParent","clippingRect","accRect","args","computePosition$1","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","__spreadValues","prop","__spreadProps","__objRest","source","exclude","assign","to","from","events","getDefaultConfig","theme","themeConfig","getThemeClasses","result","c","getAllParentThemes","supportsPassive","opts","isIOS","base","SHOW_EVENT_MAP","HIDE_EVENT_MAP","removeFromArray","array","item","index","nextFrame","resolve","shownPoppers","hidingPopper","shownPoppersByTheme","getShownPoppersByTheme","Element","defaultPropFactory","props","PROVIDE_KEY","PrivatePopper","_a","_b","skipDelay","force","skipAiming","options2","isPlacementAuto","centerOffset","autoSize","_a2","type","skipTransition","bounds","popperWrapper","parentBounds","showGroup","popover","disposeTime","handleShow","handleHide","targetNodes","eventType","handler","eventMap","commonTriggers","customTrigger","triggers","trigger","filterEventType","newList","listener","touch","attrFrom","attrTo","attrs","referenceBounds","mouseX","mouseY","popperBounds","vectorX","mousePreviousX","vectorY","mousePreviousY","newVectorLength","edgeX","edgeY","lineIntersectsLine","handleGlobalMousedown","handleGlobalTouchend","handleGlobalClick","computePositionAllShownPoppers","popper","popperContent","handleGlobalClose","preventClose","isContainingEventTarget","shouldAutoHide","parent2","getAutoHideResult","x1","y1","x2","y2","x3","y3","x4","y4","uA","uB","getInternetExplorerVersion","ua","msie","trident","rv","edge","isIE","initCompat","script","_this","object","normalizeComponent$1","template","style","script2","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","__vue_script__","__vue_render__","_h","__vue_staticRenderFns__","__vue_inject_styles__","__vue_scope_id__","__vue_component__","install$1","Vue2","plugin$1","GlobalVue$1","global","PrivateThemeClass","__vue2_script$5","render$2","$event","staticRenderFns$2","scriptExports","render2","staticRenderFns2","functionalTemplate","injectStyles","hook","originalRender","h","existing","__cssModules$5","__component__$5","__vue2_injectStyles$5","PrivatePopperContent","PrivatePopperMethods","__vue2_script$4","render$1","ref","popperId","isShown","shouldMountContent","autoHide","show","hide","handleResize","onResize","classes","staticRenderFns$1","__cssModules$4","__component__$4","__vue2_injectStyles$4","PrivatePopperWrapper","__vue2_script$3","__vue2_render$2","__vue2_staticRenderFns$2","__cssModules$3","__component__$3","__vue2_injectStyles$3","PrivateDropdown","__vue2_script$2","__vue2_render$1","__vue2_staticRenderFns$1","__cssModules$2","__component__$2","__vue2_injectStyles$2","PrivateMenu","__vue2_script$1","__vue2_render","__vue2_staticRenderFns","__cssModules$1","__component__$1","__vue2_injectStyles$1","PrivateTooltip","__vue2_script","fetchId","res","render","staticRenderFns","__cssModules","__vue2_injectStyles","PrivateTooltipDirective","TARGET_CLASS","getPlacement","modifiers","pos","getOptions","createTooltip","tooltipApp","Vue","content","loadingContent","otherOptions","mountTarget","destroyTooltip","bind","oldValue","PrivateVTooltip","onClick","onTouchStart","onTouchEnd","onTouchCancel","firstTouch","PrivateVClosePopper","Dropdown","install","app","plugin","GlobalVue","_sfc_main$1","defineComponent","_sfc_render$1","_sfc_staticRenderFns$1","NcPopoverTriggerProvider","ncPopover","style0","THEME","triggerButton","triggerElements","triggerContainer","logger","slotProps","_sfc_injectStyles","ctx","NcPopover","DotsHorizontalIcon","register","t4","focusableSelector","NcButton","computed","randomId","GenRandomId","triggerRandomId","action","url","inner","maxMenuHeight","currentHeight","actionHeight","bottom","boundaryTop","boundaryBottom","focusList","focusIndex","newFocusIndex","currentActiveElement","focusElement","liMenuParent","indexLength","firstCheckedIndex","button","actions","validInlineActions","inlineActions","menuActions","textInputActions","menuItemsActions","linkActions","hasTextInputAction","hasMenuItemAction","hasLinkAction","renderInlineAction","iconProp","icon","clickListener","text","ariaLabel","buttonText","title","propsToForward","nativeType","renderActionsPopover","actions2","triggerIcon","NcActions"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11]}
\ No newline at end of file
+{"version":3,"file":"NcActions-C4f9MXug-BC_2VOkH.chunk.mjs","sources":["../node_modules/focus-trap/dist/focus-trap.esm.js","../node_modules/@nextcloud/vue/dist/chunks/focusTrap-HJQ4pqHV.mjs","../node_modules/@nextcloud/vue/dist/chunks/mdi-DtJ8HsM-.mjs","../node_modules/@nextcloud/vue/dist/chunks/actionGlobal-DqVa7c7G.mjs","../node_modules/@nextcloud/vue/dist/chunks/actionText-BMig9Egt.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActionButton-DJ-fERS3.mjs","../node_modules/@nextcloud/vue/dist/chunks/useTrapStackControl-BnLfCgGU.mjs","../node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","../node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","../node_modules/floating-vue/dist/floating-vue.es.js","../node_modules/@nextcloud/vue/dist/chunks/NcPopover-BCDLqFHH.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActions-C4f9MXug.mjs"],"sourcesContent":["/*!\n* focus-trap 7.8.0\n* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE\n*/\nimport { tabbable, focusable, isTabbable, getTabIndex, isFocusable } from 'tabbable';\n\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return _arrayLikeToArray(r);\n}\nfunction _createForOfIteratorHelper(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (!t) {\n if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) {\n t && (r = t);\n var n = 0,\n F = function () {};\n return {\n s: F,\n n: function () {\n return n >= r.length ? {\n done: true\n } : {\n done: false,\n value: r[n++]\n };\n },\n e: function (r) {\n throw r;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var o,\n a = true,\n u = false;\n return {\n s: function () {\n t = t.call(r);\n },\n n: function () {\n var r = t.next();\n return a = r.done, r;\n },\n e: function (r) {\n u = true, o = r;\n },\n f: function () {\n try {\n a || null == t.return || t.return();\n } finally {\n if (u) throw o;\n }\n }\n };\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: true,\n configurable: true,\n writable: true\n }) : e[r] = t, e;\n}\nfunction _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), true).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _toConsumableArray(r) {\n return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r);\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\n\nvar activeFocusTraps = {\n // Returns the trap from the top of the stack.\n getActiveTrap: function getActiveTrap(trapStack) {\n if ((trapStack === null || trapStack === void 0 ? void 0 : trapStack.length) > 0) {\n return trapStack[trapStack.length - 1];\n }\n return null;\n },\n // Pauses the currently active trap, then adds a new trap to the stack.\n activateTrap: function activateTrap(trapStack, trap) {\n var activeTrap = activeFocusTraps.getActiveTrap(trapStack);\n if (trap !== activeTrap) {\n activeFocusTraps.pauseTrap(trapStack);\n }\n var trapIndex = trapStack.indexOf(trap);\n if (trapIndex === -1) {\n trapStack.push(trap);\n } else {\n // move this existing trap to the front of the queue\n trapStack.splice(trapIndex, 1);\n trapStack.push(trap);\n }\n },\n // Removes the trap from the top of the stack, then unpauses the next trap down.\n deactivateTrap: function deactivateTrap(trapStack, trap) {\n var trapIndex = trapStack.indexOf(trap);\n if (trapIndex !== -1) {\n trapStack.splice(trapIndex, 1);\n }\n activeFocusTraps.unpauseTrap(trapStack);\n },\n // Pauses the trap at the top of the stack.\n pauseTrap: function pauseTrap(trapStack) {\n var activeTrap = activeFocusTraps.getActiveTrap(trapStack);\n activeTrap === null || activeTrap === void 0 || activeTrap._setPausedState(true);\n },\n // Unpauses the trap at the top of the stack.\n unpauseTrap: function unpauseTrap(trapStack) {\n var activeTrap = activeFocusTraps.getActiveTrap(trapStack);\n if (activeTrap && !activeTrap._isManuallyPaused()) {\n activeTrap._setPausedState(false);\n }\n }\n};\nvar isSelectableInput = function isSelectableInput(node) {\n return node.tagName && node.tagName.toLowerCase() === 'input' && typeof node.select === 'function';\n};\nvar isEscapeEvent = function isEscapeEvent(e) {\n return (e === null || e === void 0 ? void 0 : e.key) === 'Escape' || (e === null || e === void 0 ? void 0 : e.key) === 'Esc' || (e === null || e === void 0 ? void 0 : e.keyCode) === 27;\n};\nvar isTabEvent = function isTabEvent(e) {\n return (e === null || e === void 0 ? void 0 : e.key) === 'Tab' || (e === null || e === void 0 ? void 0 : e.keyCode) === 9;\n};\n\n// checks for TAB by default\nvar isKeyForward = function isKeyForward(e) {\n return isTabEvent(e) && !e.shiftKey;\n};\n\n// checks for SHIFT+TAB by default\nvar isKeyBackward = function isKeyBackward(e) {\n return isTabEvent(e) && e.shiftKey;\n};\nvar delay = function delay(fn) {\n return setTimeout(fn, 0);\n};\n\n/**\n * Get an option's value when it could be a plain value, or a handler that provides\n * the value.\n * @param {*} value Option's value to check.\n * @param {...*} [params] Any parameters to pass to the handler, if `value` is a function.\n * @returns {*} The `value`, or the handler's returned value.\n */\nvar valueOrHandler = function valueOrHandler(value) {\n for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n params[_key - 1] = arguments[_key];\n }\n return typeof value === 'function' ? value.apply(void 0, params) : value;\n};\nvar getActualTarget = function getActualTarget(event) {\n // NOTE: If the trap is _inside_ a shadow DOM, event.target will always be the\n // shadow host. However, event.target.composedPath() will be an array of\n // nodes \"clicked\" from inner-most (the actual element inside the shadow) to\n // outer-most (the host HTML document). If we have access to composedPath(),\n // then use its first element; otherwise, fall back to event.target (and\n // this only works for an _open_ shadow DOM; otherwise,\n // composedPath()[0] === event.target always).\n return event.target.shadowRoot && typeof event.composedPath === 'function' ? event.composedPath()[0] : event.target;\n};\n\n// NOTE: this must be _outside_ `createFocusTrap()` to make sure all traps in this\n// current instance use the same stack if `userOptions.trapStack` isn't specified\nvar internalTrapStack = [];\nvar createFocusTrap = function createFocusTrap(elements, userOptions) {\n // SSR: a live trap shouldn't be created in this type of environment so this\n // should be safe code to execute if the `document` option isn't specified\n var doc = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.document) || document;\n var trapStack = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.trapStack) || internalTrapStack;\n var config = _objectSpread2({\n returnFocusOnDeactivate: true,\n escapeDeactivates: true,\n delayInitialFocus: true,\n isolateSubtrees: false,\n isKeyForward: isKeyForward,\n isKeyBackward: isKeyBackward\n }, userOptions);\n var state = {\n // containers given to createFocusTrap()\n /** @type {Array} */\n containers: [],\n // list of objects identifying tabbable nodes in `containers` in the trap\n // NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap\n // is active, but the trap should never get to a state where there isn't at least one group\n // with at least one tabbable node in it (that would lead to an error condition that would\n // result in an error being thrown)\n /** @type {Array<{\n * container: HTMLElement,\n * tabbableNodes: Array, // empty if none\n * focusableNodes: Array, // empty if none\n * posTabIndexesFound: boolean,\n * firstTabbableNode: HTMLElement|undefined,\n * lastTabbableNode: HTMLElement|undefined,\n * firstDomTabbableNode: HTMLElement|undefined,\n * lastDomTabbableNode: HTMLElement|undefined,\n * nextTabbableNode: (node: HTMLElement, forward: boolean) => HTMLElement|undefined\n * }>}\n */\n containerGroups: [],\n // same order/length as `containers` list\n\n // references to objects in `containerGroups`, but only those that actually have\n // tabbable nodes in them\n // NOTE: same order as `containers` and `containerGroups`, but __not necessarily__\n // the same length\n tabbableGroups: [],\n // references to nodes that are siblings to the ancestors of this trap's containers.\n /** @type {Set} */\n adjacentElements: new Set(),\n // references to nodes that were inert or aria-hidden before the trap was activated.\n /** @type {Set} */\n alreadySilent: new Set(),\n nodeFocusedBeforeActivation: null,\n mostRecentlyFocusedNode: null,\n active: false,\n paused: false,\n manuallyPaused: false,\n // timer ID for when delayInitialFocus is true and initial focus in this trap\n // has been delayed during activation\n delayInitialFocusTimer: undefined,\n // the most recent KeyboardEvent for the configured nav key (typically [SHIFT+]TAB), if any\n recentNavEvent: undefined\n };\n var trap; // eslint-disable-line prefer-const -- some private functions reference it, and its methods reference private functions, so we must declare here and define later\n\n /**\n * Gets a configuration option value.\n * @param {Object|undefined} configOverrideOptions If true, and option is defined in this set,\n * value will be taken from this object. Otherwise, value will be taken from base configuration.\n * @param {string} optionName Name of the option whose value is sought.\n * @param {string|undefined} [configOptionName] Name of option to use __instead of__ `optionName`\n * IIF `configOverrideOptions` is not defined. Otherwise, `optionName` is used.\n */\n var getOption = function getOption(configOverrideOptions, optionName, configOptionName) {\n return configOverrideOptions && configOverrideOptions[optionName] !== undefined ? configOverrideOptions[optionName] : config[configOptionName || optionName];\n };\n\n /**\n * Finds the index of the container that contains the element.\n * @param {HTMLElement} element\n * @param {Event} [event] If available, and `element` isn't directly found in any container,\n * the event's composed path is used to see if includes any known trap containers in the\n * case where the element is inside a Shadow DOM.\n * @returns {number} Index of the container in either `state.containers` or\n * `state.containerGroups` (the order/length of these lists are the same); -1\n * if the element isn't found.\n */\n var findContainerIndex = function findContainerIndex(element, event) {\n var composedPath = typeof (event === null || event === void 0 ? void 0 : event.composedPath) === 'function' ? event.composedPath() : undefined;\n // NOTE: search `containerGroups` because it's possible a group contains no tabbable\n // nodes, but still contains focusable nodes (e.g. if they all have `tabindex=-1`)\n // and we still need to find the element in there\n return state.containerGroups.findIndex(function (_ref) {\n var container = _ref.container,\n tabbableNodes = _ref.tabbableNodes;\n return container.contains(element) || (// fall back to explicit tabbable search which will take into consideration any\n // web components if the `tabbableOptions.getShadowRoot` option was used for\n // the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't\n // look inside web components even if open)\n composedPath === null || composedPath === void 0 ? void 0 : composedPath.includes(container)) || tabbableNodes.find(function (node) {\n return node === element;\n });\n });\n };\n\n /**\n * Gets the node for the given option, which is expected to be an option that\n * can be either a DOM node, a string that is a selector to get a node, `false`\n * (if a node is explicitly NOT given), or a function that returns any of these\n * values.\n * @param {string} optionName\n * @param {Object} options\n * @param {boolean} [options.hasFallback] True if the option could be a selector string\n * and the option allows for a fallback scenario in the case where the selector is\n * valid but does not match a node (i.e. the queried node doesn't exist in the DOM).\n * @param {Array} [options.params] Params to pass to the option if it's a function.\n * @returns {undefined | null | false | HTMLElement | SVGElement} Returns\n * `undefined` if the option is not specified; `null` if the option didn't resolve\n * to a node but `options.hasFallback=true`, `false` if the option resolved to `false`\n * (node explicitly not given); otherwise, the resolved DOM node.\n * @throws {Error} If the option is set, not `false`, and is not, or does not\n * resolve to a node, unless the option is a selector string and `options.hasFallback=true`.\n */\n var getNodeForOption = function getNodeForOption(optionName) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$hasFallback = _ref2.hasFallback,\n hasFallback = _ref2$hasFallback === void 0 ? false : _ref2$hasFallback,\n _ref2$params = _ref2.params,\n params = _ref2$params === void 0 ? [] : _ref2$params;\n var optionValue = config[optionName];\n if (typeof optionValue === 'function') {\n optionValue = optionValue.apply(void 0, _toConsumableArray(params));\n }\n if (optionValue === true) {\n optionValue = undefined; // use default value\n }\n if (!optionValue) {\n if (optionValue === undefined || optionValue === false) {\n return optionValue;\n }\n // else, empty string (invalid), null (invalid), 0 (invalid)\n\n throw new Error(\"`\".concat(optionName, \"` was specified but was not a node, or did not return a node\"));\n }\n var node = optionValue; // could be HTMLElement, SVGElement, or non-empty string at this point\n\n if (typeof optionValue === 'string') {\n try {\n node = doc.querySelector(optionValue); // resolve to node, or null if fails\n } catch (err) {\n throw new Error(\"`\".concat(optionName, \"` appears to be an invalid selector; error=\\\"\").concat(err.message, \"\\\"\"));\n }\n if (!node) {\n if (!hasFallback) {\n throw new Error(\"`\".concat(optionName, \"` as selector refers to no known node\"));\n }\n // else, `node` MUST be `null` because that's what `Document.querySelector()` returns\n // if the selector is valid but doesn't match anything\n }\n }\n return node;\n };\n var getInitialFocusNode = function getInitialFocusNode() {\n var node = getNodeForOption('initialFocus', {\n hasFallback: true\n });\n\n // false explicitly indicates we want no initialFocus at all\n if (node === false) {\n return false;\n }\n if (node === undefined || node && !isFocusable(node, config.tabbableOptions)) {\n // option not specified nor focusable: use fallback options\n if (findContainerIndex(doc.activeElement) >= 0) {\n node = doc.activeElement;\n } else {\n var firstTabbableGroup = state.tabbableGroups[0];\n var firstTabbableNode = firstTabbableGroup && firstTabbableGroup.firstTabbableNode;\n\n // NOTE: `fallbackFocus` option function cannot return `false` (not supported)\n node = firstTabbableNode || getNodeForOption('fallbackFocus');\n }\n } else if (node === null) {\n // option is a VALID selector string that doesn't yield a node: use the `fallbackFocus`\n // option instead of the default behavior when the option isn't specified at all\n node = getNodeForOption('fallbackFocus');\n }\n if (!node) {\n throw new Error('Your focus-trap needs to have at least one focusable element');\n }\n return node;\n };\n var updateTabbableNodes = function updateTabbableNodes() {\n state.containerGroups = state.containers.map(function (container) {\n var tabbableNodes = tabbable(container, config.tabbableOptions);\n\n // NOTE: if we have tabbable nodes, we must have focusable nodes; focusable nodes\n // are a superset of tabbable nodes since nodes with negative `tabindex` attributes\n // are focusable but not tabbable\n var focusableNodes = focusable(container, config.tabbableOptions);\n var firstTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[0] : undefined;\n var lastTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[tabbableNodes.length - 1] : undefined;\n var firstDomTabbableNode = focusableNodes.find(function (node) {\n return isTabbable(node);\n });\n var lastDomTabbableNode = focusableNodes.slice().reverse().find(function (node) {\n return isTabbable(node);\n });\n var posTabIndexesFound = !!tabbableNodes.find(function (node) {\n return getTabIndex(node) > 0;\n });\n return {\n container: container,\n tabbableNodes: tabbableNodes,\n focusableNodes: focusableNodes,\n /** True if at least one node with positive `tabindex` was found in this container. */\n posTabIndexesFound: posTabIndexesFound,\n /** First tabbable node in container, __tabindex__ order; `undefined` if none. */\n firstTabbableNode: firstTabbableNode,\n /** Last tabbable node in container, __tabindex__ order; `undefined` if none. */\n lastTabbableNode: lastTabbableNode,\n // NOTE: DOM order is NOT NECESSARILY \"document position\" order, but figuring that out\n // would require more than just https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n // because that API doesn't work with Shadow DOM as well as it should (@see\n // https://github.com/whatwg/dom/issues/320) and since this first/last is only needed, so far,\n // to address an edge case related to positive tabindex support, this seems like a much easier,\n // \"close enough most of the time\" alternative for positive tabindexes which should generally\n // be avoided anyway...\n /** First tabbable node in container, __DOM__ order; `undefined` if none. */\n firstDomTabbableNode: firstDomTabbableNode,\n /** Last tabbable node in container, __DOM__ order; `undefined` if none. */\n lastDomTabbableNode: lastDomTabbableNode,\n /**\n * Finds the __tabbable__ node that follows the given node in the specified direction,\n * in this container, if any.\n * @param {HTMLElement} node\n * @param {boolean} [forward] True if going in forward tab order; false if going\n * in reverse.\n * @returns {HTMLElement|undefined} The next tabbable node, if any.\n */\n nextTabbableNode: function nextTabbableNode(node) {\n var forward = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var nodeIdx = tabbableNodes.indexOf(node);\n if (nodeIdx < 0) {\n // either not tabbable nor focusable, or was focused but not tabbable (negative tabindex):\n // since `node` should at least have been focusable, we assume that's the case and mimic\n // what browsers do, which is set focus to the next node in __document position order__,\n // regardless of positive tabindexes, if any -- and for reasons explained in the NOTE\n // above related to `firstDomTabbable` and `lastDomTabbable` properties, we fall back to\n // basic DOM order\n if (forward) {\n return focusableNodes.slice(focusableNodes.indexOf(node) + 1).find(function (el) {\n return isTabbable(el);\n });\n }\n return focusableNodes.slice(0, focusableNodes.indexOf(node)).reverse().find(function (el) {\n return isTabbable(el);\n });\n }\n return tabbableNodes[nodeIdx + (forward ? 1 : -1)];\n }\n };\n });\n state.tabbableGroups = state.containerGroups.filter(function (group) {\n return group.tabbableNodes.length > 0;\n });\n\n // throw if no groups have tabbable nodes and we don't have a fallback focus node either\n if (state.tabbableGroups.length <= 0 && !getNodeForOption('fallbackFocus') // returning false not supported for this option\n ) {\n throw new Error('Your focus-trap must have at least one container with at least one tabbable node in it at all times');\n }\n\n // NOTE: Positive tabindexes are only properly supported in single-container traps because\n // doing it across multiple containers where tabindexes could be all over the place\n // would require Tabbable to support multiple containers, would require additional\n // specialized Shadow DOM support, and would require Tabbable's multi-container support\n // to look at those containers in document position order rather than user-provided\n // order (as they are treated in Focus-trap, for legacy reasons). See discussion on\n // https://github.com/focus-trap/focus-trap/issues/375 for more details.\n if (state.containerGroups.find(function (g) {\n return g.posTabIndexesFound;\n }) && state.containerGroups.length > 1) {\n throw new Error(\"At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.\");\n }\n };\n\n /**\n * Gets the current activeElement. If it's a web-component and has open shadow-root\n * it will recursively search inside shadow roots for the \"true\" activeElement.\n *\n * @param {Document | ShadowRoot} el\n *\n * @returns {HTMLElement} The element that currently has the focus\n **/\n var _getActiveElement = function getActiveElement(el) {\n var activeElement = el.activeElement;\n if (!activeElement) {\n return;\n }\n if (activeElement.shadowRoot && activeElement.shadowRoot.activeElement !== null) {\n return _getActiveElement(activeElement.shadowRoot);\n }\n return activeElement;\n };\n var _tryFocus = function tryFocus(node) {\n if (node === false) {\n return;\n }\n if (node === _getActiveElement(document)) {\n return;\n }\n if (!node || !node.focus) {\n _tryFocus(getInitialFocusNode());\n return;\n }\n node.focus({\n preventScroll: !!config.preventScroll\n });\n // NOTE: focus() API does not trigger focusIn event so set MRU node manually\n state.mostRecentlyFocusedNode = node;\n if (isSelectableInput(node)) {\n node.select();\n }\n };\n var getReturnFocusNode = function getReturnFocusNode(previousActiveElement) {\n var node = getNodeForOption('setReturnFocus', {\n params: [previousActiveElement]\n });\n return node ? node : node === false ? false : previousActiveElement;\n };\n\n /**\n * Finds the next node (in either direction) where focus should move according to a\n * keyboard focus-in event.\n * @param {Object} params\n * @param {Node} [params.target] Known target __from which__ to navigate, if any.\n * @param {KeyboardEvent|FocusEvent} [params.event] Event to use if `target` isn't known (event\n * will be used to determine the `target`). Ignored if `target` is specified.\n * @param {boolean} [params.isBackward] True if focus should move backward.\n * @returns {Node|undefined} The next node, or `undefined` if a next node couldn't be\n * determined given the current state of the trap.\n */\n var findNextNavNode = function findNextNavNode(_ref3) {\n var target = _ref3.target,\n event = _ref3.event,\n _ref3$isBackward = _ref3.isBackward,\n isBackward = _ref3$isBackward === void 0 ? false : _ref3$isBackward;\n target = target || getActualTarget(event);\n updateTabbableNodes();\n var destinationNode = null;\n if (state.tabbableGroups.length > 0) {\n // make sure the target is actually contained in a group\n // NOTE: the target may also be the container itself if it's focusable\n // with tabIndex='-1' and was given initial focus\n var containerIndex = findContainerIndex(target, event);\n var containerGroup = containerIndex >= 0 ? state.containerGroups[containerIndex] : undefined;\n if (containerIndex < 0) {\n // target not found in any group: quite possible focus has escaped the trap,\n // so bring it back into...\n if (isBackward) {\n // ...the last node in the last group\n destinationNode = state.tabbableGroups[state.tabbableGroups.length - 1].lastTabbableNode;\n } else {\n // ...the first node in the first group\n destinationNode = state.tabbableGroups[0].firstTabbableNode;\n }\n } else if (isBackward) {\n // REVERSE\n\n // is the target the first tabbable node in a group?\n var startOfGroupIndex = state.tabbableGroups.findIndex(function (_ref4) {\n var firstTabbableNode = _ref4.firstTabbableNode;\n return target === firstTabbableNode;\n });\n if (startOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target, false))) {\n // an exception case where the target is either the container itself, or\n // a non-tabbable node that was given focus (i.e. tabindex is negative\n // and user clicked on it or node was programmatically given focus)\n // and is not followed by any other tabbable node, in which\n // case, we should handle shift+tab as if focus were on the container's\n // first tabbable node, and go to the last tabbable node of the LAST group\n startOfGroupIndex = containerIndex;\n }\n if (startOfGroupIndex >= 0) {\n // YES: then shift+tab should go to the last tabbable node in the\n // previous group (and wrap around to the last tabbable node of\n // the LAST group if it's the first tabbable node of the FIRST group)\n var destinationGroupIndex = startOfGroupIndex === 0 ? state.tabbableGroups.length - 1 : startOfGroupIndex - 1;\n var destinationGroup = state.tabbableGroups[destinationGroupIndex];\n destinationNode = getTabIndex(target) >= 0 ? destinationGroup.lastTabbableNode : destinationGroup.lastDomTabbableNode;\n } else if (!isTabEvent(event)) {\n // user must have customized the nav keys so we have to move focus manually _within_\n // the active group: do this based on the order determined by tabbable()\n destinationNode = containerGroup.nextTabbableNode(target, false);\n }\n } else {\n // FORWARD\n\n // is the target the last tabbable node in a group?\n var lastOfGroupIndex = state.tabbableGroups.findIndex(function (_ref5) {\n var lastTabbableNode = _ref5.lastTabbableNode;\n return target === lastTabbableNode;\n });\n if (lastOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target))) {\n // an exception case where the target is the container itself, or\n // a non-tabbable node that was given focus (i.e. tabindex is negative\n // and user clicked on it or node was programmatically given focus)\n // and is not followed by any other tabbable node, in which\n // case, we should handle tab as if focus were on the container's\n // last tabbable node, and go to the first tabbable node of the FIRST group\n lastOfGroupIndex = containerIndex;\n }\n if (lastOfGroupIndex >= 0) {\n // YES: then tab should go to the first tabbable node in the next\n // group (and wrap around to the first tabbable node of the FIRST\n // group if it's the last tabbable node of the LAST group)\n var _destinationGroupIndex = lastOfGroupIndex === state.tabbableGroups.length - 1 ? 0 : lastOfGroupIndex + 1;\n var _destinationGroup = state.tabbableGroups[_destinationGroupIndex];\n destinationNode = getTabIndex(target) >= 0 ? _destinationGroup.firstTabbableNode : _destinationGroup.firstDomTabbableNode;\n } else if (!isTabEvent(event)) {\n // user must have customized the nav keys so we have to move focus manually _within_\n // the active group: do this based on the order determined by tabbable()\n destinationNode = containerGroup.nextTabbableNode(target);\n }\n }\n } else {\n // no groups available\n // NOTE: the fallbackFocus option does not support returning false to opt-out\n destinationNode = getNodeForOption('fallbackFocus');\n }\n return destinationNode;\n };\n\n // This needs to be done on mousedown and touchstart instead of click\n // so that it precedes the focus event.\n var checkPointerDown = function checkPointerDown(e) {\n var target = getActualTarget(e);\n if (findContainerIndex(target, e) >= 0) {\n // allow the click since it ocurred inside the trap\n return;\n }\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n // immediately deactivate the trap\n trap.deactivate({\n // NOTE: by setting `returnFocus: false`, deactivate() will do nothing,\n // which will result in the outside click setting focus to the node\n // that was clicked (and if not focusable, to \"nothing\"); by setting\n // `returnFocus: true`, we'll attempt to re-focus the node originally-focused\n // on activation (or the configured `setReturnFocus` node), whether the\n // outside click was on a focusable node or not\n returnFocus: config.returnFocusOnDeactivate\n });\n return;\n }\n\n // This is needed for mobile devices.\n // (If we'll only let `click` events through,\n // then on mobile they will be blocked anyways if `touchstart` is blocked.)\n if (valueOrHandler(config.allowOutsideClick, e)) {\n // allow the click outside the trap to take place\n return;\n }\n\n // otherwise, prevent the click\n e.preventDefault();\n };\n\n // In case focus escapes the trap for some strange reason, pull it back in.\n // NOTE: the focusIn event is NOT cancelable, so if focus escapes, it may cause unexpected\n // scrolling if the node that got focused was out of view; there's nothing we can do to\n // prevent that from happening by the time we discover that focus escaped\n var checkFocusIn = function checkFocusIn(event) {\n var target = getActualTarget(event);\n var targetContained = findContainerIndex(target, event) >= 0;\n\n // In Firefox when you Tab out of an iframe the Document is briefly focused.\n if (targetContained || target instanceof Document) {\n if (targetContained) {\n state.mostRecentlyFocusedNode = target;\n }\n } else {\n // escaped! pull it back in to where it just left\n event.stopImmediatePropagation();\n\n // focus will escape if the MRU node had a positive tab index and user tried to nav forward;\n // it will also escape if the MRU node had a 0 tab index and user tried to nav backward\n // toward a node with a positive tab index\n var nextNode; // next node to focus, if we find one\n var navAcrossContainers = true;\n if (state.mostRecentlyFocusedNode) {\n if (getTabIndex(state.mostRecentlyFocusedNode) > 0) {\n // MRU container index must be >=0 otherwise we wouldn't have it as an MRU node...\n var mruContainerIdx = findContainerIndex(state.mostRecentlyFocusedNode);\n // there MAY not be any tabbable nodes in the container if there are at least 2 containers\n // and the MRU node is focusable but not tabbable (focus-trap requires at least 1 container\n // with at least one tabbable node in order to function, so this could be the other container\n // with nothing tabbable in it)\n var tabbableNodes = state.containerGroups[mruContainerIdx].tabbableNodes;\n if (tabbableNodes.length > 0) {\n // MRU tab index MAY not be found if the MRU node is focusable but not tabbable\n var mruTabIdx = tabbableNodes.findIndex(function (node) {\n return node === state.mostRecentlyFocusedNode;\n });\n if (mruTabIdx >= 0) {\n if (config.isKeyForward(state.recentNavEvent)) {\n if (mruTabIdx + 1 < tabbableNodes.length) {\n nextNode = tabbableNodes[mruTabIdx + 1];\n navAcrossContainers = false;\n }\n // else, don't wrap within the container as focus should move to next/previous\n // container\n } else {\n if (mruTabIdx - 1 >= 0) {\n nextNode = tabbableNodes[mruTabIdx - 1];\n navAcrossContainers = false;\n }\n // else, don't wrap within the container as focus should move to next/previous\n // container\n }\n // else, don't find in container order without considering direction too\n }\n }\n // else, no tabbable nodes in that container (which means we must have at least one other\n // container with at least one tabbable node in it, otherwise focus-trap would've thrown\n // an error the last time updateTabbableNodes() was run): find next node among all known\n // containers\n } else {\n // check to see if there's at least one tabbable node with a positive tab index inside\n // the trap because focus seems to escape when navigating backward from a tabbable node\n // with tabindex=0 when this is the case (instead of wrapping to the tabbable node with\n // the greatest positive tab index like it should)\n if (!state.containerGroups.some(function (g) {\n return g.tabbableNodes.some(function (n) {\n return getTabIndex(n) > 0;\n });\n })) {\n // no containers with tabbable nodes with positive tab indexes which means the focus\n // escaped for some other reason and we should just execute the fallback to the\n // MRU node or initial focus node, if any\n navAcrossContainers = false;\n }\n }\n } else {\n // no MRU node means we're likely in some initial condition when the trap has just\n // been activated and initial focus hasn't been given yet, in which case we should\n // fall through to trying to focus the initial focus node, which is what should\n // happen below at this point in the logic\n navAcrossContainers = false;\n }\n if (navAcrossContainers) {\n nextNode = findNextNavNode({\n // move FROM the MRU node, not event-related node (which will be the node that is\n // outside the trap causing the focus escape we're trying to fix)\n target: state.mostRecentlyFocusedNode,\n isBackward: config.isKeyBackward(state.recentNavEvent)\n });\n }\n if (nextNode) {\n _tryFocus(nextNode);\n } else {\n _tryFocus(state.mostRecentlyFocusedNode || getInitialFocusNode());\n }\n }\n state.recentNavEvent = undefined; // clear\n };\n\n // Hijack key nav events on the first and last focusable nodes of the trap,\n // in order to prevent focus from escaping. If it escapes for even a\n // moment it can end up scrolling the page and causing confusion so we\n // kind of need to capture the action at the keydown phase.\n var checkKeyNav = function checkKeyNav(event) {\n var isBackward = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n state.recentNavEvent = event;\n var destinationNode = findNextNavNode({\n event: event,\n isBackward: isBackward\n });\n if (destinationNode) {\n if (isTabEvent(event)) {\n // since tab natively moves focus, we wouldn't have a destination node unless we\n // were on the edge of a container and had to move to the next/previous edge, in\n // which case we want to prevent default to keep the browser from moving focus\n // to where it normally would\n event.preventDefault();\n }\n _tryFocus(destinationNode);\n }\n // else, let the browser take care of [shift+]tab and move the focus\n };\n var checkTabKey = function checkTabKey(event) {\n if (config.isKeyForward(event) || config.isKeyBackward(event)) {\n checkKeyNav(event, config.isKeyBackward(event));\n }\n };\n\n // we use a different event phase for the Escape key to allow canceling the event and checking for this in escapeDeactivates\n var checkEscapeKey = function checkEscapeKey(event) {\n if (isEscapeEvent(event) && valueOrHandler(config.escapeDeactivates, event) !== false) {\n event.preventDefault();\n trap.deactivate();\n }\n };\n var checkClick = function checkClick(e) {\n var target = getActualTarget(e);\n if (findContainerIndex(target, e) >= 0) {\n return;\n }\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n return;\n }\n if (valueOrHandler(config.allowOutsideClick, e)) {\n return;\n }\n e.preventDefault();\n e.stopImmediatePropagation();\n };\n\n //\n // EVENT LISTENERS\n //\n\n var addListeners = function addListeners() {\n if (!state.active) {\n return;\n }\n\n // There can be only one listening focus trap at a time\n activeFocusTraps.activateTrap(trapStack, trap);\n\n // Delay ensures that the focused element doesn't capture the event\n // that caused the focus trap activation.\n state.delayInitialFocusTimer = config.delayInitialFocus ? delay(function () {\n _tryFocus(getInitialFocusNode());\n }) : _tryFocus(getInitialFocusNode());\n doc.addEventListener('focusin', checkFocusIn, true);\n doc.addEventListener('mousedown', checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener('touchstart', checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener('click', checkClick, {\n capture: true,\n passive: false\n });\n doc.addEventListener('keydown', checkTabKey, {\n capture: true,\n passive: false\n });\n doc.addEventListener('keydown', checkEscapeKey);\n return trap;\n };\n\n /**\n * Traverses up the DOM from each of `containers`, collecting references to\n * the elements that are siblings to `container` or an ancestor of `container`.\n * @param {Array} containers\n */\n var collectAdjacentElements = function collectAdjacentElements(containers) {\n // Re-activate all adjacent elements & clear previous collection.\n if (state.active && !state.paused) {\n trap._setSubtreeIsolation(false);\n }\n state.adjacentElements.clear();\n state.alreadySilent.clear();\n\n // Collect all ancestors of all containers to avoid redundant processing.\n var containerAncestors = new Set();\n var adjacentElements = new Set();\n\n // Compile all elements adjacent to the focus trap containers & lineage.\n var _iterator = _createForOfIteratorHelper(containers),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var container = _step.value;\n containerAncestors.add(container);\n var insideShadowRoot = typeof ShadowRoot !== 'undefined' && container.getRootNode() instanceof ShadowRoot;\n var current = container;\n while (current) {\n containerAncestors.add(current);\n var parent = current.parentElement;\n var siblings = [];\n if (parent) {\n siblings = parent.children;\n } else if (!parent && insideShadowRoot) {\n siblings = current.getRootNode().children;\n parent = current.getRootNode().host;\n insideShadowRoot = typeof ShadowRoot !== 'undefined' && parent.getRootNode() instanceof ShadowRoot;\n }\n\n // Add all the children, we'll remove container lineage later.\n var _iterator2 = _createForOfIteratorHelper(siblings),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var child = _step2.value;\n adjacentElements.add(child);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n current = parent;\n }\n }\n\n // Multi-container traps may overlap.\n // Remove elements within container lineages.\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n containerAncestors.forEach(function (el) {\n adjacentElements[\"delete\"](el);\n });\n state.adjacentElements = adjacentElements;\n };\n var removeListeners = function removeListeners() {\n if (!state.active) {\n return;\n }\n doc.removeEventListener('focusin', checkFocusIn, true);\n doc.removeEventListener('mousedown', checkPointerDown, true);\n doc.removeEventListener('touchstart', checkPointerDown, true);\n doc.removeEventListener('click', checkClick, true);\n doc.removeEventListener('keydown', checkTabKey, true);\n doc.removeEventListener('keydown', checkEscapeKey);\n return trap;\n };\n\n //\n // MUTATION OBSERVER\n //\n\n var checkDomRemoval = function checkDomRemoval(mutations) {\n var isFocusedNodeRemoved = mutations.some(function (mutation) {\n var removedNodes = Array.from(mutation.removedNodes);\n return removedNodes.some(function (node) {\n return node === state.mostRecentlyFocusedNode;\n });\n });\n\n // If the currently focused is removed then browsers will move focus to the\n // element. If this happens, try to move focus back into the trap.\n if (isFocusedNodeRemoved) {\n _tryFocus(getInitialFocusNode());\n }\n };\n\n // Use MutationObserver - if supported - to detect if focused node is removed\n // from the DOM.\n var mutationObserver = typeof window !== 'undefined' && 'MutationObserver' in window ? new MutationObserver(checkDomRemoval) : undefined;\n var updateObservedNodes = function updateObservedNodes() {\n if (!mutationObserver) {\n return;\n }\n mutationObserver.disconnect();\n if (state.active && !state.paused) {\n state.containers.map(function (container) {\n mutationObserver.observe(container, {\n subtree: true,\n childList: true\n });\n });\n }\n };\n\n //\n // TRAP DEFINITION\n //\n\n trap = {\n get active() {\n return state.active;\n },\n get paused() {\n return state.paused;\n },\n activate: function activate(activateOptions) {\n if (state.active) {\n return this;\n }\n var onActivate = getOption(activateOptions, 'onActivate');\n var onPostActivate = getOption(activateOptions, 'onPostActivate');\n var checkCanFocusTrap = getOption(activateOptions, 'checkCanFocusTrap');\n\n // If a currently-active trap is isolating its subtree, we need to remove\n // that isolation to allow the new trap to find tabbable nodes.\n var preexistingTrap = activeFocusTraps.getActiveTrap(trapStack);\n var revertState = false;\n if (preexistingTrap && !preexistingTrap.paused) {\n var _preexistingTrap$_set;\n // [#1729] method MAY not exist if using `trapStack` option to share stack with older\n // versions of Focus-trap in the same DOM so use optional chaining here just in case\n // since this is a trap we may not have created from this instance of the library\n (_preexistingTrap$_set = preexistingTrap._setSubtreeIsolation) === null || _preexistingTrap$_set === void 0 || _preexistingTrap$_set.call(preexistingTrap, false);\n revertState = true;\n }\n try {\n if (!checkCanFocusTrap) {\n updateTabbableNodes();\n }\n state.active = true;\n state.paused = false;\n state.nodeFocusedBeforeActivation = _getActiveElement(doc);\n onActivate === null || onActivate === void 0 || onActivate();\n var finishActivation = function finishActivation() {\n if (checkCanFocusTrap) {\n updateTabbableNodes();\n }\n addListeners();\n updateObservedNodes();\n if (config.isolateSubtrees) {\n trap._setSubtreeIsolation(true);\n }\n onPostActivate === null || onPostActivate === void 0 || onPostActivate();\n };\n if (checkCanFocusTrap) {\n checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation);\n return this;\n }\n finishActivation();\n } catch (error) {\n // If our activation throws an exception and the stack hasn't changed,\n // we need to re-enable the prior trap's subtree isolation.\n if (preexistingTrap === activeFocusTraps.getActiveTrap(trapStack) && revertState) {\n var _preexistingTrap$_set2;\n // [#1729] method MAY not exist if using `trapStack` option to share stack with older\n // versions of Focus-trap in the same DOM so use optional chaining here just in case\n // since this is a trap we may not have created from this instance of the library\n (_preexistingTrap$_set2 = preexistingTrap._setSubtreeIsolation) === null || _preexistingTrap$_set2 === void 0 || _preexistingTrap$_set2.call(preexistingTrap, true);\n }\n throw error;\n }\n return this;\n },\n deactivate: function deactivate(deactivateOptions) {\n if (!state.active) {\n return this;\n }\n var options = _objectSpread2({\n onDeactivate: config.onDeactivate,\n onPostDeactivate: config.onPostDeactivate,\n checkCanReturnFocus: config.checkCanReturnFocus\n }, deactivateOptions);\n clearTimeout(state.delayInitialFocusTimer); // noop if undefined\n state.delayInitialFocusTimer = undefined;\n\n // Prior to removing this trap from the trapStack, we need to remove any applications of `inert`.\n // This allows the next trap down to update its tabbable nodes properly.\n //\n // If this trap is not top of the stack, don't change any current isolation.\n if (!state.paused) {\n trap._setSubtreeIsolation(false);\n }\n state.alreadySilent.clear();\n removeListeners();\n state.active = false;\n state.paused = false;\n updateObservedNodes();\n activeFocusTraps.deactivateTrap(trapStack, trap);\n var onDeactivate = getOption(options, 'onDeactivate');\n var onPostDeactivate = getOption(options, 'onPostDeactivate');\n var checkCanReturnFocus = getOption(options, 'checkCanReturnFocus');\n var returnFocus = getOption(options, 'returnFocus', 'returnFocusOnDeactivate');\n onDeactivate === null || onDeactivate === void 0 || onDeactivate();\n var finishDeactivation = function finishDeactivation() {\n delay(function () {\n if (returnFocus) {\n _tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));\n }\n onPostDeactivate === null || onPostDeactivate === void 0 || onPostDeactivate();\n });\n };\n if (returnFocus && checkCanReturnFocus) {\n checkCanReturnFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)).then(finishDeactivation, finishDeactivation);\n return this;\n }\n finishDeactivation();\n return this;\n },\n pause: function pause(pauseOptions) {\n if (!state.active) {\n return this;\n }\n state.manuallyPaused = true;\n return this._setPausedState(true, pauseOptions);\n },\n unpause: function unpause(unpauseOptions) {\n if (!state.active) {\n return this;\n }\n state.manuallyPaused = false;\n if (trapStack[trapStack.length - 1] !== this) {\n return this;\n }\n return this._setPausedState(false, unpauseOptions);\n },\n updateContainerElements: function updateContainerElements(containerElements) {\n var elementsAsArray = [].concat(containerElements).filter(Boolean);\n state.containers = elementsAsArray.map(function (element) {\n return typeof element === 'string' ? doc.querySelector(element) : element;\n });\n if (config.isolateSubtrees) {\n collectAdjacentElements(state.containers);\n }\n if (state.active) {\n updateTabbableNodes();\n if (config.isolateSubtrees && !state.paused) {\n trap._setSubtreeIsolation(true);\n }\n }\n updateObservedNodes();\n return this;\n }\n };\n Object.defineProperties(trap, {\n _isManuallyPaused: {\n value: function value() {\n return state.manuallyPaused;\n }\n },\n _setPausedState: {\n value: function value(paused, options) {\n if (state.paused === paused) {\n return this;\n }\n state.paused = paused;\n if (paused) {\n var onPause = getOption(options, 'onPause');\n var onPostPause = getOption(options, 'onPostPause');\n onPause === null || onPause === void 0 || onPause();\n removeListeners();\n updateObservedNodes();\n trap._setSubtreeIsolation(false);\n onPostPause === null || onPostPause === void 0 || onPostPause();\n } else {\n var onUnpause = getOption(options, 'onUnpause');\n var onPostUnpause = getOption(options, 'onPostUnpause');\n onUnpause === null || onUnpause === void 0 || onUnpause();\n trap._setSubtreeIsolation(true);\n updateTabbableNodes();\n addListeners();\n updateObservedNodes();\n onPostUnpause === null || onPostUnpause === void 0 || onPostUnpause();\n }\n return this;\n }\n },\n _setSubtreeIsolation: {\n value: function value(isEnabled) {\n if (config.isolateSubtrees) {\n state.adjacentElements.forEach(function (el) {\n var _el$getAttribute;\n if (isEnabled) {\n switch (config.isolateSubtrees) {\n case 'aria-hidden':\n // check both attribute and property to ensure initial state is captured\n // correctly across different browsers and test environments (like JSDOM)\n if (el.ariaHidden === 'true' || ((_el$getAttribute = el.getAttribute('aria-hidden')) === null || _el$getAttribute === void 0 ? void 0 : _el$getAttribute.toLowerCase()) === 'true') {\n state.alreadySilent.add(el);\n }\n el.setAttribute('aria-hidden', 'true');\n break;\n default:\n // check both attribute and property to ensure initial state is captured\n // correctly across different browsers and test environments (like JSDOM)\n if (el.inert || el.hasAttribute('inert')) {\n state.alreadySilent.add(el);\n }\n el.setAttribute('inert', true);\n break;\n }\n } else {\n if (state.alreadySilent.has(el)) ; else {\n switch (config.isolateSubtrees) {\n case 'aria-hidden':\n el.removeAttribute('aria-hidden');\n break;\n default:\n el.removeAttribute('inert');\n break;\n }\n }\n }\n });\n }\n }\n }\n });\n\n // initialize container elements\n trap.updateContainerElements(elements);\n return trap;\n};\n\nexport { createFocusTrap };\n//# sourceMappingURL=focus-trap.esm.js.map\n","function getTrapStack() {\n window._nc_focus_trap ??= [];\n return window._nc_focus_trap;\n}\nfunction createTrapStackController() {\n let pausedStack = [];\n return {\n /**\n * Pause the current focus-trap stack\n */\n pause() {\n pausedStack = [...getTrapStack()];\n for (const trap of pausedStack) {\n trap.pause();\n }\n },\n /**\n * Unpause the paused focus trap stack\n * If the actual stack is different from the paused one, ignore unpause.\n */\n unpause() {\n if (pausedStack.length === getTrapStack().length) {\n for (const trap of pausedStack) {\n trap.unpause();\n }\n }\n pausedStack = [];\n }\n };\n}\nexport {\n createTrapStackController as c,\n getTrapStack as g\n};\n//# sourceMappingURL=focusTrap-HJQ4pqHV.mjs.map\n","var mdiAlertCircleOutline = \"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z\";\nvar mdiArrowLeft = \"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\";\nvar mdiArrowRight = \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\";\nvar mdiArrowTopRight = \"M5,17.59L15.59,7H9V5H19V15H17V8.41L6.41,19L5,17.59Z\";\nvar mdiCheck = \"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\";\nvar mdiCheckboxBlankOutline = \"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z\";\nvar mdiCheckboxMarked = \"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\nvar mdiChevronLeft = \"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\";\nvar mdiChevronRight = \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\";\nvar mdiClose = \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\";\nvar mdiCloseCircleOutline = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2M14.59,8L12,10.59L9.41,8L8,9.41L10.59,12L8,14.59L9.41,16L12,13.41L14.59,16L16,14.59L13.41,12L16,9.41L14.59,8Z\";\nvar mdiCog = \"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\";\nvar mdiCogOutline = \"M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M10,22C9.75,22 9.54,21.82 9.5,21.58L9.13,18.93C8.5,18.68 7.96,18.34 7.44,17.94L4.95,18.95C4.73,19.03 4.46,18.95 4.34,18.73L2.34,15.27C2.21,15.05 2.27,14.78 2.46,14.63L4.57,12.97L4.5,12L4.57,11L2.46,9.37C2.27,9.22 2.21,8.95 2.34,8.73L4.34,5.27C4.46,5.05 4.73,4.96 4.95,5.05L7.44,6.05C7.96,5.66 8.5,5.32 9.13,5.07L9.5,2.42C9.54,2.18 9.75,2 10,2H14C14.25,2 14.46,2.18 14.5,2.42L14.87,5.07C15.5,5.32 16.04,5.66 16.56,6.05L19.05,5.05C19.27,4.96 19.54,5.05 19.66,5.27L21.66,8.73C21.79,8.95 21.73,9.22 21.54,9.37L19.43,11L19.5,12L19.43,13L21.54,14.63C21.73,14.78 21.79,15.05 21.66,15.27L19.66,18.73C19.54,18.95 19.27,19.04 19.05,18.95L16.56,17.95C16.04,18.34 15.5,18.68 14.87,18.93L14.5,21.58C14.46,21.82 14.25,22 14,22H10M11.25,4L10.88,6.61C9.68,6.86 8.62,7.5 7.85,8.39L5.44,7.35L4.69,8.65L6.8,10.2C6.4,11.37 6.4,12.64 6.8,13.8L4.68,15.36L5.43,16.66L7.86,15.62C8.63,16.5 9.68,17.14 10.87,17.38L11.24,20H12.76L13.13,17.39C14.32,17.14 15.37,16.5 16.14,15.62L18.57,16.66L19.32,15.36L17.2,13.81C17.6,12.64 17.6,11.37 17.2,10.2L19.31,8.65L18.56,7.35L16.15,8.39C15.38,7.5 14.32,6.86 13.12,6.62L12.75,4H11.25Z\";\nvar mdiContentCopy = \"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\";\nvar mdiCreation = \"M19,1L17.74,3.75L15,5L17.74,6.26L19,9L20.25,6.26L23,5L20.25,3.75M9,4L6.5,9.5L1,12L6.5,14.5L9,20L11.5,14.5L17,12L11.5,9.5M19,15L17.74,17.74L15,19L17.74,20.25L19,23L20.25,20.25L23,19L20.25,17.74\";\nvar mdiDotsHorizontal = \"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\";\nvar mdiOpenInNew = \"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\";\nvar mdiRadioboxBlank = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\nvar mdiRadioboxMarked = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z\";\nvar mdiUndo = \"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\";\nexport {\n mdiCheck as a,\n mdiUndo as b,\n mdiClose as c,\n mdiArrowRight as d,\n mdiContentCopy as e,\n mdiCreation as f,\n mdiRadioboxMarked as g,\n mdiRadioboxBlank as h,\n mdiCheckboxMarked as i,\n mdiCheckboxBlankOutline as j,\n mdiAlertCircleOutline as k,\n mdiCogOutline as l,\n mdiChevronRight as m,\n mdiCog as n,\n mdiOpenInNew as o,\n mdiArrowTopRight as p,\n mdiDotsHorizontal as q,\n mdiCloseCircleOutline as r,\n mdiArrowLeft as s,\n mdiChevronLeft as t\n};\n//# sourceMappingURL=mdi-DtJ8HsM-.mjs.map\n","const ActionGlobalMixin = {\n beforeUpdate() {\n this.text = this.getText();\n },\n data() {\n return {\n // $slots are not reactive.\n // We need to update the content manually\n text: this.getText()\n };\n },\n computed: {\n isLongText() {\n return this.text && this.text.trim().length > 20;\n }\n },\n methods: {\n getText() {\n return this.$slots.default ? this.$slots.default[0].text.trim() : \"\";\n }\n }\n};\nexport {\n ActionGlobalMixin as A\n};\n//# sourceMappingURL=actionGlobal-DqVa7c7G.mjs.map\n","import { A as ActionGlobalMixin } from \"./actionGlobal-DqVa7c7G.mjs\";\nfunction GetParent(context, name) {\n let parent = context.$parent;\n while (parent) {\n if (parent.$options.name === name) {\n return parent;\n }\n parent = parent.$parent;\n }\n}\nconst ActionTextMixin = {\n mixins: [ActionGlobalMixin],\n props: {\n /**\n * Icon to show with the action, can be either a CSS class or an URL\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: \"\"\n },\n /**\n * Whether we close the Actions menu after the click\n */\n closeAfterClick: {\n type: Boolean,\n default: false\n },\n /**\n * Aria label for the button. Not needed if the button has text.\n */\n ariaLabel: {\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 emits: [\n \"click\"\n ],\n computed: {\n /**\n * Check if icon prop is an URL\n *\n * @return {boolean} Whether the icon prop is an URL\n */\n isIconUrl() {\n try {\n return !!new URL(this.icon, this.icon.startsWith(\"/\") ? window.location.origin : void 0);\n } catch {\n return false;\n }\n }\n },\n methods: {\n onClick(event) {\n this.$emit(\"click\", event);\n if (this.closeAfterClick) {\n const parent = GetParent(this, \"NcActions\");\n if (parent && parent.closeMenu) {\n parent.closeMenu(false);\n }\n }\n }\n }\n};\nexport {\n ActionTextMixin as A\n};\n//# sourceMappingURL=actionText-BMig9Egt.mjs.map\n","import '../assets/NcActionButton-cjcF16FC.css';\nimport { m as mdiChevronRight, a as mdiCheck } from \"./mdi-DtJ8HsM-.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Bui9PhAS.mjs\";\nimport { A as ActionTextMixin } from \"./actionText-BMig9Egt.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcActionButton\",\n components: {\n NcIconSvgWrapper\n },\n mixins: [ActionTextMixin],\n inject: {\n isInSemanticMenu: {\n from: \"NcActions:isSemanticMenu\",\n default: false\n }\n },\n props: {\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 // eslint-disable-next-line vue/no-boolean-default\n default: null\n },\n /**\n * disabled state of the action button\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * If this is a menu, a chevron icon will\n * be added at the end of the line\n */\n isMenu: {\n type: Boolean,\n default: false\n },\n /**\n * The button's behavior, by default the button acts like a normal button with optional toggle button behavior if `modelValue` is `true` or `false`.\n * But you can also set to checkbox button behavior with tri-state or radio button like behavior.\n * This extends the native HTML button type attribute.\n */\n type: {\n type: String,\n default: \"button\",\n validator: (behavior) => [\"button\", \"checkbox\", \"radio\", \"reset\", \"submit\"].includes(behavior)\n },\n /**\n * The buttons state if `type` is 'checkbox' or 'radio' (meaning if it is pressed / selected).\n * For checkbox and toggle button behavior - boolean value.\n * For radio button behavior - could be a boolean checked or a string with the value of the button.\n * Note: Unlike native radio buttons, NcActionButton are not grouped by name, so you need to connect them by bind correct modelValue.\n *\n * **This is not availabe for `type='submit'` or `type='reset'`**\n *\n * If using `type='checkbox'` a `model-value` of `true` means checked, `false` means unchecked and `null` means indeterminate (tri-state)\n * For `type='radio'` `null` is equal to `false`\n */\n modelValue: {\n type: [Boolean, String],\n default: null\n },\n /**\n * The value used for the `modelValue` when this component is used with radio behavior\n * Similar to the `value` attribute of ` `\n */\n value: {\n type: String,\n default: null\n },\n /**\n * Small underlying text content of the entry\n */\n description: {\n type: String,\n default: \"\"\n }\n },\n setup() {\n return {\n mdiCheck,\n mdiChevronRight\n };\n },\n computed: {\n /**\n * determines if the action is focusable\n *\n * @return {boolean} is the action focusable ?\n */\n isFocusable() {\n return !this.disabled;\n },\n /**\n * The current \"checked\" or \"pressed\" state for the model behavior\n */\n isChecked() {\n if (this.type === \"radio\" && typeof this.modelValue !== \"boolean\") {\n return this.modelValue === this.value;\n }\n return this.modelValue;\n },\n /**\n * The native HTML type to set on the button\n */\n nativeType() {\n if (this.type === \"submit\" || this.type === \"reset\") {\n return this.type;\n }\n return \"button\";\n },\n /**\n * HTML attributes to bind to the \n */\n buttonAttributes() {\n const attributes = {};\n if (this.isInSemanticMenu) {\n attributes.role = \"menuitem\";\n if (this.type === \"radio\") {\n attributes.role = \"menuitemradio\";\n attributes[\"aria-checked\"] = this.isChecked ? \"true\" : \"false\";\n } else if (this.type === \"checkbox\" || this.nativeType === \"button\" && this.modelValue !== null) {\n attributes.role = \"menuitemcheckbox\";\n attributes[\"aria-checked\"] = this.modelValue === null ? \"mixed\" : this.modelValue ? \"true\" : \"false\";\n }\n } else if (this.modelValue !== null && this.nativeType === \"button\") {\n attributes[\"aria-pressed\"] = this.modelValue ? \"true\" : \"false\";\n }\n return attributes;\n }\n },\n methods: {\n /**\n * Forward click event, let mixin handle the close-after-click and emit new modelValue if needed\n *\n * @param {MouseEvent} event The click event\n */\n handleClick(event) {\n this.onClick(event);\n if (this.modelValue !== null || this.type !== \"button\") {\n if (this.type === \"radio\") {\n if (typeof this.modelValue !== \"boolean\") {\n if (!this.isChecked) {\n this.$emit(\"update:modelValue\", this.value);\n }\n } else {\n this.$emit(\"update:modelValue\", !this.isChecked);\n }\n } else {\n this.$emit(\"update:modelValue\", !this.isChecked);\n }\n }\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"action\", class: { \"action--disabled\": _vm.disabled }, attrs: { \"role\": _vm.isInSemanticMenu && \"presentation\" } }, [_c(\"button\", _vm._b({ staticClass: \"action-button button-vue\", class: {\n \"action-button--active\": _vm.isChecked,\n focusable: _vm.isFocusable\n }, attrs: { \"aria-label\": _vm.ariaLabel, \"disabled\": _vm.disabled, \"title\": _vm.title, \"type\": _vm.nativeType }, on: { \"click\": _vm.handleClick } }, \"button\", _vm.buttonAttributes, false), [_vm._t(\"icon\", function() {\n return [_c(\"span\", { staticClass: \"action-button__icon\", class: [_vm.isIconUrl ? \"action-button__icon--url\" : _vm.icon], style: { backgroundImage: _vm.isIconUrl ? `url(${_vm.icon})` : null }, attrs: { \"aria-hidden\": \"true\" } })];\n }), _c(\"span\", { staticClass: \"action-button__longtext-wrapper\" }, [_vm.name ? _c(\"strong\", { staticClass: \"action-button__name\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _vm.isLongText ? _c(\"span\", { staticClass: \"action-button__longtext\", domProps: { \"textContent\": _vm._s(_vm.text) } }) : _c(\"span\", { staticClass: \"action-button__text\" }, [_vm._v(\" \" + _vm._s(_vm.text) + \" \")]), _vm.description ? _c(\"span\", { staticClass: \"action-button__description\", domProps: { \"textContent\": _vm._s(_vm.description) } }) : _vm._e()]), _vm.isMenu ? _c(\"NcIconSvgWrapper\", { staticClass: \"action-button__menu-icon\", attrs: { \"directional\": \"\", \"path\": _vm.mdiChevronRight } }) : _vm.isChecked ? _c(\"NcIconSvgWrapper\", { staticClass: \"action-button__pressed-icon\", attrs: { \"path\": _vm.mdiCheck } }) : _vm.isChecked === false ? _c(\"span\", { staticClass: \"action-button__pressed-icon material-design-icon\" }) : _vm._e(), _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 \"ab2ff78b\"\n);\nconst NcActionButton = __component__.exports;\nexport {\n NcActionButton as N\n};\n//# sourceMappingURL=NcActionButton-DJ-fERS3.mjs.map\n","import { toValue } from \"@vueuse/core\";\nimport { watch, onUnmounted } from \"vue\";\nimport { c as createTrapStackController } from \"./focusTrap-HJQ4pqHV.mjs\";\nfunction useTrapStackControl(shouldPause, options = {}) {\n const trapStackController = createTrapStackController();\n watch(shouldPause, () => {\n if (toValue(options.disabled)) {\n return;\n }\n if (toValue(shouldPause)) {\n trapStackController.pause();\n } else {\n trapStackController.unpause();\n }\n });\n onUnmounted(() => {\n trapStackController.unpause();\n });\n}\nexport {\n useTrapStackControl as u\n};\n//# sourceMappingURL=useTrapStackControl-BnLfCgGU.mjs.map\n","function getBasePlacement(placement) {\n return placement.split('-')[0];\n}\n\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\n\nfunction getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].includes(getBasePlacement(placement)) ? 'x' : 'y';\n}\n\nfunction getLengthFromAxis(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\n\nfunction computeCoordsFromPlacement(_ref) {\n let {\n reference,\n floating,\n placement\n } = _ref;\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n let coords;\n\n switch (getBasePlacement(placement)) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n\n switch (getAlignment(placement)) {\n case 'start':\n coords[mainAxis] = coords[mainAxis] - (reference[length] / 2 - floating[length] / 2);\n break;\n\n case 'end':\n coords[mainAxis] = coords[mainAxis] + (reference[length] / 2 - floating[length] / 2);\n break;\n }\n\n return coords;\n}\n\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n\n if (process.env.NODE_ENV !== \"production\") {\n if (platform == null) {\n console.error(['Floating UI: `platform` property was not passed to config. If you', 'want to use Floating UI on the web, install @floating-ui/dom', 'instead of the /core package. Otherwise, you can create your own', '`platform`: https://floating-ui.com/docs/platform'].join(' '));\n }\n\n if (middleware.filter(_ref => {\n let {\n name\n } = _ref;\n return name === 'autoPlacement' || name === 'flip';\n }).length > 1) {\n throw new Error(['Floating UI: duplicate `flip` and/or `autoPlacement`', 'middleware detected. This will lead to an infinite loop. Ensure only', 'one of either has been passed to the `middleware` array.'].join(' '));\n }\n }\n\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement\n });\n let statefulPlacement = placement;\n let middlewareData = {};\n let _debug_loop_count_ = 0;\n\n for (let i = 0; i < middleware.length; i++) {\n if (process.env.NODE_ENV !== \"production\") {\n _debug_loop_count_++;\n\n if (_debug_loop_count_ > 100) {\n throw new Error(['Floating UI: The middleware lifecycle appears to be', 'running in an infinite loop. This is usually caused by a `reset`', 'continually being returned without a break condition.'].join(' '));\n }\n }\n\n const {\n name,\n fn\n } = middleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = { ...middlewareData,\n [name]: data != null ? data : {}\n };\n\n if (reset) {\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n\n ({\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement: statefulPlacement\n }));\n }\n\n i = -1;\n continue;\n }\n }\n\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\n\nfunction getSideObjectFromPadding(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\n\nfunction rectToClientRect(rect) {\n return { ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nasync function detectOverflow(middlewareArguments, options) {\n if (options === void 0) {\n options = {};\n }\n\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = middlewareArguments;\n const {\n boundary = 'clippingParents',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = options;\n const paddingObject = getSideObjectFromPadding(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = await platform.getClippingClientRect({\n element: (await platform.isElement(element)) ? element : element.contextElement || (await platform.getDocumentElement({\n element: elements.floating\n })),\n boundary,\n rootBoundary\n });\n const elementClientRect = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: elementContext === 'floating' ? { ...rects.floating,\n x,\n y\n } : rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n })); // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n return {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n}\n\nconst min = Math.min;\nconst max = Math.max;\n\nfunction within(min$1, value, max$1) {\n return max(min$1, min(value, max$1));\n}\n\nconst arrow = options => ({\n name: 'arrow',\n options,\n\n async fn(middlewareArguments) {\n // Since `element` is required, we don't Partial<> the type\n const {\n element,\n padding = 0\n } = options != null ? options : {};\n const {\n x,\n y,\n placement,\n rects,\n platform\n } = middlewareArguments;\n\n if (element == null) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn('Floating UI: No `element` was passed to the `arrow` middleware.');\n }\n\n return {};\n }\n\n const paddingObject = getSideObjectFromPadding(padding);\n const coords = {\n x,\n y\n };\n const basePlacement = getBasePlacement(placement);\n const axis = getMainAxisFromPlacement(basePlacement);\n const length = getLengthFromAxis(axis);\n const arrowDimensions = await platform.getDimensions({\n element\n });\n const minProp = axis === 'y' ? 'top' : 'left';\n const maxProp = axis === 'y' ? 'bottom' : 'right';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await platform.getOffsetParent({\n element\n });\n const clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n const centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside of the floating element's bounds\n\n const min = paddingObject[minProp];\n const max = clientSize - arrowDimensions[length] - paddingObject[maxProp];\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = within(min, center, max);\n return {\n data: {\n [axis]: offset,\n centerOffset: center - offset\n }\n };\n }\n\n});\n\nconst hash$1 = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, matched => hash$1[matched]);\n}\n\nfunction getAlignmentSides(placement, rects) {\n const isStart = getAlignment(placement) === 'start';\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n let mainAlignmentSide = mainAxis === 'x' ? isStart ? 'right' : 'left' : isStart ? 'bottom' : 'top';\n\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n\n return {\n main: mainAlignmentSide,\n cross: getOppositePlacement(mainAlignmentSide)\n };\n}\n\nconst hash = {\n start: 'end',\n end: 'start'\n};\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, matched => hash[matched]);\n}\n\nconst basePlacements = ['top', 'right', 'bottom', 'left'];\nconst allPlacements = /*#__PURE__*/basePlacements.reduce((acc, basePlacement) => acc.concat(basePlacement, basePlacement + \"-start\", basePlacement + \"-end\"), []);\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getBasePlacement(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n\n return true;\n });\n}\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'autoPlacement',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$autoP, _middlewareData$autoP2, _middlewareData$autoP3, _middlewareData$autoP4, _middlewareData$autoP5, _placementsSortedByLe;\n\n const {\n x,\n y,\n rects,\n middlewareData,\n placement\n } = middlewareArguments;\n const {\n alignment = null,\n allowedPlacements = allPlacements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$autoP = middlewareData.autoPlacement) != null && _middlewareData$autoP.skip) {\n return {};\n }\n\n const placements = getPlacementList(alignment, autoAlignment, allowedPlacements);\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const currentIndex = (_middlewareData$autoP2 = (_middlewareData$autoP3 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP3.index) != null ? _middlewareData$autoP2 : 0;\n const currentPlacement = placements[currentIndex];\n const {\n main,\n cross\n } = getAlignmentSides(currentPlacement, rects); // Make `computeCoords` start from the right place\n\n if (placement !== currentPlacement) {\n return {\n x,\n y,\n reset: {\n placement: placements[0]\n }\n };\n }\n\n const currentOverflows = [overflow[getBasePlacement(currentPlacement)], overflow[main], overflow[cross]];\n const allOverflows = [...((_middlewareData$autoP4 = (_middlewareData$autoP5 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP5.overflows) != null ? _middlewareData$autoP4 : []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements[currentIndex + 1]; // There are more placements to check\n\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n const placementsSortedByLeastOverflow = allOverflows.slice().sort((a, b) => a.overflows[0] - b.overflows[0]);\n const placementThatFitsOnAllSides = (_placementsSortedByLe = placementsSortedByLeastOverflow.find(_ref => {\n let {\n overflows\n } = _ref;\n return overflows.every(overflow => overflow <= 0);\n })) == null ? void 0 : _placementsSortedByLe.placement;\n return {\n data: {\n skip: true\n },\n reset: {\n placement: placementThatFitsOnAllSides != null ? placementThatFitsOnAllSides : placementsSortedByLeastOverflow[0].placement\n }\n };\n }\n\n };\n};\n\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\n\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'flip',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$flip, _middlewareData$flip2;\n\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement\n } = middlewareArguments;\n\n if ((_middlewareData$flip = middlewareData.flip) != null && _middlewareData$flip.skip) {\n return {};\n }\n\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n flipAlignment = true,\n ...detectOverflowOptions\n } = options;\n const basePlacement = getBasePlacement(placement);\n const isBasePlacement = basePlacement === initialPlacement;\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.overflows) || [];\n\n if (checkMainAxis) {\n overflows.push(overflow[basePlacement]);\n }\n\n if (checkCrossAxis) {\n const {\n main,\n cross\n } = getAlignmentSides(placement, rects);\n overflows.push(overflow[main], overflow[cross]);\n }\n\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }]; // One or more sides is overflowing\n\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip$, _middlewareData$flip3;\n\n const nextIndex = ((_middlewareData$flip$ = (_middlewareData$flip3 = middlewareData.flip) == null ? void 0 : _middlewareData$flip3.index) != null ? _middlewareData$flip$ : 0) + 1;\n const nextPlacement = placements[nextIndex];\n\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n let resetPlacement = 'bottom';\n\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$slice$;\n\n const placement = (_overflowsData$slice$ = overflowsData.slice().sort((a, b) => a.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0) - b.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0))[0]) == null ? void 0 : _overflowsData$slice$.placement;\n\n if (placement) {\n resetPlacement = placement;\n }\n\n break;\n }\n\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n\n return {};\n }\n\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return basePlacements.some(side => overflow[side] >= 0);\n}\n\nconst hide = () => ({\n name: 'hide',\n\n async fn(modifierArguments) {\n const referenceOverflow = await detectOverflow(modifierArguments, {\n elementContext: 'reference'\n });\n const floatingAltOverflow = await detectOverflow(modifierArguments, {\n altBoundary: true\n });\n const referenceHiddenOffsets = getSideOffsets(referenceOverflow, modifierArguments.rects.reference);\n const escapedOffsets = getSideOffsets(floatingAltOverflow, modifierArguments.rects.floating);\n const referenceHidden = isAnySideFullyClipped(referenceHiddenOffsets);\n const escaped = isAnySideFullyClipped(escapedOffsets);\n return {\n data: {\n referenceHidden,\n referenceHiddenOffsets,\n escaped,\n escapedOffsets\n }\n };\n }\n\n});\n\nfunction convertValueToCoords(_ref) {\n let {\n placement,\n rects,\n value\n } = _ref;\n const basePlacement = getBasePlacement(placement);\n const multiplier = ['left', 'top'].includes(basePlacement) ? -1 : 1;\n const rawValue = typeof value === 'function' ? value({ ...rects,\n placement\n }) : value;\n const {\n mainAxis,\n crossAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawValue\n };\n return getMainAxisFromPlacement(basePlacement) === 'x' ? {\n x: crossAxis,\n y: mainAxis * multiplier\n } : {\n x: mainAxis * multiplier,\n y: crossAxis\n };\n}\nconst offset = function (value) {\n if (value === void 0) {\n value = 0;\n }\n\n return {\n name: 'offset',\n options: value,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects\n } = middlewareArguments;\n const diffCoords = convertValueToCoords({\n placement,\n rects,\n value\n });\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\n };\n }\n\n };\n};\n\nfunction getCrossAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\n\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'shift',\n options,\n\n async fn(middlewareArguments) {\n const {\n x,\n y,\n placement\n } = middlewareArguments;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = options;\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const mainAxis = getMainAxisFromPlacement(getBasePlacement(placement));\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = within(min, mainAxisCoord, max);\n }\n\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = within(min, crossAxisCoord, max);\n }\n\n const limitedCoords = limiter.fn({ ...middlewareArguments,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return { ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n\n };\n};\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n options,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = options;\n const coords = {\n x,\n y\n };\n const mainAxis = getMainAxisFromPlacement(placement);\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = typeof offset === 'function' ? offset({ ...rects,\n placement\n }) : offset;\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2, _middlewareData$offse3, _middlewareData$offse4;\n\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getBasePlacement(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? (_middlewareData$offse = (_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) != null ? _middlewareData$offse : 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : (_middlewareData$offse3 = (_middlewareData$offse4 = middlewareData.offset) == null ? void 0 : _middlewareData$offse4[crossAxis]) != null ? _middlewareData$offse3 : 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n\n };\n};\n\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'size',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$size;\n\n const {\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n apply,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$size = middlewareData.size) != null && _middlewareData$size.skip) {\n return {};\n }\n\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const basePlacement = getBasePlacement(placement);\n const isEnd = getAlignment(placement) === 'end';\n let heightSide;\n let widthSide;\n\n if (basePlacement === 'top' || basePlacement === 'bottom') {\n heightSide = basePlacement;\n widthSide = isEnd ? 'left' : 'right';\n } else {\n widthSide = basePlacement;\n heightSide = isEnd ? 'top' : 'bottom';\n }\n\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n const dimensions = {\n height: rects.floating.height - (['left', 'right'].includes(placement) ? 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom)) : overflow[heightSide]),\n width: rects.floating.width - (['top', 'bottom'].includes(placement) ? 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right)) : overflow[widthSide])\n };\n apply == null ? void 0 : apply({ ...dimensions,\n ...rects\n });\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n\n };\n};\n\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'inline',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$inlin, _await$platform$getCl;\n\n const {\n placement,\n elements,\n rects,\n platform,\n strategy,\n middlewareData\n } = middlewareArguments; // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n\n const {\n padding = 2,\n x,\n y\n } = options;\n\n if ((_middlewareData$inlin = middlewareData.inline) != null && _middlewareData$inlin.skip) {\n return {};\n }\n\n const fallback = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n }));\n const clientRects = Array.from((_await$platform$getCl = await (platform.getClientRects == null ? void 0 : platform.getClientRects({\n element: elements.reference\n }))) != null ? _await$platform$getCl : []);\n const paddingObject = getSideObjectFromPadding(padding);\n\n function getBoundingClientRect() {\n // There are two rects and they are disjoined\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n var _clientRects$find;\n\n // Find the first rect in which the point is fully inside\n return (_clientRects$find = clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom)) != null ? _clientRects$find : fallback;\n } // There are 2 or more connected rects\n\n\n if (clientRects.length >= 2) {\n if (getMainAxisFromPlacement(placement) === 'x') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getBasePlacement(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n const isLeftPlacement = getBasePlacement(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftPlacement ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n return fallback;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n rects: await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n })\n }\n };\n }\n\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, rectToClientRect, shift, size };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\n\nfunction isWindow(value) {\n return (value == null ? void 0 : value.toString()) === '[object Window]';\n}\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (!isWindow(node)) {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n\nfunction getComputedStyle$1(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\nfunction getNodeName(node) {\n return isWindow(node) ? '' : node ? (node.nodeName || '').toLowerCase() : '';\n}\n\nfunction isHTMLElement(value) {\n return value instanceof getWindow(value).HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof getWindow(value).Element;\n}\nfunction isNode(value) {\n return value instanceof getWindow(value).Node;\n}\nfunction isShadowRoot(node) {\n const OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\nfunction isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const {\n overflow,\n overflowX,\n overflowY\n } = getComputedStyle$1(element);\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n // TODO: Try and use feature detection here instead\n const isFirefox = navigator.userAgent.toLowerCase().includes('firefox');\n const css = getComputedStyle$1(element); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n return css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].includes(css.willChange) || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false);\n}\n\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\n\nfunction getBoundingClientRect(element, includeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n const clientRect = element.getBoundingClientRect();\n let scaleX = 1;\n let scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n return {\n width: clientRect.width / scaleX,\n height: clientRect.height / scaleY,\n top: clientRect.top / scaleY,\n right: clientRect.right / scaleX,\n bottom: clientRect.bottom / scaleY,\n left: clientRect.left / scaleX,\n x: clientRect.left / scaleX,\n y: clientRect.top / scaleY\n };\n}\n\nfunction getDocumentElement(node) {\n return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement;\n}\n\nfunction getNodeScroll(element) {\n if (isWindow(element)) {\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n }\n\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}\n\nfunction getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\nfunction isScaled(element) {\n const rect = getBoundingClientRect(element);\n return round(rect.width) !== element.offsetWidth || round(rect.height) !== element.offsetHeight;\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const rect = getBoundingClientRect(element, isOffsetParentAnElement && isScaled(offsetParent));\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // @ts-ignore\n node.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n node.parentNode || ( // DOM Element detected\n isShadowRoot(node) ? node.host : null) || // ShadowRoot detected\n getDocumentElement(node) // fallback\n\n );\n}\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n}\n\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && !['html', 'body'].includes(getNodeName(currentNode))) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n const window = getWindow(element);\n let offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}\n\nfunction getDimensions(element) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n\n if (offsetParent === documentElement) {\n return rect;\n }\n\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } // This doesn't appear to be need to be negated.\n // else if (documentElement) {\n // offsets.x = getWindowScrollBarX(documentElement);\n // }\n\n }\n\n return { ...rect,\n x: rect.x - scroll.scrollLeft + offsets.x,\n y: rect.y - scroll.scrollTop + offsets.y\n };\n}\n\nfunction getViewportRect(element) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n\n if (Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) < 0.01) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// of the `` and `` rect bounds if horizontally scrollable\n\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n const width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n const height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n\n if (getComputedStyle$1(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getScrollParent(node) {\n if (['html', 'body', '#document'].includes(getNodeName(node))) {\n // @ts-ignore assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}\n\nfunction getScrollParents(node, list) {\n var _node$ownerDocument;\n\n if (list === void 0) {\n list = [];\n }\n\n const scrollParent = getScrollParent(node);\n const isBody = scrollParent === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body);\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n const updatedList = list.concat(target);\n return isBody ? updatedList : // @ts-ignore: isBody tells us target will be an HTMLElement here\n updatedList.concat(getScrollParents(getParentNode(target)));\n}\n\nfunction contains(parent, child) {\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n\n do {\n // use `===` replace node.isSameNode()\n if (next && parent === next) {\n return true;\n } // @ts-ignore: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n }\n\n return false;\n}\n\nfunction getInnerBoundingClientRect(element) {\n const clientRect = getBoundingClientRect(element);\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n return {\n top,\n left,\n x: left,\n y: top,\n right: left + element.clientWidth,\n bottom: top + element.clientHeight,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getClientRectFromClippingParent(element, clippingParent) {\n if (clippingParent === 'viewport') {\n return rectToClientRect(getViewportRect(element));\n }\n\n if (isElement(clippingParent)) {\n return getInnerBoundingClientRect(clippingParent);\n }\n\n return rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n const clippingParents = getScrollParents(getParentNode(element));\n const canEscapeClipping = ['absolute', 'fixed'].includes(getComputedStyle$1(element).position);\n const clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // @ts-ignore isElement check ensures we return Array\n\n\n return clippingParents.filter(clippingParent => isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body');\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nfunction getClippingClientRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary\n } = _ref;\n const mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromClippingParent(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingParent(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}\n\nconst platform = {\n getElementRects: _ref => {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n return {\n reference: getRectRelativeToOffsetParent(reference, getOffsetParent(floating), strategy),\n floating: { ...getDimensions(floating),\n x: 0,\n y: 0\n }\n };\n },\n convertOffsetParentRelativeRectToViewportRelativeRect: args => convertOffsetParentRelativeRectToViewportRelativeRect(args),\n getOffsetParent: _ref2 => {\n let {\n element\n } = _ref2;\n return getOffsetParent(element);\n },\n isElement: value => isElement(value),\n getDocumentElement: _ref3 => {\n let {\n element\n } = _ref3;\n return getDocumentElement(element);\n },\n getClippingClientRect: args => getClippingClientRect(args),\n getDimensions: _ref4 => {\n let {\n element\n } = _ref4;\n return getDimensions(element);\n },\n getClientRects: _ref5 => {\n let {\n element\n } = _ref5;\n return element.getClientRects();\n }\n};\n\nconst computePosition = (reference, floating, options) => computePosition$1(reference, floating, {\n platform,\n ...options\n});\n\nexport { computePosition, getScrollParents };\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nimport { offset, autoPlacement, shift, flip, arrow, size, computePosition, getScrollParents } from \"@floating-ui/dom\";\nimport Vue from \"vue\";\nfunction assign(to, from) {\n for (const key in from) {\n if (Object.prototype.hasOwnProperty.call(from, key)) {\n if (typeof from[key] === \"object\" && to[key]) {\n assign(to[key], from[key]);\n } else {\n to[key] = from[key];\n }\n }\n }\n}\nconst config = {\n disabled: false,\n distance: 5,\n skidding: 0,\n container: \"body\",\n boundary: void 0,\n instantMove: false,\n disposeTimeout: 5e3,\n popperTriggers: [],\n strategy: \"absolute\",\n preventOverflow: true,\n flip: true,\n shift: true,\n overflowPadding: 0,\n arrowPadding: 0,\n arrowOverflow: true,\n themes: {\n tooltip: {\n placement: \"top\",\n triggers: [\"hover\", \"focus\", \"touch\"],\n hideTriggers: (events) => [...events, \"click\"],\n delay: {\n show: 200,\n hide: 0\n },\n handleResize: false,\n html: false,\n loadingContent: \"...\"\n },\n dropdown: {\n placement: \"bottom\",\n triggers: [\"click\"],\n delay: 0,\n handleResize: true,\n autoHide: true\n },\n menu: {\n $extend: \"dropdown\",\n triggers: [\"hover\", \"focus\"],\n popperTriggers: [\"hover\", \"focus\"],\n delay: {\n show: 0,\n hide: 400\n }\n }\n }\n};\nfunction getDefaultConfig(theme, key) {\n let themeConfig = config.themes[theme] || {};\n let value;\n do {\n value = themeConfig[key];\n if (typeof value === \"undefined\") {\n if (themeConfig.$extend) {\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n value = config[key];\n }\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return value;\n}\nfunction getThemeClasses(theme) {\n const result = [theme];\n let themeConfig = config.themes[theme] || {};\n do {\n if (themeConfig.$extend && !themeConfig.$resetCss) {\n result.push(themeConfig.$extend);\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return result.map((c) => `v-popper--theme-${c}`);\n}\nfunction getAllParentThemes(theme) {\n const result = [theme];\n let themeConfig = config.themes[theme] || {};\n do {\n if (themeConfig.$extend) {\n result.push(themeConfig.$extend);\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return result;\n}\nvar vueResize = \"\";\nlet supportsPassive = false;\nif (typeof window !== \"undefined\") {\n supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, \"passive\", {\n get() {\n supportsPassive = true;\n }\n });\n window.addEventListener(\"test\", null, opts);\n } catch (e) {\n }\n}\nlet isIOS = false;\nif (typeof window !== \"undefined\" && typeof navigator !== \"undefined\") {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\nconst placements = [\"auto\", \"top\", \"bottom\", \"left\", \"right\"].reduce((acc, base) => acc.concat([\n base,\n `${base}-start`,\n `${base}-end`\n]), []);\nconst SHOW_EVENT_MAP = {\n hover: \"mouseenter\",\n focus: \"focus\",\n click: \"click\",\n touch: \"touchstart\"\n};\nconst HIDE_EVENT_MAP = {\n hover: \"mouseleave\",\n focus: \"blur\",\n click: \"click\",\n touch: \"touchend\"\n};\nfunction removeFromArray(array, item) {\n const index = array.indexOf(item);\n if (index !== -1) {\n array.splice(index, 1);\n }\n}\nfunction nextFrame() {\n return new Promise((resolve) => requestAnimationFrame(() => {\n requestAnimationFrame(resolve);\n }));\n}\nconst shownPoppers = [];\nlet hidingPopper = null;\nconst shownPoppersByTheme = {};\nfunction getShownPoppersByTheme(theme) {\n let list = shownPoppersByTheme[theme];\n if (!list) {\n list = shownPoppersByTheme[theme] = [];\n }\n return list;\n}\nlet Element = function() {\n};\nif (typeof window !== \"undefined\") {\n Element = window.Element;\n}\nfunction defaultPropFactory(prop) {\n return function() {\n const props = this.$props;\n return getDefaultConfig(props.theme, prop);\n };\n}\nconst PROVIDE_KEY = \"__floating-vue__popper\";\nvar PrivatePopper = () => ({\n name: \"VPopper\",\n props: {\n theme: {\n type: String,\n required: true\n },\n targetNodes: {\n type: Function,\n required: true\n },\n referenceNode: {\n type: Function,\n required: true\n },\n popperNode: {\n type: Function,\n required: true\n },\n shown: {\n type: Boolean,\n default: false\n },\n showGroup: {\n type: String,\n default: null\n },\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: defaultPropFactory(\"disabled\")\n },\n positioningDisabled: {\n type: Boolean,\n default: defaultPropFactory(\"positioningDisabled\")\n },\n placement: {\n type: String,\n default: defaultPropFactory(\"placement\"),\n validator: (value) => placements.includes(value)\n },\n delay: {\n type: [String, Number, Object],\n default: defaultPropFactory(\"delay\")\n },\n distance: {\n type: [Number, String],\n default: defaultPropFactory(\"distance\")\n },\n skidding: {\n type: [Number, String],\n default: defaultPropFactory(\"skidding\")\n },\n triggers: {\n type: Array,\n default: defaultPropFactory(\"triggers\")\n },\n showTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"showTriggers\")\n },\n hideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"hideTriggers\")\n },\n popperTriggers: {\n type: Array,\n default: defaultPropFactory(\"popperTriggers\")\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperShowTriggers\")\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperHideTriggers\")\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: defaultPropFactory(\"container\")\n },\n boundary: {\n type: [String, Element],\n default: defaultPropFactory(\"boundary\")\n },\n strategy: {\n type: String,\n validator: (value) => [\"absolute\", \"fixed\"].includes(value),\n default: defaultPropFactory(\"strategy\")\n },\n autoHide: {\n type: [Boolean, Function],\n default: defaultPropFactory(\"autoHide\")\n },\n handleResize: {\n type: Boolean,\n default: defaultPropFactory(\"handleResize\")\n },\n instantMove: {\n type: Boolean,\n default: defaultPropFactory(\"instantMove\")\n },\n eagerMount: {\n type: Boolean,\n default: defaultPropFactory(\"eagerMount\")\n },\n popperClass: {\n type: [String, Array, Object],\n default: defaultPropFactory(\"popperClass\")\n },\n computeTransformOrigin: {\n type: Boolean,\n default: defaultPropFactory(\"computeTransformOrigin\")\n },\n autoMinSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMinSize\")\n },\n autoSize: {\n type: [Boolean, String],\n default: defaultPropFactory(\"autoSize\")\n },\n autoMaxSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMaxSize\")\n },\n autoBoundaryMaxSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoBoundaryMaxSize\")\n },\n preventOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"preventOverflow\")\n },\n overflowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"overflowPadding\")\n },\n arrowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"arrowPadding\")\n },\n arrowOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"arrowOverflow\")\n },\n flip: {\n type: Boolean,\n default: defaultPropFactory(\"flip\")\n },\n shift: {\n type: Boolean,\n default: defaultPropFactory(\"shift\")\n },\n shiftCrossAxis: {\n type: Boolean,\n default: defaultPropFactory(\"shiftCrossAxis\")\n },\n noAutoFocus: {\n type: Boolean,\n default: defaultPropFactory(\"noAutoFocus\")\n }\n },\n provide() {\n return {\n [PROVIDE_KEY]: {\n parentPopper: this\n }\n };\n },\n inject: {\n [PROVIDE_KEY]: { default: null }\n },\n data() {\n return {\n isShown: false,\n isMounted: false,\n skipTransition: false,\n classes: {\n showFrom: false,\n showTo: false,\n hideFrom: false,\n hideTo: true\n },\n result: {\n x: 0,\n y: 0,\n placement: \"\",\n strategy: this.strategy,\n arrow: {\n x: 0,\n y: 0,\n centerOffset: 0\n },\n transformOrigin: null\n },\n shownChildren: /* @__PURE__ */ new Set(),\n lastAutoHide: true\n };\n },\n computed: {\n popperId() {\n return this.ariaId != null ? this.ariaId : this.randomId;\n },\n shouldMountContent() {\n return this.eagerMount || this.isMounted;\n },\n slotData() {\n return {\n popperId: this.popperId,\n isShown: this.isShown,\n shouldMountContent: this.shouldMountContent,\n skipTransition: this.skipTransition,\n autoHide: typeof this.autoHide === \"function\" ? this.lastAutoHide : this.autoHide,\n show: this.show,\n hide: this.hide,\n handleResize: this.handleResize,\n onResize: this.onResize,\n classes: __spreadProps(__spreadValues({}, this.classes), {\n popperClass: this.popperClass\n }),\n result: this.positioningDisabled ? null : this.result\n };\n },\n parentPopper() {\n var _a;\n return (_a = this[PROVIDE_KEY]) == null ? void 0 : _a.parentPopper;\n },\n hasPopperShowTriggerHover() {\n var _a, _b;\n return ((_a = this.popperTriggers) == null ? void 0 : _a.includes(\"hover\")) || ((_b = this.popperShowTriggers) == null ? void 0 : _b.includes(\"hover\"));\n }\n },\n watch: __spreadValues(__spreadValues({\n shown: \"$_autoShowHide\",\n disabled(value) {\n if (value) {\n this.dispose();\n } else {\n this.init();\n }\n },\n async container() {\n if (this.isShown) {\n this.$_ensureTeleport();\n await this.$_computePosition();\n }\n }\n }, [\n \"triggers\",\n \"positioningDisabled\"\n ].reduce((acc, prop) => {\n acc[prop] = \"$_refreshListeners\";\n return acc;\n }, {})), [\n \"placement\",\n \"distance\",\n \"skidding\",\n \"boundary\",\n \"strategy\",\n \"overflowPadding\",\n \"arrowPadding\",\n \"preventOverflow\",\n \"shift\",\n \"shiftCrossAxis\",\n \"flip\"\n ].reduce((acc, prop) => {\n acc[prop] = \"$_computePosition\";\n return acc;\n }, {})),\n created() {\n this.$_isDisposed = true;\n this.randomId = `popper_${[Math.random(), Date.now()].map((n) => n.toString(36).substring(2, 10)).join(\"_\")}`;\n if (this.autoMinSize) {\n console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize=\"min\"` instead.');\n }\n if (this.autoMaxSize) {\n console.warn(\"[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.\");\n }\n },\n mounted() {\n this.init();\n this.$_detachPopperNode();\n },\n activated() {\n this.$_autoShowHide();\n },\n deactivated() {\n this.hide();\n },\n beforeDestroy() {\n this.dispose();\n },\n methods: {\n show({ event = null, skipDelay = false, force = false } = {}) {\n var _a, _b;\n if (((_a = this.parentPopper) == null ? void 0 : _a.lockedChild) && this.parentPopper.lockedChild !== this)\n return;\n this.$_pendingHide = false;\n if (force || !this.disabled) {\n if (((_b = this.parentPopper) == null ? void 0 : _b.lockedChild) === this) {\n this.parentPopper.lockedChild = null;\n }\n this.$_scheduleShow(event, skipDelay);\n this.$emit(\"show\");\n this.$_showFrameLocked = true;\n requestAnimationFrame(() => {\n this.$_showFrameLocked = false;\n });\n }\n this.$emit(\"update:shown\", true);\n },\n hide({ event = null, skipDelay = false, skipAiming = false } = {}) {\n var _a;\n if (this.$_hideInProgress)\n return;\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n return;\n }\n if (!skipAiming && this.hasPopperShowTriggerHover && this.$_isAimingPopper()) {\n if (this.parentPopper) {\n this.parentPopper.lockedChild = this;\n clearTimeout(this.parentPopper.lockedChildTimer);\n this.parentPopper.lockedChildTimer = setTimeout(() => {\n if (this.parentPopper.lockedChild === this) {\n this.parentPopper.lockedChild.hide({ skipDelay });\n this.parentPopper.lockedChild = null;\n }\n }, 1e3);\n }\n return;\n }\n if (((_a = this.parentPopper) == null ? void 0 : _a.lockedChild) === this) {\n this.parentPopper.lockedChild = null;\n }\n this.$_pendingHide = false;\n this.$_scheduleHide(event, skipDelay);\n this.$emit(\"hide\");\n this.$emit(\"update:shown\", false);\n },\n init() {\n if (!this.$_isDisposed)\n return;\n this.$_isDisposed = false;\n this.isMounted = false;\n this.$_events = [];\n this.$_preventShow = false;\n this.$_referenceNode = this.referenceNode();\n this.$_targetNodes = this.targetNodes().filter((e) => e.nodeType === e.ELEMENT_NODE);\n this.$_popperNode = this.popperNode();\n this.$_innerNode = this.$_popperNode.querySelector(\".v-popper__inner\");\n this.$_arrowNode = this.$_popperNode.querySelector(\".v-popper__arrow-container\");\n this.$_swapTargetAttrs(\"title\", \"data-original-title\");\n this.$_detachPopperNode();\n if (this.triggers.length) {\n this.$_addEventListeners();\n }\n if (this.shown) {\n this.show();\n }\n },\n dispose() {\n if (this.$_isDisposed)\n return;\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({ skipDelay: true });\n this.$_detachPopperNode();\n this.isMounted = false;\n this.isShown = false;\n this.$_updateParentShownChildren(false);\n this.$_swapTargetAttrs(\"data-original-title\", \"title\");\n this.$emit(\"dispose\");\n },\n async onResize() {\n if (this.isShown) {\n await this.$_computePosition();\n this.$emit(\"resize\");\n }\n },\n async $_computePosition() {\n var _a;\n if (this.$_isDisposed || this.positioningDisabled)\n return;\n const options2 = {\n strategy: this.strategy,\n middleware: []\n };\n if (this.distance || this.skidding) {\n options2.middleware.push(offset({\n mainAxis: this.distance,\n crossAxis: this.skidding\n }));\n }\n const isPlacementAuto = this.placement.startsWith(\"auto\");\n if (isPlacementAuto) {\n options2.middleware.push(autoPlacement({\n alignment: (_a = this.placement.split(\"-\")[1]) != null ? _a : \"\"\n }));\n } else {\n options2.placement = this.placement;\n }\n if (this.preventOverflow) {\n if (this.shift) {\n options2.middleware.push(shift({\n padding: this.overflowPadding,\n boundary: this.boundary,\n crossAxis: this.shiftCrossAxis\n }));\n }\n if (!isPlacementAuto && this.flip) {\n options2.middleware.push(flip({\n padding: this.overflowPadding,\n boundary: this.boundary\n }));\n }\n }\n options2.middleware.push(arrow({\n element: this.$_arrowNode,\n padding: this.arrowPadding\n }));\n if (this.arrowOverflow) {\n options2.middleware.push({\n name: \"arrowOverflow\",\n fn: ({ placement, rects, middlewareData }) => {\n let overflow;\n const { centerOffset } = middlewareData.arrow;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n overflow = Math.abs(centerOffset) > rects.reference.width / 2;\n } else {\n overflow = Math.abs(centerOffset) > rects.reference.height / 2;\n }\n return {\n data: {\n overflow\n }\n };\n }\n });\n }\n if (this.autoMinSize || this.autoSize) {\n const autoSize = this.autoSize ? this.autoSize : this.autoMinSize ? \"min\" : null;\n options2.middleware.push({\n name: \"autoSize\",\n fn: ({ rects, placement, middlewareData }) => {\n var _a2;\n if ((_a2 = middlewareData.autoSize) == null ? void 0 : _a2.skip) {\n return {};\n }\n let width;\n let height;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n width = rects.reference.width;\n } else {\n height = rects.reference.height;\n }\n this.$_innerNode.style[autoSize === \"min\" ? \"minWidth\" : autoSize === \"max\" ? \"maxWidth\" : \"width\"] = width != null ? `${width}px` : null;\n this.$_innerNode.style[autoSize === \"min\" ? \"minHeight\" : autoSize === \"max\" ? \"maxHeight\" : \"height\"] = height != null ? `${height}px` : null;\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n });\n }\n if (this.autoMaxSize || this.autoBoundaryMaxSize) {\n this.$_innerNode.style.maxWidth = null;\n this.$_innerNode.style.maxHeight = null;\n options2.middleware.push(size({\n boundary: this.boundary,\n padding: this.overflowPadding,\n apply: ({ width, height }) => {\n this.$_innerNode.style.maxWidth = width != null ? `${width}px` : null;\n this.$_innerNode.style.maxHeight = height != null ? `${height}px` : null;\n }\n }));\n }\n const data = await computePosition(this.$_referenceNode, this.$_popperNode, options2);\n Object.assign(this.result, {\n x: data.x,\n y: data.y,\n placement: data.placement,\n strategy: data.strategy,\n arrow: __spreadValues(__spreadValues({}, data.middlewareData.arrow), data.middlewareData.arrowOverflow)\n });\n },\n $_scheduleShow(event = null, skipDelay = false) {\n this.$_updateParentShownChildren(true);\n this.$_hideInProgress = false;\n clearTimeout(this.$_scheduleTimer);\n if (hidingPopper && this.instantMove && hidingPopper.instantMove && hidingPopper !== this.parentPopper) {\n hidingPopper.$_applyHide(true);\n this.$_applyShow(true);\n return;\n }\n if (skipDelay) {\n this.$_applyShow();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyShow.bind(this), this.$_computeDelay(\"show\"));\n }\n },\n $_scheduleHide(event = null, skipDelay = false) {\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n return;\n }\n this.$_updateParentShownChildren(false);\n this.$_hideInProgress = true;\n clearTimeout(this.$_scheduleTimer);\n if (this.isShown) {\n hidingPopper = this;\n }\n if (skipDelay) {\n this.$_applyHide();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyHide.bind(this), this.$_computeDelay(\"hide\"));\n }\n },\n $_computeDelay(type) {\n const delay = this.delay;\n return parseInt(delay && delay[type] || delay || 0);\n },\n async $_applyShow(skipTransition = false) {\n clearTimeout(this.$_disposeTimer);\n clearTimeout(this.$_scheduleTimer);\n this.skipTransition = skipTransition;\n if (this.isShown) {\n return;\n }\n this.$_ensureTeleport();\n await nextFrame();\n await this.$_computePosition();\n await this.$_applyShowEffect();\n if (!this.positioningDisabled) {\n this.$_registerEventListeners([\n ...getScrollParents(this.$_referenceNode),\n ...getScrollParents(this.$_popperNode)\n ], \"scroll\", () => {\n this.$_computePosition();\n });\n }\n },\n async $_applyShowEffect() {\n if (this.$_hideInProgress)\n return;\n if (this.computeTransformOrigin) {\n const bounds = this.$_referenceNode.getBoundingClientRect();\n const popperWrapper = this.$_popperNode.querySelector(\".v-popper__wrapper\");\n const parentBounds = popperWrapper.parentNode.getBoundingClientRect();\n const x = bounds.x + bounds.width / 2 - (parentBounds.left + popperWrapper.offsetLeft);\n const y = bounds.y + bounds.height / 2 - (parentBounds.top + popperWrapper.offsetTop);\n this.result.transformOrigin = `${x}px ${y}px`;\n }\n this.isShown = true;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": this.popperId,\n \"data-popper-shown\": \"\"\n });\n const showGroup = this.showGroup;\n if (showGroup) {\n let popover;\n for (let i = 0; i < shownPoppers.length; i++) {\n popover = shownPoppers[i];\n if (popover.showGroup !== showGroup) {\n popover.hide();\n popover.$emit(\"close-group\");\n }\n }\n }\n shownPoppers.push(this);\n document.body.classList.add(\"v-popper--some-open\");\n for (const theme of getAllParentThemes(this.theme)) {\n getShownPoppersByTheme(theme).push(this);\n document.body.classList.add(`v-popper--some-open--${theme}`);\n }\n this.$emit(\"apply-show\");\n this.classes.showFrom = true;\n this.classes.showTo = false;\n this.classes.hideFrom = false;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.showFrom = false;\n this.classes.showTo = true;\n if (!this.noAutoFocus)\n this.$_popperNode.focus();\n },\n async $_applyHide(skipTransition = false) {\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n this.$_hideInProgress = false;\n return;\n }\n clearTimeout(this.$_scheduleTimer);\n if (!this.isShown) {\n return;\n }\n this.skipTransition = skipTransition;\n removeFromArray(shownPoppers, this);\n if (shownPoppers.length === 0) {\n document.body.classList.remove(\"v-popper--some-open\");\n }\n for (const theme of getAllParentThemes(this.theme)) {\n const list = getShownPoppersByTheme(theme);\n removeFromArray(list, this);\n if (list.length === 0) {\n document.body.classList.remove(`v-popper--some-open--${theme}`);\n }\n }\n if (hidingPopper === this) {\n hidingPopper = null;\n }\n this.isShown = false;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": void 0,\n \"data-popper-shown\": void 0\n });\n clearTimeout(this.$_disposeTimer);\n const disposeTime = getDefaultConfig(this.theme, \"disposeTimeout\");\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(() => {\n if (this.$_popperNode) {\n this.$_detachPopperNode();\n this.isMounted = false;\n }\n }, disposeTime);\n }\n this.$_removeEventListeners(\"scroll\");\n this.$emit(\"apply-hide\");\n this.classes.showFrom = false;\n this.classes.showTo = false;\n this.classes.hideFrom = true;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.hideFrom = false;\n this.classes.hideTo = true;\n },\n $_autoShowHide() {\n if (this.shown) {\n this.show();\n } else {\n this.hide();\n }\n },\n $_ensureTeleport() {\n if (this.$_isDisposed)\n return;\n let container = this.container;\n if (typeof container === \"string\") {\n container = window.document.querySelector(container);\n } else if (container === false) {\n container = this.$_targetNodes[0].parentNode;\n }\n if (!container) {\n throw new Error(\"No container for popover: \" + this.container);\n }\n container.appendChild(this.$_popperNode);\n this.isMounted = true;\n },\n $_addEventListeners() {\n const handleShow = (event) => {\n if (this.isShown && !this.$_hideInProgress) {\n return;\n }\n event.usedByTooltip = true;\n !this.$_preventShow && this.show({ event });\n };\n this.$_registerTriggerListeners(this.$_targetNodes, SHOW_EVENT_MAP, this.triggers, this.showTriggers, handleShow);\n this.$_registerTriggerListeners([this.$_popperNode], SHOW_EVENT_MAP, this.popperTriggers, this.popperShowTriggers, handleShow);\n const handleHide = (skipAiming) => (event) => {\n if (event.usedByTooltip) {\n return;\n }\n this.hide({ event, skipAiming });\n };\n this.$_registerTriggerListeners(this.$_targetNodes, HIDE_EVENT_MAP, this.triggers, this.hideTriggers, handleHide(false));\n this.$_registerTriggerListeners([this.$_popperNode], HIDE_EVENT_MAP, this.popperTriggers, this.popperHideTriggers, handleHide(true));\n },\n $_registerEventListeners(targetNodes, eventType, handler) {\n this.$_events.push({ targetNodes, eventType, handler });\n targetNodes.forEach((node) => node.addEventListener(eventType, handler, supportsPassive ? {\n passive: true\n } : void 0));\n },\n $_registerTriggerListeners(targetNodes, eventMap, commonTriggers, customTrigger, handler) {\n let triggers = commonTriggers;\n if (customTrigger != null) {\n triggers = typeof customTrigger === \"function\" ? customTrigger(triggers) : customTrigger;\n }\n triggers.forEach((trigger) => {\n const eventType = eventMap[trigger];\n if (eventType) {\n this.$_registerEventListeners(targetNodes, eventType, handler);\n }\n });\n },\n $_removeEventListeners(filterEventType) {\n const newList = [];\n this.$_events.forEach((listener) => {\n const { targetNodes, eventType, handler } = listener;\n if (!filterEventType || filterEventType === eventType) {\n targetNodes.forEach((node) => node.removeEventListener(eventType, handler));\n } else {\n newList.push(listener);\n }\n });\n this.$_events = newList;\n },\n $_refreshListeners() {\n if (!this.$_isDisposed) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n }\n },\n $_handleGlobalClose(event, touch = false) {\n if (this.$_showFrameLocked)\n return;\n this.hide({ event });\n if (event.closePopover) {\n this.$emit(\"close-directive\");\n } else {\n this.$emit(\"auto-hide\");\n }\n if (touch) {\n this.$_preventShow = true;\n setTimeout(() => {\n this.$_preventShow = false;\n }, 300);\n }\n },\n $_detachPopperNode() {\n this.$_popperNode.parentNode && this.$_popperNode.parentNode.removeChild(this.$_popperNode);\n },\n $_swapTargetAttrs(attrFrom, attrTo) {\n for (const el of this.$_targetNodes) {\n const value = el.getAttribute(attrFrom);\n if (value) {\n el.removeAttribute(attrFrom);\n el.setAttribute(attrTo, value);\n }\n }\n },\n $_applyAttrsToTarget(attrs) {\n for (const el of this.$_targetNodes) {\n for (const n in attrs) {\n const value = attrs[n];\n if (value == null) {\n el.removeAttribute(n);\n } else {\n el.setAttribute(n, value);\n }\n }\n }\n },\n $_updateParentShownChildren(value) {\n let parent = this.parentPopper;\n while (parent) {\n if (value) {\n parent.shownChildren.add(this.randomId);\n } else {\n parent.shownChildren.delete(this.randomId);\n if (parent.$_pendingHide) {\n parent.hide();\n }\n }\n parent = parent.parentPopper;\n }\n },\n $_isAimingPopper() {\n const referenceBounds = this.$el.getBoundingClientRect();\n if (mouseX >= referenceBounds.left && mouseX <= referenceBounds.right && mouseY >= referenceBounds.top && mouseY <= referenceBounds.bottom) {\n const popperBounds = this.$_popperNode.getBoundingClientRect();\n const vectorX = mouseX - mousePreviousX;\n const vectorY = mouseY - mousePreviousY;\n const distance = popperBounds.left + popperBounds.width / 2 - mousePreviousX + (popperBounds.top + popperBounds.height / 2) - mousePreviousY;\n const newVectorLength = distance + popperBounds.width + popperBounds.height;\n const edgeX = mousePreviousX + vectorX * newVectorLength;\n const edgeY = mousePreviousY + vectorY * newVectorLength;\n return lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.top, popperBounds.left, popperBounds.bottom) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.top, popperBounds.right, popperBounds.top) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.right, popperBounds.top, popperBounds.right, popperBounds.bottom) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.bottom, popperBounds.right, popperBounds.bottom);\n }\n return false;\n }\n },\n render() {\n return this.$scopedSlots.default(this.slotData)[0];\n }\n});\nif (typeof document !== \"undefined\" && typeof window !== \"undefined\") {\n if (isIOS) {\n document.addEventListener(\"touchstart\", handleGlobalMousedown, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n document.addEventListener(\"touchend\", handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener(\"mousedown\", handleGlobalMousedown, true);\n window.addEventListener(\"click\", handleGlobalClick, true);\n }\n window.addEventListener(\"resize\", computePositionAllShownPoppers);\n}\nfunction handleGlobalMousedown(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n try {\n const popperContent = popper.popperNode();\n popper.$_mouseDownContains = popperContent.contains(event.target);\n } catch (e) {\n }\n }\n}\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\nfunction handleGlobalClose(event, touch = false) {\n const preventClose = {};\n for (let i = shownPoppers.length - 1; i >= 0; i--) {\n const popper = shownPoppers[i];\n try {\n const contains = popper.$_containsGlobalTarget = isContainingEventTarget(popper, event);\n popper.$_pendingHide = false;\n requestAnimationFrame(() => {\n popper.$_pendingHide = false;\n if (preventClose[popper.randomId])\n return;\n if (shouldAutoHide(popper, contains, event)) {\n popper.$_handleGlobalClose(event, touch);\n if (!event.closeAllPopover && event.closePopover && contains) {\n let parent2 = popper.parentPopper;\n while (parent2) {\n preventClose[parent2.randomId] = true;\n parent2 = parent2.parentPopper;\n }\n return;\n }\n let parent = popper.parentPopper;\n while (parent) {\n if (shouldAutoHide(parent, parent.$_containsGlobalTarget, event)) {\n parent.$_handleGlobalClose(event, touch);\n } else {\n break;\n }\n parent = parent.parentPopper;\n }\n }\n });\n } catch (e) {\n }\n }\n}\nfunction isContainingEventTarget(popper, event) {\n const popperContent = popper.popperNode();\n return popper.$_mouseDownContains || popperContent.contains(event.target);\n}\nfunction shouldAutoHide(popper, contains, event) {\n return event.closeAllPopover || event.closePopover && contains || getAutoHideResult(popper, event) && !contains;\n}\nfunction getAutoHideResult(popper, event) {\n if (typeof popper.autoHide === \"function\") {\n const result = popper.autoHide(event);\n popper.lastAutoHide = result;\n return result;\n }\n return popper.autoHide;\n}\nfunction computePositionAllShownPoppers(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.$_computePosition(event);\n }\n}\nfunction hideAllPoppers() {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.hide();\n }\n}\nlet mousePreviousX = 0;\nlet mousePreviousY = 0;\nlet mouseX = 0;\nlet mouseY = 0;\nif (typeof window !== \"undefined\") {\n window.addEventListener(\"mousemove\", (event) => {\n mousePreviousX = mouseX;\n mousePreviousY = mouseY;\n mouseX = event.clientX;\n mouseY = event.clientY;\n }, supportsPassive ? {\n passive: true\n } : void 0);\n}\nfunction lineIntersectsLine(x1, y1, x2, y2, x3, y3, x4, y4) {\n const uA = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / ((y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1));\n const uB = ((x2 - x1) * (y1 - y3) - (y2 - y1) * (x1 - x3)) / ((y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1));\n return uA >= 0 && uA <= 1 && uB >= 0 && uB <= 1;\n}\nfunction getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf(\"MSIE \");\n if (msie > 0) {\n return parseInt(ua.substring(msie + 5, ua.indexOf(\".\", msie)), 10);\n }\n var trident = ua.indexOf(\"Trident/\");\n if (trident > 0) {\n var rv = ua.indexOf(\"rv:\");\n return parseInt(ua.substring(rv + 3, ua.indexOf(\".\", rv)), 10);\n }\n var edge = ua.indexOf(\"Edge/\");\n if (edge > 0) {\n return parseInt(ua.substring(edge + 5, ua.indexOf(\".\", edge)), 10);\n }\n return -1;\n}\nvar isIE;\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\nvar script = {\n name: \"ResizeObserver\",\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted() {\n var _this = this;\n initCompat();\n this.$nextTick(function() {\n _this._w = _this.$el.offsetWidth;\n _this._h = _this.$el.offsetHeight;\n if (_this.emitOnMount) {\n _this.emitSize();\n }\n });\n var object = document.createElement(\"object\");\n this._resizeObject = object;\n object.setAttribute(\"aria-hidden\", \"true\");\n object.setAttribute(\"tabindex\", -1);\n object.onload = this.addResizeHandlers;\n object.type = \"text/html\";\n if (isIE) {\n this.$el.appendChild(object);\n }\n object.data = \"about:blank\";\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify: function compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize: function emitSize() {\n this.$emit(\"notify\", {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers: function addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\", this.compareAndNotify);\n this.compareAndNotify();\n },\n removeResizeHandlers: function removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\", this.compareAndNotify);\n }\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\nfunction normalizeComponent$1(template, style, script2, scopeId, isFunctionalTemplate, moduleIdentifier, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== \"boolean\") {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n }\n var options2 = typeof script2 === \"function\" ? script2.options : script2;\n if (template && template.render) {\n options2.render = template.render;\n options2.staticRenderFns = template.staticRenderFns;\n options2._compiled = true;\n if (isFunctionalTemplate) {\n options2.functional = true;\n }\n }\n if (scopeId) {\n options2._scopeId = scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function hook2(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (style) {\n style.call(this, createInjectorSSR(context));\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options2._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function(context) {\n style.call(this, createInjector(context));\n };\n }\n if (hook) {\n if (options2.functional) {\n var originalRender = options2.render;\n options2.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options2.beforeCreate;\n options2.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return script2;\n}\nvar __vue_script__ = script;\nvar __vue_render__ = function __vue_render__2() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", {\n staticClass: \"resize-observer\",\n attrs: {\n tabindex: \"-1\"\n }\n });\n};\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\nvar __vue_inject_styles__ = void 0;\nvar __vue_scope_id__ = \"data-v-8859cc6c\";\nvar __vue_module_identifier__ = void 0;\nvar __vue_is_functional_template__ = false;\nvar __vue_component__ = /* @__PURE__ */ normalizeComponent$1({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, void 0, void 0, void 0);\nfunction install$1(Vue2) {\n Vue2.component(\"resize-observer\", __vue_component__);\n Vue2.component(\"ResizeObserver\", __vue_component__);\n}\nvar plugin$1 = {\n version: \"1.0.1\",\n install: install$1\n};\nvar GlobalVue$1 = null;\nif (typeof window !== \"undefined\") {\n GlobalVue$1 = window.Vue;\n} else if (typeof global !== \"undefined\") {\n GlobalVue$1 = global.Vue;\n}\nif (GlobalVue$1) {\n GlobalVue$1.use(plugin$1);\n}\nvar PrivateThemeClass = {\n computed: {\n themeClass() {\n return getThemeClasses(this.theme);\n }\n }\n};\nvar __vue2_script$5 = {\n name: \"VPopperContent\",\n components: {\n ResizeObserver: __vue_component__\n },\n mixins: [\n PrivateThemeClass\n ],\n props: {\n popperId: String,\n theme: String,\n shown: Boolean,\n mounted: Boolean,\n skipTransition: Boolean,\n autoHide: Boolean,\n handleResize: Boolean,\n classes: Object,\n result: Object\n },\n methods: {\n toPx(value) {\n if (value != null && !isNaN(value)) {\n return `${value}px`;\n }\n return null;\n }\n }\n};\nvar render$2 = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", { ref: \"popover\", staticClass: \"v-popper__popper\", class: [\n _vm.themeClass,\n _vm.classes.popperClass,\n {\n \"v-popper__popper--shown\": _vm.shown,\n \"v-popper__popper--hidden\": !_vm.shown,\n \"v-popper__popper--show-from\": _vm.classes.showFrom,\n \"v-popper__popper--show-to\": _vm.classes.showTo,\n \"v-popper__popper--hide-from\": _vm.classes.hideFrom,\n \"v-popper__popper--hide-to\": _vm.classes.hideTo,\n \"v-popper__popper--skip-transition\": _vm.skipTransition,\n \"v-popper__popper--arrow-overflow\": _vm.result && _vm.result.arrow.overflow,\n \"v-popper__popper--no-positioning\": !_vm.result\n }\n ], style: _vm.result ? {\n position: _vm.result.strategy,\n transform: \"translate3d(\" + Math.round(_vm.result.x) + \"px,\" + Math.round(_vm.result.y) + \"px,0)\"\n } : void 0, attrs: { \"id\": _vm.popperId, \"aria-hidden\": _vm.shown ? \"false\" : \"true\", \"tabindex\": _vm.autoHide ? 0 : void 0, \"data-popper-placement\": _vm.result ? _vm.result.placement : void 0 }, on: { \"keyup\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }\n _vm.autoHide && _vm.$emit(\"hide\");\n } } }, [_c(\"div\", { staticClass: \"v-popper__backdrop\", on: { \"click\": function($event) {\n _vm.autoHide && _vm.$emit(\"hide\");\n } } }), _c(\"div\", { staticClass: \"v-popper__wrapper\", style: _vm.result ? {\n transformOrigin: _vm.result.transformOrigin\n } : void 0 }, [_c(\"div\", { ref: \"inner\", staticClass: \"v-popper__inner\" }, [_vm.mounted ? [_c(\"div\", [_vm._t(\"default\")], 2), _vm.handleResize ? _c(\"ResizeObserver\", { on: { \"notify\": function($event) {\n return _vm.$emit(\"resize\", $event);\n } } }) : _vm._e()] : _vm._e()], 2), _c(\"div\", { ref: \"arrow\", staticClass: \"v-popper__arrow-container\", style: _vm.result ? {\n left: _vm.toPx(_vm.result.arrow.x),\n top: _vm.toPx(_vm.result.arrow.y)\n } : void 0 }, [_c(\"div\", { staticClass: \"v-popper__arrow-outer\" }), _c(\"div\", { staticClass: \"v-popper__arrow-inner\" })])])]);\n};\nvar staticRenderFns$2 = [];\nvar PopperContent_vue_vue_type_style_index_0_lang = \"\";\nfunction normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options2 = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render2) {\n options2.render = render2;\n options2.staticRenderFns = staticRenderFns2;\n options2._compiled = true;\n }\n if (functionalTemplate) {\n options2.functional = true;\n }\n if (scopeId) {\n options2._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options2._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(this, (options2.functional ? this.parent : this).$root.$options.shadowRoot);\n } : injectStyles;\n }\n if (hook) {\n if (options2.functional) {\n options2._injectStyles = hook;\n var originalRender = options2.render;\n options2.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options2.beforeCreate;\n options2.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options: options2\n };\n}\nconst __cssModules$5 = {};\nvar __component__$5 = /* @__PURE__ */ normalizeComponent(__vue2_script$5, render$2, staticRenderFns$2, false, __vue2_injectStyles$5, null, null, null);\nfunction __vue2_injectStyles$5(context) {\n for (let o in __cssModules$5) {\n this[o] = __cssModules$5[o];\n }\n}\nvar PrivatePopperContent = /* @__PURE__ */ function() {\n return __component__$5.exports;\n}();\nvar PrivatePopperMethods = {\n methods: {\n show(...args) {\n return this.$refs.popper.show(...args);\n },\n hide(...args) {\n return this.$refs.popper.hide(...args);\n },\n dispose(...args) {\n return this.$refs.popper.dispose(...args);\n },\n onResize(...args) {\n return this.$refs.popper.onResize(...args);\n }\n }\n};\nvar __vue2_script$4 = {\n name: \"VPopperWrapper\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods,\n PrivateThemeClass\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default() {\n return this.$options.vPopperTheme;\n }\n }\n },\n methods: {\n getTargetNodes() {\n return Array.from(this.$refs.reference.children).filter((node) => node !== this.$refs.popperContent.$el);\n }\n }\n};\nvar render$1 = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"Popper\", _vm._g(_vm._b({ ref: \"popper\", attrs: { \"theme\": _vm.theme, \"target-nodes\": _vm.getTargetNodes, \"reference-node\": function() {\n return _vm.$refs.reference;\n }, \"popper-node\": function() {\n return _vm.$refs.popperContent.$el;\n } }, scopedSlots: _vm._u([{ key: \"default\", fn: function(ref) {\n var popperId = ref.popperId;\n var isShown = ref.isShown;\n var shouldMountContent = ref.shouldMountContent;\n var skipTransition = ref.skipTransition;\n var autoHide = ref.autoHide;\n var show = ref.show;\n var hide = ref.hide;\n var handleResize = ref.handleResize;\n var onResize = ref.onResize;\n var classes = ref.classes;\n var result = ref.result;\n return [_c(\"div\", { ref: \"reference\", staticClass: \"v-popper\", class: [\n _vm.themeClass,\n {\n \"v-popper--shown\": isShown\n }\n ] }, [_vm._t(\"default\", null, { \"shown\": isShown, \"show\": show, \"hide\": hide }), _c(\"PopperContent\", { ref: \"popperContent\", attrs: { \"popper-id\": popperId, \"theme\": _vm.theme, \"shown\": isShown, \"mounted\": shouldMountContent, \"skip-transition\": skipTransition, \"auto-hide\": autoHide, \"handle-resize\": handleResize, \"classes\": classes, \"result\": result }, on: { \"hide\": hide, \"resize\": onResize } }, [_vm._t(\"popper\", null, { \"shown\": isShown, \"hide\": hide })], 2)], 2)];\n } }], null, true) }, \"Popper\", _vm.$attrs, false), _vm.$listeners));\n};\nvar staticRenderFns$1 = [];\nconst __cssModules$4 = {};\nvar __component__$4 = /* @__PURE__ */ normalizeComponent(__vue2_script$4, render$1, staticRenderFns$1, false, __vue2_injectStyles$4, null, null, null);\nfunction __vue2_injectStyles$4(context) {\n for (let o in __cssModules$4) {\n this[o] = __cssModules$4[o];\n }\n}\nvar PrivatePopperWrapper = /* @__PURE__ */ function() {\n return __component__$4.exports;\n}();\nvar __vue2_script$3 = __spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VDropdown\",\n vPopperTheme: \"dropdown\"\n});\nvar Dropdown_vue_vue_type_style_index_0_lang = \"\";\nlet __vue2_render$2, __vue2_staticRenderFns$2;\nconst __cssModules$3 = {};\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(__vue2_script$3, __vue2_render$2, __vue2_staticRenderFns$2, false, __vue2_injectStyles$3, null, null, null);\nfunction __vue2_injectStyles$3(context) {\n for (let o in __cssModules$3) {\n this[o] = __cssModules$3[o];\n }\n}\nvar PrivateDropdown = /* @__PURE__ */ function() {\n return __component__$3.exports;\n}();\nvar __vue2_script$2 = __spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VMenu\",\n vPopperTheme: \"menu\"\n});\nlet __vue2_render$1, __vue2_staticRenderFns$1;\nconst __cssModules$2 = {};\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(__vue2_script$2, __vue2_render$1, __vue2_staticRenderFns$1, false, __vue2_injectStyles$2, null, null, null);\nfunction __vue2_injectStyles$2(context) {\n for (let o in __cssModules$2) {\n this[o] = __cssModules$2[o];\n }\n}\nvar PrivateMenu = /* @__PURE__ */ function() {\n return __component__$2.exports;\n}();\nvar __vue2_script$1 = __spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VTooltip\",\n vPopperTheme: \"tooltip\"\n});\nvar Tooltip_vue_vue_type_style_index_0_lang = \"\";\nlet __vue2_render, __vue2_staticRenderFns;\nconst __cssModules$1 = {};\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(__vue2_script$1, __vue2_render, __vue2_staticRenderFns, false, __vue2_injectStyles$1, null, null, null);\nfunction __vue2_injectStyles$1(context) {\n for (let o in __cssModules$1) {\n this[o] = __cssModules$1[o];\n }\n}\nvar PrivateTooltip = /* @__PURE__ */ function() {\n return __component__$1.exports;\n}();\nvar __vue2_script = {\n name: \"VTooltipDirective\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default: \"tooltip\"\n },\n html: {\n type: Boolean,\n default() {\n return getDefaultConfig(this.theme, \"html\");\n }\n },\n content: {\n type: [String, Number, Function],\n default: null\n },\n loadingContent: {\n type: String,\n default() {\n return getDefaultConfig(this.theme, \"loadingContent\");\n }\n }\n },\n data() {\n return {\n asyncContent: null\n };\n },\n computed: {\n isContentAsync() {\n return typeof this.content === \"function\";\n },\n loading() {\n return this.isContentAsync && this.asyncContent == null;\n },\n finalContent() {\n if (this.isContentAsync) {\n return this.loading ? this.loadingContent : this.asyncContent;\n }\n return this.content;\n }\n },\n watch: {\n content: {\n handler() {\n this.fetchContent(true);\n },\n immediate: true\n },\n async finalContent(value) {\n await this.$nextTick();\n this.$refs.popper.onResize();\n }\n },\n created() {\n this.$_fetchId = 0;\n },\n methods: {\n fetchContent(force) {\n if (typeof this.content === \"function\" && this.$_isShown && (force || !this.$_loading && this.asyncContent == null)) {\n this.asyncContent = null;\n this.$_loading = true;\n const fetchId = ++this.$_fetchId;\n const result = this.content(this);\n if (result.then) {\n result.then((res) => this.onResult(fetchId, res));\n } else {\n this.onResult(fetchId, result);\n }\n }\n },\n onResult(fetchId, result) {\n if (fetchId !== this.$_fetchId)\n return;\n this.$_loading = false;\n this.asyncContent = result;\n },\n onShow() {\n this.$_isShown = true;\n this.fetchContent();\n },\n onHide() {\n this.$_isShown = false;\n }\n }\n};\nvar render = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"Popper\", _vm._g(_vm._b({ ref: \"popper\", attrs: { \"theme\": _vm.theme, \"popper-node\": function() {\n return _vm.$refs.popperContent.$el;\n } }, on: { \"apply-show\": _vm.onShow, \"apply-hide\": _vm.onHide }, scopedSlots: _vm._u([{ key: \"default\", fn: function(ref) {\n var popperId = ref.popperId;\n var isShown = ref.isShown;\n var shouldMountContent = ref.shouldMountContent;\n var skipTransition = ref.skipTransition;\n var autoHide = ref.autoHide;\n var hide = ref.hide;\n var handleResize = ref.handleResize;\n var onResize = ref.onResize;\n var classes = ref.classes;\n var result = ref.result;\n return [_c(\"PopperContent\", { ref: \"popperContent\", class: {\n \"v-popper--tooltip-loading\": _vm.loading\n }, attrs: { \"popper-id\": popperId, \"theme\": _vm.theme, \"shown\": isShown, \"mounted\": shouldMountContent, \"skip-transition\": skipTransition, \"auto-hide\": autoHide, \"handle-resize\": handleResize, \"classes\": classes, \"result\": result }, on: { \"hide\": hide, \"resize\": onResize } }, [_vm.html ? _c(\"div\", { domProps: { \"innerHTML\": _vm._s(_vm.finalContent) } }) : _c(\"div\", { domProps: { \"textContent\": _vm._s(_vm.finalContent) } })])];\n } }]) }, \"Popper\", _vm.$attrs, false), _vm.$listeners));\n};\nvar staticRenderFns = [];\nconst __cssModules = {};\nvar __component__ = /* @__PURE__ */ normalizeComponent(__vue2_script, render, staticRenderFns, false, __vue2_injectStyles, null, null, null);\nfunction __vue2_injectStyles(context) {\n for (let o in __cssModules) {\n this[o] = __cssModules[o];\n }\n}\nvar PrivateTooltipDirective = /* @__PURE__ */ function() {\n return __component__.exports;\n}();\nconst TARGET_CLASS = \"v-popper--has-tooltip\";\nfunction getPlacement(options2, modifiers) {\n let result = options2.placement;\n if (!result && modifiers) {\n for (const pos of placements) {\n if (modifiers[pos]) {\n result = pos;\n }\n }\n }\n if (!result) {\n result = getDefaultConfig(options2.theme || \"tooltip\", \"placement\");\n }\n return result;\n}\nfunction getOptions(el, value, modifiers) {\n let options2;\n const type = typeof value;\n if (type === \"string\") {\n options2 = { content: value };\n } else if (value && type === \"object\") {\n options2 = value;\n } else {\n options2 = { content: false };\n }\n options2.placement = getPlacement(options2, modifiers);\n options2.targetNodes = () => [el];\n options2.referenceNode = () => el;\n return options2;\n}\nfunction createTooltip(el, value, modifiers) {\n const options2 = getOptions(el, value, modifiers);\n const tooltipApp = el.$_popper = new Vue({\n mixins: [\n PrivatePopperMethods\n ],\n data() {\n return {\n options: options2\n };\n },\n render(h) {\n const _a = this.options, {\n theme,\n html,\n content,\n loadingContent\n } = _a, otherOptions = __objRest(_a, [\n \"theme\",\n \"html\",\n \"content\",\n \"loadingContent\"\n ]);\n return h(PrivateTooltipDirective, {\n props: {\n theme,\n html,\n content,\n loadingContent\n },\n attrs: otherOptions,\n ref: \"popper\"\n });\n },\n devtools: {\n hide: true\n }\n });\n const mountTarget = document.createElement(\"div\");\n document.body.appendChild(mountTarget);\n tooltipApp.$mount(mountTarget);\n if (el.classList) {\n el.classList.add(TARGET_CLASS);\n }\n return tooltipApp;\n}\nfunction destroyTooltip(el) {\n if (el.$_popper) {\n el.$_popper.$destroy();\n delete el.$_popper;\n delete el.$_popperOldShown;\n }\n if (el.classList) {\n el.classList.remove(TARGET_CLASS);\n }\n}\nfunction bind(el, { value, oldValue, modifiers }) {\n const options2 = getOptions(el, value, modifiers);\n if (!options2.content || getDefaultConfig(options2.theme || \"tooltip\", \"disabled\")) {\n destroyTooltip(el);\n } else {\n let tooltipApp;\n if (el.$_popper) {\n tooltipApp = el.$_popper;\n tooltipApp.options = options2;\n } else {\n tooltipApp = createTooltip(el, value, modifiers);\n }\n if (typeof value.shown !== \"undefined\" && value.shown !== el.$_popperOldShown) {\n el.$_popperOldShown = value.shown;\n value.shown ? tooltipApp.show() : tooltipApp.hide();\n }\n }\n}\nvar PrivateVTooltip = {\n bind,\n update: bind,\n unbind(el) {\n destroyTooltip(el);\n }\n};\nfunction addListeners(el) {\n el.addEventListener(\"click\", onClick);\n el.addEventListener(\"touchstart\", onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\nfunction removeListeners(el) {\n el.removeEventListener(\"click\", onClick);\n el.removeEventListener(\"touchstart\", onTouchStart);\n el.removeEventListener(\"touchend\", onTouchEnd);\n el.removeEventListener(\"touchcancel\", onTouchCancel);\n}\nfunction onClick(event) {\n const el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n const touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener(\"touchend\", onTouchEnd);\n el.addEventListener(\"touchcancel\", onTouchCancel);\n }\n}\nfunction onTouchEnd(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n if (event.changedTouches.length === 1) {\n const touch = event.changedTouches[0];\n const firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\nfunction onTouchCancel(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\nvar PrivateVClosePopper = {\n bind(el, { value, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n }\n },\n update(el, { value, oldValue, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (value !== oldValue) {\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n unbind(el) {\n removeListeners(el);\n }\n};\nconst options = config;\nconst VTooltip = PrivateVTooltip;\nconst VClosePopper = PrivateVClosePopper;\nconst Dropdown = PrivateDropdown;\nconst Menu = PrivateMenu;\nconst Popper = PrivatePopper;\nconst PopperContent = PrivatePopperContent;\nconst PopperMethods = PrivatePopperMethods;\nconst PopperWrapper = PrivatePopperWrapper;\nconst ThemeClass = PrivateThemeClass;\nconst Tooltip = PrivateTooltip;\nconst TooltipDirective = PrivateTooltipDirective;\nfunction install(app, options2 = {}) {\n if (app.$_vTooltipInstalled)\n return;\n app.$_vTooltipInstalled = true;\n assign(config, options2);\n app.directive(\"tooltip\", PrivateVTooltip);\n app.directive(\"close-popper\", PrivateVClosePopper);\n app.component(\"v-tooltip\", PrivateTooltip);\n app.component(\"VTooltip\", PrivateTooltip);\n app.component(\"v-dropdown\", PrivateDropdown);\n app.component(\"VDropdown\", PrivateDropdown);\n app.component(\"v-menu\", PrivateMenu);\n app.component(\"VMenu\", PrivateMenu);\n}\nconst plugin = {\n version: \"1.0.0-beta.19\",\n install,\n options: config\n};\nlet GlobalVue = null;\nif (typeof window !== \"undefined\") {\n GlobalVue = window.Vue;\n} else if (typeof global !== \"undefined\") {\n GlobalVue = global.Vue;\n}\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\nexport { Dropdown, HIDE_EVENT_MAP, Menu, Popper, PopperContent, PopperMethods, PopperWrapper, SHOW_EVENT_MAP, ThemeClass, Tooltip, TooltipDirective, VClosePopper, VTooltip, createTooltip, plugin as default, destroyTooltip, hideAllPoppers, install, options, placements };\n","import '../assets/NcPopover-kKcTWlOL.css';\nimport { options, Dropdown } from \"floating-vue\";\nimport { createFocusTrap } from \"focus-trap\";\nimport { tabbable } from \"tabbable\";\nimport Vue, { defineComponent } from \"vue\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { g as getTrapStack } from \"./focusTrap-HJQ4pqHV.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nconst _sfc_main$1 = defineComponent({\n name: \"NcPopoverTriggerProvider\",\n provide() {\n return {\n \"NcPopover:trigger:shown\": () => this.shown,\n \"NcPopover:trigger:attrs\": () => this.triggerAttrs\n };\n },\n props: {\n /**\n * Is the popover currently shown\n */\n shown: {\n type: Boolean,\n required: true\n },\n /**\n * ARIA Role of the popup\n */\n popupRole: {\n type: String,\n default: void 0\n }\n },\n computed: {\n triggerAttrs() {\n return {\n \"aria-haspopup\": this.popupRole,\n \"aria-expanded\": this.shown.toString()\n };\n }\n },\n render() {\n return this.$scopedSlots.default?.({\n attrs: this.triggerAttrs\n });\n }\n});\nconst _sfc_render$1 = null;\nconst _sfc_staticRenderFns$1 = null;\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst NcPopoverTriggerProvider = __component__$1.exports;\nconst ncPopover = \"_ncPopover_6PjkA\";\nconst style0 = {\n \"material-design-icon\": \"_material-design-icon_AAwhR\",\n ncPopover\n};\nconst THEME = \"nc-popover-8\";\noptions.themes[THEME] = structuredClone(options.themes.dropdown);\nconst _sfc_main = {\n name: \"NcPopover\",\n components: {\n Dropdown,\n NcPopoverTriggerProvider\n },\n inheritAttrs: false,\n props: {\n /**\n * Show or hide the popper\n *\n * @see https://floating-vue.starpad.dev/api/#shown\n */\n shown: {\n type: Boolean,\n default: false\n },\n /**\n * Popup role\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-haspopup#values\n */\n popupRole: {\n type: String,\n default: void 0,\n validator: (value) => [\"menu\", \"listbox\", \"tree\", \"grid\", \"dialog\", \"true\"].includes(value)\n },\n /**\n * Class to be applied to the popover base\n */\n popoverBaseClass: {\n type: String,\n default: \"\"\n },\n /**\n * Enable popover focus trap\n *\n * @deprecated use noFocusTrap instead\n */\n focusTrap: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Disable the popover focus trap.\n */\n noFocusTrap: {\n type: Boolean,\n default: false\n },\n /**\n * Set element to return focus to after focus trap deactivation\n *\n * @type {SetReturnFocus}\n */\n setReturnFocus: {\n default: void 0,\n type: [Boolean, HTMLElement, SVGElement, String, Function]\n },\n /**\n * When there is no setReturnFocus, NcPopover will try to return focus to the trigger button.\n * Use this prop to disable this behavior.\n */\n noAutoReturnFocus: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"after-show\",\n \"after-hide\",\n /**\n * @see https://floating-vue.starpad.dev/api/#update-shown\n */\n \"update:shown\"\n ],\n setup() {\n return {\n THEME\n };\n },\n data() {\n return {\n internalShown: this.shown\n };\n },\n watch: {\n shown(value) {\n this.internalShown = value;\n if (this.internalShown) {\n this.checkTriggerA11y();\n }\n },\n internalShown(value) {\n this.$emit(\"update:shown\", value);\n }\n },\n beforeDestroy() {\n this.clearFocusTrap();\n this.clearEscapeStopPropagation();\n },\n methods: {\n /**\n * Check if the trigger has all required a11y attributes.\n * Important to check custom trigger button.\n */\n checkTriggerA11y() {\n if (window.OC?.debug) {\n const triggerButton = this.getPopoverTriggerButtonElement();\n if (!triggerButton || !triggerButton.hasAttributes(\"aria-expanded\", \"aria-haspopup\")) {\n Vue.util.warn(\"It looks like you are using a custom button as a or other popover #trigger. If you are not using as a trigger, you need to bind attrs from the #trigger slot props to your custom button. See docs for an example.\");\n }\n }\n },\n /**\n * Remove incorrect aria-describedby attribute from the trigger.\n *\n * @see https://github.com/Akryum/floating-vue/blob/8d4f7125aae0e3ea00ba4093d6d2001ab15058f1/packages/floating-vue/src/components/Popper.ts#L734\n */\n removeFloatingVueAriaDescribedBy() {\n const triggerContainer = this.getPopoverTriggerElement();\n const triggerElements = triggerContainer.querySelectorAll(\"[data-popper-shown]\");\n for (const el of triggerElements) {\n el.removeAttribute(\"aria-describedby\");\n }\n },\n /**\n * @return {HTMLElement|undefined}\n */\n getPopoverContentElement() {\n return this.$refs.popover?.$refs.popperContent?.$el;\n },\n /**\n * @return {HTMLElement|undefined}\n */\n getPopoverTriggerElement() {\n return this.$refs.popover.$refs.reference;\n },\n /**\n * @return {HTMLElement|undefined}\n */\n getPopoverTriggerButtonElement() {\n const triggerContainer = this.getPopoverTriggerElement();\n return triggerContainer && tabbable(triggerContainer)[0];\n },\n /**\n * Add focus trap for accessibility.\n */\n async useFocusTrap() {\n await this.$nextTick();\n if (this.noFocusTrap || !this.focusTrap) {\n return;\n }\n const el = this.getPopoverContentElement();\n el.tabIndex = -1;\n if (!el) {\n return;\n }\n this.$focusTrap = createFocusTrap(el, {\n // Prevents to lose focus using esc key\n // Focus will be release when popover be hide\n escapeDeactivates: false,\n allowOutsideClick: true,\n setReturnFocus: this.setReturnFocus || !this.noAutoReturnFocus && this.getPopoverTriggerButtonElement(),\n trapStack: getTrapStack(),\n fallbackFocus: el\n });\n this.$focusTrap.activate();\n },\n /**\n * Remove focus trap\n *\n * @param {object} options The configuration options for focusTrap\n */\n clearFocusTrap(options2 = {}) {\n try {\n this.$focusTrap?.deactivate(options2);\n this.$focusTrap = null;\n } catch (error) {\n logger.warn(\"Could not clear focus trap\", { error });\n }\n },\n /**\n * Add stopPropagation for Escape.\n * It prevents global Escape handling after closing popover.\n *\n * Manual event handling is used here instead of v-on because there is no direct access to the node.\n * Alternative - wrap in a div wrapper.\n */\n addEscapeStopPropagation() {\n const el = this.getPopoverContentElement();\n el?.addEventListener(\"keydown\", this.stopKeydownEscapeHandler);\n },\n /**\n * Remove stop Escape handler\n */\n clearEscapeStopPropagation() {\n const el = this.getPopoverContentElement();\n el?.removeEventListener(\"keydown\", this.stopKeydownEscapeHandler);\n },\n /**\n * @param {KeyboardEvent} event - native keydown event\n */\n stopKeydownEscapeHandler(event) {\n if (event.type === \"keydown\" && event.key === \"Escape\") {\n event.stopPropagation();\n }\n },\n async afterShow() {\n this.getPopoverContentElement().addEventListener(\"transitionend\", () => {\n this.$emit(\"after-show\");\n }, { once: true, passive: true });\n this.removeFloatingVueAriaDescribedBy();\n await this.$nextTick();\n await this.useFocusTrap();\n this.addEscapeStopPropagation();\n },\n afterHide() {\n this.getPopoverContentElement().addEventListener(\"transitionend\", () => {\n this.$emit(\"after-hide\");\n }, { once: true, passive: true });\n this.clearFocusTrap();\n this.clearEscapeStopPropagation();\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"Dropdown\", _vm._g(_vm._b({ ref: \"popover\", attrs: { \"distance\": 10, \"arrow-padding\": 10, \"no-auto-focus\": true, \"popper-class\": [_vm.$style.ncPopover, _vm.popoverBaseClass], \"theme\": _vm.THEME, \"shown\": _vm.internalShown }, on: { \"update:shown\": function($event) {\n _vm.internalShown = $event;\n }, \"apply-show\": _vm.afterShow, \"apply-hide\": _vm.afterHide }, scopedSlots: _vm._u([{ key: \"popper\", fn: function(slotProps) {\n return [_vm._t(\"default\", null, null, slotProps)];\n } }], null, true) }, \"Dropdown\", _vm.$attrs, false), _vm.$listeners), [_c(\"NcPopoverTriggerProvider\", { attrs: { \"shown\": _vm.internalShown, \"popup-role\": _vm.popupRole }, scopedSlots: _vm._u([{ key: \"default\", fn: function(slotProps) {\n return [_vm._t(\"trigger\", null, null, slotProps)];\n } }], null, true) })], 1);\n};\nvar _sfc_staticRenderFns = [];\nconst __cssModules = {\n \"$style\": style0\n};\nfunction _sfc_injectStyles(ctx) {\n for (var key in __cssModules) {\n this[key] = __cssModules[key];\n }\n}\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n _sfc_injectStyles,\n null\n);\nconst NcPopover = __component__.exports;\nexport {\n NcPopover as N\n};\n//# sourceMappingURL=NcPopover-BCDLqFHH.mjs.map\n","import '../assets/NcActions-CuFJSslC.css';\nimport Vue, { computed } from \"vue\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { u as useTrapStackControl } from \"./useTrapStackControl-BnLfCgGU.mjs\";\nimport { r as register, F as t4, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-F5ebeBB_.mjs\";\nimport { N as NcButton } from \"./NcButton-DAGirW_B.mjs\";\nimport { N as NcPopover } from \"./NcPopover-BCDLqFHH.mjs\";\nconst _sfc_main$1 = {\n name: \"DotsHorizontalIcon\",\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$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon dots-horizontal-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\" } })])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst DotsHorizontalIcon = __component__$1.exports;\nregister(t4);\nconst focusableSelector = \".focusable\";\nconst _sfc_main = {\n name: \"NcActions\",\n components: {\n NcButton,\n NcPopover\n },\n provide() {\n return {\n /**\n * NcActions can be used as:\n * - Application menu (has menu role)\n * - Expanded block (has no specific role, should be used an element with expanded role)\n * - Popover with plain text or text inputs (has no specific role)\n * Depending on the usage (used items), the menu and its items should have different roles for a11y.\n * Provide the role for NcAction* components in the NcActions content.\n *\n * @type {import('vue').ComputedRef}\n */\n \"NcActions:isSemanticMenu\": computed(() => this.actionsMenuSemanticType === \"menu\")\n };\n },\n props: {\n /**\n * Specify the open state of the popover menu\n */\n open: {\n type: Boolean,\n default: false\n },\n /**\n * This disables the internal open management,\n * so the actions menu only respects the `open` prop.\n * This is e.g. necessary for the NcAvatar component\n * to only open the actions menu after loading it's entries has finished.\n */\n manualOpen: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Force the name to show for single actions\n */\n forceName: {\n type: Boolean,\n default: false\n },\n /**\n * Specify the menu name\n */\n menuName: {\n type: String,\n default: null\n },\n /**\n * NcActions can be used as:\n *\n * - Application menu (has menu role)\n * - Navigation (has no specific role, should be used an element with expanded role)\n * - Popover with plain text or text inputs (has no specific role)\n *\n * By default the used type is automatically detected by components used in the default slot.#\n *\n * With Vue this is limited to direct children of the NcActions component.\n * So if you use a wrapper, you have to provide the semantic type yourself (see Example)\n *\n * Choose:\n *\n * - 'dialog' if you use any of these components: NcActionInput', 'NcActionTextEditable'\n * - 'menu' if you use any of these components: 'NcActionButton', 'NcActionButtonGroup', 'NcActionCheckbox', 'NcActionRadio'\n * - 'expanded' if using one of these: 'NcActionLink', 'NcActionRouter'. This represents an expanded block.\n * - 'tooltip' only to be used when a text without any interactive elements is used.\n * - Leave this property unset otherwise\n */\n forceSemanticType: {\n type: String,\n default: null,\n validator(value) {\n return [\"dialog\", \"menu\", \"expanded\", \"tooltip\"].includes(value);\n }\n },\n /**\n * Apply primary styling for this menu\n */\n primary: {\n type: Boolean,\n default: false\n },\n /**\n * Specifies the button variant used for trigger and single actions buttons.\n *\n * Accepted values: primary, secondary, tertiary, tertiary-no-background, tertiary-on-primary, error, warning, success. If left empty,\n * the default button style will be applied.\n *\n * @deprecated use `variant` instead - will be removed with v9\n */\n type: {\n type: String,\n validator(value) {\n return [\"primary\", \"secondary\", \"tertiary\", \"tertiary-no-background\", \"tertiary-on-primary\", \"error\", \"warning\", \"success\"].includes(value);\n },\n default: null\n },\n /**\n * Icon to show for the toggle menu button\n * when more than one action is inside the actions component.\n * Only replace the default three-dot icon if really necessary.\n */\n defaultIcon: {\n type: String,\n default: \"\"\n },\n /**\n * Aria label for the actions menu.\n *\n * If `menuName` is defined this will not be used to prevent\n * any accessible name conflicts. This ensures that the\n * element can be activated via voice input.\n */\n ariaLabel: {\n type: String,\n default: t(\"Actions\")\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 // eslint-disable-next-line vue/no-boolean-default\n default: null\n },\n /**\n * Wanted direction of the menu\n */\n placement: {\n type: String,\n default: \"bottom\"\n },\n /**\n * DOM element for the actions' popover boundaries\n */\n boundariesElement: {\n type: Element,\n default: () => document.querySelector(\"#content-vue\") ?? document.querySelector(\"body\")\n },\n /**\n * Selector for the actions' popover container\n */\n container: {\n type: [Boolean, String, Object, Element],\n default: \"body\"\n },\n /**\n * Disabled state of the main button (single action or menu toggle)\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Display x items inline out of the dropdown menu\n * Will be ignored if `forceMenu` is set\n */\n inline: {\n type: Number,\n default: 0\n },\n /**\n * Specifies the button variant used for trigger and single actions buttons.\n *\n * If left empty, the default button style will be applied.\n *\n * @since 8.24.0\n */\n variant: {\n type: String,\n validator(value) {\n return [\"primary\", \"secondary\", \"tertiary\", \"tertiary-no-background\", \"tertiary-on-primary\", \"error\", \"warning\", \"success\"].includes(value);\n },\n default: null\n },\n /**\n * Specify the size used for trigger and single actions buttons.\n *\n * If left empty, the default button size will be applied.\n */\n size: {\n type: String,\n default: \"normal\",\n validator(value) {\n return [\"small\", \"normal\", \"large\"].includes(value);\n }\n }\n },\n emits: [\n \"click\",\n \"blur\",\n \"focus\",\n \"close\",\n \"closed\",\n \"open\",\n \"opened\",\n \"update:open\"\n ],\n setup() {\n const randomId = `menu-${GenRandomId()}`;\n const triggerRandomId = `trigger-${randomId}`;\n return {\n randomId,\n triggerRandomId\n };\n },\n data() {\n return {\n opened: this.open,\n focusIndex: 0,\n /**\n * @type {'menu'|'expanded'|'dialog'|'tooltip'|'unknown'}\n */\n actionsMenuSemanticType: \"unknown\"\n };\n },\n computed: {\n triggerButtonVariant() {\n return (this.type ?? this.variant) || (this.primary ? \"primary\" : this.menuName ? \"secondary\" : \"tertiary\");\n },\n /**\n * A11y roles and keyboard navigation configuration depending on the semantic type\n */\n config() {\n const configs = {\n menu: {\n popupRole: \"menu\",\n withArrowNavigation: true,\n withTabNavigation: false,\n withFocusTrap: false,\n triggerA11yAttr: {\n \"aria-controls\": this.opened ? this.randomId : null\n },\n popoverContainerA11yAttrs: {},\n popoverUlA11yAttrs: {\n \"aria-labelledby\": this.triggerRandomId,\n id: this.randomId,\n role: \"menu\"\n }\n },\n expanded: {\n popupRole: void 0,\n withArrowNavigation: false,\n withTabNavigation: true,\n withFocusTrap: false,\n triggerA11yAttr: {},\n popoverContainerA11yAttrs: {},\n popoverUlA11yAttrs: {}\n },\n dialog: {\n popupRole: \"dialog\",\n withArrowNavigation: false,\n withTabNavigation: true,\n withFocusTrap: true,\n triggerA11yAttr: {\n \"aria-controls\": this.opened ? this.randomId : null\n },\n popoverContainerA11yAttrs: {\n id: this.randomId,\n role: \"dialog\",\n // Dialog must have a label\n \"aria-labelledby\": this.triggerRandomId,\n \"aria-modal\": \"true\"\n },\n popoverUlA11yAttrs: {}\n },\n tooltip: {\n popupRole: void 0,\n withArrowNavigation: false,\n withTabNavigation: false,\n withFocusTrap: false,\n triggerA11yAttr: {},\n popoverContainerA11yAttrs: {},\n popoverUlA11yAttrs: {}\n },\n // Due to Vue limitations, we sometimes cannot determine the true type\n // As a fallback use both arrow navigation and focus trap\n unknown: {\n popupRole: void 0,\n role: void 0,\n withArrowNavigation: true,\n withTabNavigation: false,\n withFocusTrap: true,\n triggerA11yAttr: {},\n popoverContainerA11yAttrs: {},\n popoverUlA11yAttrs: {\n // there is nothing against labelling a list, it is mostly recommended\n // so as we do not know the dialog type lets include the label\n \"aria-labelledby\": this.triggerRandomId\n }\n }\n };\n return configs[this.actionsMenuSemanticType];\n }\n },\n watch: {\n // Watch parent prop\n open(state) {\n if (state === this.opened) {\n return;\n }\n this.opened = state;\n },\n opened() {\n if (this.opened) {\n document.body.addEventListener(\"keydown\", this.handleEscapePressed);\n } else {\n document.body.removeEventListener(\"keydown\", this.handleEscapePressed);\n }\n }\n },\n created() {\n useTrapStackControl(() => this.opened, {\n disabled: () => this.config.withFocusTrap\n });\n },\n methods: {\n /**\n * Get the name of the action component\n *\n * @param {import('vue').VNode} action - a vnode with a NcAction* component instance\n * @return {string} the name of the action component\n */\n getActionName(action) {\n return action?.componentOptions?.Ctor?.extendOptions?.name ?? action?.componentOptions?.tag;\n },\n /**\n * Do we have exactly one Action and\n * is it allowed as a standalone element?\n *\n * @param {import('vue').VNode} action The action to check\n * @return {boolean}\n */\n isValidSingleAction(action) {\n return [\"NcActionButton\", \"NcActionLink\", \"NcActionRouter\"].includes(this.getActionName(action));\n },\n /**\n * Check whether a icon prop value is an URL or not\n *\n * @param {string} url The icon prop value\n */\n isIconUrl(url) {\n try {\n return !!new URL(url, url.startsWith(\"/\") ? window.location.origin : void 0);\n } catch {\n return false;\n }\n },\n // MENU STATE MANAGEMENT\n openMenu() {\n if (this.opened) {\n return;\n }\n this.opened = true;\n this.$emit(\"update:open\", true);\n this.$emit(\"open\");\n },\n async closeMenu(returnFocus = true) {\n if (!this.opened) {\n return;\n }\n await this.$nextTick();\n this.opened = false;\n this.$refs.popover?.clearFocusTrap({ returnFocus });\n this.$emit(\"update:open\", false);\n this.$emit(\"close\");\n this.focusIndex = 0;\n if (returnFocus) {\n this.$refs.triggerButton?.$el.focus();\n }\n },\n onClosed() {\n this.$emit(\"closed\");\n },\n /**\n * Called when popover is shown after the show delay\n */\n onOpened() {\n this.$nextTick(() => {\n this.focusFirstAction(null);\n this.resizePopover();\n this.$emit(\"opened\");\n });\n },\n /**\n * Handle resizing the popover to make sure users can discover there is more to scroll\n */\n resizePopover() {\n const inner = this.$refs.menu.closest(\".v-popper__inner\");\n const height = this.$refs.menu.clientHeight;\n const maxMenuHeight = this.getMaxMenuHeight();\n if (height > maxMenuHeight) {\n let currentHeight = 0;\n let actionHeight = 0;\n for (const action of this.$refs.menuList.children) {\n if (currentHeight + action.clientHeight / 2 > maxMenuHeight) {\n inner.style.height = `${currentHeight - actionHeight / 2}px`;\n break;\n }\n actionHeight = action.clientHeight;\n currentHeight += actionHeight;\n }\n } else {\n inner.style.height = \"fit-content\";\n }\n },\n getMaxMenuHeight() {\n const { top, bottom } = this.$refs.triggerButton?.$el.getBoundingClientRect() ?? { top: 0, bottom: 0 };\n const { top: boundaryTop, bottom: boundaryBottom } = this.boundariesElement?.getBoundingClientRect() ?? { top: 0, bottom: window.innerHeight };\n return Math.max(\n // Either expand to the top\n Math.min(\n // max height is the top position of the trigger minus the header height minus the wedge and the padding\n top - 84,\n // and also limited to the space in the boundary\n top - boundaryTop\n ),\n // or expand to the bottom\n Math.min(\n // the max height is the window height minus current position of the trigger minus the wedge and padding\n window.innerHeight - bottom - 34,\n // and limit to the available space in the boundary\n boundaryBottom - bottom\n )\n );\n },\n // MENU KEYS & FOCUS MANAGEMENT\n /**\n * @return {HTMLElement|null}\n */\n getCurrentActiveMenuItemElement() {\n return this.$refs.menu.querySelector(\"li.active\");\n },\n /**\n * @return {NodeList}\n */\n getFocusableMenuItemElements() {\n return this.$refs.menu.querySelectorAll(focusableSelector);\n },\n /**\n * Dispatches the keydown listener to different handlers\n *\n * @param {object} event The keydown event\n */\n onKeydown(event) {\n if (event.key === \"Tab\") {\n if (this.config.withFocusTrap) {\n return;\n }\n if (!this.config.withTabNavigation) {\n this.closeMenu(true);\n return;\n }\n event.preventDefault();\n const focusList = this.getFocusableMenuItemElements();\n const focusIndex = [...focusList].indexOf(document.activeElement);\n if (focusIndex === -1) {\n return;\n }\n const newFocusIndex = event.shiftKey ? focusIndex - 1 : focusIndex + 1;\n if (newFocusIndex < 0 || newFocusIndex === focusList.length) {\n this.closeMenu(true);\n }\n this.focusIndex = newFocusIndex;\n this.focusAction();\n return;\n }\n if (this.config.withArrowNavigation) {\n if (event.key === \"ArrowUp\") {\n this.focusPreviousAction(event);\n }\n if (event.key === \"ArrowDown\") {\n this.focusNextAction(event);\n }\n if (event.key === \"PageUp\") {\n this.focusFirstAction(event);\n }\n if (event.key === \"PageDown\") {\n this.focusLastAction(event);\n }\n }\n this.handleEscapePressed(event);\n },\n onTriggerKeydown(event) {\n if (event.key === \"Escape\") {\n if (this.actionsMenuSemanticType === \"tooltip\") {\n this.closeMenu();\n }\n }\n },\n handleEscapePressed(event) {\n if (event.key === \"Escape\") {\n this.closeMenu();\n event.preventDefault();\n }\n },\n removeCurrentActive() {\n const currentActiveElement = this.$refs.menu.querySelector(\"li.active\");\n if (currentActiveElement) {\n currentActiveElement.classList.remove(\"active\");\n }\n },\n focusAction() {\n const focusElement = this.getFocusableMenuItemElements()[this.focusIndex];\n if (focusElement) {\n this.removeCurrentActive();\n const liMenuParent = focusElement.closest(\"li.action\");\n focusElement.focus();\n if (liMenuParent) {\n liMenuParent.classList.add(\"active\");\n }\n }\n },\n focusPreviousAction(event) {\n if (this.opened) {\n if (this.focusIndex === 0) {\n this.focusLastAction(event);\n } else {\n this.preventIfEvent(event);\n this.focusIndex = this.focusIndex - 1;\n }\n this.focusAction();\n }\n },\n focusNextAction(event) {\n if (this.opened) {\n const indexLength = this.getFocusableMenuItemElements().length - 1;\n if (this.focusIndex === indexLength) {\n this.focusFirstAction(event);\n } else {\n this.preventIfEvent(event);\n this.focusIndex = this.focusIndex + 1;\n }\n this.focusAction();\n }\n },\n focusFirstAction(event) {\n if (this.opened) {\n this.preventIfEvent(event);\n const firstCheckedIndex = [...this.getFocusableMenuItemElements()].findIndex((button) => {\n return button.getAttribute(\"aria-checked\") === \"true\" && button.getAttribute(\"role\") === \"menuitemradio\";\n });\n this.focusIndex = firstCheckedIndex > -1 ? firstCheckedIndex : 0;\n this.focusAction();\n }\n },\n focusLastAction(event) {\n if (this.opened) {\n this.preventIfEvent(event);\n this.focusIndex = this.getFocusableMenuItemElements().length - 1;\n this.focusAction();\n }\n },\n preventIfEvent(event) {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n onFocus(event) {\n this.$emit(\"focus\", event);\n },\n onBlur(event) {\n this.$emit(\"blur\", event);\n if (this.actionsMenuSemanticType === \"tooltip\") {\n if (this.$refs.menu && this.getFocusableMenuItemElements().length === 0) {\n this.closeMenu(false);\n }\n }\n },\n onClick(event) {\n this.$emit(\"click\", event);\n }\n },\n /**\n * The render function to display the component\n *\n * @param {Function} h The function to create VNodes\n * @return {object|undefined} The created VNode\n */\n render(h) {\n const actions = (this.$slots.default || []).filter((action) => this.getActionName(action));\n if (actions.length === 0) {\n return;\n }\n let validInlineActions = actions.filter(this.isValidSingleAction);\n if (this.forceMenu && validInlineActions.length > 0 && this.inline > 0) {\n Vue.util.warn(\"Specifying forceMenu will ignore any inline actions rendering.\");\n validInlineActions = [];\n }\n const inlineActions = validInlineActions.slice(0, this.inline);\n const menuActions = actions.filter((action) => !inlineActions.includes(action));\n if (this.forceSemanticType) {\n this.actionsMenuSemanticType = this.forceSemanticType;\n } else {\n const textInputActions = [\"NcActionInput\", \"NcActionTextEditable\"];\n const menuItemsActions = [\"NcActionButton\", \"NcActionButtonGroup\", \"NcActionCheckbox\", \"NcActionRadio\"];\n const linkActions = [\"NcActionLink\", \"NcActionRouter\"];\n const hasTextInputAction = menuActions.some((action) => textInputActions.includes(this.getActionName(action)));\n const hasMenuItemAction = menuActions.some((action) => menuItemsActions.includes(this.getActionName(action)));\n const hasLinkAction = menuActions.some((action) => linkActions.includes(this.getActionName(action)));\n if (hasTextInputAction) {\n this.actionsMenuSemanticType = \"dialog\";\n } else if (hasMenuItemAction) {\n this.actionsMenuSemanticType = \"menu\";\n } else if (hasLinkAction) {\n this.actionsMenuSemanticType = \"expanded\";\n } else {\n const ncActions = actions.filter((action) => this.getActionName(action).startsWith(\"NcAction\"));\n if (ncActions.length === actions.length) {\n this.actionsMenuSemanticType = \"tooltip\";\n } else {\n this.actionsMenuSemanticType = \"unknown\";\n }\n }\n }\n const renderInlineAction = (action) => {\n const iconProp = action?.componentOptions?.propsData?.icon;\n const icon = action?.data?.scopedSlots?.icon()?.[0] ?? (this.isIconUrl(iconProp) ? h(\"img\", { class: \"action-item__menutoggle__icon\", attrs: { src: iconProp, alt: \"\" } }) : h(\"span\", { class: [\"icon\", iconProp] }));\n const attrs = action?.data?.attrs || {};\n const clickListener = action?.componentOptions?.listeners?.click;\n const text = action?.componentOptions?.children?.[0]?.text?.trim?.();\n const ariaLabel = action?.componentOptions?.propsData?.ariaLabel || text;\n const buttonText = this.forceName ? text : \"\";\n let title = action?.componentOptions?.propsData?.title;\n if (!(this.forceName || title)) {\n title = text;\n }\n const propsToForward = { ...action?.componentOptions?.propsData ?? {} };\n const nativeType = [\"submit\", \"reset\"].includes(propsToForward.type) ? propsToForward.modelValue : \"button\";\n delete propsToForward.modelValue;\n delete propsToForward.type;\n return h(\n \"NcButton\",\n {\n class: [\n \"action-item action-item--single\",\n action?.data?.staticClass,\n action?.data?.class\n ],\n attrs: {\n ...attrs,\n \"aria-label\": ariaLabel,\n title\n },\n ref: action?.data?.ref,\n props: {\n ...propsToForward,\n disabled: this.disabled || action?.componentOptions?.propsData?.disabled,\n pressed: action?.componentOptions?.propsData?.modelValue,\n size: this.size,\n type: nativeType,\n // If it has a menuName, we use a secondary button\n variant: (this.type ?? this.variant) || (buttonText ? \"secondary\" : \"tertiary\")\n },\n on: {\n focus: this.onFocus,\n blur: this.onBlur,\n // forward any pressed state from NcButton just like NcActionButton does\n \"update:pressed\": action?.componentOptions?.listeners?.[\"update:modelValue\"] ?? (() => {\n }),\n // If we have a click listener,\n // we bind it to execute on click and forward the click event\n ...!!clickListener && {\n click: (event) => {\n if (clickListener) {\n clickListener(event);\n }\n }\n }\n }\n },\n [\n h(\"template\", { slot: \"icon\" }, [icon]),\n buttonText\n ]\n );\n };\n const renderActionsPopover = (actions2) => {\n const triggerIcon = this.$slots.icon?.[0] || (this.defaultIcon ? h(\"span\", { class: [\"icon\", this.defaultIcon] }) : h(DotsHorizontalIcon, {\n props: {\n size: 20\n }\n }));\n return h(\n \"NcPopover\",\n {\n ref: \"popover\",\n props: {\n delay: 0,\n handleResize: true,\n shown: this.opened,\n placement: this.placement,\n boundary: this.boundariesElement,\n container: this.container,\n popoverBaseClass: \"action-item__popper\",\n popupRole: this.config.popupRole,\n noAutoReturnFocus: !this.withFocusTrap,\n focusTrap: this.config.withFocusTrap\n },\n // For some reason the popover component\n // does not react to props given under the 'props' key,\n // so we use both 'attrs' and 'props'\n attrs: {\n delay: 0,\n handleResize: true,\n shown: this.opened,\n placement: this.placement,\n boundary: this.boundariesElement,\n container: this.container,\n ...this.manualOpen && { triggers: [] }\n },\n on: {\n show: this.openMenu,\n \"after-show\": this.onOpened,\n hide: this.closeMenu,\n \"after-hide\": this.onClosed\n }\n },\n [\n h(\"NcButton\", {\n class: \"action-item__menutoggle\",\n props: {\n size: this.size,\n variant: this.triggerButtonVariant,\n disabled: this.disabled\n },\n slot: \"trigger\",\n ref: \"triggerButton\",\n attrs: {\n id: this.triggerRandomId,\n \"aria-label\": this.menuName ? null : this.ariaLabel,\n ...this.config.triggerA11yAttr\n },\n on: {\n focus: this.onFocus,\n blur: this.onBlur,\n click: this.onClick,\n keydown: this.onTriggerKeydown\n }\n }, [\n h(\"template\", { slot: \"icon\" }, [triggerIcon]),\n this.menuName\n ]),\n h(\"div\", {\n class: {\n open: this.opened\n },\n attrs: {\n tabindex: \"-1\",\n ...this.config.popoverContainerA11yAttrs\n },\n on: {\n keydown: this.onKeydown\n },\n ref: \"menu\"\n }, [\n h(\"ul\", {\n attrs: {\n tabindex: \"-1\",\n ...this.config.popoverUlA11yAttrs\n },\n ref: \"menuList\"\n }, [\n actions2\n ])\n ])\n ]\n );\n };\n if (actions.length === 1 && validInlineActions.length === 1 && !this.forceMenu) {\n return renderInlineAction(actions[0]);\n }\n this.$nextTick(() => {\n if (this.opened && this.$refs.menu) {\n this.resizePopover();\n const isAnyActive = this.$refs.menu.querySelector(\"li.active\") || [];\n if (isAnyActive.length === 0) {\n this.focusFirstAction();\n }\n }\n });\n if (inlineActions.length > 0 && this.inline > 0) {\n return h(\n \"div\",\n {\n class: [\n \"action-items\",\n `action-item--${this.triggerButtonVariant}`\n ]\n },\n [\n // Render inline actions\n ...inlineActions.map(renderInlineAction),\n // render the rest within the popover menu\n menuActions.length > 0 ? h(\n \"div\",\n {\n class: [\n \"action-item\",\n {\n \"action-item--open\": this.opened\n }\n ]\n },\n [\n renderActionsPopover(menuActions)\n ]\n ) : null\n ]\n );\n }\n return h(\n \"div\",\n {\n class: [\n \"action-item action-item--default-popover\",\n `action-item--${this.triggerButtonVariant}`,\n {\n \"action-item--open\": this.opened\n }\n ]\n },\n [\n renderActionsPopover(actions)\n ]\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 \"38a26e61\"\n);\nconst NcActions = __component__.exports;\nexport {\n DotsHorizontalIcon as D,\n NcActions as N\n};\n//# sourceMappingURL=NcActions-C4f9MXug.mjs.map\n"],"names":["_arrayLikeToArray","r","a","e","n","_arrayWithoutHoles","_createForOfIteratorHelper","t","_unsupportedIterableToArray","F","o","u","_defineProperty","_toPropertyKey","_iterableToArray","_nonIterableSpread","ownKeys","_objectSpread2","_toConsumableArray","_toPrimitive","i","activeFocusTraps","trapStack","trap","activeTrap","trapIndex","isSelectableInput","node","isEscapeEvent","isTabEvent","isKeyForward","isKeyBackward","delay","fn","valueOrHandler","value","_len","params","_key","getActualTarget","event","internalTrapStack","createFocusTrap","elements","userOptions","doc","config","state","getOption","configOverrideOptions","optionName","configOptionName","findContainerIndex","element","composedPath","_ref","container","tabbableNodes","getNodeForOption","_ref2","_ref2$hasFallback","hasFallback","_ref2$params","optionValue","err","getInitialFocusNode","isFocusable","firstTabbableGroup","firstTabbableNode","updateTabbableNodes","tabbable","focusableNodes","focusable","lastTabbableNode","firstDomTabbableNode","isTabbable","lastDomTabbableNode","posTabIndexesFound","getTabIndex","forward","nodeIdx","el","group","g","_getActiveElement","activeElement","_tryFocus","getReturnFocusNode","previousActiveElement","findNextNavNode","_ref3","target","_ref3$isBackward","isBackward","destinationNode","containerIndex","containerGroup","startOfGroupIndex","_ref4","destinationGroupIndex","destinationGroup","lastOfGroupIndex","_ref5","_destinationGroupIndex","_destinationGroup","checkPointerDown","checkFocusIn","targetContained","nextNode","navAcrossContainers","mruContainerIdx","mruTabIdx","checkKeyNav","checkTabKey","checkEscapeKey","checkClick","addListeners","collectAdjacentElements","containers","containerAncestors","adjacentElements","_iterator","_step","insideShadowRoot","current","parent","siblings","_iterator2","_step2","child","removeListeners","checkDomRemoval","mutations","isFocusedNodeRemoved","mutation","removedNodes","mutationObserver","updateObservedNodes","activateOptions","onActivate","onPostActivate","checkCanFocusTrap","preexistingTrap","revertState","_preexistingTrap$_set","finishActivation","error","_preexistingTrap$_set2","deactivateOptions","options","onDeactivate","onPostDeactivate","checkCanReturnFocus","returnFocus","finishDeactivation","pauseOptions","unpauseOptions","containerElements","elementsAsArray","paused","onPause","onPostPause","onUnpause","onPostUnpause","isEnabled","_el$getAttribute","getTrapStack","createTrapStackController","pausedStack","mdiAlertCircleOutline","mdiArrowLeft","mdiArrowRight","mdiArrowTopRight","mdiCheck","mdiChevronLeft","mdiChevronRight","mdiClose","mdiCloseCircleOutline","mdiContentCopy","mdiDotsHorizontal","mdiOpenInNew","mdiUndo","ActionGlobalMixin","GetParent","context","name","ActionTextMixin","_sfc_main","NcIconSvgWrapper","behavior","attributes","_sfc_render","_vm","_c","_sfc_staticRenderFns","__component__","normalizeComponent","NcActionButton","useTrapStackControl","shouldPause","trapStackController","watch","toValue","onUnmounted","getBasePlacement","placement","getAlignment","getMainAxisFromPlacement","getLengthFromAxis","axis","computeCoordsFromPlacement","reference","floating","commonX","commonY","coords","mainAxis","length","computePosition","strategy","middleware","platform","rects","x","y","statefulPlacement","middlewareData","nextX","nextY","data","reset","expandPaddingObject","padding","getSideObjectFromPadding","rectToClientRect","rect","detectOverflow","middlewareArguments","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","elementClientRect","min","max","within","min$1","max$1","arrow","basePlacement","arrowDimensions","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","offset","hash$1","getOppositePlacement","matched","getAlignmentSides","isStart","mainAlignmentSide","hash","getOppositeAlignmentPlacement","basePlacements","allPlacements","acc","getPlacementList","alignment","autoAlignment","allowedPlacements","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_middlewareData$autoP3","_middlewareData$autoP4","_middlewareData$autoP5","_placementsSortedByLe","detectOverflowOptions","placements","overflow","currentIndex","currentPlacement","main","cross","currentOverflows","allOverflows","nextPlacement","placementsSortedByLeastOverflow","b","placementThatFitsOnAllSides","overflows","getExpandedPlacements","oppositePlacement","flip","_middlewareData$flip","_middlewareData$flip2","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","flipAlignment","fallbackPlacements","overflowsData","side","_middlewareData$flip$","_middlewareData$flip3","nextIndex","resetPlacement","_overflowsData$slice$","convertValueToCoords","multiplier","rawValue","crossAxis","diffCoords","getCrossAxis","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","size","_middlewareData$size","apply","isEnd","heightSide","widthSide","xMin","xMax","yMin","yMax","dimensions","isWindow","getWindow","ownerDocument","getComputedStyle$1","getNodeName","isHTMLElement","isElement","isNode","isShadowRoot","OwnElement","isScrollParent","overflowX","overflowY","isTableElement","isContainingBlock","isFirefox","css","round","getBoundingClientRect","includeScale","clientRect","scaleX","scaleY","getDocumentElement","getNodeScroll","getWindowScrollBarX","isScaled","getRectRelativeToOffsetParent","offsetParent","isOffsetParentAnElement","documentElement","scroll","offsets","offsetRect","getParentNode","getTrueOffsetParent","getContainingBlock","currentNode","getOffsetParent","window","getDimensions","convertOffsetParentRelativeRectToViewportRelativeRect","getViewportRect","win","html","visualViewport","width","height","getDocumentRect","_element$ownerDocumen","body","getScrollParent","getScrollParents","list","_node$ownerDocument","scrollParent","isBody","updatedList","contains","rootNode","next","getInnerBoundingClientRect","top","left","getClientRectFromClippingParent","clippingParent","getClippingParents","clippingParents","clipperElement","getClippingClientRect","firstClippingParent","clippingRect","accRect","args","computePosition$1","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","__spreadValues","prop","__spreadProps","__objRest","source","exclude","assign","to","from","events","getDefaultConfig","theme","themeConfig","getThemeClasses","result","c","getAllParentThemes","supportsPassive","opts","isIOS","base","SHOW_EVENT_MAP","HIDE_EVENT_MAP","removeFromArray","array","item","index","nextFrame","resolve","shownPoppers","hidingPopper","shownPoppersByTheme","getShownPoppersByTheme","Element","defaultPropFactory","props","PROVIDE_KEY","PrivatePopper","_a","_b","skipDelay","force","skipAiming","options2","isPlacementAuto","centerOffset","autoSize","_a2","type","skipTransition","bounds","popperWrapper","parentBounds","showGroup","popover","disposeTime","handleShow","handleHide","targetNodes","eventType","handler","eventMap","commonTriggers","customTrigger","triggers","trigger","filterEventType","newList","listener","touch","attrFrom","attrTo","attrs","referenceBounds","mouseX","mouseY","popperBounds","vectorX","mousePreviousX","vectorY","mousePreviousY","newVectorLength","edgeX","edgeY","lineIntersectsLine","handleGlobalMousedown","handleGlobalTouchend","handleGlobalClick","computePositionAllShownPoppers","popper","popperContent","handleGlobalClose","preventClose","isContainingEventTarget","shouldAutoHide","parent2","getAutoHideResult","x1","y1","x2","y2","x3","y3","x4","y4","uA","uB","getInternetExplorerVersion","ua","msie","trident","rv","edge","isIE","initCompat","script","_this","object","normalizeComponent$1","template","style","script2","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","__vue_script__","__vue_render__","_h","__vue_staticRenderFns__","__vue_inject_styles__","__vue_scope_id__","__vue_component__","install$1","Vue2","plugin$1","GlobalVue$1","global","PrivateThemeClass","__vue2_script$5","render$2","$event","staticRenderFns$2","scriptExports","render2","staticRenderFns2","functionalTemplate","injectStyles","hook","originalRender","h","existing","__cssModules$5","__component__$5","__vue2_injectStyles$5","PrivatePopperContent","PrivatePopperMethods","__vue2_script$4","render$1","ref","popperId","isShown","shouldMountContent","autoHide","show","hide","handleResize","onResize","classes","staticRenderFns$1","__cssModules$4","__component__$4","__vue2_injectStyles$4","PrivatePopperWrapper","__vue2_script$3","__vue2_render$2","__vue2_staticRenderFns$2","__cssModules$3","__component__$3","__vue2_injectStyles$3","PrivateDropdown","__vue2_script$2","__vue2_render$1","__vue2_staticRenderFns$1","__cssModules$2","__component__$2","__vue2_injectStyles$2","PrivateMenu","__vue2_script$1","__vue2_render","__vue2_staticRenderFns","__cssModules$1","__component__$1","__vue2_injectStyles$1","PrivateTooltip","__vue2_script","fetchId","res","render","staticRenderFns","__cssModules","__vue2_injectStyles","PrivateTooltipDirective","TARGET_CLASS","getPlacement","modifiers","pos","getOptions","createTooltip","tooltipApp","Vue","content","loadingContent","otherOptions","mountTarget","destroyTooltip","bind","oldValue","PrivateVTooltip","onClick","onTouchStart","onTouchEnd","onTouchCancel","firstTouch","PrivateVClosePopper","Dropdown","install","app","plugin","GlobalVue","_sfc_main$1","defineComponent","_sfc_render$1","_sfc_staticRenderFns$1","NcPopoverTriggerProvider","ncPopover","style0","THEME","triggerButton","triggerElements","triggerContainer","logger","slotProps","_sfc_injectStyles","ctx","NcPopover","DotsHorizontalIcon","register","t4","focusableSelector","NcButton","computed","randomId","GenRandomId","triggerRandomId","action","url","inner","maxMenuHeight","currentHeight","actionHeight","bottom","boundaryTop","boundaryBottom","focusList","focusIndex","newFocusIndex","currentActiveElement","focusElement","liMenuParent","indexLength","firstCheckedIndex","button","actions","validInlineActions","inlineActions","menuActions","textInputActions","menuItemsActions","linkActions","hasTextInputAction","hasMenuItemAction","hasLinkAction","renderInlineAction","iconProp","icon","clickListener","text","ariaLabel","buttonText","title","propsToForward","nativeType","renderActionsPopover","actions2","triggerIcon","NcActions"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11]}
\ No newline at end of file
diff --git a/js/NcAvatar-BbHwxwyd-B4FduCgL.chunk.mjs b/js/NcAvatar-BbHwxwyd-CJZWCZ0O.chunk.mjs
similarity index 98%
rename from js/NcAvatar-BbHwxwyd-B4FduCgL.chunk.mjs
rename to js/NcAvatar-BbHwxwyd-CJZWCZ0O.chunk.mjs
index 4500bc05f8..a0f31575a0 100644
--- a/js/NcAvatar-BbHwxwyd-B4FduCgL.chunk.mjs
+++ b/js/NcAvatar-BbHwxwyd-CJZWCZ0O.chunk.mjs
@@ -1,5 +1,5 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('photos', '', 'js/NcProfileHoverCard-nmkKoCB1-CFFOOBIB.chunk.mjs'),window.OC.filePath('photos', '', 'js/preload-helper-B1hyiFAx.chunk.mjs'),window.OC.filePath('photos', '', 'js/index-msNec4Xs.chunk.mjs'),window.OC.filePath('photos', '', 'js/index-CsCSS_KR.chunk.mjs'),window.OC.filePath('photos', '', 'css/index-Bs7Xka8z.chunk.css'),window.OC.filePath('photos', '', 'js/NcActions-C4f9MXug-FA3YIyzG.chunk.mjs'),window.OC.filePath('photos', '', 'js/video-DVVFoi8e.chunk.mjs'),window.OC.filePath('photos', '', 'css/video--CcaUIJL.chunk.css'),window.OC.filePath('photos', '', 'js/GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs'),window.OC.filePath('photos', '', 'css/NcActions-C4f9MXug-D7Nqw7jM.chunk.css'),window.OC.filePath('photos', '', 'js/NcLoadingIcon-DM-94wwW.chunk.mjs'),window.OC.filePath('photos', '', 'css/NcLoadingIcon-CAC0K4sG.chunk.css'),window.OC.filePath('photos', '', 'js/NcCheckboxRadioSwitch-flYu6ojL-w4Tr59WY.chunk.mjs'),window.OC.filePath('photos', '', 'js/NcIconToggleSwitch-CaDISrhm-8yJ7ws72.chunk.mjs'),window.OC.filePath('photos', '', 'css/NcIconToggleSwitch-CaDISrhm-BboTI85T.chunk.css'),window.OC.filePath('photos', '', 'js/useModelMigration-EhAWvqDD-ClbwSWZP.chunk.mjs'),window.OC.filePath('photos', '', 'css/NcCheckboxRadioSwitch-flYu6ojL-Cap_0gJf.chunk.css'),window.OC.filePath('photos', '', 'css/NcProfileHoverCard-nmkKoCB1-BbdxOmx3.chunk.css')])))=>i.map(i=>d[i]);
-import{h as E,i as kt,c as tt,y as Ft,m as L,q as Tt,a7 as st,ac as Gt,d as Wt,n as It,B as Ut,ab as Xt,a8 as Zt,p as R,s as z,v as j,_ as Rt}from"./preload-helper-B1hyiFAx.chunk.mjs";import{n as k,A as U,r as B,ba as Vt,e as y,bb as Yt,bc as Kt,H as et,B as A,bd as Jt,k as Qt,N as te,be as ee}from"./index-msNec4Xs.chunk.mjs";import{n as ne,t as C,p as se,q as ae,w as at,x as N,y as V,z as re,B as oe,C as Lt,f as ie}from"./video-DVVFoi8e.chunk.mjs";import{A as nt,a as ue,b as ce,D as le,N as he}from"./NcActions-C4f9MXug-FA3YIyzG.chunk.mjs";import{c as Dt}from"./index-CsCSS_KR.chunk.mjs";import{N as de}from"./NcLoadingIcon-DM-94wwW.chunk.mjs";const Nt=E(Pt());window.addEventListener("resize",()=>{Nt.value=Pt()});function Pt(){return window.outerHeight===window.screen.height}kt(Nt);var Y={exports:{}},pe=Y.exports,rt;function fe(){return rt||(rt=1,(function(t){(function(e){if(typeof n!="function"){var n=function(d){return d};n.nonNative=!0}const s=n("plaintext"),c=n("html"),h=n("comment"),g=/<(\w*)>/g,r=/<\/?([^\s\/>]+)/;function f(d,p,v){d=d||"",p=p||[],v=v||"";let m=o(p,v);return u(d,m)}function a(d,p){d=d||[],p=p||"";let v=o(d,p);return function(m){return u(m||"",v)}}f.init_streaming_mode=a;function o(d,p){return d=i(d),{allowable_tags:d,tag_replacement:p,state:s,tag_buffer:"",depth:0,in_quote_char:""}}function u(d,p){if(typeof d!="string")throw new TypeError("'html' parameter must be a string");let v=p.allowable_tags,m=p.tag_replacement,w=p.state,_=p.tag_buffer,M=p.depth,b=p.in_quote_char,T="";for(let $=0,Ht=d.length;$":if(b)break;if(M){M--;break}b="",w=s,_+=">",v.has(l(_))?T+=_:T+=m,_="";break;case'"':case"'":x===b?b="":b=b||x,_+=x;break;case"-":_==="i.map(i=>d[i]);
+import{h as E,i as kt,c as tt,y as Ft,m as L,q as Tt,a7 as st,ac as Gt,d as Wt,n as It,B as Ut,ab as Xt,a8 as Zt,p as R,s as z,v as j,_ as Rt}from"./preload-helper-B1hyiFAx.chunk.mjs";import{n as k,A as U,r as B,ba as Vt,e as y,bb as Yt,bc as Kt,H as et,B as A,bd as Jt,k as Qt,N as te,be as ee}from"./index-msNec4Xs.chunk.mjs";import{n as ne,t as C,p as se,q as ae,w as at,x as N,y as V,z as re,B as oe,C as Lt,f as ie}from"./video-B2A2Ed33.chunk.mjs";import{A as nt,a as ue,b as ce,D as le,N as he}from"./NcActions-C4f9MXug-BC_2VOkH.chunk.mjs";import{c as Dt}from"./index-CsCSS_KR.chunk.mjs";import{N as de}from"./NcLoadingIcon-DM-94wwW.chunk.mjs";const Nt=E(Pt());window.addEventListener("resize",()=>{Nt.value=Pt()});function Pt(){return window.outerHeight===window.screen.height}kt(Nt);var Y={exports:{}},pe=Y.exports,rt;function fe(){return rt||(rt=1,(function(t){(function(e){if(typeof n!="function"){var n=function(d){return d};n.nonNative=!0}const s=n("plaintext"),c=n("html"),h=n("comment"),g=/<(\w*)>/g,r=/<\/?([^\s\/>]+)/;function f(d,p,v){d=d||"",p=p||[],v=v||"";let m=o(p,v);return u(d,m)}function a(d,p){d=d||[],p=p||"";let v=o(d,p);return function(m){return u(m||"",v)}}f.init_streaming_mode=a;function o(d,p){return d=i(d),{allowable_tags:d,tag_replacement:p,state:s,tag_buffer:"",depth:0,in_quote_char:""}}function u(d,p){if(typeof d!="string")throw new TypeError("'html' parameter must be a string");let v=p.allowable_tags,m=p.tag_replacement,w=p.state,_=p.tag_buffer,M=p.depth,b=p.in_quote_char,T="";for(let $=0,Ht=d.length;$":if(b)break;if(M){M--;break}b="",w=s,_+=">",v.has(l(_))?T+=_:T+=m,_="";break;case'"':case"'":x===b?b="":b=b||x,_+=x;break;case"-":_===""?(_.slice(-2)=="--"&&(w=s),_=""):_+=x)}return p.state=w,p.tag_buffer=_,p.depth=M,p.in_quote_char=b,T}function i(d){let p=new Set;if(typeof d=="string"){let v;for(;v=g.exec(d);)p.add(v[1])}else!n.nonNative&&typeof d[n.iterator]=="function"?p=new Set(d):typeof d.forEach=="function"&&d.forEach(p.add,p);return p}function l(d){let p=r.exec(d);return p?p[1].toLowerCase():null}t.exports?t.exports=f:e.striptags=f})(pe)})(Y)),Y.exports}fe();function q(t=document.body){const e=window.getComputedStyle(t).getPropertyValue("--background-invert-if-dark");return e!==void 0?e==="invert(100%)":!1}q();const ge=Symbol.for("nc:theme:enforced");function ve(t){const e=tt(()=>C(t)??document.body),n=E(q(e.value)),s=se();function c(){n.value=q(e.value)}return ae(e,c,{attributes:!0}),L(e,c),L(s,c,{immediate:!0}),kt(n)}const me=ne(()=>ve());function ye(){const t=me(),e=Ft(ge,void 0);return tt(()=>e?.value?e.value==="dark":t.value)}const Bt=re?window:void 0;function I(t){var e;const n=C(t);return(e=n?.$el)!=null?e:n}function P(...t){let e,n,s,c;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,s,c]=t,e=Bt):[e,n,s,c]=t,!e)return N;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const h=[],g=()=>{h.forEach(o=>o()),h.length=0},r=(o,u,i,l)=>(o.addEventListener(u,i,l),()=>o.removeEventListener(u,i,l)),f=L(()=>[I(e),C(c)],([o,u])=>{if(g(),!o)return;const i=oe(u)?{...u}:u;h.push(...n.flatMap(l=>s.map(d=>r(o,l,d,i))))},{immediate:!0,flush:"post"}),a=()=>{f(),g()};return Lt(a),a}let ot=!1;function it(t,e,n={}){const{window:s=Bt,ignore:c=[],capture:h=!0,detectIframe:g=!1}=n;if(!s)return N;V&&!ot&&(ot=!0,Array.from(s.document.body.children).forEach(d=>d.addEventListener("click",N)),s.document.documentElement.addEventListener("click",N));let r=!0;const f=d=>C(c).some(p=>{if(typeof p=="string")return Array.from(s.document.querySelectorAll(p)).some(v=>v===d.target||d.composedPath().includes(v));{const v=I(p);return v&&(d.target===v||d.composedPath().includes(v))}});function a(d){const p=C(d);return p&&p.$.subTree.shapeFlag===16}function o(d,p){const v=C(d),m=v.$.subTree&&v.$.subTree.children;return m==null||!Array.isArray(m)?!1:m.some(w=>w.el===p.target||p.composedPath().includes(w.el))}const u=d=>{const p=I(t);if(d.target!=null&&!(!(p instanceof Element)&&a(t)&&o(t,d))&&!(!p||p===d.target||d.composedPath().includes(p))){if(d.detail===0&&(r=!f(d)),!r){r=!0;return}e(d)}};let i=!1;const l=[P(s,"click",d=>{i||(i=!0,setTimeout(()=>{i=!1},0),u(d))},{passive:!0,capture:h}),P(s,"pointerdown",d=>{const p=I(t);r=!f(d)&&!!(p&&!d.composedPath().includes(p))},{passive:!0}),g&&P(s,"blur",d=>{setTimeout(()=>{var p;const v=I(t);((p=s.document.activeElement)==null?void 0:p.tagName)==="IFRAME"&&!v?.contains(s.document.activeElement)&&e(d)},0)})].filter(Boolean);return()=>l.forEach(d=>d())}const _e={[at.mounted](t,e){const n=!e.modifiers.bubble;if(typeof e.value=="function")t.__onClickOutside_stop=it(t,e.value,{capture:n});else{const[s,c]=e.value;t.__onClickOutside_stop=it(t,s,Object.assign({capture:n},c))}},[at.unmounted](t){t.__onClickOutside_stop()}};function H(t){return typeof Window<"u"&&t instanceof Window?t.document.documentElement:typeof Document<"u"&&t instanceof Document?t.documentElement:t}function qt(t){const e=window.getComputedStyle(t);if(e.overflowX==="scroll"||e.overflowY==="scroll"||e.overflowX==="auto"&&t.clientWidth1?!0:(e.preventDefault&&e.preventDefault(),!1)}const F=new WeakMap;function Se(t,e=!1){const n=E(e);let s=null,c="";L(ie(t),r=>{const f=H(C(r));if(f){const a=f;if(F.get(a)||F.set(a,a.style.overflow),a.style.overflow!=="hidden"&&(c=a.style.overflow),a.style.overflow==="hidden")return n.value=!0;if(n.value)return a.style.overflow="hidden"}},{immediate:!0});const h=()=>{const r=H(C(t));!r||n.value||(V&&(s=P(r,"touchmove",f=>{we(f)},{passive:!1})),r.style.overflow="hidden",n.value=!0)},g=()=>{const r=H(C(t));!r||!n.value||(V&&s?.(),r.style.overflow=c,F.delete(r),n.value=!1)};return Lt(g),tt({get(){return n.value},set(r){r?h():g()}})}function xe(){let t=!1;const e=E(!1);return(n,s)=>{if(e.value=s.value,t)return;t=!0;const c=Se(n,s.value);L(e,h=>c.value=h)}}xe();var D={exports:{}},ut;function be(){if(ut)return D.exports;ut=1;function t(e,n=100,s={}){if(typeof e!="function")throw new TypeError(`Expected the first parameter to be a function, got \`${typeof e}\`.`);if(n<0)throw new RangeError("`wait` must not be negative.");const{immediate:c}=typeof s=="boolean"?{immediate:s}:s;let h,g,r,f,a;function o(){const l=h,d=g;return h=void 0,g=void 0,a=e.apply(l,d),a}function u(){const l=Date.now()-f;l=0?r=setTimeout(u,n-l):(r=void 0,c||(a=o()))}const i=function(...l){if(h&&this!==h&&Object.getPrototypeOf(this)===Object.getPrototypeOf(h))throw new Error("Debounced method called with different contexts of the same prototype.");h=this,g=l,f=Date.now();const d=c&&!r;return r||(r=setTimeout(u,n)),d&&(a=o()),a};return Object.defineProperty(i,"isPending",{get(){return r!==void 0}}),i.clear=()=>{r&&(clearTimeout(r),r=void 0)},i.flush=()=>{r&&i.trigger()},i.trigger=()=>{a=o(),i.clear()},i}return D.exports.debounce=t,D.exports=t,D.exports}var Ce=be();const Me=Tt(Ce);function G(t,e,n){const s={type:String(t)};return n==null&&(typeof e=="string"||Array.isArray(e))?n=e:Object.assign(s,e),Array.isArray(n)?s.children=n:n!=null&&(s.value=String(n)),s}const Et=(function(t){if(t==null)return Ie;if(typeof t=="function")return O(t);if(typeof t=="object")return Array.isArray(t)?Ae(t):ke(t);if(typeof t=="string")return Te(t);throw new Error("Expected function, string, or object as test")});function Ae(t){const e=[];let n=-1;for(;++n":""))+")"})}return i;function i(){let l=Ot,d,p,v;if((!e||h(f,a,o[o.length-1]||void 0))&&(l=Ne(n(f,o)),l[0]===ct))return l;if("children"in f&&f.children){const m=f;if(m.children&&l[0]!==$t)for(p=(s?m.children.length:-1)+g,v=o.concat(m);p>-1&&pc.type==="text",(c,h)=>{if(h.some(a=>a.type==="link"||a.type==="linkReference"))return;const g=h.at(-1),r=g.children.indexOf(c)??0;let f=Fe(c.value);return f=f.map(a=>typeof a=="string"?G("text",a):G("link",{url:a.props.href},[G("text",a.props.href)])).filter(a=>a),g.children.splice(r,1,...f.flat()),[$t,r+f.flat().length]})}}function Fe(t){let e=ht.exec(t);const n=[];let s=0;for(;e!==null;){let h=e[2],g,r=t.substring(s,e.index+e[1].length);h[0]===" "&&(r+=h[0],h=h.substring(1).trim());const f=h[h.length-1];(f==="."||f===","||f===";"||e[0][0]==="("&&f===")")&&(h=h.substring(0,h.length-1),g=f),n.push(r),n.push({component:He,props:{href:h.trim(),decorateExternal:!0}}),g&&n.push(g),s=e.index+e[0].length,e=ht.exec(t)}n.push(t.substring(s));const c=n.map(h=>typeof h=="string"?h:h.props.href).join("");return t===c?n:(U.error("Failed to reassemble the chunked text: "+t),t)}function dt(t,e){const n=(o,u)=>o.startsWith(u)?o.slice(u.length):o,s=(o,...u)=>u.reduce((i,l)=>n(i,l),o);if(!t)return null;const c=/^https?:\/\//.test(e),h=/^[a-z][a-z0-9+.-]*:.+/.test(e);if(!c&&h||c&&!e.startsWith(st())||!c&&!e.startsWith("/"))return null;const g=c?s(e,st(),"/index.php"):e,r=s(t.history.base,Gt(),"/index.php"),f=s(g,r)||"/",a=t.resolve(f).route;return a.matched.length?a.fullPath:null}function pt(t){return window._nc_contacts_menu_hooks?Object.values(window._nc_contacts_menu_hooks).filter(e=>e.enabled(t)):[]}var ft={exports:{}},gt={exports:{}},vt;function Ge(){return vt||(vt=1,(function(){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e={rotl:function(n,s){return n<>>32-s},rotr:function(n,s){return n<<32-s|n>>>s},endian:function(n){if(n.constructor==Number)return e.rotl(n,8)&16711935|e.rotl(n,24)&4278255360;for(var s=0;s0;n--)s.push(Math.floor(Math.random()*256));return s},bytesToWords:function(n){for(var s=[],c=0,h=0;c>>5]|=n[c]<<24-h%32;return s},wordsToBytes:function(n){for(var s=[],c=0;c>>5]>>>24-c%32&255);return s},bytesToHex:function(n){for(var s=[],c=0;c>>4).toString(16)),s.push((n[c]&15).toString(16));return s.join("")},hexToBytes:function(n){for(var s=[],c=0;c>>6*(3-g)&63)):s.push("=");return s.join("")},base64ToBytes:function(n){n=n.replace(/[^A-Z0-9+\/]/ig,"");for(var s=[],c=0,h=0;c>>6-h*2);return s}};gt.exports=e})()),gt.exports}var W,mt;function yt(){if(mt)return W;mt=1;var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var n=[],s=0;s>>24)&16711935|(r[l]<<24|r[l]>>>8)&4278255360;r[f>>>5]|=128<>>9<<4)+14]=f;for(var d=c._ff,p=c._gg,v=c._hh,m=c._ii,l=0;l>>0,o=o+_>>>0,u=u+M>>>0,i=i+b>>>0}return t.endian([a,o,u,i])};c._ff=function(h,g,r,f,a,o,u){var i=h+(g&r|~g&f)+(a>>>0)+u;return(i<>>32-o)+g},c._gg=function(h,g,r,f,a,o,u){var i=h+(g&f|r&~f)+(a>>>0)+u;return(i<>>32-o)+g},c._hh=function(h,g,r,f,a,o,u){var i=h+(g^r^f)+(a>>>0)+u;return(i<>>32-o)+g},c._ii=function(h,g,r,f,a,o,u){var i=h+(r^(g|~f))+(a>>>0)+u;return(i<>>32-o)+g},c._blocksize=16,c._digestsize=16,ft.exports=function(h,g){if(h==null)throw new Error("Illegal argument "+h);var r=t.wordsToBytes(c(h,g));return g&&g.asBytes?r:g&&g.asString?s.bytesToString(r):t.bytesToHex(r)}})()),ft.exports}var Ze=Xe();const Re=Tt(Ze);B(Vt);class S{constructor(e,n,s,c){this.r=e,this.g=n,this.b=s,this.name=c,this.r=Math.min(e,255),this.g=Math.min(n,255),this.b=Math.min(s,255),this.name=c}r;g;b;name;get color(){const e=n=>`00${n.toString(16)}`.slice(-2);return`#${e(this.r)}${e(this.g)}${e(this.b)}`}}function Ve(t,e,n){return{r:(n.r-e.r)/t,g:(n.g-e.g)/t,b:(n.b-e.b)/t}}function Z(t,e,n){const s=[];s.push(e);const c=Ve(t,e,n);for(let h=1;h
-`;B(Yt),B(Kt);function zt(t){switch(t){case"away":return y("away");case"busy":return y("busy");case"dnd":return y("do not disturb");case"online":return y("online");case"invisible":return y("invisible");case"offline":return y("offline");default:return t}}const an={online:A?nn:sn,away:A?xt:Je,busy:A?xt:Qe,dnd:A?tn:en,invisible:A?bt:Ct,offline:A?bt:Ct},rn={name:"NcUserStatusIcon",props:{user:{type:String,default:null},status:{type:String,default:null,validator:t=>["online","away","busy","dnd","invisible","offline"].includes(t)},ariaHidden:{type:String,default:null,validator:t=>["true","false"].includes(t)}},data(){return{fetchedUserStatus:null}},computed:{activeStatus(){return this.status??this.fetchedUserStatus},activeSvg(){return an[this.activeStatus]??null},ariaLabel(){return this.ariaHidden==="true"?null:y("User status: {status}",{status:zt(this.activeStatus)})}},watch:{user:{immediate:!0,async handler(t){if(!t||!Dt()?.user_status?.enabled){this.fetchedUserStatus=null;return}try{const{data:e}=await et.get(Ut("/apps/user_status/api/v1/statuses/{user}",{user:t}));this.fetchedUserStatus=e.ocs?.data?.status}catch{this.fetchedUserStatus=null}}}}};var on=function(){var t=this,e=t._self._c;return t.activeStatus?e("span",{staticClass:"user-status-icon",class:{"user-status-icon--invisible":["invisible","offline"].includes(t.status)},attrs:{role:"img","aria-hidden":t.ariaHidden,"aria-label":t.ariaLabel},domProps:{innerHTML:t._s(t.activeSvg)}}):t._e()},un=[],cn=k(rn,on,un,!1,null,"86b73d39");const ln=cn.exports,hn={name:"NcActionLink",mixins:[nt],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}},props:{href:{type:String,required:!0,validator:t=>{try{return new URL(t)}catch{return t.startsWith("#")||t.startsWith("/")}}},download:{type:String,default:null},target:{type:String,default:"_self",validator:t=>t&&(!t.startsWith("_")||["_blank","_self","_parent","_top"].indexOf(t)>-1)},title:{type:String,default:null},ariaHidden:{type:Boolean,default:null}}};var dn=function(){var t=this,e=t._self._c;return e("li",{staticClass:"action",attrs:{role:t.isInSemanticMenu&&"presentation"}},[e("a",{staticClass:"action-link focusable",attrs:{download:t.download,href:t.href,"aria-label":t.ariaLabel,target:t.target,title:t.title,rel:"nofollow noreferrer noopener",role:t.isInSemanticMenu&&"menuitem"},on:{click:t.onClick}},[t._t("icon",function(){return[e("span",{staticClass:"action-link__icon",class:[t.isIconUrl?"action-link__icon--url":t.icon],style:{backgroundImage:t.isIconUrl?`url(${t.icon})`:null},attrs:{"aria-hidden":"true"}})]}),t.name?e("span",{staticClass:"action-link__longtext-wrapper"},[e("strong",{staticClass:"action-link__name"},[t._v(" "+t._s(t.name)+" ")]),e("br"),e("span",{staticClass:"action-link__longtext",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e("span",{staticClass:"action-link__longtext",domProps:{textContent:t._s(t.text)}}):e("span",{staticClass:"action-link__text"},[t._v(t._s(t.text))]),t._e()],2)])},pn=[],fn=k(hn,dn,pn,!1,null,"b7a160c7");const gn=fn.exports,vn={name:"NcActionRouter",mixins:[nt],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}},props:{to:{type:[String,Object],required:!0},exact:{type:Boolean,default:!1}}};var mn=function(){var t=this,e=t._self._c;return e("li",{staticClass:"action",attrs:{role:t.isInSemanticMenu&&"presentation"}},[e("RouterLink",{staticClass:"action-router focusable",attrs:{to:t.to,"aria-label":t.ariaLabel,exact:t.exact,title:t.title,rel:"nofollow noreferrer noopener",role:t.isInSemanticMenu&&"menuitem"},nativeOn:{click:function(n){return t.onClick.apply(null,arguments)}}},[t._t("icon",function(){return[e("span",{staticClass:"action-router__icon",class:[t.isIconUrl?"action-router__icon--url":t.icon],style:{backgroundImage:t.isIconUrl?`url(${t.icon})`:null},attrs:{"aria-hidden":"true"}})]}),t.name?e("span",{staticClass:"action-router__longtext-wrapper"},[e("strong",{staticClass:"action-router__name"},[t._v(" "+t._s(t.name)+" ")]),e("br"),e("span",{staticClass:"action-router__longtext",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e("span",{staticClass:"action-router__longtext",domProps:{textContent:t._s(t.text)}}):e("span",{staticClass:"action-router__text"},[t._v(t._s(t.text))]),t._e()],2)],1)},yn=[],_n=k(vn,mn,yn,!1,null,"4dae1ff7");const wn=_n.exports,Sn={name:"NcActionText",mixins:[nt],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}}};var xn=function(){var t=this,e=t._self._c;return e("li",{staticClass:"action",attrs:{role:t.isInSemanticMenu&&"presentation"}},[e("span",{staticClass:"action-text",on:{click:t.onClick}},[t._t("icon",function(){return[t.icon!==""?e("span",{staticClass:"action-text__icon",class:[t.isIconUrl?"action-text__icon--url":t.icon],style:{backgroundImage:t.isIconUrl?`url(${t.icon})`:null},attrs:{"aria-hidden":"true"}}):t._e()]}),t.name?e("span",{staticClass:"action-text__longtext-wrapper"},[e("strong",{staticClass:"action-text__name"},[t._v(" "+t._s(t.name)+" ")]),e("span",{staticClass:"action-text__longtext",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e("span",{staticClass:"action-text__longtext",domProps:{textContent:t._s(t.text)}}):e("span",{staticClass:"action-text__text"},[t._v(t._s(t.text))]),t._e()],2)])},bn=[],Cn=k(Sn,xn,bn,!1,null,"2fe7eb92");const Mn=Cn.exports;B(Jt);const An={data(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{async fetchUserStatus(t){if(!t)return;const e=Dt();if(!(!Object.hasOwn(e,"user_status")||!e.user_status.enabled)&&R())try{const{data:n}=await et.get(Ut("apps/user_status/api/v1/statuses/{userId}",{userId:t}));this.setUserStatus(n.ocs.data)}catch(n){if(n.response.status===404&&n.response.data.ocs?.data?.length===0)return;U.error("Could not fetch user status",{error:n})}},setUserStatus({status:t,message:e,icon:n}){this.userStatus.status=t||"",this.userStatus.message=e||"",this.userStatus.icon=n||"",this.hasStatus=!!t}}},jt=Xt("nextcloud").persist().build(),kn=1.5;function Mt(t){return Number(t.toFixed(3))}function Tn(t){const e=jt.getItem("user-has-avatar."+t);return typeof e=="string"?!!e:null}function At(t,e){t&&jt.setItem("user-has-avatar."+t,e)}const In={name:"NcAvatar",directives:{ClickOutside:_e},components:{IconDotsHorizontal:le,NcActions:ce,NcButton:te,NcIconSvgWrapper:Qt,NcLoadingIcon:de,NcPopover:ue,NcProfileHoverCard:Zt(()=>Rt(()=>import("./NcProfileHoverCard-nmkKoCB1-CFFOOBIB.chunk.mjs").then(t=>t.N),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),import.meta.url)),NcUserStatusIcon:ln},mixins:[An],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},hideStatus:{type:Boolean,default:!1},showUserStatus:{type:Boolean,default:!0},verboseStatus:{type:Boolean,default:!1},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},noPlaceholder:{type:Boolean,default:!1},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuContainer:{type:[Boolean,String,Object,Element],default:"body"}},setup(){return{isDarkTheme:ye(),isLegacy35:ee}},data(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuData:{},contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel(){if(this.hasMenu)return this.canDisplayUserStatus||this.showUserStatusIconOnAvatar?y("Avatar of {displayName}, {status}",{displayName:this.displayName??this.user,status:zt(this.userStatus.status)}):y("Avatar of {displayName}",{displayName:this.displayName??this.user})},canDisplayUserStatus(){return!this.hideStatus&&this.showUserStatus&&this.hasStatus&&["online","away","busy","dnd"].includes(this.userStatus.status)},showUserStatusIconOnAvatar(){return!this.hideStatus&&this.showUserStatus&&!this.verboseStatus&&this.showUserStatusCompact&&this.hasStatus&&this.userStatus.status!=="dnd"&&this.userStatus.icon},userIdentifier(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:""},isUserDefined(){return typeof this.user<"u"},isDisplayNameDefined(){return typeof this.displayName<"u"},isUrlDefined(){return typeof this.url<"u"},hasMenu(){return this.disableMenu?!1:this.isLegacy35?this.isMenuLoaded?this.menu.length>0:!(this.user===R()?.uid||this.userDoesNotExist||this.url):!!this.user&&!this.isNoUser&&!this.url&&!this.userDoesNotExist},showInitials(){return!this.noPlaceholder&&this.allowPlaceholder&&this.userDoesNotExist&&!(this.iconClass||this.$scopedSlots.icon)},avatarStyle(){return{"--avatar-size":this.size+"px",lineHeight:this.showInitials?this.size+"px":0,fontSize:Math.round(this.size*.45)+"px"}},initialsWrapperStyle(){const{r:t,g:e,b:n}=St(this.userIdentifier);return{backgroundColor:`rgba(${t}, ${e}, ${n}, 0.1)`}},initialsStyle(){const{r:t,g:e,b:n}=St(this.userIdentifier);return{color:`rgb(${t}, ${e}, ${n})`}},tooltip(){return this.disableTooltip?!1:this.tooltipMessage?this.tooltipMessage:this.displayName},initials(){let t="?";if(this.showInitials){const e=this.userIdentifier.trim();if(e==="")return t;const n=e.match(/[\p{L}\p{N}\s]/gu);if(!n)return t;const s=n.join("").trim(),c=s.lastIndexOf(" ");t=String.fromCodePoint(s.codePointAt(0)),c!==-1&&(t=t.concat(String.fromCodePoint(s.codePointAt(c+1))))}return t.toLocaleUpperCase()},hoverCardActions(){return this.isLegacy35||!this.isMenuLoaded?null:this.menu.length>0?this.menu:null},hoverCardDisplayName(){return this.displayName||this.contactsMenuData?.fullName||void 0},hoverCardPreloadedUserStatus(){if(this.preloadedUserStatus)return this.userStatus;if(this.userStatus.status||this.userStatus.icon||this.userStatus.message)return this.userStatus},menu(){if(this.isLegacy35)return this.legacyMenu;const t=this.contactsMenuActions.map(e=>{const n=dt(this.$router,e.hyperlink);return{id:e.id,appId:e.appId,text:e.title,href:n?void 0:e.hyperlink,to:n||void 0,icon:e.icon}});for(const e of pt(this.contactsMenuData))try{t.push({id:e.id,text:e.displayName(this.contactsMenuData),iconSvg:e.iconSvg(this.contactsMenuData),onClick:()=>e.callback(this.contactsMenuData)})}catch(n){U.error(`Failed to render ContactsMenu action ${e.id}`,{error:n,action:e})}return t},legacyMenu(){const t=this.contactsMenuActions.map(n=>{const s=dt(this.$router,n.hyperlink);return{ncActionComponent:s?wn:gn,ncActionComponentProps:s?{to:s,icon:n.icon}:{href:n.hyperlink,icon:n.icon},text:n.title}});for(const n of pt(this.contactsMenuData))try{t.push({ncActionComponent:he,ncActionComponentProps:{},ncActionComponentHandlers:{click:()=>n.callback(this.contactsMenuData)},text:n.displayName(this.contactsMenuData),iconSvg:n.iconSvg(this.contactsMenuData)})}catch(s){U.error(`Failed to render ContactsMenu action ${n.id}`,{error:s,action:n})}function e(n){const s=document.createTextNode(n),c=document.createElement("p");return c.appendChild(s),c.innerHTML}if(!this.hideStatus&&this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)){const n=`
+`;B(Yt),B(Kt);function zt(t){switch(t){case"away":return y("away");case"busy":return y("busy");case"dnd":return y("do not disturb");case"online":return y("online");case"invisible":return y("invisible");case"offline":return y("offline");default:return t}}const an={online:A?nn:sn,away:A?xt:Je,busy:A?xt:Qe,dnd:A?tn:en,invisible:A?bt:Ct,offline:A?bt:Ct},rn={name:"NcUserStatusIcon",props:{user:{type:String,default:null},status:{type:String,default:null,validator:t=>["online","away","busy","dnd","invisible","offline"].includes(t)},ariaHidden:{type:String,default:null,validator:t=>["true","false"].includes(t)}},data(){return{fetchedUserStatus:null}},computed:{activeStatus(){return this.status??this.fetchedUserStatus},activeSvg(){return an[this.activeStatus]??null},ariaLabel(){return this.ariaHidden==="true"?null:y("User status: {status}",{status:zt(this.activeStatus)})}},watch:{user:{immediate:!0,async handler(t){if(!t||!Dt()?.user_status?.enabled){this.fetchedUserStatus=null;return}try{const{data:e}=await et.get(Ut("/apps/user_status/api/v1/statuses/{user}",{user:t}));this.fetchedUserStatus=e.ocs?.data?.status}catch{this.fetchedUserStatus=null}}}}};var on=function(){var t=this,e=t._self._c;return t.activeStatus?e("span",{staticClass:"user-status-icon",class:{"user-status-icon--invisible":["invisible","offline"].includes(t.status)},attrs:{role:"img","aria-hidden":t.ariaHidden,"aria-label":t.ariaLabel},domProps:{innerHTML:t._s(t.activeSvg)}}):t._e()},un=[],cn=k(rn,on,un,!1,null,"86b73d39");const ln=cn.exports,hn={name:"NcActionLink",mixins:[nt],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}},props:{href:{type:String,required:!0,validator:t=>{try{return new URL(t)}catch{return t.startsWith("#")||t.startsWith("/")}}},download:{type:String,default:null},target:{type:String,default:"_self",validator:t=>t&&(!t.startsWith("_")||["_blank","_self","_parent","_top"].indexOf(t)>-1)},title:{type:String,default:null},ariaHidden:{type:Boolean,default:null}}};var dn=function(){var t=this,e=t._self._c;return e("li",{staticClass:"action",attrs:{role:t.isInSemanticMenu&&"presentation"}},[e("a",{staticClass:"action-link focusable",attrs:{download:t.download,href:t.href,"aria-label":t.ariaLabel,target:t.target,title:t.title,rel:"nofollow noreferrer noopener",role:t.isInSemanticMenu&&"menuitem"},on:{click:t.onClick}},[t._t("icon",function(){return[e("span",{staticClass:"action-link__icon",class:[t.isIconUrl?"action-link__icon--url":t.icon],style:{backgroundImage:t.isIconUrl?`url(${t.icon})`:null},attrs:{"aria-hidden":"true"}})]}),t.name?e("span",{staticClass:"action-link__longtext-wrapper"},[e("strong",{staticClass:"action-link__name"},[t._v(" "+t._s(t.name)+" ")]),e("br"),e("span",{staticClass:"action-link__longtext",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e("span",{staticClass:"action-link__longtext",domProps:{textContent:t._s(t.text)}}):e("span",{staticClass:"action-link__text"},[t._v(t._s(t.text))]),t._e()],2)])},pn=[],fn=k(hn,dn,pn,!1,null,"b7a160c7");const gn=fn.exports,vn={name:"NcActionRouter",mixins:[nt],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}},props:{to:{type:[String,Object],required:!0},exact:{type:Boolean,default:!1}}};var mn=function(){var t=this,e=t._self._c;return e("li",{staticClass:"action",attrs:{role:t.isInSemanticMenu&&"presentation"}},[e("RouterLink",{staticClass:"action-router focusable",attrs:{to:t.to,"aria-label":t.ariaLabel,exact:t.exact,title:t.title,rel:"nofollow noreferrer noopener",role:t.isInSemanticMenu&&"menuitem"},nativeOn:{click:function(n){return t.onClick.apply(null,arguments)}}},[t._t("icon",function(){return[e("span",{staticClass:"action-router__icon",class:[t.isIconUrl?"action-router__icon--url":t.icon],style:{backgroundImage:t.isIconUrl?`url(${t.icon})`:null},attrs:{"aria-hidden":"true"}})]}),t.name?e("span",{staticClass:"action-router__longtext-wrapper"},[e("strong",{staticClass:"action-router__name"},[t._v(" "+t._s(t.name)+" ")]),e("br"),e("span",{staticClass:"action-router__longtext",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e("span",{staticClass:"action-router__longtext",domProps:{textContent:t._s(t.text)}}):e("span",{staticClass:"action-router__text"},[t._v(t._s(t.text))]),t._e()],2)],1)},yn=[],_n=k(vn,mn,yn,!1,null,"4dae1ff7");const wn=_n.exports,Sn={name:"NcActionText",mixins:[nt],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}}};var xn=function(){var t=this,e=t._self._c;return e("li",{staticClass:"action",attrs:{role:t.isInSemanticMenu&&"presentation"}},[e("span",{staticClass:"action-text",on:{click:t.onClick}},[t._t("icon",function(){return[t.icon!==""?e("span",{staticClass:"action-text__icon",class:[t.isIconUrl?"action-text__icon--url":t.icon],style:{backgroundImage:t.isIconUrl?`url(${t.icon})`:null},attrs:{"aria-hidden":"true"}}):t._e()]}),t.name?e("span",{staticClass:"action-text__longtext-wrapper"},[e("strong",{staticClass:"action-text__name"},[t._v(" "+t._s(t.name)+" ")]),e("span",{staticClass:"action-text__longtext",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e("span",{staticClass:"action-text__longtext",domProps:{textContent:t._s(t.text)}}):e("span",{staticClass:"action-text__text"},[t._v(t._s(t.text))]),t._e()],2)])},bn=[],Cn=k(Sn,xn,bn,!1,null,"2fe7eb92");const Mn=Cn.exports;B(Jt);const An={data(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{async fetchUserStatus(t){if(!t)return;const e=Dt();if(!(!Object.hasOwn(e,"user_status")||!e.user_status.enabled)&&R())try{const{data:n}=await et.get(Ut("apps/user_status/api/v1/statuses/{userId}",{userId:t}));this.setUserStatus(n.ocs.data)}catch(n){if(n.response.status===404&&n.response.data.ocs?.data?.length===0)return;U.error("Could not fetch user status",{error:n})}},setUserStatus({status:t,message:e,icon:n}){this.userStatus.status=t||"",this.userStatus.message=e||"",this.userStatus.icon=n||"",this.hasStatus=!!t}}},jt=Xt("nextcloud").persist().build(),kn=1.5;function Mt(t){return Number(t.toFixed(3))}function Tn(t){const e=jt.getItem("user-has-avatar."+t);return typeof e=="string"?!!e:null}function At(t,e){t&&jt.setItem("user-has-avatar."+t,e)}const In={name:"NcAvatar",directives:{ClickOutside:_e},components:{IconDotsHorizontal:le,NcActions:ce,NcButton:te,NcIconSvgWrapper:Qt,NcLoadingIcon:de,NcPopover:ue,NcProfileHoverCard:Zt(()=>Rt(()=>import("./NcProfileHoverCard-nmkKoCB1-Bi8nhhKx.chunk.mjs").then(t=>t.N),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),import.meta.url)),NcUserStatusIcon:ln},mixins:[An],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},hideStatus:{type:Boolean,default:!1},showUserStatus:{type:Boolean,default:!0},verboseStatus:{type:Boolean,default:!1},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},noPlaceholder:{type:Boolean,default:!1},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuContainer:{type:[Boolean,String,Object,Element],default:"body"}},setup(){return{isDarkTheme:ye(),isLegacy35:ee}},data(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuData:{},contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel(){if(this.hasMenu)return this.canDisplayUserStatus||this.showUserStatusIconOnAvatar?y("Avatar of {displayName}, {status}",{displayName:this.displayName??this.user,status:zt(this.userStatus.status)}):y("Avatar of {displayName}",{displayName:this.displayName??this.user})},canDisplayUserStatus(){return!this.hideStatus&&this.showUserStatus&&this.hasStatus&&["online","away","busy","dnd"].includes(this.userStatus.status)},showUserStatusIconOnAvatar(){return!this.hideStatus&&this.showUserStatus&&!this.verboseStatus&&this.showUserStatusCompact&&this.hasStatus&&this.userStatus.status!=="dnd"&&this.userStatus.icon},userIdentifier(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:""},isUserDefined(){return typeof this.user<"u"},isDisplayNameDefined(){return typeof this.displayName<"u"},isUrlDefined(){return typeof this.url<"u"},hasMenu(){return this.disableMenu?!1:this.isLegacy35?this.isMenuLoaded?this.menu.length>0:!(this.user===R()?.uid||this.userDoesNotExist||this.url):!!this.user&&!this.isNoUser&&!this.url&&!this.userDoesNotExist},showInitials(){return!this.noPlaceholder&&this.allowPlaceholder&&this.userDoesNotExist&&!(this.iconClass||this.$scopedSlots.icon)},avatarStyle(){return{"--avatar-size":this.size+"px",lineHeight:this.showInitials?this.size+"px":0,fontSize:Math.round(this.size*.45)+"px"}},initialsWrapperStyle(){const{r:t,g:e,b:n}=St(this.userIdentifier);return{backgroundColor:`rgba(${t}, ${e}, ${n}, 0.1)`}},initialsStyle(){const{r:t,g:e,b:n}=St(this.userIdentifier);return{color:`rgb(${t}, ${e}, ${n})`}},tooltip(){return this.disableTooltip?!1:this.tooltipMessage?this.tooltipMessage:this.displayName},initials(){let t="?";if(this.showInitials){const e=this.userIdentifier.trim();if(e==="")return t;const n=e.match(/[\p{L}\p{N}\s]/gu);if(!n)return t;const s=n.join("").trim(),c=s.lastIndexOf(" ");t=String.fromCodePoint(s.codePointAt(0)),c!==-1&&(t=t.concat(String.fromCodePoint(s.codePointAt(c+1))))}return t.toLocaleUpperCase()},hoverCardActions(){return this.isLegacy35||!this.isMenuLoaded?null:this.menu.length>0?this.menu:null},hoverCardDisplayName(){return this.displayName||this.contactsMenuData?.fullName||void 0},hoverCardPreloadedUserStatus(){if(this.preloadedUserStatus)return this.userStatus;if(this.userStatus.status||this.userStatus.icon||this.userStatus.message)return this.userStatus},menu(){if(this.isLegacy35)return this.legacyMenu;const t=this.contactsMenuActions.map(e=>{const n=dt(this.$router,e.hyperlink);return{id:e.id,appId:e.appId,text:e.title,href:n?void 0:e.hyperlink,to:n||void 0,icon:e.icon}});for(const e of pt(this.contactsMenuData))try{t.push({id:e.id,text:e.displayName(this.contactsMenuData),iconSvg:e.iconSvg(this.contactsMenuData),onClick:()=>e.callback(this.contactsMenuData)})}catch(n){U.error(`Failed to render ContactsMenu action ${e.id}`,{error:n,action:e})}return t},legacyMenu(){const t=this.contactsMenuActions.map(n=>{const s=dt(this.$router,n.hyperlink);return{ncActionComponent:s?wn:gn,ncActionComponentProps:s?{to:s,icon:n.icon}:{href:n.hyperlink,icon:n.icon},text:n.title}});for(const n of pt(this.contactsMenuData))try{t.push({ncActionComponent:he,ncActionComponentProps:{},ncActionComponentHandlers:{click:()=>n.callback(this.contactsMenuData)},text:n.displayName(this.contactsMenuData),iconSvg:n.iconSvg(this.contactsMenuData)})}catch(s){U.error(`Failed to render ContactsMenu action ${n.id}`,{error:s,action:n})}function e(n){const s=document.createTextNode(n),c=document.createElement("p");return c.appendChild(s),c.innerHTML}if(!this.hideStatus&&this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)){const n=`
${e(this.userStatus.icon)}
`;return[{ncActionComponent:Mn,ncActionComponentProps:{},iconSvg:this.userStatus.icon?n:void 0,text:`${this.userStatus.message}`}].concat(t)}return t}},watch:{url(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()},preloadedUserStatus(t){t&&this.setUserStatus(t)},contactsMenuOpenState(t){this.isLegacy35||(t?this.debouncedFetchContactsMenu():this.debouncedFetchContactsMenu.clear())}},created(){this.debouncedFetchContactsMenu=Me(this.fetchContactsMenu,300)},mounted(){this.loadAvatarUrl(),j("settings:avatar:updated",this.loadAvatarUrl),j("settings:display-name:updated",this.loadAvatarUrl),!this.hideStatus&&this.showUserStatus&&this.user&&!this.isNoUser?(this.preloadedUserStatus?this.setUserStatus(this.preloadedUserStatus):this.fetchUserStatus(this.user),j("user_status:status.updated",this.handleUserStatusUpdated)):!this.hideStatus&&this.preloadedUserStatus&&this.setUserStatus(this.preloadedUserStatus)},beforeDestroy(){this.debouncedFetchContactsMenu.clear(),z("settings:avatar:updated",this.loadAvatarUrl),z("settings:display-name:updated",this.loadAvatarUrl),z("user_status:status.updated",this.handleUserStatusUpdated)},methods:{t:y,handleUserStatusUpdated(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message},this.hasStatus=t.status!==null)},async toggleMenu(t){t.type==="keydown"&&t.key!=="Enter"||(this.contactsMenuOpenState||await this.fetchContactsMenu(),this.contactsMenuOpenState=!this.contactsMenuOpenState)},closeMenu(){this.isLegacy35&&(this.contactsMenuOpenState=!1)},async fetchContactsMenu(){this.contactsMenuLoading=!0;try{const t=encodeURIComponent(this.user),{data:e}=await et.post(It("contactsmenu/findOne"),`shareType=0&shareWith=${t}`);this.contactsMenuData=e,this.contactsMenuActions=e.topAction?[e.topAction].concat(e.actions):e.actions}catch{this.contactsMenuData={},this.contactsMenuActions=[],this.isLegacy35&&(this.contactsMenuOpenState=!1)}this.contactsMenuLoading=!1,this.isMenuLoaded=!0},loadAvatarUrl(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser||this.iconClass||this.$scopedSlots.icon)){this.isAvatarLoaded=!0,this.userDoesNotExist=!0;return}if(this.isUrlDefined){this.updateImageIfValid(this.url);return}if(this.size<=64){const t=this.avatarUrlGenerator(this.user,64),e=[`${t} ${Mt(64*kn/this.size)}x`,`${this.avatarUrlGenerator(this.user,512)} ${Mt(512/this.size)}x`].join(", ");this.updateImageIfValid(t,e)}else{const t=this.avatarUrlGenerator(this.user,512);this.updateImageIfValid(t)}},avatarUrlGenerator(t,e){let n=Ke(t,{size:e,isDarkTheme:this.isDarkTheme,isGuest:this.isGuest});return t===R()?.uid&&typeof window.oc_userconfig<"u"&&(n+="?v="+window.oc_userconfig.avatar.version),n},updateImageIfValid(t,e=null){const n=Tn(this.user);if(this.isUserDefined&&typeof n=="boolean"){this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,e&&(this.avatarSrcSetLoaded=e),n===!1&&(this.userDoesNotExist=!0);return}const s=new Image;s.onload=()=>{this.avatarUrlLoaded=t,e&&(this.avatarSrcSetLoaded=e),this.isAvatarLoaded=!0,At(this.user,!0)},s.onerror=c=>{U.debug("Invalid avatar url",{error:c,url:t}),this.avatarUrlLoaded=null,this.avatarSrcSetLoaded=null,this.userDoesNotExist=!0,this.isAvatarLoaded=!1,At(this.user,!1)},e&&(s.srcset=e),s.src=t}}};var Un=function(){var t=this,e=t._self._c;return e("span",{directives:[{name:"click-outside",rawName:"v-click-outside",value:t.closeMenu,expression:"closeMenu"}],staticClass:"avatardiv popovermenu-wrapper",class:{"avatardiv--unknown":t.userDoesNotExist,"avatardiv--with-menu":t.hasMenu,"avatardiv--with-legacy-menu":t.hasMenu&&t.isLegacy35,"avatardiv--with-menu-loading":t.contactsMenuLoading},style:t.avatarStyle,attrs:{title:t.tooltip}},[t._t("icon",function(){return[t.iconClass?e("span",{staticClass:"avatar-class-icon",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?e("img",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:""}}):t._e()]}),t.isLegacy35&&t.hasMenu?[t.menu.length===0?e("NcButton",{staticClass:"action-item action-item__menutoggle",attrs:{"aria-label":t.avatarAriaLabel,variant:"tertiary-no-background"},on:{click:t.toggleMenu},scopedSlots:t._u([{key:"icon",fn:function(){return[t.contactsMenuLoading?e("NcLoadingIcon"):e("IconDotsHorizontal",{attrs:{size:20}})]},proxy:!0}],null,!1,1269954734)}):e("NcActions",{attrs:{"aria-label":t.avatarAriaLabel,container:t.menuContainer,"force-menu":"","manual-open":"",open:t.contactsMenuOpenState,variant:"tertiary-no-background"},on:{"update:open":function(n){t.contactsMenuOpenState=n},click:t.toggleMenu},scopedSlots:t._u([t.contactsMenuLoading?{key:"icon",fn:function(){return[e("NcLoadingIcon")]},proxy:!0}:null],null,!0)},t._l(t.menu,function(n,s){return e(n.ncActionComponent,t._g(t._b({key:s,tag:"component",scopedSlots:t._u([n.iconSvg?{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{svg:n.iconSvg}})]},proxy:!0}:null],null,!0)},"component",n.ncActionComponentProps,!1),n.ncActionComponentHandlers),[t._v(" "+t._s(n.text)+" ")])}),1)]:t.hasMenu?e("NcPopover",{staticClass:"avatar-profile-popover",attrs:{shown:t.contactsMenuOpenState,container:t.menuContainer,delay:{show:400,hide:0},"popper-triggers":["hover"],triggers:["hover","focus","click"],"no-focus-trap":"","popup-role":"dialog"},on:{"update:shown":function(n){t.contactsMenuOpenState=n}},scopedSlots:t._u([{key:"trigger",fn:function({attrs:n}){return[e("span",t._b({staticClass:"avatar-profile-popover__trigger",attrs:{role:"button",tabindex:"0","aria-label":t.avatarAriaLabel}},"span",n,!1))]}}])},[e("NcProfileHoverCard",{attrs:{user:t.user,displayName:t.hoverCardDisplayName,open:t.contactsMenuOpenState,actions:t.hoverCardActions,"actions-loading":t.contactsMenuLoading,"preloaded-user-status":t.hoverCardPreloadedUserStatus}})],1):t._e(),t.showUserStatusIconOnAvatar?e("span",{staticClass:"avatardiv__user-status avatardiv__user-status--icon"},[t._v(" "+t._s(t.userStatus.icon)+" ")]):t.canDisplayUserStatus?e("NcUserStatusIcon",{staticClass:"avatardiv__user-status",attrs:{status:t.userStatus.status,"aria-hidden":String(t.hasMenu)}}):t._e(),t.showInitials?e("span",{staticClass:"avatardiv__initials-wrapper",style:t.initialsWrapperStyle},[e("span",{staticClass:"avatardiv__initials",style:t.initialsStyle},[t._v(" "+t._s(t.initials)+" ")])]):t._e()],2)},Ln=[],Dn=k(In,Un,Ln,!1,null,"9d57c0d3");const Gn=Dn.exports;export{jn as C,ct as E,Gn as N,$t as S,$n as U,He as a,G as b,Et as c,Me as d,wn as e,gn as f,dt as g,Fn as h,Hn as i,S as j,Fe as p,zn as r,An as u,De as v};
-//# sourceMappingURL=NcAvatar-BbHwxwyd-B4FduCgL.chunk.mjs.map
+//# sourceMappingURL=NcAvatar-BbHwxwyd-CJZWCZ0O.chunk.mjs.map
diff --git a/js/NcAvatar-BbHwxwyd-B4FduCgL.chunk.mjs.license b/js/NcAvatar-BbHwxwyd-CJZWCZ0O.chunk.mjs.license
similarity index 100%
rename from js/NcAvatar-BbHwxwyd-B4FduCgL.chunk.mjs.license
rename to js/NcAvatar-BbHwxwyd-CJZWCZ0O.chunk.mjs.license
diff --git a/js/NcAvatar-BbHwxwyd-B4FduCgL.chunk.mjs.map b/js/NcAvatar-BbHwxwyd-CJZWCZ0O.chunk.mjs.map
similarity index 99%
rename from js/NcAvatar-BbHwxwyd-B4FduCgL.chunk.mjs.map
rename to js/NcAvatar-BbHwxwyd-CJZWCZ0O.chunk.mjs.map
index f16653a57b..5fdc59b326 100644
--- a/js/NcAvatar-BbHwxwyd-B4FduCgL.chunk.mjs.map
+++ b/js/NcAvatar-BbHwxwyd-CJZWCZ0O.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"mappings":"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","names":["isFullscreen","ref","checkIfIsFullscreen","readonly","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","state","tag_buffer","depth","in_quote_char","output","idx","length","char","normalize_tag","tag_set","match","module","this","checkIfDarkTheme","el","backgroundInvertIfDark","INJECTION_KEY_THEME","useIsDarkThemeElement","element","computed","toValue","isDarkTheme","isDarkSystemTheme","usePreferredDark","updateIsDarkTheme","useMutationObserver","watch","useInternalIsDarkTheme","createSharedComposable","useIsDarkTheme","enforcedTheme","inject","defaultWindow","isClient","unrefElement","elRef","_a","plain","useEventListener","args","target","events","listeners","options","noop","cleanups","cleanup","fn","register","event","listener","options2","stopWatch","optionsClone","isObject","stop","tryOnScopeDispose","_iOSWorkaround","onClickOutside","handler","window","ignore","capture","detectIframe","isIOS","shouldListen","shouldIgnore","target2","hasMultipleRoots","vm","checkMultipleRoots","children","child","isProcessingClick","e","vOnClickOutside","directiveHooks","binding","resolveElement","checkOverflowScroll","ele","style","parent","preventDefault","rawEvent","_target","elInitialOverflow","useScrollLock","initialState","isLocked","stopTouchMoveListener","initialOverflow","toRef","lock","unlock","v","onScrollLock","isMounted","debounce","function_","wait","immediate","storedContext","storedArguments","timeoutId","timestamp","result","run","callContext","callArguments","later","last","debounced","arguments_","callNow","debounceModule","u","type","props","value","node","convert","test","ok","castFactory","anyFactory","propertiesFactory","typeFactory","tests","checks","index","any","parameters","check","checkAsRecord","all","nodeAsRecord","key","testFunction","looksLikeANode","empty","CONTINUE","EXIT","SKIP","visitParents","tree","visitor","reverse","is","step","factory","parents","visit","subresult","offset","grandparents","toResult","nodeAsParent","_sfc_main","defineComponent","__props","href","decorateExternal","externalLink","externalLink_decorated","style0","_sfc_render","_vm","_c","_sfc_staticRenderFns","__cssModules","_sfc_injectStyles","ctx","__component__","normalizeComponent","NcRichTextExternalLink","URL_PATTERN","URL_PATTERN_AUTOLINK","remarkAutolink","autolink","useMarkdown","useExtendedMarkdown","ancestors","ancestor","parsed","parseUrl","n","x","text","list","start","textAfter","textBefore","lastChar","joinedText","item","logger","getRoute","router","url","removePrefix","str","prefix","removePrefixes","prefixes","acc","isAbsoluteURL","isNonHttpLink","getBaseUrl","relativeUrl","relativeRouterBase","getRootUrl","potentialRouterPath","route","getEnabledContactsMenuActions","entry","action","base64map","crypt","b","i","bytes","words","hex","c","base64","triplet","j","imod4","cryptModule","charenc","charenc_1","isBuffer_1","obj","isBuffer","isSlowBuffer","require$$0","utf8","require$$1","require$$2","bin","md5","message","m","l","a","d","FF","GG","HH","II","aa","bb","cc","dd","s","t","md5Module","digestbytes","t3","Color","r","g","toHex","int","calculateStepIncrement","steps","color1","color2","mixPalette","palette","increment","COLOR_RED","COLOR_YELLOW","COLOR_BLUE","COLOR_BLACK","COLOR_WHITE","defaultPalette","generatePalette","palette1","palette2","palette3","usernameToColor","username","hash","finalPalette","hashToInt","hash2","maximum","finalInt","getAvatarUrl","user","size","guestUrl","themeUrl","generateUrl","awayLegacySvg","awaySvg","busySvg","dndLegacySvg","dndSvg","invisibleLegacySvg","invisibleSvg","onlineLegacySvg","onlineSvg","t54","t11","getUserStatusText","status","matchSvg","isLegacy32","getCapabilities","data","axios","generateOcsUrl","NcUserStatusIcon","ActionTextMixin","NcActionLink","$event","NcActionRouter","NcActionText","t10","userStatus","userId","capabilities","getCurrentUser","error","icon","browserStorage","getBuilder","SMALL_VARIANT_UPSCALE","density","getUserHasAvatar","flag","setUserHasAvatar","DotsHorizontalIcon","NcActions","NcButton","NcIconSvgWrapper","NcLoadingIcon","NcPopover","defineAsyncComponent","isLegacy35","initials","filteredChars","filtered","actions","NcActionButton","escape","p","emojiIcon","shown","subscribe","unsubscribe","avatarUrl","srcset","userHasAvatar","img","attrs","NcAvatar"],"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],"sources":["../node_modules/@nextcloud/vue/dist/Composables/useIsFullscreen.mjs","../node_modules/striptags/src/striptags.js","../node_modules/@nextcloud/vue/dist/Functions/isDarkTheme.mjs","../node_modules/@nextcloud/vue/dist/chunks/constants-wIEKSp2G.mjs","../node_modules/@nextcloud/vue/dist/Composables/useIsDarkTheme.mjs","../node_modules/@vueuse/components/index.mjs","../node_modules/debounce/index.js","../node_modules/unist-builder/lib/index.js","../node_modules/unist-util-is/lib/index.js","../node_modules/unist-util-visit-parents/lib/index.js","../node_modules/@nextcloud/vue/dist/chunks/autolink-BoBR7PZC.mjs","../node_modules/@nextcloud/vue/dist/Functions/contactsMenu.mjs","../node_modules/crypt/crypt.js","../node_modules/charenc/charenc.js","../node_modules/is-buffer/index.js","../node_modules/md5/md5.js","../node_modules/@nextcloud/vue/dist/chunks/colors-CF9oiOgn.mjs","../node_modules/@nextcloud/vue/dist/Functions/usernameToColor.mjs","../node_modules/@nextcloud/vue/dist/chunks/getAvatarUrl-BGOeDmNO.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcUserStatusIcon-BfRlUhT_.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/NcAvatar-BbHwxwyd.mjs"],"sourcesContent":["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","'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 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","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 = /* @__PURE__ */ Symbol.for(\"nc:theme:enforced\");\nexport {\n INJECTION_KEY_THEME as I\n};\n//# sourceMappingURL=constants-wIEKSp2G.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-wIEKSp2G.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","import { 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 { defineComponent, ref, h, watch, computed, reactive, getCurrentInstance, onMounted, isVue2, watchEffect, shallowRef, nextTick, toRefs } from 'vue-demi';\nimport { isClient, toValue, noop, isObject, tryOnScopeDispose, isIOS, directiveHooks, pausableWatch, tryOnMounted, toRef, useToggle, notNullish, promiseTimeout, until, useDebounceFn, useThrottleFn, tryOnUnmounted } 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\nconst defaultWindow = isClient ? window : void 0;\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\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 toValue(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 function hasMultipleRoots(target2) {\n const vm = toValue(target2);\n return vm && vm.$.subTree.shapeFlag === 16;\n }\n function checkMultipleRoots(target2, event) {\n const vm = toValue(target2);\n const children = vm.$.subTree && vm.$.subTree.children;\n if (children == null || !Array.isArray(children))\n return false;\n return children.some((child) => child.el === event.target || event.composedPath().includes(child.el));\n }\n const listener = (event) => {\n const el = unrefElement(target);\n if (event.target == null)\n return;\n if (!(el instanceof Element) && hasMultipleRoots(target) && checkMultipleRoots(target, event))\n return;\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 let isProcessingClick = false;\n const cleanup = [\n useEventListener(window, \"click\", (event) => {\n if (!isProcessingClick) {\n isProcessingClick = true;\n setTimeout(() => {\n isProcessingClick = false;\n }, 0);\n listener(event);\n }\n }, { 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 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\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\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 \"containerElement\"\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 containerElement = computed(() => {\n var _a;\n return (_a = props.containerElement) != null ? _a : void 0;\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 containerElement\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\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\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 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 const stop = watch(\n () => [state.arrivedState[direction], isElementVisible.value],\n checkAndLoad,\n { immediate: true }\n );\n tryOnUnmounted(stop);\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","function debounce(function_, wait = 100, options = {}) {\n\tif (typeof function_ !== 'function') {\n\t\tthrow new TypeError(`Expected the first parameter to be a function, got \\`${typeof function_}\\`.`);\n\t}\n\n\tif (wait < 0) {\n\t\tthrow new RangeError('`wait` must not be negative.');\n\t}\n\n\t// TODO: Deprecate the boolean parameter at some point.\n\tconst {immediate} = typeof options === 'boolean' ? {immediate: options} : options;\n\n\tlet storedContext;\n\tlet storedArguments;\n\tlet timeoutId;\n\tlet timestamp;\n\tlet result;\n\n\tfunction run() {\n\t\tconst callContext = storedContext;\n\t\tconst callArguments = storedArguments;\n\t\tstoredContext = undefined;\n\t\tstoredArguments = undefined;\n\t\tresult = function_.apply(callContext, callArguments);\n\t\treturn result;\n\t}\n\n\tfunction later() {\n\t\tconst last = Date.now() - timestamp;\n\n\t\tif (last < wait && last >= 0) {\n\t\t\ttimeoutId = setTimeout(later, wait - last);\n\t\t} else {\n\t\t\ttimeoutId = undefined;\n\n\t\t\tif (!immediate) {\n\t\t\t\tresult = run();\n\t\t\t}\n\t\t}\n\t}\n\n\tconst debounced = function (...arguments_) {\n\t\tif (\n\t\t\tstoredContext\n\t\t\t&& this !== storedContext\n\t\t\t&& Object.getPrototypeOf(this) === Object.getPrototypeOf(storedContext)\n\t\t) {\n\t\t\tthrow new Error('Debounced method called with different contexts of the same prototype.');\n\t\t}\n\n\t\tstoredContext = this; // eslint-disable-line unicorn/no-this-assignment\n\t\tstoredArguments = arguments_;\n\t\ttimestamp = Date.now();\n\n\t\tconst callNow = immediate && !timeoutId;\n\n\t\tif (!timeoutId) {\n\t\t\ttimeoutId = setTimeout(later, wait);\n\t\t}\n\n\t\tif (callNow) {\n\t\t\tresult = run();\n\t\t}\n\n\t\treturn result;\n\t};\n\n\tObject.defineProperty(debounced, 'isPending', {\n\t\tget() {\n\t\t\treturn timeoutId !== undefined;\n\t\t},\n\t});\n\n\tdebounced.clear = () => {\n\t\tif (!timeoutId) {\n\t\t\treturn;\n\t\t}\n\n\t\tclearTimeout(timeoutId);\n\t\ttimeoutId = undefined;\n\t};\n\n\tdebounced.flush = () => {\n\t\tif (!timeoutId) {\n\t\t\treturn;\n\t\t}\n\n\t\tdebounced.trigger();\n\t};\n\n\tdebounced.trigger = () => {\n\t\tresult = run();\n\n\t\tdebounced.clear();\n\t};\n\n\treturn debounced;\n}\n\n// Adds compatibility for ES modules\nmodule.exports.debounce = debounce;\n\nmodule.exports = debounce;\n","/**\n * @typedef {import('unist').Node} Node\n */\n\n/**\n * @typedef {Array | string} ChildrenOrValue\n * List to use as `children` or value to use as `value`.\n *\n * @typedef {Record} Props\n * Other fields to add to the node.\n */\n\n/**\n * Build a node.\n *\n * @template {string} T\n * @template {Props} P\n * @template {Array} C\n *\n * @overload\n * @param {T} type\n * @returns {{type: T}}\n *\n * @overload\n * @param {T} type\n * @param {P} props\n * @returns {{type: T} & P}\n *\n * @overload\n * @param {T} type\n * @param {string} value\n * @returns {{type: T, value: string}}\n *\n * @overload\n * @param {T} type\n * @param {P} props\n * @param {string} value\n * @returns {{type: T, value: string} & P}\n *\n * @overload\n * @param {T} type\n * @param {C} children\n * @returns {{type: T, children: C}}\n *\n * @overload\n * @param {T} type\n * @param {P} props\n * @param {C} children\n * @returns {{type: T, children: C} & P}\n *\n * @param {string} type\n * Node type.\n * @param {ChildrenOrValue | Props | null | undefined} [props]\n * Fields assigned to node (default: `undefined`).\n * @param {ChildrenOrValue | null | undefined} [value]\n * Children of node or value of `node` (cast to string).\n * @returns {Node}\n * Built node.\n */\nexport function u(type, props, value) {\n /** @type {Node} */\n const node = {type: String(type)}\n\n if (\n (value === undefined || value === null) &&\n (typeof props === 'string' || Array.isArray(props))\n ) {\n value = props\n } else {\n Object.assign(node, props)\n }\n\n if (Array.isArray(value)) {\n // @ts-expect-error: create a parent.\n node.children = value\n } else if (value !== undefined && value !== null) {\n // @ts-expect-error: create a literal.\n node.value = String(value)\n }\n\n return node\n}\n","/**\n * @import {Node, Parent} from 'unist'\n */\n\n/**\n * @template Fn\n * @template Fallback\n * @typedef {Fn extends (value: any) => value is infer Thing ? Thing : Fallback} Predicate\n */\n\n/**\n * @callback Check\n * Check that an arbitrary value is a node.\n * @param {unknown} this\n * The given context.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean}\n * Whether this is a node and passes a test.\n *\n * @typedef {Record | Node} Props\n * Object to check for equivalence.\n *\n * Note: `Node` is included as it is common but is not indexable.\n *\n * @typedef {Array | ReadonlyArray | Props | TestFunction | string | null | undefined} Test\n * Check for an arbitrary node.\n *\n * @callback TestFunction\n * Check if a node passes a test.\n * @param {unknown} this\n * The given context.\n * @param {Node} node\n * A node.\n * @param {number | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | undefined} [parent]\n * The node’s parent.\n * @returns {boolean | undefined | void}\n * Whether this node passes the test.\n *\n * Note: `void` is included until TS sees no return as `undefined`.\n */\n\n/**\n * Check if `node` is a `Node` and whether it passes the given test.\n *\n * @param {unknown} node\n * Thing to check, typically `Node`.\n * @param {Test} test\n * A check for a specific node.\n * @param {number | null | undefined} index\n * The node’s position in its parent.\n * @param {Parent | null | undefined} parent\n * The node’s parent.\n * @param {unknown} context\n * Context object (`this`) to pass to `test` functions.\n * @returns {boolean}\n * Whether `node` is a node and passes a test.\n */\nexport const is =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * (>(node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition[number]}) &\n * (>(node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition[number]}) &\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((node?: null | undefined) => false) &\n * ((node: unknown, test?: null | undefined, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((node: unknown, test?: Test, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [node]\n * @param {Test} [test]\n * @param {number | null | undefined} [index]\n * @param {Parent | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function (node, test, index, parent, context) {\n const check = convert(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!is(parent) || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n return looksLikeANode(node)\n ? check.call(context, node, index, parent)\n : false\n }\n )\n\n/**\n * Generate an assertion from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * a `node`, `index`, and `parent`.\n *\n * @param {Test} test\n * * when nullish, checks if `node` is a `Node`.\n * * when `string`, works like passing `(node) => node.type === test`.\n * * when `function` checks if function passed the node is true.\n * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * * when `array`, checks if any one of the subtests pass.\n * @returns {Check}\n * An assertion.\n */\nexport const convert =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((test?: Test) => Check)\n * )}\n */\n (\n /**\n * @param {Test} [test]\n * @returns {Check}\n */\n function (test) {\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n if (typeof test === 'object') {\n return Array.isArray(test)\n ? anyFactory(test)\n : // Cast because `ReadonlyArray` goes into the above but `isArray`\n // narrows to `Array`.\n propertiesFactory(/** @type {Props} */ (test))\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n throw new Error('Expected function, string, or object as test')\n }\n )\n\n/**\n * @param {Array} tests\n * @returns {Check}\n */\nfunction anyFactory(tests) {\n /** @type {Array} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @type {TestFunction}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].apply(this, parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Turn an object into a test for a node with a certain fields.\n *\n * @param {Props} check\n * @returns {Check}\n */\nfunction propertiesFactory(check) {\n const checkAsRecord = /** @type {Record} */ (check)\n\n return castFactory(all)\n\n /**\n * @param {Node} node\n * @returns {boolean}\n */\n function all(node) {\n const nodeAsRecord = /** @type {Record} */ (\n /** @type {unknown} */ (node)\n )\n\n /** @type {string} */\n let key\n\n for (key in check) {\n if (nodeAsRecord[key] !== checkAsRecord[key]) return false\n }\n\n return true\n }\n}\n\n/**\n * Turn a string into a test for a node with a certain type.\n *\n * @param {string} check\n * @returns {Check}\n */\nfunction typeFactory(check) {\n return castFactory(type)\n\n /**\n * @param {Node} node\n */\n function type(node) {\n return node && node.type === check\n }\n}\n\n/**\n * Turn a custom test into a test for a node that passes that test.\n *\n * @param {TestFunction} testFunction\n * @returns {Check}\n */\nfunction castFactory(testFunction) {\n return check\n\n /**\n * @this {unknown}\n * @type {Check}\n */\n function check(value, index, parent) {\n return Boolean(\n looksLikeANode(value) &&\n testFunction.call(\n this,\n value,\n typeof index === 'number' ? index : undefined,\n parent || undefined\n )\n )\n }\n}\n\nfunction ok() {\n return true\n}\n\n/**\n * @param {unknown} value\n * @returns {value is Node}\n */\nfunction looksLikeANode(value) {\n return value !== null && typeof value === 'object' && 'type' in value\n}\n","/**\n * @import {Node as UnistNode, Parent as UnistParent} from 'unist'\n */\n\n/**\n * @typedef {Exclude | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate extends Value\n * ? Predicate\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends ReadonlyArray\n * ? MatchesOne\n * : Check extends Array\n * ? MatchesOne\n * : MatchesOne\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint\n * Number; capped reasonably.\n */\n\n/**\n * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment\n * Increment a number in the type system.\n * @template {Uint} [I=0]\n * Index.\n */\n\n/**\n * @typedef {(\n * Node extends UnistParent\n * ? Node extends {children: Array}\n * ? Child extends Children ? Node : never\n * : never\n * : never\n * )} InternalParent\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {InternalParent, Child>} Parent\n * Collect nodes in `Tree` that can be parents of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Depth extends Max\n * ? never\n * :\n * | InternalParent\n * | InternalAncestor, Max, Increment>\n * )} InternalAncestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {InternalAncestor, Child>} Ancestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Tree extends UnistParent\n * ? Depth extends Max\n * ? Tree\n * : Tree | InclusiveDescendant>\n * : Tree\n * )} InclusiveDescendant\n * Collect all (inclusive) descendants of `Tree`.\n *\n * > 👉 **Note**: for performance reasons, this seems to be the fastest way to\n * > recurse without actually running into an infinite loop, which the\n * > previous version did.\n * >\n * > Practically, a max of `2` is typically enough assuming a `Root` is\n * > passed, but it doesn’t improve performance.\n * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.\n * > Using up to `10` doesn’t hurt or help either.\n * @template {UnistNode} Tree\n * Tree type.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {'skip' | boolean} Action\n * Union of the action types.\n *\n * @typedef {number} Index\n * Move to the sibling at `index` next (after node itself is completely\n * traversed).\n *\n * Useful if mutating the tree, such as removing the node the visitor is\n * currently on, or any of its previous siblings.\n * Results less than 0 or greater than or equal to `children.length` stop\n * traversing the parent.\n *\n * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple\n * List with one or two values, the first an action, the second an index.\n *\n * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult\n * Any value that can be returned from a visitor.\n */\n\n/**\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform the parent of node (the last of `ancestors`).\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of an ancestor still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Array} ancestors\n * Ancestors of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n * @template {UnistNode} [Visited=UnistNode]\n * Visited node type.\n * @template {UnistParent} [VisitedParents=UnistParent]\n * Ancestor type.\n */\n\n/**\n * @typedef {Visitor, Check>, Ancestor, Check>>>} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parents`.\n * @template {UnistNode} [Tree=UnistNode]\n * Tree type.\n * @template {Test} [Check=Test]\n * Test type.\n */\n\nimport {convert} from 'unist-util-is'\nimport {color} from 'unist-util-visit-parents/do-not-use-color'\n\n/** @type {Readonly} */\nconst empty = []\n\n/**\n * Continue traversing as normal.\n */\nexport const CONTINUE = true\n\n/**\n * Stop traversing immediately.\n */\nexport const EXIT = false\n\n/**\n * Do not traverse this node’s children.\n */\nexport const SKIP = 'skip'\n\n/**\n * Visit nodes, with ancestral information.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @overload\n * @param {Tree} tree\n * @param {Check} check\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @overload\n * @param {Tree} tree\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @param {UnistNode} tree\n * Tree to traverse.\n * @param {Visitor | Test} test\n * `unist-util-is`-compatible test\n * @param {Visitor | boolean | null | undefined} [visitor]\n * Handle each node.\n * @param {boolean | null | undefined} [reverse]\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns {undefined}\n * Nothing.\n *\n * @template {UnistNode} Tree\n * Node type.\n * @template {Test} Check\n * `unist-util-is`-compatible test.\n */\nexport function visitParents(tree, test, visitor, reverse) {\n /** @type {Test} */\n let check\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n // @ts-expect-error no visitor given, so `visitor` is test.\n visitor = test\n } else {\n // @ts-expect-error visitor given, so `test` isn’t a visitor.\n check = test\n }\n\n const is = convert(check)\n const step = reverse ? -1 : 1\n\n factory(tree, undefined, [])()\n\n /**\n * @param {UnistNode} node\n * @param {number | undefined} index\n * @param {Array} parents\n */\n function factory(node, index, parents) {\n const value = /** @type {Record} */ (\n node && typeof node === 'object' ? node : {}\n )\n\n if (typeof value.type === 'string') {\n const name =\n // `hast`\n typeof value.tagName === 'string'\n ? value.tagName\n : // `xast`\n typeof value.name === 'string'\n ? value.name\n : undefined\n\n Object.defineProperty(visit, 'name', {\n value:\n 'node (' + color(node.type + (name ? '<' + name + '>' : '')) + ')'\n })\n }\n\n return visit\n\n function visit() {\n /** @type {Readonly} */\n let result = empty\n /** @type {Readonly} */\n let subresult\n /** @type {number} */\n let offset\n /** @type {Array} */\n let grandparents\n\n if (!test || is(node, index, parents[parents.length - 1] || undefined)) {\n // @ts-expect-error: `visitor` is now a visitor.\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if ('children' in node && node.children) {\n const nodeAsParent = /** @type {UnistParent} */ (node)\n\n if (nodeAsParent.children && result[0] !== SKIP) {\n offset = (reverse ? nodeAsParent.children.length : -1) + step\n grandparents = parents.concat(nodeAsParent)\n\n while (offset > -1 && offset < nodeAsParent.children.length) {\n const child = nodeAsParent.children[offset]\n\n subresult = factory(child, offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n }\n\n return result\n }\n }\n}\n\n/**\n * Turn a return value into a clean result.\n *\n * @param {VisitorResult} value\n * Valid return values from visitors.\n * @returns {Readonly}\n * Clean result.\n */\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return value === null || value === undefined ? empty : [value]\n}\n","import '../assets/autolink-oZo-1y2n.css';\nimport { getBaseUrl, getRootUrl } from \"@nextcloud/router\";\nimport { u } from \"unist-builder\";\nimport { visitParents, SKIP } from \"unist-util-visit-parents\";\nimport { defineComponent } from \"vue\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcRichTextExternalLink\",\n props: {\n href: null,\n decorateExternal: { type: Boolean }\n },\n setup(__props) {\n const { href, decorateExternal = false } = __props;\n return { __sfc: true };\n }\n});\nconst externalLink = \"_externalLink_aFEAG\";\nconst externalLink_decorated = \"_externalLink_decorated_D-MKg\";\nconst style0 = {\n \"material-design-icon\": \"_material-design-icon_GNzpp\",\n externalLink,\n externalLink_decorated\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"a\", { class: [_vm.$style.externalLink, {\n [_vm.$style.externalLink_decorated]: _vm.decorateExternal\n }], attrs: { \"href\": _vm.href, \"rel\": \"noopener noreferrer\", \"target\": \"_blank\" } }, [_vm._t(\"default\", function() {\n return [_vm._v(_vm._s(_vm.href))];\n })], 2);\n};\nvar _sfc_staticRenderFns = [];\nconst __cssModules = {\n \"$style\": style0\n};\nfunction _sfc_injectStyles(ctx) {\n for (var key in __cssModules) {\n this[key] = __cssModules[key];\n }\n}\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n _sfc_injectStyles,\n null\n);\nconst NcRichTextExternalLink = __component__.exports;\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;\nfunction remarkAutolink({ autolink, useMarkdown, useExtendedMarkdown }) {\n return function(tree) {\n if (useExtendedMarkdown || !useMarkdown || !autolink) {\n return;\n }\n visitParents(tree, (node) => node.type === \"text\", (node, ancestors) => {\n if (ancestors.some((ancestor) => ancestor.type === \"link\" || ancestor.type === \"linkReference\")) {\n return;\n }\n const parent = ancestors.at(-1);\n const index = parent.children.indexOf(node) ?? 0;\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}\nfunction 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: NcRichTextExternalLink, props: { href: href.trim(), decorateExternal: true } });\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 logger.error(\"Failed to reassemble the chunked text: \" + text);\n return text;\n}\nfunction 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 NcRichTextExternalLink as N,\n URL_PATTERN as U,\n getRoute as g,\n parseUrl as p,\n remarkAutolink as r\n};\n//# sourceMappingURL=autolink-BoBR7PZC.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","(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 \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 { r as register, t as t3, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nregister(t3);\nclass Color {\n /**\n * @param r - The red value\n * @param g - The green value\n * @param b - The blue value\n * @param name - The name of the color\n */\n constructor(r, g, b, name) {\n this.r = r;\n this.g = g;\n this.b = b;\n this.name = name;\n this.r = Math.min(r, 255);\n this.g = Math.min(g, 255);\n this.b = Math.min(b, 255);\n this.name = name;\n }\n r;\n g;\n b;\n name;\n /**\n * The hexadecimal color string.\n */\n get color() {\n const toHex = (int) => `00${int.toString(16)}`.slice(-2);\n return `#${toHex(this.r)}${toHex(this.g)}${toHex(this.b)}`;\n }\n}\nfunction calculateStepIncrement(steps, color1, color2) {\n return {\n r: (color2.r - color1.r) / steps,\n g: (color2.g - color1.g) / steps,\n b: (color2.b - color1.b) / steps\n };\n}\nfunction mixPalette(steps, color1, color2) {\n const palette = [];\n palette.push(color1);\n const increment = calculateStepIncrement(steps, color1, color2);\n for (let i = 1; i < steps; i++) {\n const r = Math.floor(color1.r + increment.r * i);\n const g = Math.floor(color1.g + increment.g * i);\n const b = Math.floor(color1.b + increment.b * i);\n palette.push(new Color(r, g, b));\n }\n return palette;\n}\nconst COLOR_RED = new Color(182, 70, 157, t(\"Purple\"));\nconst COLOR_YELLOW = new Color(221, 203, 85, t(\"Gold\"));\nconst COLOR_BLUE = new Color(0, 130, 201, t(\"Nextcloud blue\"));\nconst COLOR_BLACK = new Color(0, 0, 0, t(\"Black\"));\nconst COLOR_WHITE = new Color(255, 255, 255, t(\"White\"));\nconst defaultPalette = [\n COLOR_RED,\n new Color(\n ...[191, 103, 139],\n t(\"Rosy brown\")\n // TRANSLATORS: A color name for RGB(191, 103, 139)\n ),\n new Color(\n ...[201, 136, 121],\n t(\"Feldspar\")\n // TRANSLATORS: A color name for RGB(201, 136, 121)\n ),\n new Color(\n ...[211, 169, 103],\n t(\"Whiskey\")\n // TRANSLATORS: A color name for RGB(211, 169, 103)\n ),\n COLOR_YELLOW,\n new Color(\n ...[165, 184, 114],\n t(\"Olivine\")\n // TRANSLATORS: A color name for RGB(165, 184, 114)\n ),\n new Color(\n ...[110, 166, 143],\n t(\"Acapulco\")\n // TRANSLATORS: A color name for RGB(110, 166, 143)\n ),\n new Color(\n ...[55, 148, 172],\n t(\"Boston Blue\")\n // TRANSLATORS: A color name for RGB(55, 148, 172)\n ),\n COLOR_BLUE,\n new Color(\n ...[45, 115, 190],\n t(\"Mariner\")\n // TRANSLATORS: A color name for RGB(45, 115, 190)\n ),\n new Color(\n ...[91, 100, 179],\n t(\"Blue Violet\")\n // TRANSLATORS: A color name for RGB(91, 100, 179)\n ),\n new Color(\n ...[136, 85, 168],\n t(\"Deluge\")\n // TRANSLATORS: A color name for RGB(136, 85, 168)\n )\n];\nfunction generatePalette(steps) {\n const palette1 = mixPalette(steps, COLOR_RED, COLOR_YELLOW);\n const palette2 = mixPalette(steps, COLOR_YELLOW, COLOR_BLUE);\n const palette3 = mixPalette(steps, COLOR_BLUE, COLOR_RED);\n return palette1.concat(palette2).concat(palette3);\n}\nexport {\n Color as C,\n COLOR_BLACK as a,\n COLOR_WHITE as b,\n defaultPalette as d,\n generatePalette as g\n};\n//# sourceMappingURL=colors-CF9oiOgn.mjs.map\n","import md5 from \"md5\";\nimport { g as generatePalette } from \"../chunks/colors-CF9oiOgn.mjs\";\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 = generatePalette(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 { 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}?guestFallback=true`, {\n user,\n size\n });\n}\nexport {\n getAvatarUrl as g\n};\n//# sourceMappingURL=getAvatarUrl-BGOeDmNO.mjs.map\n","import '../assets/NcUserStatusIcon-Bw8yMFMP.css';\nimport axios from \"@nextcloud/axios\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { r as register, Y as t54, Z as t11, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nimport { a as isLegacy32 } from \"./legacy-Cy3dCXuB.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst awayLegacySvg = '\\n\\n\t \\n\t \\n \\n';\nconst awaySvg = '\\n\\n\t \\n \\n';\nconst busySvg = '\\n\\n\t \\n \\n';\nconst dndLegacySvg = '\\n\\n\t \\n\t \\n\t \\n \\n';\nconst dndSvg = '\\n\\n\t \\n \\n';\nconst invisibleLegacySvg = '\\n\\n\t \\n\t \\n \\n';\nconst invisibleSvg = '\\n\\n\t \\n \\n';\nconst onlineLegacySvg = '\\n\\n\t \\n \\n';\nconst onlineSvg = '\\n\\n\t \\n \\n';\nregister(t54);\nregister(t11);\nfunction 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}\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) {\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 {\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 \"86b73d39\"\n);\nconst NcUserStatusIcon = __component__.exports;\nexport {\n NcUserStatusIcon as N,\n getUserStatusText as g\n};\n//# sourceMappingURL=NcUserStatusIcon-BfRlUhT_.mjs.map\n","import '../assets/NcActionLink-Ctdzbsqp.css';\nimport { A as ActionTextMixin } from \"../chunks/actionText-BMig9Egt.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 required: true,\n validator: (value) => {\n try {\n return new URL(value);\n } catch {\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 // eslint-disable-next-line vue/no-boolean-default\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 \"b7a160c7\"\n);\nconst NcActionLink = __component__.exports;\nexport {\n NcActionLink as default\n};\n//# sourceMappingURL=NcActionLink.mjs.map\n","import '../assets/NcActionRouter-BxuJz83W.css';\nimport { A as ActionTextMixin } from \"../chunks/actionText-BMig9Egt.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 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 \"4dae1ff7\"\n);\nconst NcActionRouter = __component__.exports;\nexport {\n NcActionRouter as default\n};\n//# sourceMappingURL=NcActionRouter.mjs.map\n","import '../assets/NcActionText-bWmZcFoT.css';\nimport { A as ActionTextMixin } from \"../chunks/actionText-BMig9Egt.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 \"2fe7eb92\"\n);\nconst NcActionText = __component__.exports;\nexport {\n NcActionText as default\n};\n//# sourceMappingURL=NcActionText.mjs.map\n","import '../assets/NcMentionBubble-CaztX9Pv.css';\nimport '../assets/NcAvatar-CNtcH8yS.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 debounce from \"debounce\";\nimport { defineAsyncComponent } from \"vue\";\nimport { N as NcActions, D as DotsHorizontalIcon } from \"./NcActions-C4f9MXug.mjs\";\nimport { g as getRoute } from \"./autolink-BoBR7PZC.mjs\";\nimport { useIsDarkTheme } from \"../Composables/useIsDarkTheme.mjs\";\nimport { getEnabledContactsMenuActions } from \"../Functions/contactsMenu.mjs\";\nimport { usernameToColor } from \"../Functions/usernameToColor.mjs\";\nimport { r as register, u as t10, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nimport \"../Composables/useIsFullscreen.mjs\";\nimport \"../Composables/useIsMobile.mjs\";\nimport \"escape-html\";\nimport \"striptags\";\nimport { g as getAvatarUrl } from \"./getAvatarUrl-BGOeDmNO.mjs\";\n/* empty css */\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { b as isLegacy35 } from \"./legacy-Cy3dCXuB.mjs\";\nimport { N as NcUserStatusIcon, g as getUserStatusText } from \"./NcUserStatusIcon-BfRlUhT_.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-DJ-fERS3.mjs\";\nimport NcActionLink from \"../Components/NcActionLink.mjs\";\nimport NcActionRouter from \"../Components/NcActionRouter.mjs\";\nimport NcActionText from \"../Components/NcActionText.mjs\";\nimport { N as NcButton } from \"./NcButton-DAGirW_B.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Bui9PhAS.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport { N as NcPopover } from \"./NcPopover-BCDLqFHH.mjs\";\nregister(t10);\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}\n */\n async fetchUserStatus(userId) {\n if (!userId) {\n return;\n }\n const capabilities = getCapabilities();\n if (!Object.hasOwn(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 this.setUserStatus(data.ocs.data);\n } catch (error) {\n if (error.response.status === 404 && error.response.data.ocs?.data?.length === 0) {\n return;\n }\n logger.error(\"Could not fetch user status\", { error });\n }\n },\n /**\n * Sets the user status\n *\n * @param {string} status user's status\n * @param {string} message user's message\n * @param {string} icon user's icon\n */\n setUserStatus({ status, message, icon }) {\n this.userStatus.status = status || \"\";\n this.userStatus.message = message || \"\";\n this.userStatus.icon = icon || \"\";\n this.hasStatus = !!status;\n }\n }\n};\nconst browserStorage = getBuilder(\"nextcloud\").persist().build();\nconst SMALL_VARIANT_UPSCALE = 1.5;\nfunction density(value) {\n return Number(value.toFixed(3));\n}\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 NcPopover,\n NcProfileHoverCard: defineAsyncComponent(() => import(\"./NcProfileHoverCard-nmkKoCB1.mjs\")),\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 *\n * @deprecated - Use `hideStatus` instead. Will be removed with v9.\n */\n showUserStatus: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\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 *\n * @deprecated - Use `verboseStatus` instead. Will be removed with v9.\n */\n showUserStatusCompact: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\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 *\n * @deprecated - Use `noPlaceholder` instead. Will be removed in v9.\n */\n allowPlaceholder: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\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: [Boolean, String, Object, Element],\n default: \"body\"\n }\n },\n setup() {\n const isDarkTheme = useIsDarkTheme();\n return {\n isDarkTheme,\n isLegacy35\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.isLegacy35) {\n if (this.isMenuLoaded) {\n return this.menu.length > 0;\n }\n return !(this.user === getCurrentUser()?.uid || this.userDoesNotExist || this.url);\n }\n return Boolean(this.user) && !this.isNoUser && !this.url && !this.userDoesNotExist;\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.$scopedSlots.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) {\n return initials;\n }\n const filtered = filteredChars.join(\"\").trim();\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 /**\n * Contacts menu actions for the hover card.\n * `null` until actions are loaded so the card can fall back to profile API actions.\n *\n * @return {Array|null}\n */\n hoverCardActions() {\n if (this.isLegacy35 || !this.isMenuLoaded) {\n return null;\n }\n return this.menu.length > 0 ? this.menu : null;\n },\n /**\n * Best available display name for the hover card (prop or contacts menu).\n *\n * @return {string|undefined}\n */\n hoverCardDisplayName() {\n return this.displayName || this.contactsMenuData?.fullName || void 0;\n },\n /**\n * Status already known by this avatar so the hover card does not fetch it again.\n * Omitted while status is still the empty default (fetch in progress).\n *\n * @return {object|undefined}\n */\n hoverCardPreloadedUserStatus() {\n if (this.preloadedUserStatus) {\n return this.userStatus;\n }\n if (this.userStatus.status || this.userStatus.icon || this.userStatus.message) {\n return this.userStatus;\n }\n return void 0;\n },\n menu() {\n if (this.isLegacy35) {\n return this.legacyMenu;\n }\n const actions = this.contactsMenuActions.map((item) => {\n const route = getRoute(this.$router, item.hyperlink);\n return {\n id: item.id,\n appId: item.appId,\n text: item.title,\n href: route ? void 0 : item.hyperlink,\n to: route || void 0,\n icon: item.icon\n };\n });\n for (const action of getEnabledContactsMenuActions(this.contactsMenuData)) {\n try {\n actions.push({\n id: action.id,\n text: action.displayName(this.contactsMenuData),\n iconSvg: action.iconSvg(this.contactsMenuData),\n onClick: () => action.callback(this.contactsMenuData)\n });\n } catch (error) {\n logger.error(`Failed to render ContactsMenu action ${action.id}`, {\n error,\n action\n });\n }\n }\n return actions;\n },\n /**\n * Legacy NcActions menu entries for Nextcloud 32–34.\n *\n * @return {Array}\n */\n legacyMenu() {\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 = `\n\t\t\t\t\t${escape(this.userStatus.icon)} \n\t\t\t\t `;\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 preloadedUserStatus(status) {\n if (status) {\n this.setUserStatus(status);\n }\n },\n contactsMenuOpenState(shown) {\n if (this.isLegacy35) {\n return;\n }\n if (shown) {\n this.debouncedFetchContactsMenu();\n } else {\n this.debouncedFetchContactsMenu.clear();\n }\n }\n },\n created() {\n this.debouncedFetchContactsMenu = debounce(this.fetchContactsMenu, 300);\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.setUserStatus(this.preloadedUserStatus);\n }\n subscribe(\"user_status:status.updated\", this.handleUserStatusUpdated);\n } else if (!this.hideStatus && this.preloadedUserStatus) {\n this.setUserStatus(this.preloadedUserStatus);\n }\n },\n beforeDestroy() {\n this.debouncedFetchContactsMenu.clear();\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 legacy popover menu on click or enter\n *\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 if (!this.isLegacy35) {\n return;\n }\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 {\n this.contactsMenuData = {};\n this.contactsMenuActions = [];\n if (this.isLegacy35) {\n this.contactsMenuOpenState = false;\n }\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 || this.$scopedSlots.icon)) {\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} ${density(64 * SMALL_VARIANT_UPSCALE / this.size)}x`,\n `${this.avatarUrlGenerator(this.user, 512)} ${density(512 / this.size)}x`\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 window.oc_userconfig !== \"undefined\") {\n avatarUrl += \"?v=\" + window.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 = (error) => {\n logger.debug(\"Invalid avatar url\", { error, 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-legacy-menu\": _vm.hasMenu && _vm.isLegacy35,\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.isLegacy35 && _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) }) : _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.hasMenu ? _c(\"NcPopover\", { staticClass: \"avatar-profile-popover\", attrs: { \"shown\": _vm.contactsMenuOpenState, \"container\": _vm.menuContainer, \"delay\": { show: 400, hide: 0 }, \"popper-triggers\": [\"hover\"], \"triggers\": [\"hover\", \"focus\", \"click\"], \"no-focus-trap\": \"\", \"popup-role\": \"dialog\" }, on: { \"update:shown\": function($event) {\n _vm.contactsMenuOpenState = $event;\n } }, scopedSlots: _vm._u([{ key: \"trigger\", fn: function({ attrs }) {\n return [_c(\"span\", _vm._b({ staticClass: \"avatar-profile-popover__trigger\", attrs: { \"role\": \"button\", \"tabindex\": \"0\", \"aria-label\": _vm.avatarAriaLabel } }, \"span\", attrs, false))];\n } }]) }, [_c(\"NcProfileHoverCard\", { attrs: { \"user\": _vm.user, \"displayName\": _vm.hoverCardDisplayName, \"open\": _vm.contactsMenuOpenState, \"actions\": _vm.hoverCardActions, \"actions-loading\": _vm.contactsMenuLoading, \"preloaded-user-status\": _vm.hoverCardPreloadedUserStatus } })], 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 \"9d57c0d3\"\n);\nconst NcAvatar = __component__.exports;\nexport {\n NcAvatar as N,\n userStatus as u\n};\n//# sourceMappingURL=NcAvatar-BbHwxwyd.mjs.map\n"],"file":"NcAvatar-BbHwxwyd-B4FduCgL.chunk.mjs"}
\ No newline at end of file
+{"version":3,"mappings":"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","names":["isFullscreen","ref","checkIfIsFullscreen","readonly","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","state","tag_buffer","depth","in_quote_char","output","idx","length","char","normalize_tag","tag_set","match","module","this","checkIfDarkTheme","el","backgroundInvertIfDark","INJECTION_KEY_THEME","useIsDarkThemeElement","element","computed","toValue","isDarkTheme","isDarkSystemTheme","usePreferredDark","updateIsDarkTheme","useMutationObserver","watch","useInternalIsDarkTheme","createSharedComposable","useIsDarkTheme","enforcedTheme","inject","defaultWindow","isClient","unrefElement","elRef","_a","plain","useEventListener","args","target","events","listeners","options","noop","cleanups","cleanup","fn","register","event","listener","options2","stopWatch","optionsClone","isObject","stop","tryOnScopeDispose","_iOSWorkaround","onClickOutside","handler","window","ignore","capture","detectIframe","isIOS","shouldListen","shouldIgnore","target2","hasMultipleRoots","vm","checkMultipleRoots","children","child","isProcessingClick","e","vOnClickOutside","directiveHooks","binding","resolveElement","checkOverflowScroll","ele","style","parent","preventDefault","rawEvent","_target","elInitialOverflow","useScrollLock","initialState","isLocked","stopTouchMoveListener","initialOverflow","toRef","lock","unlock","v","onScrollLock","isMounted","debounce","function_","wait","immediate","storedContext","storedArguments","timeoutId","timestamp","result","run","callContext","callArguments","later","last","debounced","arguments_","callNow","debounceModule","u","type","props","value","node","convert","test","ok","castFactory","anyFactory","propertiesFactory","typeFactory","tests","checks","index","any","parameters","check","checkAsRecord","all","nodeAsRecord","key","testFunction","looksLikeANode","empty","CONTINUE","EXIT","SKIP","visitParents","tree","visitor","reverse","is","step","factory","parents","visit","subresult","offset","grandparents","toResult","nodeAsParent","_sfc_main","defineComponent","__props","href","decorateExternal","externalLink","externalLink_decorated","style0","_sfc_render","_vm","_c","_sfc_staticRenderFns","__cssModules","_sfc_injectStyles","ctx","__component__","normalizeComponent","NcRichTextExternalLink","URL_PATTERN","URL_PATTERN_AUTOLINK","remarkAutolink","autolink","useMarkdown","useExtendedMarkdown","ancestors","ancestor","parsed","parseUrl","n","x","text","list","start","textAfter","textBefore","lastChar","joinedText","item","logger","getRoute","router","url","removePrefix","str","prefix","removePrefixes","prefixes","acc","isAbsoluteURL","isNonHttpLink","getBaseUrl","relativeUrl","relativeRouterBase","getRootUrl","potentialRouterPath","route","getEnabledContactsMenuActions","entry","action","base64map","crypt","b","i","bytes","words","hex","c","base64","triplet","j","imod4","cryptModule","charenc","charenc_1","isBuffer_1","obj","isBuffer","isSlowBuffer","require$$0","utf8","require$$1","require$$2","bin","md5","message","m","l","a","d","FF","GG","HH","II","aa","bb","cc","dd","s","t","md5Module","digestbytes","t3","Color","r","g","toHex","int","calculateStepIncrement","steps","color1","color2","mixPalette","palette","increment","COLOR_RED","COLOR_YELLOW","COLOR_BLUE","COLOR_BLACK","COLOR_WHITE","defaultPalette","generatePalette","palette1","palette2","palette3","usernameToColor","username","hash","finalPalette","hashToInt","hash2","maximum","finalInt","getAvatarUrl","user","size","guestUrl","themeUrl","generateUrl","awayLegacySvg","awaySvg","busySvg","dndLegacySvg","dndSvg","invisibleLegacySvg","invisibleSvg","onlineLegacySvg","onlineSvg","t54","t11","getUserStatusText","status","matchSvg","isLegacy32","getCapabilities","data","axios","generateOcsUrl","NcUserStatusIcon","ActionTextMixin","NcActionLink","$event","NcActionRouter","NcActionText","t10","userStatus","userId","capabilities","getCurrentUser","error","icon","browserStorage","getBuilder","SMALL_VARIANT_UPSCALE","density","getUserHasAvatar","flag","setUserHasAvatar","DotsHorizontalIcon","NcActions","NcButton","NcIconSvgWrapper","NcLoadingIcon","NcPopover","defineAsyncComponent","isLegacy35","initials","filteredChars","filtered","actions","NcActionButton","escape","p","emojiIcon","shown","subscribe","unsubscribe","avatarUrl","srcset","userHasAvatar","img","attrs","NcAvatar"],"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],"sources":["../node_modules/@nextcloud/vue/dist/Composables/useIsFullscreen.mjs","../node_modules/striptags/src/striptags.js","../node_modules/@nextcloud/vue/dist/Functions/isDarkTheme.mjs","../node_modules/@nextcloud/vue/dist/chunks/constants-wIEKSp2G.mjs","../node_modules/@nextcloud/vue/dist/Composables/useIsDarkTheme.mjs","../node_modules/@vueuse/components/index.mjs","../node_modules/debounce/index.js","../node_modules/unist-builder/lib/index.js","../node_modules/unist-util-is/lib/index.js","../node_modules/unist-util-visit-parents/lib/index.js","../node_modules/@nextcloud/vue/dist/chunks/autolink-BoBR7PZC.mjs","../node_modules/@nextcloud/vue/dist/Functions/contactsMenu.mjs","../node_modules/crypt/crypt.js","../node_modules/charenc/charenc.js","../node_modules/is-buffer/index.js","../node_modules/md5/md5.js","../node_modules/@nextcloud/vue/dist/chunks/colors-CF9oiOgn.mjs","../node_modules/@nextcloud/vue/dist/Functions/usernameToColor.mjs","../node_modules/@nextcloud/vue/dist/chunks/getAvatarUrl-BGOeDmNO.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcUserStatusIcon-BfRlUhT_.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/NcAvatar-BbHwxwyd.mjs"],"sourcesContent":["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","'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 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","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 = /* @__PURE__ */ Symbol.for(\"nc:theme:enforced\");\nexport {\n INJECTION_KEY_THEME as I\n};\n//# sourceMappingURL=constants-wIEKSp2G.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-wIEKSp2G.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","import { 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 { defineComponent, ref, h, watch, computed, reactive, getCurrentInstance, onMounted, isVue2, watchEffect, shallowRef, nextTick, toRefs } from 'vue-demi';\nimport { isClient, toValue, noop, isObject, tryOnScopeDispose, isIOS, directiveHooks, pausableWatch, tryOnMounted, toRef, useToggle, notNullish, promiseTimeout, until, useDebounceFn, useThrottleFn, tryOnUnmounted } 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\nconst defaultWindow = isClient ? window : void 0;\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\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 toValue(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 function hasMultipleRoots(target2) {\n const vm = toValue(target2);\n return vm && vm.$.subTree.shapeFlag === 16;\n }\n function checkMultipleRoots(target2, event) {\n const vm = toValue(target2);\n const children = vm.$.subTree && vm.$.subTree.children;\n if (children == null || !Array.isArray(children))\n return false;\n return children.some((child) => child.el === event.target || event.composedPath().includes(child.el));\n }\n const listener = (event) => {\n const el = unrefElement(target);\n if (event.target == null)\n return;\n if (!(el instanceof Element) && hasMultipleRoots(target) && checkMultipleRoots(target, event))\n return;\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 let isProcessingClick = false;\n const cleanup = [\n useEventListener(window, \"click\", (event) => {\n if (!isProcessingClick) {\n isProcessingClick = true;\n setTimeout(() => {\n isProcessingClick = false;\n }, 0);\n listener(event);\n }\n }, { 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 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\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\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 \"containerElement\"\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 containerElement = computed(() => {\n var _a;\n return (_a = props.containerElement) != null ? _a : void 0;\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 containerElement\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\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\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 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 const stop = watch(\n () => [state.arrivedState[direction], isElementVisible.value],\n checkAndLoad,\n { immediate: true }\n );\n tryOnUnmounted(stop);\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","function debounce(function_, wait = 100, options = {}) {\n\tif (typeof function_ !== 'function') {\n\t\tthrow new TypeError(`Expected the first parameter to be a function, got \\`${typeof function_}\\`.`);\n\t}\n\n\tif (wait < 0) {\n\t\tthrow new RangeError('`wait` must not be negative.');\n\t}\n\n\t// TODO: Deprecate the boolean parameter at some point.\n\tconst {immediate} = typeof options === 'boolean' ? {immediate: options} : options;\n\n\tlet storedContext;\n\tlet storedArguments;\n\tlet timeoutId;\n\tlet timestamp;\n\tlet result;\n\n\tfunction run() {\n\t\tconst callContext = storedContext;\n\t\tconst callArguments = storedArguments;\n\t\tstoredContext = undefined;\n\t\tstoredArguments = undefined;\n\t\tresult = function_.apply(callContext, callArguments);\n\t\treturn result;\n\t}\n\n\tfunction later() {\n\t\tconst last = Date.now() - timestamp;\n\n\t\tif (last < wait && last >= 0) {\n\t\t\ttimeoutId = setTimeout(later, wait - last);\n\t\t} else {\n\t\t\ttimeoutId = undefined;\n\n\t\t\tif (!immediate) {\n\t\t\t\tresult = run();\n\t\t\t}\n\t\t}\n\t}\n\n\tconst debounced = function (...arguments_) {\n\t\tif (\n\t\t\tstoredContext\n\t\t\t&& this !== storedContext\n\t\t\t&& Object.getPrototypeOf(this) === Object.getPrototypeOf(storedContext)\n\t\t) {\n\t\t\tthrow new Error('Debounced method called with different contexts of the same prototype.');\n\t\t}\n\n\t\tstoredContext = this; // eslint-disable-line unicorn/no-this-assignment\n\t\tstoredArguments = arguments_;\n\t\ttimestamp = Date.now();\n\n\t\tconst callNow = immediate && !timeoutId;\n\n\t\tif (!timeoutId) {\n\t\t\ttimeoutId = setTimeout(later, wait);\n\t\t}\n\n\t\tif (callNow) {\n\t\t\tresult = run();\n\t\t}\n\n\t\treturn result;\n\t};\n\n\tObject.defineProperty(debounced, 'isPending', {\n\t\tget() {\n\t\t\treturn timeoutId !== undefined;\n\t\t},\n\t});\n\n\tdebounced.clear = () => {\n\t\tif (!timeoutId) {\n\t\t\treturn;\n\t\t}\n\n\t\tclearTimeout(timeoutId);\n\t\ttimeoutId = undefined;\n\t};\n\n\tdebounced.flush = () => {\n\t\tif (!timeoutId) {\n\t\t\treturn;\n\t\t}\n\n\t\tdebounced.trigger();\n\t};\n\n\tdebounced.trigger = () => {\n\t\tresult = run();\n\n\t\tdebounced.clear();\n\t};\n\n\treturn debounced;\n}\n\n// Adds compatibility for ES modules\nmodule.exports.debounce = debounce;\n\nmodule.exports = debounce;\n","/**\n * @typedef {import('unist').Node} Node\n */\n\n/**\n * @typedef {Array | string} ChildrenOrValue\n * List to use as `children` or value to use as `value`.\n *\n * @typedef {Record} Props\n * Other fields to add to the node.\n */\n\n/**\n * Build a node.\n *\n * @template {string} T\n * @template {Props} P\n * @template {Array} C\n *\n * @overload\n * @param {T} type\n * @returns {{type: T}}\n *\n * @overload\n * @param {T} type\n * @param {P} props\n * @returns {{type: T} & P}\n *\n * @overload\n * @param {T} type\n * @param {string} value\n * @returns {{type: T, value: string}}\n *\n * @overload\n * @param {T} type\n * @param {P} props\n * @param {string} value\n * @returns {{type: T, value: string} & P}\n *\n * @overload\n * @param {T} type\n * @param {C} children\n * @returns {{type: T, children: C}}\n *\n * @overload\n * @param {T} type\n * @param {P} props\n * @param {C} children\n * @returns {{type: T, children: C} & P}\n *\n * @param {string} type\n * Node type.\n * @param {ChildrenOrValue | Props | null | undefined} [props]\n * Fields assigned to node (default: `undefined`).\n * @param {ChildrenOrValue | null | undefined} [value]\n * Children of node or value of `node` (cast to string).\n * @returns {Node}\n * Built node.\n */\nexport function u(type, props, value) {\n /** @type {Node} */\n const node = {type: String(type)}\n\n if (\n (value === undefined || value === null) &&\n (typeof props === 'string' || Array.isArray(props))\n ) {\n value = props\n } else {\n Object.assign(node, props)\n }\n\n if (Array.isArray(value)) {\n // @ts-expect-error: create a parent.\n node.children = value\n } else if (value !== undefined && value !== null) {\n // @ts-expect-error: create a literal.\n node.value = String(value)\n }\n\n return node\n}\n","/**\n * @import {Node, Parent} from 'unist'\n */\n\n/**\n * @template Fn\n * @template Fallback\n * @typedef {Fn extends (value: any) => value is infer Thing ? Thing : Fallback} Predicate\n */\n\n/**\n * @callback Check\n * Check that an arbitrary value is a node.\n * @param {unknown} this\n * The given context.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean}\n * Whether this is a node and passes a test.\n *\n * @typedef {Record | Node} Props\n * Object to check for equivalence.\n *\n * Note: `Node` is included as it is common but is not indexable.\n *\n * @typedef {Array | ReadonlyArray | Props | TestFunction | string | null | undefined} Test\n * Check for an arbitrary node.\n *\n * @callback TestFunction\n * Check if a node passes a test.\n * @param {unknown} this\n * The given context.\n * @param {Node} node\n * A node.\n * @param {number | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | undefined} [parent]\n * The node’s parent.\n * @returns {boolean | undefined | void}\n * Whether this node passes the test.\n *\n * Note: `void` is included until TS sees no return as `undefined`.\n */\n\n/**\n * Check if `node` is a `Node` and whether it passes the given test.\n *\n * @param {unknown} node\n * Thing to check, typically `Node`.\n * @param {Test} test\n * A check for a specific node.\n * @param {number | null | undefined} index\n * The node’s position in its parent.\n * @param {Parent | null | undefined} parent\n * The node’s parent.\n * @param {unknown} context\n * Context object (`this`) to pass to `test` functions.\n * @returns {boolean}\n * Whether `node` is a node and passes a test.\n */\nexport const is =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * (>(node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition[number]}) &\n * (>(node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition[number]}) &\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((node?: null | undefined) => false) &\n * ((node: unknown, test?: null | undefined, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((node: unknown, test?: Test, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [node]\n * @param {Test} [test]\n * @param {number | null | undefined} [index]\n * @param {Parent | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function (node, test, index, parent, context) {\n const check = convert(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!is(parent) || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n return looksLikeANode(node)\n ? check.call(context, node, index, parent)\n : false\n }\n )\n\n/**\n * Generate an assertion from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * a `node`, `index`, and `parent`.\n *\n * @param {Test} test\n * * when nullish, checks if `node` is a `Node`.\n * * when `string`, works like passing `(node) => node.type === test`.\n * * when `function` checks if function passed the node is true.\n * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * * when `array`, checks if any one of the subtests pass.\n * @returns {Check}\n * An assertion.\n */\nexport const convert =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((test?: Test) => Check)\n * )}\n */\n (\n /**\n * @param {Test} [test]\n * @returns {Check}\n */\n function (test) {\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n if (typeof test === 'object') {\n return Array.isArray(test)\n ? anyFactory(test)\n : // Cast because `ReadonlyArray` goes into the above but `isArray`\n // narrows to `Array`.\n propertiesFactory(/** @type {Props} */ (test))\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n throw new Error('Expected function, string, or object as test')\n }\n )\n\n/**\n * @param {Array} tests\n * @returns {Check}\n */\nfunction anyFactory(tests) {\n /** @type {Array} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @type {TestFunction}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].apply(this, parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Turn an object into a test for a node with a certain fields.\n *\n * @param {Props} check\n * @returns {Check}\n */\nfunction propertiesFactory(check) {\n const checkAsRecord = /** @type {Record} */ (check)\n\n return castFactory(all)\n\n /**\n * @param {Node} node\n * @returns {boolean}\n */\n function all(node) {\n const nodeAsRecord = /** @type {Record} */ (\n /** @type {unknown} */ (node)\n )\n\n /** @type {string} */\n let key\n\n for (key in check) {\n if (nodeAsRecord[key] !== checkAsRecord[key]) return false\n }\n\n return true\n }\n}\n\n/**\n * Turn a string into a test for a node with a certain type.\n *\n * @param {string} check\n * @returns {Check}\n */\nfunction typeFactory(check) {\n return castFactory(type)\n\n /**\n * @param {Node} node\n */\n function type(node) {\n return node && node.type === check\n }\n}\n\n/**\n * Turn a custom test into a test for a node that passes that test.\n *\n * @param {TestFunction} testFunction\n * @returns {Check}\n */\nfunction castFactory(testFunction) {\n return check\n\n /**\n * @this {unknown}\n * @type {Check}\n */\n function check(value, index, parent) {\n return Boolean(\n looksLikeANode(value) &&\n testFunction.call(\n this,\n value,\n typeof index === 'number' ? index : undefined,\n parent || undefined\n )\n )\n }\n}\n\nfunction ok() {\n return true\n}\n\n/**\n * @param {unknown} value\n * @returns {value is Node}\n */\nfunction looksLikeANode(value) {\n return value !== null && typeof value === 'object' && 'type' in value\n}\n","/**\n * @import {Node as UnistNode, Parent as UnistParent} from 'unist'\n */\n\n/**\n * @typedef {Exclude | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate extends Value\n * ? Predicate\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends ReadonlyArray\n * ? MatchesOne\n * : Check extends Array\n * ? MatchesOne\n * : MatchesOne\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint\n * Number; capped reasonably.\n */\n\n/**\n * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment\n * Increment a number in the type system.\n * @template {Uint} [I=0]\n * Index.\n */\n\n/**\n * @typedef {(\n * Node extends UnistParent\n * ? Node extends {children: Array}\n * ? Child extends Children ? Node : never\n * : never\n * : never\n * )} InternalParent\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {InternalParent, Child>} Parent\n * Collect nodes in `Tree` that can be parents of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Depth extends Max\n * ? never\n * :\n * | InternalParent\n * | InternalAncestor, Max, Increment>\n * )} InternalAncestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {InternalAncestor, Child>} Ancestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Tree extends UnistParent\n * ? Depth extends Max\n * ? Tree\n * : Tree | InclusiveDescendant>\n * : Tree\n * )} InclusiveDescendant\n * Collect all (inclusive) descendants of `Tree`.\n *\n * > 👉 **Note**: for performance reasons, this seems to be the fastest way to\n * > recurse without actually running into an infinite loop, which the\n * > previous version did.\n * >\n * > Practically, a max of `2` is typically enough assuming a `Root` is\n * > passed, but it doesn’t improve performance.\n * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.\n * > Using up to `10` doesn’t hurt or help either.\n * @template {UnistNode} Tree\n * Tree type.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {'skip' | boolean} Action\n * Union of the action types.\n *\n * @typedef {number} Index\n * Move to the sibling at `index` next (after node itself is completely\n * traversed).\n *\n * Useful if mutating the tree, such as removing the node the visitor is\n * currently on, or any of its previous siblings.\n * Results less than 0 or greater than or equal to `children.length` stop\n * traversing the parent.\n *\n * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple\n * List with one or two values, the first an action, the second an index.\n *\n * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult\n * Any value that can be returned from a visitor.\n */\n\n/**\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform the parent of node (the last of `ancestors`).\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of an ancestor still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Array} ancestors\n * Ancestors of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n * @template {UnistNode} [Visited=UnistNode]\n * Visited node type.\n * @template {UnistParent} [VisitedParents=UnistParent]\n * Ancestor type.\n */\n\n/**\n * @typedef {Visitor, Check>, Ancestor, Check>>>} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parents`.\n * @template {UnistNode} [Tree=UnistNode]\n * Tree type.\n * @template {Test} [Check=Test]\n * Test type.\n */\n\nimport {convert} from 'unist-util-is'\nimport {color} from 'unist-util-visit-parents/do-not-use-color'\n\n/** @type {Readonly} */\nconst empty = []\n\n/**\n * Continue traversing as normal.\n */\nexport const CONTINUE = true\n\n/**\n * Stop traversing immediately.\n */\nexport const EXIT = false\n\n/**\n * Do not traverse this node’s children.\n */\nexport const SKIP = 'skip'\n\n/**\n * Visit nodes, with ancestral information.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @overload\n * @param {Tree} tree\n * @param {Check} check\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @overload\n * @param {Tree} tree\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @param {UnistNode} tree\n * Tree to traverse.\n * @param {Visitor | Test} test\n * `unist-util-is`-compatible test\n * @param {Visitor | boolean | null | undefined} [visitor]\n * Handle each node.\n * @param {boolean | null | undefined} [reverse]\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns {undefined}\n * Nothing.\n *\n * @template {UnistNode} Tree\n * Node type.\n * @template {Test} Check\n * `unist-util-is`-compatible test.\n */\nexport function visitParents(tree, test, visitor, reverse) {\n /** @type {Test} */\n let check\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n // @ts-expect-error no visitor given, so `visitor` is test.\n visitor = test\n } else {\n // @ts-expect-error visitor given, so `test` isn’t a visitor.\n check = test\n }\n\n const is = convert(check)\n const step = reverse ? -1 : 1\n\n factory(tree, undefined, [])()\n\n /**\n * @param {UnistNode} node\n * @param {number | undefined} index\n * @param {Array} parents\n */\n function factory(node, index, parents) {\n const value = /** @type {Record} */ (\n node && typeof node === 'object' ? node : {}\n )\n\n if (typeof value.type === 'string') {\n const name =\n // `hast`\n typeof value.tagName === 'string'\n ? value.tagName\n : // `xast`\n typeof value.name === 'string'\n ? value.name\n : undefined\n\n Object.defineProperty(visit, 'name', {\n value:\n 'node (' + color(node.type + (name ? '<' + name + '>' : '')) + ')'\n })\n }\n\n return visit\n\n function visit() {\n /** @type {Readonly} */\n let result = empty\n /** @type {Readonly} */\n let subresult\n /** @type {number} */\n let offset\n /** @type {Array} */\n let grandparents\n\n if (!test || is(node, index, parents[parents.length - 1] || undefined)) {\n // @ts-expect-error: `visitor` is now a visitor.\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if ('children' in node && node.children) {\n const nodeAsParent = /** @type {UnistParent} */ (node)\n\n if (nodeAsParent.children && result[0] !== SKIP) {\n offset = (reverse ? nodeAsParent.children.length : -1) + step\n grandparents = parents.concat(nodeAsParent)\n\n while (offset > -1 && offset < nodeAsParent.children.length) {\n const child = nodeAsParent.children[offset]\n\n subresult = factory(child, offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n }\n\n return result\n }\n }\n}\n\n/**\n * Turn a return value into a clean result.\n *\n * @param {VisitorResult} value\n * Valid return values from visitors.\n * @returns {Readonly}\n * Clean result.\n */\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return value === null || value === undefined ? empty : [value]\n}\n","import '../assets/autolink-oZo-1y2n.css';\nimport { getBaseUrl, getRootUrl } from \"@nextcloud/router\";\nimport { u } from \"unist-builder\";\nimport { visitParents, SKIP } from \"unist-util-visit-parents\";\nimport { defineComponent } from \"vue\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcRichTextExternalLink\",\n props: {\n href: null,\n decorateExternal: { type: Boolean }\n },\n setup(__props) {\n const { href, decorateExternal = false } = __props;\n return { __sfc: true };\n }\n});\nconst externalLink = \"_externalLink_aFEAG\";\nconst externalLink_decorated = \"_externalLink_decorated_D-MKg\";\nconst style0 = {\n \"material-design-icon\": \"_material-design-icon_GNzpp\",\n externalLink,\n externalLink_decorated\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"a\", { class: [_vm.$style.externalLink, {\n [_vm.$style.externalLink_decorated]: _vm.decorateExternal\n }], attrs: { \"href\": _vm.href, \"rel\": \"noopener noreferrer\", \"target\": \"_blank\" } }, [_vm._t(\"default\", function() {\n return [_vm._v(_vm._s(_vm.href))];\n })], 2);\n};\nvar _sfc_staticRenderFns = [];\nconst __cssModules = {\n \"$style\": style0\n};\nfunction _sfc_injectStyles(ctx) {\n for (var key in __cssModules) {\n this[key] = __cssModules[key];\n }\n}\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n _sfc_injectStyles,\n null\n);\nconst NcRichTextExternalLink = __component__.exports;\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;\nfunction remarkAutolink({ autolink, useMarkdown, useExtendedMarkdown }) {\n return function(tree) {\n if (useExtendedMarkdown || !useMarkdown || !autolink) {\n return;\n }\n visitParents(tree, (node) => node.type === \"text\", (node, ancestors) => {\n if (ancestors.some((ancestor) => ancestor.type === \"link\" || ancestor.type === \"linkReference\")) {\n return;\n }\n const parent = ancestors.at(-1);\n const index = parent.children.indexOf(node) ?? 0;\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}\nfunction 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: NcRichTextExternalLink, props: { href: href.trim(), decorateExternal: true } });\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 logger.error(\"Failed to reassemble the chunked text: \" + text);\n return text;\n}\nfunction 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 NcRichTextExternalLink as N,\n URL_PATTERN as U,\n getRoute as g,\n parseUrl as p,\n remarkAutolink as r\n};\n//# sourceMappingURL=autolink-BoBR7PZC.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","(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 \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 { r as register, t as t3, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nregister(t3);\nclass Color {\n /**\n * @param r - The red value\n * @param g - The green value\n * @param b - The blue value\n * @param name - The name of the color\n */\n constructor(r, g, b, name) {\n this.r = r;\n this.g = g;\n this.b = b;\n this.name = name;\n this.r = Math.min(r, 255);\n this.g = Math.min(g, 255);\n this.b = Math.min(b, 255);\n this.name = name;\n }\n r;\n g;\n b;\n name;\n /**\n * The hexadecimal color string.\n */\n get color() {\n const toHex = (int) => `00${int.toString(16)}`.slice(-2);\n return `#${toHex(this.r)}${toHex(this.g)}${toHex(this.b)}`;\n }\n}\nfunction calculateStepIncrement(steps, color1, color2) {\n return {\n r: (color2.r - color1.r) / steps,\n g: (color2.g - color1.g) / steps,\n b: (color2.b - color1.b) / steps\n };\n}\nfunction mixPalette(steps, color1, color2) {\n const palette = [];\n palette.push(color1);\n const increment = calculateStepIncrement(steps, color1, color2);\n for (let i = 1; i < steps; i++) {\n const r = Math.floor(color1.r + increment.r * i);\n const g = Math.floor(color1.g + increment.g * i);\n const b = Math.floor(color1.b + increment.b * i);\n palette.push(new Color(r, g, b));\n }\n return palette;\n}\nconst COLOR_RED = new Color(182, 70, 157, t(\"Purple\"));\nconst COLOR_YELLOW = new Color(221, 203, 85, t(\"Gold\"));\nconst COLOR_BLUE = new Color(0, 130, 201, t(\"Nextcloud blue\"));\nconst COLOR_BLACK = new Color(0, 0, 0, t(\"Black\"));\nconst COLOR_WHITE = new Color(255, 255, 255, t(\"White\"));\nconst defaultPalette = [\n COLOR_RED,\n new Color(\n ...[191, 103, 139],\n t(\"Rosy brown\")\n // TRANSLATORS: A color name for RGB(191, 103, 139)\n ),\n new Color(\n ...[201, 136, 121],\n t(\"Feldspar\")\n // TRANSLATORS: A color name for RGB(201, 136, 121)\n ),\n new Color(\n ...[211, 169, 103],\n t(\"Whiskey\")\n // TRANSLATORS: A color name for RGB(211, 169, 103)\n ),\n COLOR_YELLOW,\n new Color(\n ...[165, 184, 114],\n t(\"Olivine\")\n // TRANSLATORS: A color name for RGB(165, 184, 114)\n ),\n new Color(\n ...[110, 166, 143],\n t(\"Acapulco\")\n // TRANSLATORS: A color name for RGB(110, 166, 143)\n ),\n new Color(\n ...[55, 148, 172],\n t(\"Boston Blue\")\n // TRANSLATORS: A color name for RGB(55, 148, 172)\n ),\n COLOR_BLUE,\n new Color(\n ...[45, 115, 190],\n t(\"Mariner\")\n // TRANSLATORS: A color name for RGB(45, 115, 190)\n ),\n new Color(\n ...[91, 100, 179],\n t(\"Blue Violet\")\n // TRANSLATORS: A color name for RGB(91, 100, 179)\n ),\n new Color(\n ...[136, 85, 168],\n t(\"Deluge\")\n // TRANSLATORS: A color name for RGB(136, 85, 168)\n )\n];\nfunction generatePalette(steps) {\n const palette1 = mixPalette(steps, COLOR_RED, COLOR_YELLOW);\n const palette2 = mixPalette(steps, COLOR_YELLOW, COLOR_BLUE);\n const palette3 = mixPalette(steps, COLOR_BLUE, COLOR_RED);\n return palette1.concat(palette2).concat(palette3);\n}\nexport {\n Color as C,\n COLOR_BLACK as a,\n COLOR_WHITE as b,\n defaultPalette as d,\n generatePalette as g\n};\n//# sourceMappingURL=colors-CF9oiOgn.mjs.map\n","import md5 from \"md5\";\nimport { g as generatePalette } from \"../chunks/colors-CF9oiOgn.mjs\";\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 = generatePalette(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 { 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}?guestFallback=true`, {\n user,\n size\n });\n}\nexport {\n getAvatarUrl as g\n};\n//# sourceMappingURL=getAvatarUrl-BGOeDmNO.mjs.map\n","import '../assets/NcUserStatusIcon-Bw8yMFMP.css';\nimport axios from \"@nextcloud/axios\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { r as register, Y as t54, Z as t11, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nimport { a as isLegacy32 } from \"./legacy-Cy3dCXuB.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst awayLegacySvg = '\\n\\n\t \\n\t \\n \\n';\nconst awaySvg = '\\n\\n\t \\n \\n';\nconst busySvg = '\\n\\n\t \\n \\n';\nconst dndLegacySvg = '\\n\\n\t \\n\t \\n\t \\n \\n';\nconst dndSvg = '\\n\\n\t \\n \\n';\nconst invisibleLegacySvg = '\\n\\n\t \\n\t \\n \\n';\nconst invisibleSvg = '\\n\\n\t \\n \\n';\nconst onlineLegacySvg = '\\n\\n\t \\n \\n';\nconst onlineSvg = '\\n\\n\t \\n \\n';\nregister(t54);\nregister(t11);\nfunction 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}\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) {\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 {\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 \"86b73d39\"\n);\nconst NcUserStatusIcon = __component__.exports;\nexport {\n NcUserStatusIcon as N,\n getUserStatusText as g\n};\n//# sourceMappingURL=NcUserStatusIcon-BfRlUhT_.mjs.map\n","import '../assets/NcActionLink-Ctdzbsqp.css';\nimport { A as ActionTextMixin } from \"../chunks/actionText-BMig9Egt.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 required: true,\n validator: (value) => {\n try {\n return new URL(value);\n } catch {\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 // eslint-disable-next-line vue/no-boolean-default\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 \"b7a160c7\"\n);\nconst NcActionLink = __component__.exports;\nexport {\n NcActionLink as default\n};\n//# sourceMappingURL=NcActionLink.mjs.map\n","import '../assets/NcActionRouter-BxuJz83W.css';\nimport { A as ActionTextMixin } from \"../chunks/actionText-BMig9Egt.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 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 \"4dae1ff7\"\n);\nconst NcActionRouter = __component__.exports;\nexport {\n NcActionRouter as default\n};\n//# sourceMappingURL=NcActionRouter.mjs.map\n","import '../assets/NcActionText-bWmZcFoT.css';\nimport { A as ActionTextMixin } from \"../chunks/actionText-BMig9Egt.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 \"2fe7eb92\"\n);\nconst NcActionText = __component__.exports;\nexport {\n NcActionText as default\n};\n//# sourceMappingURL=NcActionText.mjs.map\n","import '../assets/NcMentionBubble-CaztX9Pv.css';\nimport '../assets/NcAvatar-CNtcH8yS.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 debounce from \"debounce\";\nimport { defineAsyncComponent } from \"vue\";\nimport { N as NcActions, D as DotsHorizontalIcon } from \"./NcActions-C4f9MXug.mjs\";\nimport { g as getRoute } from \"./autolink-BoBR7PZC.mjs\";\nimport { useIsDarkTheme } from \"../Composables/useIsDarkTheme.mjs\";\nimport { getEnabledContactsMenuActions } from \"../Functions/contactsMenu.mjs\";\nimport { usernameToColor } from \"../Functions/usernameToColor.mjs\";\nimport { r as register, u as t10, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nimport \"../Composables/useIsFullscreen.mjs\";\nimport \"../Composables/useIsMobile.mjs\";\nimport \"escape-html\";\nimport \"striptags\";\nimport { g as getAvatarUrl } from \"./getAvatarUrl-BGOeDmNO.mjs\";\n/* empty css */\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { b as isLegacy35 } from \"./legacy-Cy3dCXuB.mjs\";\nimport { N as NcUserStatusIcon, g as getUserStatusText } from \"./NcUserStatusIcon-BfRlUhT_.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-DJ-fERS3.mjs\";\nimport NcActionLink from \"../Components/NcActionLink.mjs\";\nimport NcActionRouter from \"../Components/NcActionRouter.mjs\";\nimport NcActionText from \"../Components/NcActionText.mjs\";\nimport { N as NcButton } from \"./NcButton-DAGirW_B.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Bui9PhAS.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport { N as NcPopover } from \"./NcPopover-BCDLqFHH.mjs\";\nregister(t10);\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}\n */\n async fetchUserStatus(userId) {\n if (!userId) {\n return;\n }\n const capabilities = getCapabilities();\n if (!Object.hasOwn(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 this.setUserStatus(data.ocs.data);\n } catch (error) {\n if (error.response.status === 404 && error.response.data.ocs?.data?.length === 0) {\n return;\n }\n logger.error(\"Could not fetch user status\", { error });\n }\n },\n /**\n * Sets the user status\n *\n * @param {string} status user's status\n * @param {string} message user's message\n * @param {string} icon user's icon\n */\n setUserStatus({ status, message, icon }) {\n this.userStatus.status = status || \"\";\n this.userStatus.message = message || \"\";\n this.userStatus.icon = icon || \"\";\n this.hasStatus = !!status;\n }\n }\n};\nconst browserStorage = getBuilder(\"nextcloud\").persist().build();\nconst SMALL_VARIANT_UPSCALE = 1.5;\nfunction density(value) {\n return Number(value.toFixed(3));\n}\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 NcPopover,\n NcProfileHoverCard: defineAsyncComponent(() => import(\"./NcProfileHoverCard-nmkKoCB1.mjs\")),\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 *\n * @deprecated - Use `hideStatus` instead. Will be removed with v9.\n */\n showUserStatus: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\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 *\n * @deprecated - Use `verboseStatus` instead. Will be removed with v9.\n */\n showUserStatusCompact: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\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 *\n * @deprecated - Use `noPlaceholder` instead. Will be removed in v9.\n */\n allowPlaceholder: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\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: [Boolean, String, Object, Element],\n default: \"body\"\n }\n },\n setup() {\n const isDarkTheme = useIsDarkTheme();\n return {\n isDarkTheme,\n isLegacy35\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.isLegacy35) {\n if (this.isMenuLoaded) {\n return this.menu.length > 0;\n }\n return !(this.user === getCurrentUser()?.uid || this.userDoesNotExist || this.url);\n }\n return Boolean(this.user) && !this.isNoUser && !this.url && !this.userDoesNotExist;\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.$scopedSlots.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) {\n return initials;\n }\n const filtered = filteredChars.join(\"\").trim();\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 /**\n * Contacts menu actions for the hover card.\n * `null` until actions are loaded so the card can fall back to profile API actions.\n *\n * @return {Array|null}\n */\n hoverCardActions() {\n if (this.isLegacy35 || !this.isMenuLoaded) {\n return null;\n }\n return this.menu.length > 0 ? this.menu : null;\n },\n /**\n * Best available display name for the hover card (prop or contacts menu).\n *\n * @return {string|undefined}\n */\n hoverCardDisplayName() {\n return this.displayName || this.contactsMenuData?.fullName || void 0;\n },\n /**\n * Status already known by this avatar so the hover card does not fetch it again.\n * Omitted while status is still the empty default (fetch in progress).\n *\n * @return {object|undefined}\n */\n hoverCardPreloadedUserStatus() {\n if (this.preloadedUserStatus) {\n return this.userStatus;\n }\n if (this.userStatus.status || this.userStatus.icon || this.userStatus.message) {\n return this.userStatus;\n }\n return void 0;\n },\n menu() {\n if (this.isLegacy35) {\n return this.legacyMenu;\n }\n const actions = this.contactsMenuActions.map((item) => {\n const route = getRoute(this.$router, item.hyperlink);\n return {\n id: item.id,\n appId: item.appId,\n text: item.title,\n href: route ? void 0 : item.hyperlink,\n to: route || void 0,\n icon: item.icon\n };\n });\n for (const action of getEnabledContactsMenuActions(this.contactsMenuData)) {\n try {\n actions.push({\n id: action.id,\n text: action.displayName(this.contactsMenuData),\n iconSvg: action.iconSvg(this.contactsMenuData),\n onClick: () => action.callback(this.contactsMenuData)\n });\n } catch (error) {\n logger.error(`Failed to render ContactsMenu action ${action.id}`, {\n error,\n action\n });\n }\n }\n return actions;\n },\n /**\n * Legacy NcActions menu entries for Nextcloud 32–34.\n *\n * @return {Array}\n */\n legacyMenu() {\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 = `\n\t\t\t\t\t${escape(this.userStatus.icon)} \n\t\t\t\t `;\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 preloadedUserStatus(status) {\n if (status) {\n this.setUserStatus(status);\n }\n },\n contactsMenuOpenState(shown) {\n if (this.isLegacy35) {\n return;\n }\n if (shown) {\n this.debouncedFetchContactsMenu();\n } else {\n this.debouncedFetchContactsMenu.clear();\n }\n }\n },\n created() {\n this.debouncedFetchContactsMenu = debounce(this.fetchContactsMenu, 300);\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.setUserStatus(this.preloadedUserStatus);\n }\n subscribe(\"user_status:status.updated\", this.handleUserStatusUpdated);\n } else if (!this.hideStatus && this.preloadedUserStatus) {\n this.setUserStatus(this.preloadedUserStatus);\n }\n },\n beforeDestroy() {\n this.debouncedFetchContactsMenu.clear();\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 legacy popover menu on click or enter\n *\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 if (!this.isLegacy35) {\n return;\n }\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 {\n this.contactsMenuData = {};\n this.contactsMenuActions = [];\n if (this.isLegacy35) {\n this.contactsMenuOpenState = false;\n }\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 || this.$scopedSlots.icon)) {\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} ${density(64 * SMALL_VARIANT_UPSCALE / this.size)}x`,\n `${this.avatarUrlGenerator(this.user, 512)} ${density(512 / this.size)}x`\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 window.oc_userconfig !== \"undefined\") {\n avatarUrl += \"?v=\" + window.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 = (error) => {\n logger.debug(\"Invalid avatar url\", { error, 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-legacy-menu\": _vm.hasMenu && _vm.isLegacy35,\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.isLegacy35 && _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) }) : _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.hasMenu ? _c(\"NcPopover\", { staticClass: \"avatar-profile-popover\", attrs: { \"shown\": _vm.contactsMenuOpenState, \"container\": _vm.menuContainer, \"delay\": { show: 400, hide: 0 }, \"popper-triggers\": [\"hover\"], \"triggers\": [\"hover\", \"focus\", \"click\"], \"no-focus-trap\": \"\", \"popup-role\": \"dialog\" }, on: { \"update:shown\": function($event) {\n _vm.contactsMenuOpenState = $event;\n } }, scopedSlots: _vm._u([{ key: \"trigger\", fn: function({ attrs }) {\n return [_c(\"span\", _vm._b({ staticClass: \"avatar-profile-popover__trigger\", attrs: { \"role\": \"button\", \"tabindex\": \"0\", \"aria-label\": _vm.avatarAriaLabel } }, \"span\", attrs, false))];\n } }]) }, [_c(\"NcProfileHoverCard\", { attrs: { \"user\": _vm.user, \"displayName\": _vm.hoverCardDisplayName, \"open\": _vm.contactsMenuOpenState, \"actions\": _vm.hoverCardActions, \"actions-loading\": _vm.contactsMenuLoading, \"preloaded-user-status\": _vm.hoverCardPreloadedUserStatus } })], 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 \"9d57c0d3\"\n);\nconst NcAvatar = __component__.exports;\nexport {\n NcAvatar as N,\n userStatus as u\n};\n//# sourceMappingURL=NcAvatar-BbHwxwyd.mjs.map\n"],"file":"NcAvatar-BbHwxwyd-CJZWCZ0O.chunk.mjs"}
\ No newline at end of file
diff --git a/js/NcDateTime-enXYuwj8-CgQNgh_Q.chunk.mjs b/js/NcDateTime-enXYuwj8-CEp4UIuf.chunk.mjs
similarity index 88%
rename from js/NcDateTime-enXYuwj8-CgQNgh_Q.chunk.mjs
rename to js/NcDateTime-enXYuwj8-CEp4UIuf.chunk.mjs
index 424aa16040..122fe5e214 100644
--- a/js/NcDateTime-enXYuwj8-CgQNgh_Q.chunk.mjs
+++ b/js/NcDateTime-enXYuwj8-CEp4UIuf.chunk.mjs
@@ -1,2 +1,2 @@
-import{c as a,e as r}from"./preload-helper-B1hyiFAx.chunk.mjs";import{u as s,a as n}from"./useFormatDateTime-BO2tHI5p.chunk.mjs";import{n as l}from"./index-msNec4Xs.chunk.mjs";const p={name:"NcDateTime",props:{timestamp:{type:[Date,Number],required:!0},format:{type:Object,default:()=>({timeStyle:"medium",dateStyle:"short"})},relativeTime:{type:[Boolean,String],default:"long",validator:t=>t===!1||["long","short","narrow"].includes(t)},ignoreSeconds:{type:Boolean,default:!1}},setup(t){const e=a(()=>({format:t.format})),i=a(()=>({ignoreSeconds:t.ignoreSeconds,relativeTime:t.relativeTime||"long",update:t.relativeTime!==!1})),o=s(r(t,"timestamp"),e),m=n(r(t,"timestamp"),i);return{formattedTime:a(()=>t.relativeTime?m.value:o.value),title:o}}};var d=function(){var t=this,e=t._self._c;return e("span",{staticClass:"nc-datetime",attrs:{dir:"auto","data-timestamp":t.timestamp,title:t.title},domProps:{textContent:t._s(t.formattedTime)}})},u=[],c=l(p,d,u,!1,null,null);const g=c.exports;export{g as N};
-//# sourceMappingURL=NcDateTime-enXYuwj8-CgQNgh_Q.chunk.mjs.map
+import{c as a,e as r}from"./preload-helper-B1hyiFAx.chunk.mjs";import{u as s,a as n}from"./useFormatDateTime-yGVH7_h2.chunk.mjs";import{n as l}from"./index-msNec4Xs.chunk.mjs";const p={name:"NcDateTime",props:{timestamp:{type:[Date,Number],required:!0},format:{type:Object,default:()=>({timeStyle:"medium",dateStyle:"short"})},relativeTime:{type:[Boolean,String],default:"long",validator:t=>t===!1||["long","short","narrow"].includes(t)},ignoreSeconds:{type:Boolean,default:!1}},setup(t){const e=a(()=>({format:t.format})),i=a(()=>({ignoreSeconds:t.ignoreSeconds,relativeTime:t.relativeTime||"long",update:t.relativeTime!==!1})),o=s(r(t,"timestamp"),e),m=n(r(t,"timestamp"),i);return{formattedTime:a(()=>t.relativeTime?m.value:o.value),title:o}}};var d=function(){var t=this,e=t._self._c;return e("span",{staticClass:"nc-datetime",attrs:{dir:"auto","data-timestamp":t.timestamp,title:t.title},domProps:{textContent:t._s(t.formattedTime)}})},u=[],c=l(p,d,u,!1,null,null);const g=c.exports;export{g as N};
+//# sourceMappingURL=NcDateTime-enXYuwj8-CEp4UIuf.chunk.mjs.map
diff --git a/js/NcDateTime-enXYuwj8-CgQNgh_Q.chunk.mjs.license b/js/NcDateTime-enXYuwj8-CEp4UIuf.chunk.mjs.license
similarity index 100%
rename from js/NcDateTime-enXYuwj8-CgQNgh_Q.chunk.mjs.license
rename to js/NcDateTime-enXYuwj8-CEp4UIuf.chunk.mjs.license
diff --git a/js/NcDateTime-enXYuwj8-CgQNgh_Q.chunk.mjs.map b/js/NcDateTime-enXYuwj8-CEp4UIuf.chunk.mjs.map
similarity index 98%
rename from js/NcDateTime-enXYuwj8-CgQNgh_Q.chunk.mjs.map
rename to js/NcDateTime-enXYuwj8-CEp4UIuf.chunk.mjs.map
index bd4c505f29..2d0418ddbc 100644
--- a/js/NcDateTime-enXYuwj8-CgQNgh_Q.chunk.mjs.map
+++ b/js/NcDateTime-enXYuwj8-CEp4UIuf.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"NcDateTime-enXYuwj8-CgQNgh_Q.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcDateTime-enXYuwj8.mjs"],"sourcesContent":["import { computed, toRef } from \"vue\";\nimport { useFormatTime, useFormatRelativeTime } from \"../Composables/useFormatDateTime.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcDateTime\",\n props: {\n /**\n * The timestamp to display, either an unix timestamp (in milliseconds) or a Date object\n */\n timestamp: {\n type: [Date, Number],\n required: true\n },\n /**\n * The format used for displaying, or if relative time is used the format used for the title (optional)\n *\n * @type {Intl.DateTimeFormatOptions}\n */\n format: {\n type: Object,\n default: () => ({ timeStyle: \"medium\", dateStyle: \"short\" })\n },\n /**\n * Wether to display the timestamp as time from now (optional)\n *\n * - `false`: Disable relative time\n * - `'long'`: Long text, like *2 seconds ago* (default)\n * - `'short'`: Short text, like *2 sec. ago*\n * - `'narrow'`: Even shorter text (same as `'short'` on some languages)\n */\n relativeTime: {\n type: [Boolean, String],\n default: \"long\",\n validator: (v) => v === false || [\"long\", \"short\", \"narrow\"].includes(v)\n },\n /**\n * Ignore seconds when displaying the relative time and just show `a few seconds ago`\n */\n ignoreSeconds: {\n type: Boolean,\n default: false\n }\n },\n setup(props) {\n const timeOptions = computed(() => ({ format: props.format }));\n const relativeTimeOptions = computed(() => ({\n ignoreSeconds: props.ignoreSeconds,\n relativeTime: props.relativeTime || \"long\",\n update: props.relativeTime !== false\n }));\n const title = useFormatTime(toRef(props, \"timestamp\"), timeOptions);\n const relativeTime = useFormatRelativeTime(toRef(props, \"timestamp\"), relativeTimeOptions);\n const formattedTime = computed(() => props.relativeTime ? relativeTime.value : title.value);\n return {\n formattedTime,\n title\n };\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", { staticClass: \"nc-datetime\", attrs: { \"dir\": \"auto\", \"data-timestamp\": _vm.timestamp, \"title\": _vm.title }, domProps: { \"textContent\": _vm._s(_vm.formattedTime) } });\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 NcDateTime = __component__.exports;\nexport {\n NcDateTime as N\n};\n//# sourceMappingURL=NcDateTime-enXYuwj8.mjs.map\n"],"names":["_sfc_main","v","props","timeOptions","computed","relativeTimeOptions","title","useFormatTime","toRef","relativeTime","useFormatRelativeTime","_sfc_render","_vm","_c","_sfc_staticRenderFns","__component__","normalizeComponent","NcDateTime"],"mappings":"gLAGA,MAAMA,EAAY,CAChB,KAAM,aACN,MAAO,CAIL,UAAW,CACT,KAAM,CAAC,KAAM,MAAM,EACnB,SAAU,EAChB,EAMI,OAAQ,CACN,KAAM,OACN,QAAS,KAAO,CAAE,UAAW,SAAU,UAAW,OAAO,EAC/D,EASI,aAAc,CACZ,KAAM,CAAC,QAAS,MAAM,EACtB,QAAS,OACT,UAAYC,GAAMA,IAAM,IAAS,CAAC,OAAQ,QAAS,QAAQ,EAAE,SAASA,CAAC,CAC7E,EAII,cAAe,CACb,KAAM,QACN,QAAS,EACf,CACA,EACE,MAAMC,EAAO,CACX,MAAMC,EAAcC,EAAS,KAAO,CAAE,OAAQF,EAAM,MAAM,EAAG,EACvDG,EAAsBD,EAAS,KAAO,CAC1C,cAAeF,EAAM,cACrB,aAAcA,EAAM,cAAgB,OACpC,OAAQA,EAAM,eAAiB,EACrC,EAAM,EACII,EAAQC,EAAcC,EAAMN,EAAO,WAAW,EAAGC,CAAW,EAC5DM,EAAeC,EAAsBF,EAAMN,EAAO,WAAW,EAAGG,CAAmB,EAEzF,MAAO,CACL,cAFoBD,EAAS,IAAMF,EAAM,aAAeO,EAAa,MAAQH,EAAM,KAAK,EAGxF,MAAAA,CACN,CACE,CACF,EACA,IAAIK,EAAc,UAAkB,CAClC,IAAIC,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,OAAQ,CAAE,YAAa,cAAe,MAAO,CAAE,IAAO,OAAQ,iBAAkBD,EAAI,UAAW,MAASA,EAAI,OAAS,SAAU,CAAE,YAAeA,EAAI,GAAGA,EAAI,aAAa,CAAC,CAAE,CAAE,CACzL,EACIE,EAAuB,CAAA,EACvBC,EAAgCC,EAClChB,EACAW,EACAG,EACA,GACA,KACA,IACF,EACK,MAACG,EAAaF,EAAc","x_google_ignoreList":[0]}
\ No newline at end of file
+{"version":3,"file":"NcDateTime-enXYuwj8-CEp4UIuf.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcDateTime-enXYuwj8.mjs"],"sourcesContent":["import { computed, toRef } from \"vue\";\nimport { useFormatTime, useFormatRelativeTime } from \"../Composables/useFormatDateTime.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcDateTime\",\n props: {\n /**\n * The timestamp to display, either an unix timestamp (in milliseconds) or a Date object\n */\n timestamp: {\n type: [Date, Number],\n required: true\n },\n /**\n * The format used for displaying, or if relative time is used the format used for the title (optional)\n *\n * @type {Intl.DateTimeFormatOptions}\n */\n format: {\n type: Object,\n default: () => ({ timeStyle: \"medium\", dateStyle: \"short\" })\n },\n /**\n * Wether to display the timestamp as time from now (optional)\n *\n * - `false`: Disable relative time\n * - `'long'`: Long text, like *2 seconds ago* (default)\n * - `'short'`: Short text, like *2 sec. ago*\n * - `'narrow'`: Even shorter text (same as `'short'` on some languages)\n */\n relativeTime: {\n type: [Boolean, String],\n default: \"long\",\n validator: (v) => v === false || [\"long\", \"short\", \"narrow\"].includes(v)\n },\n /**\n * Ignore seconds when displaying the relative time and just show `a few seconds ago`\n */\n ignoreSeconds: {\n type: Boolean,\n default: false\n }\n },\n setup(props) {\n const timeOptions = computed(() => ({ format: props.format }));\n const relativeTimeOptions = computed(() => ({\n ignoreSeconds: props.ignoreSeconds,\n relativeTime: props.relativeTime || \"long\",\n update: props.relativeTime !== false\n }));\n const title = useFormatTime(toRef(props, \"timestamp\"), timeOptions);\n const relativeTime = useFormatRelativeTime(toRef(props, \"timestamp\"), relativeTimeOptions);\n const formattedTime = computed(() => props.relativeTime ? relativeTime.value : title.value);\n return {\n formattedTime,\n title\n };\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", { staticClass: \"nc-datetime\", attrs: { \"dir\": \"auto\", \"data-timestamp\": _vm.timestamp, \"title\": _vm.title }, domProps: { \"textContent\": _vm._s(_vm.formattedTime) } });\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 NcDateTime = __component__.exports;\nexport {\n NcDateTime as N\n};\n//# sourceMappingURL=NcDateTime-enXYuwj8.mjs.map\n"],"names":["_sfc_main","v","props","timeOptions","computed","relativeTimeOptions","title","useFormatTime","toRef","relativeTime","useFormatRelativeTime","_sfc_render","_vm","_c","_sfc_staticRenderFns","__component__","normalizeComponent","NcDateTime"],"mappings":"gLAGA,MAAMA,EAAY,CAChB,KAAM,aACN,MAAO,CAIL,UAAW,CACT,KAAM,CAAC,KAAM,MAAM,EACnB,SAAU,EAChB,EAMI,OAAQ,CACN,KAAM,OACN,QAAS,KAAO,CAAE,UAAW,SAAU,UAAW,OAAO,EAC/D,EASI,aAAc,CACZ,KAAM,CAAC,QAAS,MAAM,EACtB,QAAS,OACT,UAAYC,GAAMA,IAAM,IAAS,CAAC,OAAQ,QAAS,QAAQ,EAAE,SAASA,CAAC,CAC7E,EAII,cAAe,CACb,KAAM,QACN,QAAS,EACf,CACA,EACE,MAAMC,EAAO,CACX,MAAMC,EAAcC,EAAS,KAAO,CAAE,OAAQF,EAAM,MAAM,EAAG,EACvDG,EAAsBD,EAAS,KAAO,CAC1C,cAAeF,EAAM,cACrB,aAAcA,EAAM,cAAgB,OACpC,OAAQA,EAAM,eAAiB,EACrC,EAAM,EACII,EAAQC,EAAcC,EAAMN,EAAO,WAAW,EAAGC,CAAW,EAC5DM,EAAeC,EAAsBF,EAAMN,EAAO,WAAW,EAAGG,CAAmB,EAEzF,MAAO,CACL,cAFoBD,EAAS,IAAMF,EAAM,aAAeO,EAAa,MAAQH,EAAM,KAAK,EAGxF,MAAAA,CACN,CACE,CACF,EACA,IAAIK,EAAc,UAAkB,CAClC,IAAIC,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,OAAQ,CAAE,YAAa,cAAe,MAAO,CAAE,IAAO,OAAQ,iBAAkBD,EAAI,UAAW,MAASA,EAAI,OAAS,SAAU,CAAE,YAAeA,EAAI,GAAGA,EAAI,aAAa,CAAC,CAAE,CAAE,CACzL,EACIE,EAAuB,CAAA,EACvBC,EAAgCC,EAClChB,EACAW,EACAG,EACA,GACA,KACA,IACF,EACK,MAACG,EAAaF,EAAc","x_google_ignoreList":[0]}
\ No newline at end of file
diff --git a/js/NcDateTimePicker-Bg7orwJW.chunk.mjs b/js/NcDateTimePicker-RSLBAkGn.chunk.mjs
similarity index 99%
rename from js/NcDateTimePicker-Bg7orwJW.chunk.mjs
rename to js/NcDateTimePicker-RSLBAkGn.chunk.mjs
index a15feb2cd2..5b242453cc 100644
--- a/js/NcDateTimePicker-Bg7orwJW.chunk.mjs
+++ b/js/NcDateTimePicker-RSLBAkGn.chunk.mjs
@@ -1,4 +1,4 @@
-import{r as Pe,J as Je,e as D,n as Z,K as Ze,A as ye,L as qe,M as Ke,O as Xe,P as Ge,Q as Qe,R as et}from"./index-msNec4Xs.chunk.mjs";import{u as Ae}from"./useModelMigration-EhAWvqDD-ClbwSWZP.chunk.mjs";import{G as tt}from"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";import{a as nt}from"./NcActions-C4f9MXug-FA3YIyzG.chunk.mjs";import{d as at,c as be}from"./preload-helper-B1hyiFAx.chunk.mjs";import{c as rt}from"./NcLoadingIcon-DM-94wwW.chunk.mjs";import{N as it}from"./NcSelect-COY5TV2U-Bx6XZxCD.chunk.mjs";import{S as st}from"./NcModal-BX64wQqg.chunk.mjs";import"./index-CsCSS_KR.chunk.mjs";import"./video-DVVFoi8e.chunk.mjs";import"./floating-ui.utils.dom-Ddqhmmdk.chunk.mjs";import"./NcAvatar-BbHwxwyd-B4FduCgL.chunk.mjs";function Fe(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function q(e){return Fe(e)?new Date(e.getTime()):e==null?new Date(NaN):new Date(e)}function lt(e){return Fe(e)&&!isNaN(e.getTime())}function $e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(t>=0&&t<=6))throw new RangeError("weekStartsOn must be between 0 and 6");var n=q(e),a=n.getDay(),r=(a+7-t)%7;return n.setDate(n.getDate()-r),n.setHours(0,0,0,0),n}function Ie(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.firstDayOfWeek,a=n===void 0?0:n,r=t.firstWeekContainsDate,i=r===void 0?1:r;if(!(i>=1&&i<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7");for(var s=q(e),l=s.getFullYear(),o=new Date(0),u=l+1;u>=l-1&&(o.setFullYear(u,0,i),o.setHours(0,0,0,0),o=$e(o,a),!(s.getTime()>=o.getTime()));u--);return o}function ce(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.firstDayOfWeek,a=n===void 0?0:n,r=t.firstWeekContainsDate,i=r===void 0?1:r,s=q(e),l=$e(s,a),o=Ie(s,{firstDayOfWeek:a,firstWeekContainsDate:i}),u=l.getTime()-o.getTime();return Math.round(u/(168*3600*1e3))+1}var He={months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],firstDayOfWeek:0,firstWeekContainsDate:1},ot=/\[([^\]]+)]|YYYY|YY?|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|Z{1,2}|S{1,3}|w{1,2}|x|X|a|A/g;function g(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2,n="".concat(Math.abs(e)),a=e<0?"-":"";n.length1&&arguments[1]!==void 0?arguments[1]:"",n=e>0?"-":"+",a=Math.abs(e),r=Math.floor(a/60),i=a%60;return n+g(r,2)+t+g(i,2)}var we=function(e,t,n){var a=e<12?"AM":"PM";return n?a.toLocaleLowerCase():a},I={Y:function(e){var t=e.getFullYear();return t<=9999?"".concat(t):"+".concat(t)},YY:function(e){return g(e.getFullYear(),4).substr(2)},YYYY:function(e){return g(e.getFullYear(),4)},M:function(e){return e.getMonth()+1},MM:function(e){return g(e.getMonth()+1,2)},MMM:function(e,t){return t.monthsShort[e.getMonth()]},MMMM:function(e,t){return t.months[e.getMonth()]},D:function(e){return e.getDate()},DD:function(e){return g(e.getDate(),2)},H:function(e){return e.getHours()},HH:function(e){return g(e.getHours(),2)},h:function(e){var t=e.getHours();return t===0?12:t>12?t%12:t},hh:function(){var e=I.h.apply(I,arguments);return g(e,2)},m:function(e){return e.getMinutes()},mm:function(e){return g(e.getMinutes(),2)},s:function(e){return e.getSeconds()},ss:function(e){return g(e.getSeconds(),2)},S:function(e){return Math.floor(e.getMilliseconds()/100)},SS:function(e){return g(Math.floor(e.getMilliseconds()/10),2)},SSS:function(e){return g(e.getMilliseconds(),3)},d:function(e){return e.getDay()},dd:function(e,t){return t.weekdaysMin[e.getDay()]},ddd:function(e,t){return t.weekdaysShort[e.getDay()]},dddd:function(e,t){return t.weekdays[e.getDay()]},A:function(e,t){var n=t.meridiem||we;return n(e.getHours(),e.getMinutes(),!1)},a:function(e,t){var n=t.meridiem||we;return n(e.getHours(),e.getMinutes(),!0)},Z:function(e){return De(Ce(e),":")},ZZ:function(e){return De(Ce(e))},X:function(e){return Math.floor(e.getTime()/1e3)},x:function(e){return e.getTime()},w:function(e,t){return ce(e,{firstDayOfWeek:t.firstDayOfWeek,firstWeekContainsDate:t.firstWeekContainsDate})},ww:function(e,t){return g(I.w(e,t),2)}};function K(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=t?String(t):"YYYY-MM-DDTHH:mm:ss.SSSZ",r=q(e);if(!lt(r))return"Invalid Date";var i=n.locale||He;return a.replace(ot,function(s,l){return l||(typeof I[s]=="function"?"".concat(I[s](r,i)):s)})}function ke(e){return dt(e)||ct(e)||ut()}function ut(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function ct(e){if(Symbol.iterator in Object(e)||Object.prototype.toString.call(e)==="[object Arguments]")return Array.from(e)}function dt(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t68?n-1:n)*100+a,k({},te,a)}),c("YYYY",bt,te),c("M",Y,function(e){return k({},B,parseInt(e,10)-1)}),c("MM",w,function(e){return k({},B,parseInt(e,10)-1)}),c("MMM",H("monthsShort"),j("monthsShort",B)),c("MMMM",H("months"),j("months",B)),c("D",Y,Se),c("DD",w,Se),c(["H","h"],Y,Te),c(["HH","hh"],w,Te),c("m",Y,xe),c("mm",w,xe),c("s",Y,Ve),c("ss",w,Ve),c("S",je,function(e){return k({},ne,parseInt(e,10)*100)}),c("SS",w,function(e){return k({},ne,parseInt(e,10)*10)}),c("SSS",yt,ne);function kt(e){return e.meridiemParse||/[ap]\.?m?\.?/i}function Mt(e){return"".concat(e).toLowerCase().charAt(0)==="p"}c(["A","a"],kt,function(e,t){var n=typeof t.isPM=="function"?t.isPM(e):Mt(e);return{isPM:n}});function St(e){var t=e.match(/([+-]|\d\d)/g)||["-","0","0"],n=ft(t,3),a=n[0],r=n[1],i=n[2],s=parseInt(r,10)*60+parseInt(i,10);return s===0?0:a==="+"?-s:+s}c(["Z","ZZ"],Ct,function(e){return{offset:St(e)}}),c("x",Ne,function(e){return{date:new Date(parseInt(e,10))}}),c("X",Dt,function(e){return{date:new Date(parseFloat(e)*1e3)}}),c("d",je,"weekday"),c("dd",H("weekdaysMin"),j("weekdaysMin","weekday")),c("ddd",H("weekdaysShort"),j("weekdaysShort","weekday")),c("dddd",H("weekdays"),j("weekdays","weekday")),c("w",Y,"week"),c("ww",w,"week");function Tt(e,t){if(e!==void 0&&t!==void 0){if(t){if(e<12)return e+12}else if(e===12)return 0}return e}function xt(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Date,n=[0,0,1,0,0,0,0],a=[t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()],r=!0,i=0;i<7;i++)e[i]===void 0?n[i]=r?a[i]:n[i]:(n[i]=e[i],r=!1);return n}function Vt(e,t,n,a,r,i,s){var l;return e<100&&e>=0?(l=new Date(e+400,t,n,a,r,i,s),isFinite(l.getFullYear())&&l.setFullYear(e)):l=new Date(e,t,n,a,r,i,s),l}function Yt(){for(var e,t=arguments.length,n=new Array(t),a=0;a=0?(n[0]+=400,e=new Date(Date.UTC.apply(Date,n)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(r)):e=new Date(Date.UTC.apply(Date,n)),e}function _t(e,t,n){var a=t.match(vt);if(!a)throw new Error;for(var r=a.length,i={},s=0;s2&&arguments[2]!==void 0?arguments[2]:{};try{var a=n.locale,r=a===void 0?He:a,i=n.backupDate,s=i===void 0?new Date:i,l=_t(e,t,r),o=l.year,u=l.month,h=l.day,f=l.hour,p=l.minute,m=l.second,V=l.millisecond,Re=l.isPM,pe=l.date,me=l.offset,ge=l.weekday,ve=l.week;if(pe)return pe;var Q=[o,u,h,f,p,m,V];if(Q[3]=Tt(Q[3],Re),ve!==void 0&&u===void 0&&h===void 0){var Ue=Ie(o===void 0?s:new Date(o,3),{firstDayOfWeek:r.firstDayOfWeek,firstWeekContainsDate:r.firstWeekContainsDate});return new Date(Ue.getTime()+(ve-1)*7*24*3600*1e3)}var z,ee=xt(Q,s);return me!==void 0?(ee[6]+=me*60*1e3,z=Yt.apply(void 0,ke(ee))):z=Vt.apply(void 0,ke(ee)),ge!==void 0&&z.getDay()!==ge?new Date(NaN):z}catch{return new Date(NaN)}}function U(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?U=function(t){return typeof t}:U=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},U(e)}function T(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function se(){return se=Object.assign||function(e){for(var t=1;t=0)&&(n[r]=e[r]);return n}function At(e,t){if(e==null)return{};var n=Pt(e,t),a,r;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}function N(e,t){return Ft(e)||$t(e,t)||It(e,t)||Ht()}function Ft(e){if(Array.isArray(e))return e}function $t(e,t){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var n=[],a=!0,r=!1,i=void 0;try{for(var s=e[Symbol.iterator](),l;!(a=(l=s.next()).done)&&(n.push(l.value),!(t&&n.length===t));a=!0);}catch(o){r=!0,i=o}finally{try{!a&&s.return!=null&&s.return()}finally{if(r)throw i}}return n}}function It(e,t){if(e){if(typeof e=="string")return _e(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _e(e,t)}}function _e(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:0;if(!(t>=0&&t<=6))throw new RangeError("weekStartsOn must be between 0 and 6");var n=q(e),a=n.getDay(),r=(a+7-t)%7;return n.setDate(n.getDate()-r),n.setHours(0,0,0,0),n}function Ie(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.firstDayOfWeek,a=n===void 0?0:n,r=t.firstWeekContainsDate,i=r===void 0?1:r;if(!(i>=1&&i<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7");for(var s=q(e),l=s.getFullYear(),o=new Date(0),u=l+1;u>=l-1&&(o.setFullYear(u,0,i),o.setHours(0,0,0,0),o=$e(o,a),!(s.getTime()>=o.getTime()));u--);return o}function ce(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.firstDayOfWeek,a=n===void 0?0:n,r=t.firstWeekContainsDate,i=r===void 0?1:r,s=q(e),l=$e(s,a),o=Ie(s,{firstDayOfWeek:a,firstWeekContainsDate:i}),u=l.getTime()-o.getTime();return Math.round(u/(168*3600*1e3))+1}var He={months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],firstDayOfWeek:0,firstWeekContainsDate:1},ot=/\[([^\]]+)]|YYYY|YY?|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|Z{1,2}|S{1,3}|w{1,2}|x|X|a|A/g;function g(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2,n="".concat(Math.abs(e)),a=e<0?"-":"";n.length1&&arguments[1]!==void 0?arguments[1]:"",n=e>0?"-":"+",a=Math.abs(e),r=Math.floor(a/60),i=a%60;return n+g(r,2)+t+g(i,2)}var we=function(e,t,n){var a=e<12?"AM":"PM";return n?a.toLocaleLowerCase():a},I={Y:function(e){var t=e.getFullYear();return t<=9999?"".concat(t):"+".concat(t)},YY:function(e){return g(e.getFullYear(),4).substr(2)},YYYY:function(e){return g(e.getFullYear(),4)},M:function(e){return e.getMonth()+1},MM:function(e){return g(e.getMonth()+1,2)},MMM:function(e,t){return t.monthsShort[e.getMonth()]},MMMM:function(e,t){return t.months[e.getMonth()]},D:function(e){return e.getDate()},DD:function(e){return g(e.getDate(),2)},H:function(e){return e.getHours()},HH:function(e){return g(e.getHours(),2)},h:function(e){var t=e.getHours();return t===0?12:t>12?t%12:t},hh:function(){var e=I.h.apply(I,arguments);return g(e,2)},m:function(e){return e.getMinutes()},mm:function(e){return g(e.getMinutes(),2)},s:function(e){return e.getSeconds()},ss:function(e){return g(e.getSeconds(),2)},S:function(e){return Math.floor(e.getMilliseconds()/100)},SS:function(e){return g(Math.floor(e.getMilliseconds()/10),2)},SSS:function(e){return g(e.getMilliseconds(),3)},d:function(e){return e.getDay()},dd:function(e,t){return t.weekdaysMin[e.getDay()]},ddd:function(e,t){return t.weekdaysShort[e.getDay()]},dddd:function(e,t){return t.weekdays[e.getDay()]},A:function(e,t){var n=t.meridiem||we;return n(e.getHours(),e.getMinutes(),!1)},a:function(e,t){var n=t.meridiem||we;return n(e.getHours(),e.getMinutes(),!0)},Z:function(e){return De(Ce(e),":")},ZZ:function(e){return De(Ce(e))},X:function(e){return Math.floor(e.getTime()/1e3)},x:function(e){return e.getTime()},w:function(e,t){return ce(e,{firstDayOfWeek:t.firstDayOfWeek,firstWeekContainsDate:t.firstWeekContainsDate})},ww:function(e,t){return g(I.w(e,t),2)}};function K(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=t?String(t):"YYYY-MM-DDTHH:mm:ss.SSSZ",r=q(e);if(!lt(r))return"Invalid Date";var i=n.locale||He;return a.replace(ot,function(s,l){return l||(typeof I[s]=="function"?"".concat(I[s](r,i)):s)})}function ke(e){return dt(e)||ct(e)||ut()}function ut(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function ct(e){if(Symbol.iterator in Object(e)||Object.prototype.toString.call(e)==="[object Arguments]")return Array.from(e)}function dt(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t68?n-1:n)*100+a,k({},te,a)}),c("YYYY",bt,te),c("M",Y,function(e){return k({},B,parseInt(e,10)-1)}),c("MM",w,function(e){return k({},B,parseInt(e,10)-1)}),c("MMM",H("monthsShort"),j("monthsShort",B)),c("MMMM",H("months"),j("months",B)),c("D",Y,Se),c("DD",w,Se),c(["H","h"],Y,Te),c(["HH","hh"],w,Te),c("m",Y,xe),c("mm",w,xe),c("s",Y,Ve),c("ss",w,Ve),c("S",je,function(e){return k({},ne,parseInt(e,10)*100)}),c("SS",w,function(e){return k({},ne,parseInt(e,10)*10)}),c("SSS",yt,ne);function kt(e){return e.meridiemParse||/[ap]\.?m?\.?/i}function Mt(e){return"".concat(e).toLowerCase().charAt(0)==="p"}c(["A","a"],kt,function(e,t){var n=typeof t.isPM=="function"?t.isPM(e):Mt(e);return{isPM:n}});function St(e){var t=e.match(/([+-]|\d\d)/g)||["-","0","0"],n=ft(t,3),a=n[0],r=n[1],i=n[2],s=parseInt(r,10)*60+parseInt(i,10);return s===0?0:a==="+"?-s:+s}c(["Z","ZZ"],Ct,function(e){return{offset:St(e)}}),c("x",Ne,function(e){return{date:new Date(parseInt(e,10))}}),c("X",Dt,function(e){return{date:new Date(parseFloat(e)*1e3)}}),c("d",je,"weekday"),c("dd",H("weekdaysMin"),j("weekdaysMin","weekday")),c("ddd",H("weekdaysShort"),j("weekdaysShort","weekday")),c("dddd",H("weekdays"),j("weekdays","weekday")),c("w",Y,"week"),c("ww",w,"week");function Tt(e,t){if(e!==void 0&&t!==void 0){if(t){if(e<12)return e+12}else if(e===12)return 0}return e}function xt(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Date,n=[0,0,1,0,0,0,0],a=[t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()],r=!0,i=0;i<7;i++)e[i]===void 0?n[i]=r?a[i]:n[i]:(n[i]=e[i],r=!1);return n}function Vt(e,t,n,a,r,i,s){var l;return e<100&&e>=0?(l=new Date(e+400,t,n,a,r,i,s),isFinite(l.getFullYear())&&l.setFullYear(e)):l=new Date(e,t,n,a,r,i,s),l}function Yt(){for(var e,t=arguments.length,n=new Array(t),a=0;a=0?(n[0]+=400,e=new Date(Date.UTC.apply(Date,n)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(r)):e=new Date(Date.UTC.apply(Date,n)),e}function _t(e,t,n){var a=t.match(vt);if(!a)throw new Error;for(var r=a.length,i={},s=0;s2&&arguments[2]!==void 0?arguments[2]:{};try{var a=n.locale,r=a===void 0?He:a,i=n.backupDate,s=i===void 0?new Date:i,l=_t(e,t,r),o=l.year,u=l.month,h=l.day,f=l.hour,p=l.minute,m=l.second,V=l.millisecond,Re=l.isPM,pe=l.date,me=l.offset,ge=l.weekday,ve=l.week;if(pe)return pe;var Q=[o,u,h,f,p,m,V];if(Q[3]=Tt(Q[3],Re),ve!==void 0&&u===void 0&&h===void 0){var Ue=Ie(o===void 0?s:new Date(o,3),{firstDayOfWeek:r.firstDayOfWeek,firstWeekContainsDate:r.firstWeekContainsDate});return new Date(Ue.getTime()+(ve-1)*7*24*3600*1e3)}var z,ee=xt(Q,s);return me!==void 0?(ee[6]+=me*60*1e3,z=Yt.apply(void 0,ke(ee))):z=Vt.apply(void 0,ke(ee)),ge!==void 0&&z.getDay()!==ge?new Date(NaN):z}catch{return new Date(NaN)}}function U(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?U=function(t){return typeof t}:U=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},U(e)}function T(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function se(){return se=Object.assign||function(e){for(var t=1;t=0)&&(n[r]=e[r]);return n}function At(e,t){if(e==null)return{};var n=Pt(e,t),a,r;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}function N(e,t){return Ft(e)||$t(e,t)||It(e,t)||Ht()}function Ft(e){if(Array.isArray(e))return e}function $t(e,t){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var n=[],a=!0,r=!1,i=void 0;try{for(var s=e[Symbol.iterator](),l;!(a=(l=s.next()).done)&&(n.push(l.value),!(t&&n.length===t));a=!0);}catch(o){r=!0,i=o}finally{try{!a&&s.return!=null&&s.return()}finally{if(r)throw i}}return n}}function It(e,t){if(e){if(typeof e=="string")return _e(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _e(e,t)}}function _e(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:0,s=arguments.length>6&&arguments[6]!==void 0?arguments[6]:0,l=new Date(e,t,n,a,r,i,s);return e<100&&e>=0&&l.setFullYear(e),l}function C(e){return e instanceof Date&&!isNaN(e)}function X(e){return Array.isArray(e)&&e.length===2&&e.every(C)&&e[0]<=e[1]}function zt(e){return Array.isArray(e)&&e.every(C)}function O(e){var t=new Date(e);if(C(t))return t;for(var n=arguments.length,a=new Array(n>1?n-1:0),r=1;r1&&arguments[1]!==void 0?arguments[1]:document.body;if(!e||e===t)return null;var n=function(i,s){return getComputedStyle(i,null).getPropertyValue(s)},a=/(auto|scroll)/,r=a.test(n(e,"overflow")+n(e,"overflow-y")+n(e,"overflow-x"));return r?e:G(e.parentNode,t)}var tn={name:"Popup",inject:{prefixClass:{default:"mx"}},props:{visible:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!0}},data:function(){return{top:"",left:""}},watch:{visible:{immediate:!0,handler:function(e){var t=this;this.$nextTick(function(){e&&t.displayPopup()})}}},mounted:function(){var e=this;this.appendToBody&&document.body.appendChild(this.$el),this._clickoutEvent="ontouchend"in document?"touchstart":"mousedown",document.addEventListener(this._clickoutEvent,this.handleClickOutside);var t=this.$parent.$el;this._displayPopup=Gt(function(){return e.displayPopup()}),this._scrollParent=G(t)||window,this._scrollParent.addEventListener("scroll",this._displayPopup),window.addEventListener("resize",this._displayPopup)},beforeDestroy:function(){this.appendToBody&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el),document.removeEventListener(this._clickoutEvent,this.handleClickOutside),this._scrollParent.removeEventListener("scroll",this._displayPopup),window.removeEventListener("resize",this._displayPopup)},methods:{handleClickOutside:function(e){if(this.visible){var t=e.target,n=this.$el;n&&!n.contains(t)&&this.$emit("clickoutside",e)}},displayPopup:function(){if(this.visible){var e=this.$el,t=this.$parent.$el,n=this.appendToBody;this._popupRect||(this._popupRect=Qt(e));var a=this._popupRect,r=a.width,i=a.height,s=en(t,r,i,n),l=s.left,o=s.top;this.left=l,this.top=o}}}};function v(e,t,n,a,r,i,s,l,o,u){var h=typeof n=="function"?n.options:n;return e&&e.render&&(h.render=e.render,h.staticRenderFns=e.staticRenderFns,h._compiled=!0),n}var nn=tn,an=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:e.prefixClass+"-zoom-in-down"}},[e.visible?n("div",{class:e.prefixClass+"-datepicker-main "+e.prefixClass+"-datepicker-popup",style:{top:e.top,left:e.left,position:"absolute"}},[e._t("default")],2):e._e()])},rn=[],sn=void 0,ln=v({render:an,staticRenderFns:rn},sn,nn),on=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",width:"1em",height:"1em"}},[n("path",{attrs:{d:"M940.218182 107.054545h-209.454546V46.545455h-65.163636v60.50909H363.054545V46.545455H297.890909v60.50909H83.781818c-18.618182 0-32.581818 13.963636-32.581818 32.581819v805.236363c0 18.618182 13.963636 32.581818 32.581818 32.581818h861.090909c18.618182 0 32.581818-13.963636 32.581818-32.581818V139.636364c-4.654545-18.618182-18.618182-32.581818-37.236363-32.581819zM297.890909 172.218182V232.727273h65.163636V172.218182h307.2V232.727273h65.163637V172.218182h176.872727v204.8H116.363636V172.218182h181.527273zM116.363636 912.290909V442.181818h795.927273v470.109091H116.363636z"}})])},un=[],cn=void 0,dn=v({render:on,staticRenderFns:un},cn,{}),hn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em"}},[n("path",{attrs:{d:"M0 0h24v24H0z",fill:"none"}}),e._v(" "),n("path",{attrs:{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}}),e._v(" "),n("path",{attrs:{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"}})])},fn=[],pn=void 0,mn=v({render:hn,staticRenderFns:fn},pn,{}),gn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",width:"1em",height:"1em"}},[n("path",{attrs:{d:"M810.005333 274.005333l-237.994667 237.994667 237.994667 237.994667-60.010667 60.010667-237.994667-237.994667-237.994667 237.994667-60.010667-60.010667 237.994667-237.994667-237.994667-237.994667 60.010667-60.010667 237.994667 237.994667 237.994667-237.994667z"}})])},vn=[],yn=void 0,bn=v({render:gn,staticRenderFns:vn},yn,{}),Cn={props:{type:String,disabled:Boolean},inject:{prefixClass:{default:"mx"}}},Dn=Cn,wn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("button",e._g({class:[e.prefixClass+"-btn "+e.prefixClass+"-btn-text "+e.prefixClass+"-btn-icon-"+e.type,{disabled:e.disabled}],attrs:{type:"button",disabled:e.disabled}},e.$listeners),[n("i",{class:e.prefixClass+"-icon-"+e.type})])},kn=[],Mn=void 0,he=v({render:wn,staticRenderFns:kn},Mn,Dn),Sn={name:"TableDate",components:{IconButton:he},inject:{getLocale:{default:function(){return F}},getWeek:{default:function(){return ce}},prefixClass:{default:"mx"},onDateMouseEnter:{default:void 0},onDateMouseLeave:{default:void 0}},props:{disabledCalendarChanger:{type:Function,default:function(){return!1}},calendar:{type:Date,default:function(){return new Date}},showWeekNumber:{type:Boolean,default:!1},titleFormat:{type:String,default:"YYYY-MM-DD"},getRowClasses:{type:Function,default:function(){return[]}},getCellClasses:{type:Function,default:function(){return[]}}},computed:{firstDayOfWeek:function(){return this.getLocale().formatLocale.firstDayOfWeek||0},yearMonth:function(){var e=this.getLocale(),t=e.yearFormat,n=e.monthBeforeYear,a=e.monthFormat,r=a===void 0?"MMM":a,i={panel:"year",label:this.formatDate(this.calendar,t)},s={panel:"month",label:this.formatDate(this.calendar,r)};return n?[s,i]:[i,s]},days:function(){var e=this.getLocale(),t=e.days||e.formatLocale.weekdaysMin;return t.concat(t).slice(this.firstDayOfWeek,this.firstDayOfWeek+7)},dates:function(){var e=this.calendar.getFullYear(),t=this.calendar.getMonth(),n=Ut({firstDayOfWeek:this.firstDayOfWeek,year:e,month:t});return de(n,7)}},methods:{isDisabledArrows:function(e){var t=new Date(this.calendar);switch(e){case"last-year":t.setFullYear(t.getFullYear()-1,t.getMonth()+1,0),t.setHours(23,59,59,999);break;case"next-year":t.setFullYear(t.getFullYear()+1);break;case"last-month":t.setMonth(t.getMonth(),0),t.setHours(23,59,59,999);break;case"next-month":t.setMonth(t.getMonth()+1);break}return this.disabledCalendarChanger(t,e)},handleIconLeftClick:function(){this.$emit("changecalendar",ue(this.calendar,function(e){return e-1}),"last-month")},handleIconRightClick:function(){this.$emit("changecalendar",ue(this.calendar,function(e){return e+1}),"next-month")},handleIconDoubleLeftClick:function(){this.$emit("changecalendar",P(this.calendar,function(e){return e-1}),"last-year")},handleIconDoubleRightClick:function(){this.$emit("changecalendar",P(this.calendar,function(e){return e+1}),"next-year")},handlePanelChange:function(e){this.$emit("changepanel",e)},handleMouseEnter:function(e){typeof this.onDateMouseEnter=="function"&&this.onDateMouseEnter(e)},handleMouseLeave:function(e){typeof this.onDateMouseLeave=="function"&&this.onDateMouseLeave(e)},handleCellClick:function(e){var t=e.target;t.tagName.toUpperCase()==="DIV"&&(t=t.parentNode);var n=t.getAttribute("data-row-col");if(n){var a=n.split(",").map(function(o){return parseInt(o,10)}),r=N(a,2),i=r[0],s=r[1],l=this.dates[i][s];this.$emit("select",new Date(l))}},formatDate:function(e,t){return K(e,t,{locale:this.getLocale().formatLocale})},getCellTitle:function(e){var t=this.titleFormat;return this.formatDate(e,t)},getWeekNumber:function(e){return this.getWeek(e,this.getLocale().formatLocale)}}},Tn=Sn,xn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:e.prefixClass+"-calendar "+e.prefixClass+"-calendar-panel-date"},[n("div",{class:e.prefixClass+"-calendar-header"},[n("icon-button",{attrs:{type:"double-left",disabled:e.isDisabledArrows("last-year")},on:{click:e.handleIconDoubleLeftClick}}),e._v(" "),n("icon-button",{attrs:{type:"left",disabled:e.isDisabledArrows("last-month")},on:{click:e.handleIconLeftClick}}),e._v(" "),n("icon-button",{attrs:{type:"double-right",disabled:e.isDisabledArrows("next-year")},on:{click:e.handleIconDoubleRightClick}}),e._v(" "),n("icon-button",{attrs:{type:"right",disabled:e.isDisabledArrows("next-month")},on:{click:e.handleIconRightClick}}),e._v(" "),n("span",{class:e.prefixClass+"-calendar-header-label"},e._l(e.yearMonth,function(a){return n("button",{key:a.panel,class:e.prefixClass+"-btn "+e.prefixClass+"-btn-text "+e.prefixClass+"-btn-current-"+a.panel,attrs:{type:"button"},on:{click:function(r){return e.handlePanelChange(a.panel)}}},[e._v(`
`+e._s(a.label)+`
`)])}),0)],1),e._v(" "),n("div",{class:e.prefixClass+"-calendar-content"},[n("table",{class:e.prefixClass+"-table "+e.prefixClass+"-table-date"},[n("thead",[n("tr",[e.showWeekNumber?n("th",{class:e.prefixClass+"-week-number-header"}):e._e(),e._v(" "),e._l(e.days,function(a){return n("th",{key:a},[e._v(e._s(a))])})],2)]),e._v(" "),n("tbody",{on:{click:e.handleCellClick}},e._l(e.dates,function(a,r){return n("tr",{key:r,class:[e.prefixClass+"-date-row",e.getRowClasses(a)]},[e.showWeekNumber?n("td",{class:e.prefixClass+"-week-number",attrs:{"data-row-col":r+",0"}},[e._v(`
@@ -12,4 +12,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
`)])}),0)},sa=[],la=void 0,oa=v({render:ia,staticRenderFns:sa},la,ra),ua={name:"TimePanel",components:{ListColumns:ta,ListOptions:oa},inject:{getLocale:{default:function(){return F}},prefixClass:{default:"mx"}},props:{value:{},defaultValue:{default:function(){var e=new Date;return e.setHours(0,0,0,0),e}},format:{default:"HH:mm:ss"},timeTitleFormat:{type:String,default:"YYYY-MM-DD"},showTimeHeader:{type:Boolean,default:!1},disabledTime:{type:Function,default:function(){return!1}},timePickerOptions:{type:[Object,Function],default:function(){return null}},hourOptions:Array,minuteOptions:Array,secondOptions:Array,hourStep:{type:Number,default:1},minuteStep:{type:Number,default:1},secondStep:{type:Number,default:1},showHour:{type:Boolean,default:void 0},showMinute:{type:Boolean,default:void 0},showSecond:{type:Boolean,default:void 0},use12h:{type:Boolean,default:void 0},scrollDuration:{type:Number,default:100}},data:function(){return{innerValue:O(this.value,this.defaultValue)}},computed:{title:function(){var e=this.timeTitleFormat,t=new Date(this.innerValue);return this.formatDate(t,e)},innerForamt:function(){return typeof this.format=="string"?this.format:"HH:mm:ss"},ShowHourMinuteSecondAMPM:function(){var e=this,t=this.innerForamt,n={showHour:/[HhKk]/.test(t),showMinute:/m/.test(t),showSecond:/s/.test(t),use12h:/a/i.test(t)},a={};return Object.keys(n).forEach(function(r){a[r]=typeof e[r]=="boolean"?e[r]:n[r]}),a}},watch:{value:{immediate:!0,handler:function(){this.innerValue=O(this.value,this.defaultValue)}}},methods:{formatDate:function(e,t){return K(e,t,{locale:this.getLocale().formatLocale})},isDisabledTime:function(e){return this.disabledTime(new Date(e))},isDisabledHour:function(e){var t=new Date(e);return this.isDisabledTime(t)&&this.isDisabledTime(t.setMinutes(0,0,0))&&this.isDisabledTime(t.setMinutes(59,59,999))},isDisabledMinute:function(e){var t=new Date(e);return this.isDisabledTime(t)&&this.isDisabledTime(t.setSeconds(0,0))&&this.isDisabledTime(t.setSeconds(59,999))},isDisabledAMPM:function(e){var t=new Date(e),n=t.getHours()<12?0:12,a=n+11;return this.isDisabledTime(t)&&this.isDisabledTime(t.setHours(n,0,0,0))&&this.isDisabledTime(t.setHours(a,59,59,999))},isDisabled:function(e,t){return t==="hour"?this.isDisabledHour(e):t==="minute"?this.isDisabledMinute(e):t==="ampm"?this.isDisabledAMPM(e):this.isDisabledTime(e)},handleSelect:function(e,t){var n=new Date(e);this.isDisabled(e,t)||(this.innerValue=n,this.isDisabledTime(n)||this.$emit("select",n,t))},handleClickTitle:function(){this.$emit("clicktitle")},getClasses:function(e,t){var n=new Date(e);return this.isDisabled(e,t)?"disabled":n.getTime()===this.innerValue.getTime()?"active":""}}},ca=ua,da=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:e.prefixClass+"-time"},[e.showTimeHeader?n("div",{class:e.prefixClass+"-time-header"},[n("button",{class:e.prefixClass+"-btn "+e.prefixClass+"-btn-text "+e.prefixClass+"-time-header-title",attrs:{type:"button"},on:{click:e.handleClickTitle}},[e._v(`
`+e._s(e.title)+`
`)])]):e._e(),e._v(" "),n("div",{class:e.prefixClass+"-time-content"},[e.timePickerOptions?n("list-options",{attrs:{date:e.innerValue,"get-classes":e.getClasses,options:e.timePickerOptions,format:e.innerForamt},on:{select:e.handleSelect}}):n("list-columns",e._b({attrs:{date:e.innerValue,"get-classes":e.getClasses,"hour-options":e.hourOptions,"minute-options":e.minuteOptions,"second-options":e.secondOptions,"hour-step":e.hourStep,"minute-step":e.minuteStep,"second-step":e.secondStep,"scroll-duration":e.scrollDuration},on:{select:e.handleSelect}},"list-columns",e.ShowHourMinuteSecondAMPM,!1))],1)])},ha=[],fa=void 0,M=v({render:da,staticRenderFns:ha},fa,ca),E={name:"TimeRange",inject:{prefixClass:{default:"mx"}},props:d({},M.props),data:function(){return{startValue:new Date(NaN),endValue:new Date(NaN)}},watch:{value:{immediate:!0,handler:function(){if(X(this.value)){var e=N(this.value,2),t=e[0],n=e[1];this.startValue=t,this.endValue=n}else this.startValue=new Date(NaN),this.endValue=new Date(NaN)}}},methods:{emitChange:function(e,t){var n=[this.startValue,this.endValue];this.$emit("select",n,e==="time"?"time-range":e,t)},handleSelectStart:function(e,t){this.startValue=e,this.endValue.getTime()>=e.getTime()||(this.endValue=e),this.emitChange(t,0)},handleSelectEnd:function(e,t){this.endValue=e,this.startValue.getTime()<=e.getTime()||(this.startValue=e),this.emitChange(t,1)},disabledStartTime:function(e){return this.disabledTime(e,0)},disabledEndTime:function(e){return e.getTime()2&&arguments[2]!==void 0?arguments[2]:!0;this.userInput=null;var a=Array.isArray(e)?e.map(this.date2value):this.date2value(e);return this.$emit("input",a),this.$emit("change",a,t),n&&this.closePopup(),a},isValidValue:function(e){return this.validMultipleType?zt(e):this.range?X(e):C(e)},isValidValueAndNotDisabled:function(e){if(!this.isValidValue(e))return!1;var t=typeof this.disabledDate=="function"?this.disabledDate:function(){return!1},n=typeof this.disabledTime=="function"?this.disabledTime:function(){return!1};return Array.isArray(e)||(e=[e]),e.every(function(a){return!t(a)&&!n(a)})},handleMultipleDates:function(e,t){if(this.validMultipleType&&t){var n=t.filter(function(a){return a.getTime()!==e.getTime()});return n.length===t.length&&n.push(e),n}return e},handleSelectDate:function(e,t,n){e=this.handleMultipleDates(e,n),this.confirm?this.currentValue=e:this.emitValue(e,t,!this.validMultipleType&&(t===this.type||t==="time"))},clear:function(){this.emitValue(this.range?[null,null]:null),this.$emit("clear")},handleClear:function(e){e.stopPropagation(),this.clear()},handleConfirmDate:function(){var e=this.emitValue(this.currentValue);this.$emit("confirm",e)},handleSelectShortcut:function(e){var t=e.currentTarget.getAttribute("data-index"),n=this.shortcuts[parseInt(t,10)];if(y(n)&&typeof n.onClick=="function"){var a=n.onClick(this);a&&this.emitValue(a)}},openPopup:function(e){this.popupVisible||this.disabled||(this.defaultOpen=!0,this.$emit("open",e),this.$emit("update:open",!0))},closePopup:function(){this.popupVisible&&(this.defaultOpen=!1,this.$emit("close"),this.$emit("update:open",!1))},blur:function(){this.$refs.input&&this.$refs.input.blur()},focus:function(){this.$refs.input&&this.$refs.input.focus()},handleInputChange:function(){var e=this;if(!(!this.editable||this.userInput===null)){var t=this.userInput.trim();if(this.userInput=null,t===""){this.clear();return}var n;if(this.validMultipleType)n=t.split(this.innerRangeSeparator).map(function(r){return e.parseDate(r.trim())});else if(this.range){var a=t.split(this.innerRangeSeparator);a.length!==2&&(a=t.split(this.innerRangeSeparator.trim())),n=a.map(function(r){return e.parseDate(r.trim())})}else n=this.parseDate(t);this.isValidValueAndNotDisabled(n)?(this.emitValue(n),this.blur()):this.$emit("input-error",t)}},handleInputInput:function(e){this.userInput=typeof e=="string"?e:e.target.value},handleInputKeydown:function(e){var t=e.keyCode;t===9?this.closePopup():t===13&&this.handleInputChange()},handleInputBlur:function(e){this.$emit("blur",e)},handleInputFocus:function(e){this.openPopup(e),this.$emit("focus",e)},hasSlot:function(e){return!!(this.$slots[e]||this.$scopedSlots[e])},renderSlot:function(e,t,n){var a=this.$scopedSlots[e];return a?a(n)||t:this.$slots[e]||t},renderInput:function(){var e=this.$createElement,t=this.prefixClass,n=d({name:"date",type:"text",autocomplete:"off",value:this.text,class:this.inputClass||"".concat(this.prefixClass,"-input"),readonly:!this.editable,disabled:this.disabled,placeholder:this.placeholder},this.inputAttr),a=n.value,r=n.class,i=At(n,["value","class"]),s={keydown:this.handleInputKeydown,focus:this.handleInputFocus,blur:this.handleInputBlur,input:this.handleInputInput,change:this.handleInputChange},l=this.renderSlot("input",e("input",{domProps:{value:a},class:r,attrs:d({},i),on:d({},s),ref:"input"}),{props:n,events:s}),o=this.type==="time"?e(mn):e(dn);return e("div",{class:"".concat(t,"-input-wrapper"),on:{mouseenter:this.handleMouseEnter,mouseleave:this.handleMouseLeave,click:this.openPopup},ref:"inputWrapper"},[l,this.showClearIcon?e("i",{class:"".concat(t,"-icon-clear"),on:{click:this.handleClear}},[this.renderSlot("icon-clear",e(bn))]):e("i",{class:"".concat(t,"-icon-calendar")},[this.renderSlot("icon-calendar",o)])])},renderContent:function(){var e=this.$createElement,t=this.range?ma:pa,n=t[this.type]||t.default,a=d({},A(this.$props,Object.keys(n.props)),{value:this.currentValue}),r=d({},A(this.$listeners,n.emits||[]),{select:this.handleSelectDate}),i=e(n,W([{},{props:a,on:r,ref:"picker"}]));return e("div",{class:"".concat(this.prefixClass,"-datepicker-body")},[this.renderSlot("content",i,{value:this.currentValue,emit:this.handleSelectDate})])},renderSidebar:function(){var e=this,t=this.$createElement,n=this.prefixClass;return t("div",{class:"".concat(n,"-datepicker-sidebar")},[this.renderSlot("sidebar",null,{value:this.currentValue,emit:this.handleSelectDate}),this.shortcuts.map(function(a,r){return t("button",{key:r,attrs:{"data-index":r,type:"button"},class:"".concat(n,"-btn ").concat(n,"-btn-text ").concat(n,"-btn-shortcut"),on:{click:e.handleSelectShortcut}},[a.text])})])},renderHeader:function(){var e=this.$createElement;return e("div",{class:"".concat(this.prefixClass,"-datepicker-header")},[this.renderSlot("header",null,{value:this.currentValue,emit:this.handleSelectDate})])},renderFooter:function(){var e=this.$createElement,t=this.prefixClass;return e("div",{class:"".concat(t,"-datepicker-footer")},[this.renderSlot("footer",null,{value:this.currentValue,emit:this.handleSelectDate}),this.confirm?e("button",{attrs:{type:"button"},class:"".concat(t,"-btn ").concat(t,"-datepicker-btn-confirm"),on:{click:this.handleConfirmDate}},[this.confirmText]):null])}},render:function(){var e,t=arguments[0],n=this.prefixClass,a=this.inline,r=this.disabled,i=this.hasSlot("sidebar")||this.shortcuts.length?this.renderSidebar():null,s=t("div",{class:"".concat(n,"-datepicker-content")},[this.hasSlot("header")?this.renderHeader():null,this.renderContent(),this.hasSlot("footer")||this.confirm?this.renderFooter():null]);return t("div",{class:(e={},T(e,"".concat(n,"-datepicker"),!0),T(e,"".concat(n,"-datepicker-range"),this.range),T(e,"".concat(n,"-datepicker-inline"),a),T(e,"disabled",r),e)},[a?null:this.renderInput(),a?t("div",{class:"".concat(n,"-datepicker-main")},[i,s]):t(ln,{ref:"popup",class:this.popupClass,style:this.popupStyle,attrs:{visible:this.popupVisible,appendToBody:this.appendToBody},on:{clickoutside:this.handleClickOutSide}},[i,s])])}};S.locale=We,S.install=function(e){e.component(S.name,S)},typeof window<"u"&&window.Vue&&S.install(window.Vue),se(S,{CalendarPanel:x,CalendarRange:L,TimePanel:M,TimeRange:E,DatetimePanel:fe,DatetimeRange:Be}),Pe(Je);function ga(e){return e.slice(e.indexOf("/")+1).replaceAll("/"," - ").replaceAll("_"," ")}function va(){return Intl.supportedValuesOf("timeZone").filter(e=>!e.startsWith("Etc/")).map(e=>({timezoneId:e,label:ga(e)})).sort((e,t)=>e.timezoneId.localeCompare(t.timezoneId))}const ya=at({__name:"NcTimezonePicker",props:{additionalTimezones:{default:()=>[]},value:{default:void 0},modelValue:{default:"floating"},uid:{default:rt()}},emits:["input","update:modelValue","update:model-value"],setup(e){const t=e,n=Ae("value","input"),a=be(()=>t.additionalTimezones.map(({timezoneId:s,label:l})=>({timezoneId:s,label:l}))),r=be(()=>{const s=va();return s.unshift(...a.value),s});function i(s,l,o){const u=o.trim().split(/\s+/),h=Object.values(s);return u.every(f=>h.some(p=>p.toLowerCase().includes(f.toLowerCase())))}return{__sfc:!0,props:t,model:n,formattedAdditionalTimezones:a,options:r,filterBy:i,t:D,NcSelect:it}}});var ba=function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t(n.NcSelect,{attrs:{"aria-label-combobox":n.t("Search for time zone"),clearable:!1,"filter-by":n.filterBy,multiple:!1,options:n.options,placeholder:n.t("Type to search time zone"),uid:e.uid,reduce:a=>a.timezoneId,label:"label"},model:{value:n.model,callback:function(a){n.model=a},expression:"model"}})},Ca=[],Da=Z(ya,ba,Ca,!1,null,null);const wa=Da.exports,ka={name:"CalendarBlankIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Ma=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon calendar-blank-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(n){return e.$emit("click",n)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e(),t("path",{attrs:{d:"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1"}})])])},Sa=[],Ta=Z(ka,Ma,Sa,!1,null,null);const xa=Ta.exports,Va={name:"WebIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Ya=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon web-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(n){return e.$emit("click",n)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e(),t("path",{attrs:{d:"M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"}})])])},_a=[],Oa=Z(Va,Ya,_a,!1,null,null);const Pa=Oa.exports;Pe(Ze);const Oe={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD H:mm:ss",year:"YYYY",month:"YYYY-MM",time:"H:mm:ss",week:"w"},Aa={name:"NcDateTimePicker",components:{CalendarBlank:xa,DatePicker:S,NcPopover:nt,NcTimezonePicker:wa,Web:Pa},inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:{clearable:{type:Boolean,default:!1},minuteStep:{type:Number,default:10},type:{type:String,default:"date",validator:e=>["date","time","datetime","week","month","year","date-range","time-range","datetime-range"].includes(e)},format:{type:[String,Function],default:null},formatter:{type:Object,default:null},lang:{type:Object,default:null},value:{default:void 0},modelValue:{default:()=>new Date},timezoneId:{type:String,default:"UTC"},showTimezoneSelect:{type:Boolean,default:!1},highlightTimezone:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1},showWeekNumber:{type:Boolean,default:!1},placeholder:{type:String,default:null},range:{type:Boolean,default:!1}},emits:["update:value","update:modelValue","update:model-value","update:timezone-id"],setup(){return{model:Ae("value","update:value"),timezoneDialogHeaderId:`timezone-dialog-header-${tt()}`}},data(){return{showTimezonePopover:!1,tzVal:this.timezoneId}},computed:{realType(){return this.type.split("-")[0]},defaultLang(){return{formatLocale:{months:et(),monthsShort:Qe(),weekdays:Ge(),weekdaysShort:Xe(),weekdaysMin:Ke(),firstDayOfWeek:qe()},monthFormat:"MMMM"}},defaultPlaceholder(){return this.realType==="time"?D("Pick a time"):this.realType==="month"?D("Pick a month"):this.realType==="year"?D("Pick a year"):this.realType==="week"?D("Pick a week"):this.realType==="date"?D("Pick a date"):D("Pick a date and a time")},internalRange(){return this.range||this.type.endsWith("-range")},internalFormat(){return this.format&&typeof this.format=="string"?this.format:Oe[this.realType]||Oe.date},internalFormatter(){return{getWeek:e=>{const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()));t.setUTCDate(t.getUTCDate()+4-(t.getUTCDay()||7));const n=new Date(Date.UTC(t.getUTCFullYear(),0,1));return Math.ceil(((t-n)/864e5+1)/7)},...typeof this.format=="function"?{stringify:this.format}:{},...this.formatter??{}}}},methods:{t:D,handleSelectYear(e){const t=this.$refs.datepicker.currentValue;if(t)try{const n=new Date(new Date(t).setFullYear(e));this.$refs.datepicker.selectDate(n)}catch{ye.error("Invalid value",{value:t,year:e})}},handleSelectMonth(e){const t=this.$refs.datepicker.currentValue;if(t)try{const n=new Date(new Date(t).setMonth(e));this.$refs.datepicker.selectDate(n)}catch{ye.error("Invalid value",{value:t,month:e})}},toggleTimezonePopover(){this.showTimezoneSelect&&(this.showTimezonePopover=!this.showTimezonePopover)}}};var Fa=function(){var e=this,t=e._self._c;return t("DatePicker",e._g(e._b({ref:"datepicker",attrs:{"append-to-body":e.appendToBody,clearable:e.clearable,format:e.internalFormat,formatter:e.internalFormatter,lang:e.lang?e.lang:e.defaultLang,"minute-step":e.minuteStep,placeholder:e.placeholder?e.placeholder:e.defaultPlaceholder,"popup-class":{"show-week-number":e.showWeekNumber},range:e.internalRange,"show-week-number":e.showWeekNumber,type:e.realType,value:e.model},on:{"select-year":e.handleSelectYear,"select-month":e.handleSelectMonth,input:function(n){e.model=n}},scopedSlots:e._u([{key:"icon-calendar",fn:function(){return[e.showTimezoneSelect?t("NcPopover",{attrs:{"popup-role":"dialog",shown:e.showTimezonePopover,"popover-base-class":"timezone-select__popper"},on:{"update:shown":function(n){e.showTimezonePopover=n}},scopedSlots:e._u([{key:"trigger",fn:function({attrs:n}){return[t("button",e._b({staticClass:"datetime-picker-inline-icon",class:{"datetime-picker-inline-icon--highlighted":e.highlightTimezone},on:{mousedown:function(a){return a.stopPropagation(),a.preventDefault(),(()=>{}).apply(null,arguments)}}},"button",n,!1),[t("Web",{attrs:{size:20}})],1)]}}],null,!1,3026992387)},[t("div",{attrs:{role:"dialog","aria-labelledby":e.timezoneDialogHeaderId}},[t("div",{staticClass:"timezone-popover-wrapper__label"},[t("strong",{attrs:{id:e.timezoneDialogHeaderId}},[e._v(" "+e._s(e.t("Please select a time zone:"))+" ")])]),t("NcTimezonePicker",{staticClass:"timezone-popover-wrapper__timezone-select",on:{input:function(n){return e.$emit("update:timezone-id",arguments[0])}},model:{value:e.tzVal,callback:function(n){e.tzVal=n},expression:"tzVal"}})],1)]):t("CalendarBlank",{attrs:{size:20}})]},proxy:!0},e._l(e.$scopedSlots,function(n,a){return{key:a,fn:function(r){return[e._t(a,null,null,r)]}}})],null,!0)},"DatePicker",e.$attrs,!1),e.$listeners))},$a=[],Ia=Z(Aa,Fa,$a,!1,null,"ecb9b537");const Ha=Ia.exports;st(Ha);export{Ha as default};
-//# sourceMappingURL=NcDateTimePicker-Bg7orwJW.chunk.mjs.map
+//# sourceMappingURL=NcDateTimePicker-RSLBAkGn.chunk.mjs.map
diff --git a/js/NcDateTimePicker-Bg7orwJW.chunk.mjs.license b/js/NcDateTimePicker-RSLBAkGn.chunk.mjs.license
similarity index 100%
rename from js/NcDateTimePicker-Bg7orwJW.chunk.mjs.license
rename to js/NcDateTimePicker-RSLBAkGn.chunk.mjs.license
diff --git a/js/NcDateTimePicker-Bg7orwJW.chunk.mjs.map b/js/NcDateTimePicker-RSLBAkGn.chunk.mjs.map
similarity index 99%
rename from js/NcDateTimePicker-Bg7orwJW.chunk.mjs.map
rename to js/NcDateTimePicker-RSLBAkGn.chunk.mjs.map
index 936707892f..2ad01b5ba1 100644
--- a/js/NcDateTimePicker-Bg7orwJW.chunk.mjs.map
+++ b/js/NcDateTimePicker-RSLBAkGn.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"NcDateTimePicker-Bg7orwJW.chunk.mjs","sources":["../node_modules/date-format-parse/es/util.js","../node_modules/date-format-parse/es/locale/en.js","../node_modules/date-format-parse/es/format.js","../node_modules/date-format-parse/es/parse.js","../node_modules/vue2-datepicker/index.esm.js","../node_modules/@nextcloud/vue/dist/chunks/NcTimezonePicker-Bx5Xf88c.mjs","../node_modules/@nextcloud/vue/dist/Components/NcDateTimePicker.mjs"],"sourcesContent":["export function isDate(value) {\n return value instanceof Date || Object.prototype.toString.call(value) === '[object Date]';\n}\nexport function toDate(value) {\n if (isDate(value)) {\n return new Date(value.getTime());\n }\n\n if (value == null) {\n return new Date(NaN);\n }\n\n return new Date(value);\n}\nexport function isValidDate(value) {\n return isDate(value) && !isNaN(value.getTime());\n}\nexport function startOfWeek(value) {\n var firstDayOfWeek = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (!(firstDayOfWeek >= 0 && firstDayOfWeek <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6');\n }\n\n var date = toDate(value);\n var day = date.getDay();\n var diff = (day + 7 - firstDayOfWeek) % 7;\n date.setDate(date.getDate() - diff);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nexport function startOfWeekYear(value) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$firstDayOfWeek = _ref.firstDayOfWeek,\n firstDayOfWeek = _ref$firstDayOfWeek === void 0 ? 0 : _ref$firstDayOfWeek,\n _ref$firstWeekContain = _ref.firstWeekContainsDate,\n firstWeekContainsDate = _ref$firstWeekContain === void 0 ? 1 : _ref$firstWeekContain;\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7');\n }\n\n var date = toDate(value);\n var year = date.getFullYear();\n var firstDateOfFirstWeek = new Date(0);\n\n for (var i = year + 1; i >= year - 1; i--) {\n firstDateOfFirstWeek.setFullYear(i, 0, firstWeekContainsDate);\n firstDateOfFirstWeek.setHours(0, 0, 0, 0);\n firstDateOfFirstWeek = startOfWeek(firstDateOfFirstWeek, firstDayOfWeek);\n\n if (date.getTime() >= firstDateOfFirstWeek.getTime()) {\n break;\n }\n }\n\n return firstDateOfFirstWeek;\n}\nexport function getWeek(value) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$firstDayOfWeek = _ref2.firstDayOfWeek,\n firstDayOfWeek = _ref2$firstDayOfWeek === void 0 ? 0 : _ref2$firstDayOfWeek,\n _ref2$firstWeekContai = _ref2.firstWeekContainsDate,\n firstWeekContainsDate = _ref2$firstWeekContai === void 0 ? 1 : _ref2$firstWeekContai;\n\n var date = toDate(value);\n var firstDateOfThisWeek = startOfWeek(date, firstDayOfWeek);\n var firstDateOfFirstWeek = startOfWeekYear(date, {\n firstDayOfWeek: firstDayOfWeek,\n firstWeekContainsDate: firstWeekContainsDate\n });\n var diff = firstDateOfThisWeek.getTime() - firstDateOfFirstWeek.getTime();\n return Math.round(diff / (7 * 24 * 3600 * 1000)) + 1;\n}","var locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nexport default locale;","import { toDate, isValidDate, getWeek } from './util';\nimport defaultLocale from './locale/en';\nvar REGEX_FORMAT = /\\[([^\\]]+)]|YYYY|YY?|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|Z{1,2}|S{1,3}|w{1,2}|x|X|a|A/g;\n\nfunction pad(val) {\n var len = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n var output = \"\".concat(Math.abs(val));\n var sign = val < 0 ? '-' : '';\n\n while (output.length < len) {\n output = \"0\".concat(output);\n }\n\n return sign + output;\n}\n\nfunction getOffset(date) {\n return Math.round(date.getTimezoneOffset() / 15) * 15;\n}\n\nfunction formatTimezone(offset) {\n var delimeter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n return sign + pad(hours, 2) + delimeter + pad(minutes, 2);\n}\n\nvar meridiem = function meridiem(h, _, isLowercase) {\n var word = h < 12 ? 'AM' : 'PM';\n return isLowercase ? word.toLocaleLowerCase() : word;\n};\n\nvar formatFlags = {\n Y: function Y(date) {\n var y = date.getFullYear();\n return y <= 9999 ? \"\".concat(y) : \"+\".concat(y);\n },\n // Year: 00, 01, ..., 99\n YY: function YY(date) {\n return pad(date.getFullYear(), 4).substr(2);\n },\n // Year: 1900, 1901, ..., 2099\n YYYY: function YYYY(date) {\n return pad(date.getFullYear(), 4);\n },\n // Month: 1, 2, ..., 12\n M: function M(date) {\n return date.getMonth() + 1;\n },\n // Month: 01, 02, ..., 12\n MM: function MM(date) {\n return pad(date.getMonth() + 1, 2);\n },\n MMM: function MMM(date, locale) {\n return locale.monthsShort[date.getMonth()];\n },\n MMMM: function MMMM(date, locale) {\n return locale.months[date.getMonth()];\n },\n // Day of month: 1, 2, ..., 31\n D: function D(date) {\n return date.getDate();\n },\n // Day of month: 01, 02, ..., 31\n DD: function DD(date) {\n return pad(date.getDate(), 2);\n },\n // Hour: 0, 1, ... 23\n H: function H(date) {\n return date.getHours();\n },\n // Hour: 00, 01, ..., 23\n HH: function HH(date) {\n return pad(date.getHours(), 2);\n },\n // Hour: 1, 2, ..., 12\n h: function h(date) {\n var hours = date.getHours();\n\n if (hours === 0) {\n return 12;\n }\n\n if (hours > 12) {\n return hours % 12;\n }\n\n return hours;\n },\n // Hour: 01, 02, ..., 12\n hh: function hh() {\n var hours = formatFlags.h.apply(formatFlags, arguments);\n return pad(hours, 2);\n },\n // Minute: 0, 1, ..., 59\n m: function m(date) {\n return date.getMinutes();\n },\n // Minute: 00, 01, ..., 59\n mm: function mm(date) {\n return pad(date.getMinutes(), 2);\n },\n // Second: 0, 1, ..., 59\n s: function s(date) {\n return date.getSeconds();\n },\n // Second: 00, 01, ..., 59\n ss: function ss(date) {\n return pad(date.getSeconds(), 2);\n },\n // 1/10 of second: 0, 1, ..., 9\n S: function S(date) {\n return Math.floor(date.getMilliseconds() / 100);\n },\n // 1/100 of second: 00, 01, ..., 99\n SS: function SS(date) {\n return pad(Math.floor(date.getMilliseconds() / 10), 2);\n },\n // Millisecond: 000, 001, ..., 999\n SSS: function SSS(date) {\n return pad(date.getMilliseconds(), 3);\n },\n // Day of week: 0, 1, ..., 6\n d: function d(date) {\n return date.getDay();\n },\n // Day of week: 'Su', 'Mo', ..., 'Sa'\n dd: function dd(date, locale) {\n return locale.weekdaysMin[date.getDay()];\n },\n // Day of week: 'Sun', 'Mon',..., 'Sat'\n ddd: function ddd(date, locale) {\n return locale.weekdaysShort[date.getDay()];\n },\n // Day of week: 'Sunday', 'Monday', ...,'Saturday'\n dddd: function dddd(date, locale) {\n return locale.weekdays[date.getDay()];\n },\n // AM, PM\n A: function A(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), false);\n },\n // am, pm\n a: function a(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), true);\n },\n // Timezone: -01:00, +00:00, ... +12:00\n Z: function Z(date) {\n return formatTimezone(getOffset(date), ':');\n },\n // Timezone: -0100, +0000, ... +1200\n ZZ: function ZZ(date) {\n return formatTimezone(getOffset(date));\n },\n // Seconds timestamp: 512969520\n X: function X(date) {\n return Math.floor(date.getTime() / 1000);\n },\n // Milliseconds timestamp: 512969520900\n x: function x(date) {\n return date.getTime();\n },\n w: function w(date, locale) {\n return getWeek(date, {\n firstDayOfWeek: locale.firstDayOfWeek,\n firstWeekContainsDate: locale.firstWeekContainsDate\n });\n },\n ww: function ww(date, locale) {\n return pad(formatFlags.w(date, locale), 2);\n }\n};\nexport function format(val, str) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var formatStr = str ? String(str) : 'YYYY-MM-DDTHH:mm:ss.SSSZ';\n var date = toDate(val);\n\n if (!isValidDate(date)) {\n return 'Invalid Date';\n }\n\n var locale = options.locale || defaultLocale;\n return formatStr.replace(REGEX_FORMAT, function (match, p1) {\n if (p1) {\n return p1;\n }\n\n if (typeof formatFlags[match] === 'function') {\n return \"\".concat(formatFlags[match](date, locale));\n }\n\n return match;\n });\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport defaultLocale from './locale/en';\nimport { startOfWeekYear } from './util';\nvar formattingTokens = /(\\[[^\\[]*\\])|(MM?M?M?|Do|DD?|ddd?d?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|S{1,3}|x|X|ZZ?|.)/g;\nvar match1 = /\\d/; // 0 - 9\n\nvar match2 = /\\d\\d/; // 00 - 99\n\nvar match3 = /\\d{3}/; // 000 - 999\n\nvar match4 = /\\d{4}/; // 0000 - 9999\n\nvar match1to2 = /\\d\\d?/; // 0 - 99\n\nvar matchShortOffset = /[+-]\\d\\d:?\\d\\d/; // +00:00 -00:00 +0000 or -0000\n\nvar matchSigned = /[+-]?\\d+/; // -inf - inf\n\nvar matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n// const matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i; // Word\n\nvar YEAR = 'year';\nvar MONTH = 'month';\nvar DAY = 'day';\nvar HOUR = 'hour';\nvar MINUTE = 'minute';\nvar SECOND = 'second';\nvar MILLISECOND = 'millisecond';\nvar parseFlags = {};\n\nvar addParseFlag = function addParseFlag(token, regex, callback) {\n var tokens = Array.isArray(token) ? token : [token];\n var func;\n\n if (typeof callback === 'string') {\n func = function func(input) {\n var value = parseInt(input, 10);\n return _defineProperty({}, callback, value);\n };\n } else {\n func = callback;\n }\n\n tokens.forEach(function (key) {\n parseFlags[key] = [regex, func];\n });\n};\n\nvar escapeStringRegExp = function escapeStringRegExp(str) {\n return str.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n};\n\nvar matchWordRegExp = function matchWordRegExp(localeKey) {\n return function (locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n return new RegExp(array.map(escapeStringRegExp).join('|'));\n };\n};\n\nvar matchWordCallback = function matchWordCallback(localeKey, key) {\n return function (input, locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n var index = array.indexOf(input);\n\n if (index < 0) {\n throw new Error('Invalid Word');\n }\n\n return _defineProperty({}, key, index);\n };\n};\n\naddParseFlag('Y', matchSigned, YEAR);\naddParseFlag('YY', match2, function (input) {\n var year = new Date().getFullYear();\n var cent = Math.floor(year / 100);\n var value = parseInt(input, 10);\n value = (value > 68 ? cent - 1 : cent) * 100 + value;\n return _defineProperty({}, YEAR, value);\n});\naddParseFlag('YYYY', match4, YEAR);\naddParseFlag('M', match1to2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MM', match2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MMM', matchWordRegExp('monthsShort'), matchWordCallback('monthsShort', MONTH));\naddParseFlag('MMMM', matchWordRegExp('months'), matchWordCallback('months', MONTH));\naddParseFlag('D', match1to2, DAY);\naddParseFlag('DD', match2, DAY);\naddParseFlag(['H', 'h'], match1to2, HOUR);\naddParseFlag(['HH', 'hh'], match2, HOUR);\naddParseFlag('m', match1to2, MINUTE);\naddParseFlag('mm', match2, MINUTE);\naddParseFlag('s', match1to2, SECOND);\naddParseFlag('ss', match2, SECOND);\naddParseFlag('S', match1, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 100);\n});\naddParseFlag('SS', match2, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 10);\n});\naddParseFlag('SSS', match3, MILLISECOND);\n\nfunction matchMeridiem(locale) {\n return locale.meridiemParse || /[ap]\\.?m?\\.?/i;\n}\n\nfunction defaultIsPM(input) {\n return \"\".concat(input).toLowerCase().charAt(0) === 'p';\n}\n\naddParseFlag(['A', 'a'], matchMeridiem, function (input, locale) {\n var isPM = typeof locale.isPM === 'function' ? locale.isPM(input) : defaultIsPM(input);\n return {\n isPM: isPM\n };\n});\n\nfunction offsetFromString(str) {\n var _ref8 = str.match(/([+-]|\\d\\d)/g) || ['-', '0', '0'],\n _ref9 = _slicedToArray(_ref8, 3),\n symbol = _ref9[0],\n hour = _ref9[1],\n minute = _ref9[2];\n\n var minutes = parseInt(hour, 10) * 60 + parseInt(minute, 10);\n\n if (minutes === 0) {\n return 0;\n }\n\n return symbol === '+' ? -minutes : +minutes;\n}\n\naddParseFlag(['Z', 'ZZ'], matchShortOffset, function (input) {\n return {\n offset: offsetFromString(input)\n };\n});\naddParseFlag('x', matchSigned, function (input) {\n return {\n date: new Date(parseInt(input, 10))\n };\n});\naddParseFlag('X', matchTimestamp, function (input) {\n return {\n date: new Date(parseFloat(input) * 1000)\n };\n});\naddParseFlag('d', match1, 'weekday');\naddParseFlag('dd', matchWordRegExp('weekdaysMin'), matchWordCallback('weekdaysMin', 'weekday'));\naddParseFlag('ddd', matchWordRegExp('weekdaysShort'), matchWordCallback('weekdaysShort', 'weekday'));\naddParseFlag('dddd', matchWordRegExp('weekdays'), matchWordCallback('weekdays', 'weekday'));\naddParseFlag('w', match1to2, 'week');\naddParseFlag('ww', match2, 'week');\n\nfunction to24hour(hour, isPM) {\n if (hour !== undefined && isPM !== undefined) {\n if (isPM) {\n if (hour < 12) {\n return hour + 12;\n }\n } else if (hour === 12) {\n return 0;\n }\n }\n\n return hour;\n}\n\nfunction getFullInputArray(input) {\n var backupDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date();\n var result = [0, 0, 1, 0, 0, 0, 0];\n var backupArr = [backupDate.getFullYear(), backupDate.getMonth(), backupDate.getDate(), backupDate.getHours(), backupDate.getMinutes(), backupDate.getSeconds(), backupDate.getMilliseconds()];\n var useBackup = true;\n\n for (var i = 0; i < 7; i++) {\n if (input[i] === undefined) {\n result[i] = useBackup ? backupArr[i] : result[i];\n } else {\n result[i] = input[i];\n useBackup = false;\n }\n }\n\n return result;\n}\n\nfunction createDate(y, m, d, h, M, s, ms) {\n var date;\n\n if (y < 100 && y >= 0) {\n date = new Date(y + 400, m, d, h, M, s, ms);\n\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n}\n\nfunction createUTCDate() {\n var date;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var y = args[0];\n\n if (y < 100 && y >= 0) {\n args[0] += 400;\n date = new Date(Date.UTC.apply(Date, args)); // eslint-disable-next-line no-restricted-globals\n\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(Date, args));\n }\n\n return date;\n}\n\nfunction makeParser(dateString, format, locale) {\n var tokens = format.match(formattingTokens);\n\n if (!tokens) {\n throw new Error();\n }\n\n var length = tokens.length;\n var mark = {};\n\n for (var i = 0; i < length; i += 1) {\n var token = tokens[i];\n var parseTo = parseFlags[token];\n\n if (!parseTo) {\n var word = token.replace(/^\\[|\\]$/g, '');\n\n if (dateString.indexOf(word) === 0) {\n dateString = dateString.substr(word.length);\n } else {\n throw new Error('not match');\n }\n } else {\n var regex = typeof parseTo[0] === 'function' ? parseTo[0](locale) : parseTo[0];\n var parser = parseTo[1];\n var value = (regex.exec(dateString) || [])[0];\n var obj = parser(value, locale);\n mark = _objectSpread({}, mark, {}, obj);\n dateString = dateString.replace(value, '');\n }\n }\n\n return mark;\n}\n\nexport function parse(str, format) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n try {\n var _options$locale = options.locale,\n _locale = _options$locale === void 0 ? defaultLocale : _options$locale,\n _options$backupDate = options.backupDate,\n backupDate = _options$backupDate === void 0 ? new Date() : _options$backupDate;\n\n var parseResult = makeParser(str, format, _locale);\n var year = parseResult.year,\n month = parseResult.month,\n day = parseResult.day,\n hour = parseResult.hour,\n minute = parseResult.minute,\n second = parseResult.second,\n millisecond = parseResult.millisecond,\n isPM = parseResult.isPM,\n date = parseResult.date,\n offset = parseResult.offset,\n weekday = parseResult.weekday,\n week = parseResult.week;\n\n if (date) {\n return date;\n }\n\n var inputArray = [year, month, day, hour, minute, second, millisecond];\n inputArray[3] = to24hour(inputArray[3], isPM); // check week\n\n if (week !== undefined && month === undefined && day === undefined) {\n // new Date(year, 3) make sure in current year\n var firstDate = startOfWeekYear(year === undefined ? backupDate : new Date(year, 3), {\n firstDayOfWeek: _locale.firstDayOfWeek,\n firstWeekContainsDate: _locale.firstWeekContainsDate\n });\n return new Date(firstDate.getTime() + (week - 1) * 7 * 24 * 3600 * 1000);\n }\n\n var parsedDate;\n var result = getFullInputArray(inputArray, backupDate);\n\n if (offset !== undefined) {\n result[6] += offset * 60 * 1000;\n parsedDate = createUTCDate.apply(void 0, _toConsumableArray(result));\n } else {\n parsedDate = createDate.apply(void 0, _toConsumableArray(result));\n } // check weekday\n\n\n if (weekday !== undefined && parsedDate.getDay() !== weekday) {\n return new Date(NaN);\n }\n\n return parsedDate;\n } catch (e) {\n return new Date(NaN);\n }\n}","import { getWeek, format, parse } from 'date-format-parse';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _extends$1() {\n return _extends$1 = Object.assign || function (a) {\n for (var b, c = 1; c < arguments.length; c++) {\n for (var d in b = arguments[c], b) {\n Object.prototype.hasOwnProperty.call(b, d) && (a[d] = b[d]);\n }\n }\n\n return a;\n }, _extends$1.apply(this, arguments);\n}\n\nvar normalMerge = [\"attrs\", \"props\", \"domProps\"],\n toArrayMerge = [\"class\", \"style\", \"directives\"],\n functionalMerge = [\"on\", \"nativeOn\"],\n mergeJsxProps = function mergeJsxProps(a) {\n return a.reduce(function (c, a) {\n for (var b in a) {\n if (!c[b]) c[b] = a[b];else if (-1 !== normalMerge.indexOf(b)) c[b] = _extends$1({}, c[b], a[b]);else if (-1 !== toArrayMerge.indexOf(b)) {\n var d = c[b] instanceof Array ? c[b] : [c[b]],\n e = a[b] instanceof Array ? a[b] : [a[b]];\n c[b] = d.concat(e);\n } else if (-1 !== functionalMerge.indexOf(b)) {\n for (var f in a[b]) {\n if (c[b][f]) {\n var g = c[b][f] instanceof Array ? c[b][f] : [c[b][f]],\n h = a[b][f] instanceof Array ? a[b][f] : [a[b][f]];\n c[b][f] = g.concat(h);\n } else c[b][f] = a[b][f];\n }\n } else if (\"hook\" == b) for (var i in a[b]) {\n c[b][i] = c[b][i] ? mergeFn(c[b][i], a[b][i]) : a[b][i];\n } else c[b] = a[b];\n }\n\n return c;\n }, {});\n},\n mergeFn = function mergeFn(a, b) {\n return function () {\n a && a.apply(this, arguments), b && b.apply(this, arguments);\n };\n};\n\nvar helper = mergeJsxProps;\n\n// new Date(10, 0, 1) The year from 0 to 99 will be incremented by 1900 automatically.\nfunction createDate(y) {\n var M = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var d = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var h = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var m = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var s = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n var ms = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;\n var date = new Date(y, M, d, h, m, s, ms);\n\n if (y < 100 && y >= 0) {\n date.setFullYear(y);\n }\n\n return date;\n}\nfunction isValidDate(date) {\n return date instanceof Date && !isNaN(date);\n}\nfunction isValidRangeDate(date) {\n return Array.isArray(date) && date.length === 2 && date.every(isValidDate) && date[0] <= date[1];\n}\nfunction isValidDates(dates) {\n return Array.isArray(dates) && dates.every(isValidDate);\n}\nfunction getValidDate(value) {\n var date = new Date(value);\n\n if (isValidDate(date)) {\n return date;\n }\n\n for (var _len = arguments.length, backup = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n backup[_key - 1] = arguments[_key];\n }\n\n if (backup.length) {\n return getValidDate.apply(void 0, backup);\n }\n\n return new Date();\n}\nfunction startOfYear(value) {\n var date = new Date(value);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfMonth(value) {\n var date = new Date(value);\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfDay(value) {\n var date = new Date(value);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction getCalendar(_ref) {\n var firstDayOfWeek = _ref.firstDayOfWeek,\n year = _ref.year,\n month = _ref.month;\n var arr = []; // change to the last day of the last month\n\n var calendar = createDate(year, month, 0);\n var lastDayInLastMonth = calendar.getDate(); // getDay() 0 is Sunday, 1 is Monday\n\n var firstDayInLastMonth = lastDayInLastMonth - (calendar.getDay() + 7 - firstDayOfWeek) % 7;\n\n for (var i = firstDayInLastMonth; i <= lastDayInLastMonth; i++) {\n arr.push(createDate(year, month, i - lastDayInLastMonth));\n } // change to the last day of the current month\n\n\n calendar.setMonth(month + 1, 0);\n var lastDayInCurrentMonth = calendar.getDate();\n\n for (var _i = 1; _i <= lastDayInCurrentMonth; _i++) {\n arr.push(createDate(year, month, _i));\n }\n\n var lastMonthLength = lastDayInLastMonth - firstDayInLastMonth + 1;\n var nextMonthLength = 6 * 7 - lastMonthLength - lastDayInCurrentMonth;\n\n for (var _i2 = 1; _i2 <= nextMonthLength; _i2++) {\n arr.push(createDate(year, month, lastDayInCurrentMonth + _i2));\n }\n\n return arr;\n}\nfunction setMonth(dirtyDate, dirtyMonth) {\n var date = new Date(dirtyDate);\n var month = typeof dirtyMonth === 'function' ? dirtyMonth(date.getMonth()) : Number(dirtyMonth);\n var year = date.getFullYear();\n var daysInMonth = createDate(year, month + 1, 0).getDate();\n var day = date.getDate();\n date.setMonth(month, Math.min(day, daysInMonth));\n return date;\n}\nfunction setYear(dirtyDate, dirtyYear) {\n var date = new Date(dirtyDate);\n var year = typeof dirtyYear === 'function' ? dirtyYear(date.getFullYear()) : dirtyYear;\n date.setFullYear(year);\n return date;\n}\nfunction assignTime(target, source) {\n var date = new Date(target);\n var time = new Date(source);\n date.setHours(time.getHours(), time.getMinutes(), time.getSeconds());\n return date;\n}\n\n/**\n * chunk the array\n * @param {Array} arr\n * @param {Number} size\n */\nfunction chunk(arr, size) {\n if (!Array.isArray(arr)) {\n return [];\n }\n\n var result = [];\n var len = arr.length;\n var i = 0;\n size = size || len;\n\n while (i < len) {\n result.push(arr.slice(i, i += size));\n }\n\n return result;\n}\n/**\n * isObject\n * @param {*} obj\n * @returns {Boolean}\n */\n\nfunction isObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n}\n/**\n * pick object\n * @param {Object} obj\n * @param {Array|String} props\n */\n\nfunction pick(obj, props) {\n if (!isObject(obj)) return {};\n\n if (!Array.isArray(props)) {\n props = [props];\n }\n\n var res = {};\n props.forEach(function (prop) {\n if (prop in obj) {\n res[prop] = obj[prop];\n }\n });\n return res;\n}\n/**\n * deep merge two object without merging array\n * @param {object} target\n * @param {object} source\n */\n\nfunction mergeDeep(target, source) {\n if (!isObject(target)) {\n return {};\n }\n\n var result = target;\n\n if (isObject(source)) {\n Object.keys(source).forEach(function (key) {\n var value = source[key];\n\n if (isObject(value) && isObject(target[key])) {\n value = mergeDeep(target[key], value);\n }\n\n result = _objectSpread2({}, result, _defineProperty({}, key, value));\n });\n }\n\n return result;\n}\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar en = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nvar _default = locale;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n});\n\nvar en$1 = unwrapExports(en);\n\nvar lang = {\n formatLocale: en$1,\n yearFormat: 'YYYY',\n monthFormat: 'MMM',\n monthBeforeYear: true\n};\n\nvar defaultLocale = 'en';\nvar locales = {};\nlocales[defaultLocale] = lang;\nfunction locale(name, object, isLocal) {\n if (typeof name !== 'string') return locales[defaultLocale];\n var l = defaultLocale;\n\n if (locales[name]) {\n l = name;\n }\n\n if (object) {\n locales[name] = object;\n l = name;\n }\n\n if (!isLocal) {\n defaultLocale = l;\n }\n\n return locales[name] || locales[defaultLocale];\n}\n/**\n * get locale object\n * @param {string} name lang\n */\n\nfunction getLocale(name) {\n return locale(name, null, true);\n}\n\n/* istanbul ignore file */\nfunction rafThrottle(fn) {\n var isRunning = false;\n return function fnBinfRaf() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (isRunning) return;\n isRunning = true;\n requestAnimationFrame(function () {\n isRunning = false;\n fn.apply(_this, args);\n });\n };\n}\n\n/**\n * get the hidden element width, height\n * @param {HTMLElement} element dom\n */\nfunction getPopupElementSize(element) {\n var originalDisplay = element.style.display;\n var originalVisibility = element.style.visibility;\n element.style.display = 'block';\n element.style.visibility = 'hidden';\n var styles = window.getComputedStyle(element);\n var width = element.offsetWidth + parseInt(styles.marginLeft, 10) + parseInt(styles.marginRight, 10);\n var height = element.offsetHeight + parseInt(styles.marginTop, 10) + parseInt(styles.marginBottom, 10);\n element.style.display = originalDisplay;\n element.style.visibility = originalVisibility;\n return {\n width: width,\n height: height\n };\n}\n/**\n * get the popup position\n * @param {HTMLElement} el relative element\n * @param {Number} targetWidth target element's width\n * @param {Number} targetHeight target element's height\n * @param {Boolean} fixed\n */\n\nfunction getRelativePosition(el, targetWidth, targetHeight, fixed) {\n var left = 0;\n var top = 0;\n var offsetX = 0;\n var offsetY = 0;\n var relativeRect = el.getBoundingClientRect();\n var dw = document.documentElement.clientWidth;\n var dh = document.documentElement.clientHeight;\n\n if (fixed) {\n offsetX = window.pageXOffset + relativeRect.left;\n offsetY = window.pageYOffset + relativeRect.top;\n }\n\n if (dw - relativeRect.left < targetWidth && relativeRect.right < targetWidth) {\n left = offsetX - relativeRect.left + 1;\n } else if (relativeRect.left + relativeRect.width / 2 <= dw / 2) {\n left = offsetX;\n } else {\n left = offsetX + relativeRect.width - targetWidth;\n }\n\n if (relativeRect.top <= targetHeight && dh - relativeRect.bottom <= targetHeight) {\n top = offsetY + dh - relativeRect.top - targetHeight;\n } else if (relativeRect.top + relativeRect.height / 2 <= dh / 2) {\n top = offsetY + relativeRect.height;\n } else {\n top = offsetY - targetHeight;\n }\n\n return {\n left: \"\".concat(left, \"px\"),\n top: \"\".concat(top, \"px\")\n };\n}\nfunction getScrollParent(node) {\n var until = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.body;\n\n if (!node || node === until) {\n return null;\n }\n\n var style = function style(value, prop) {\n return getComputedStyle(value, null).getPropertyValue(prop);\n };\n\n var regex = /(auto|scroll)/;\n var scroll = regex.test(style(node, 'overflow') + style(node, 'overflow-y') + style(node, 'overflow-x'));\n return scroll ? node : getScrollParent(node.parentNode, until);\n}\n\n//\nvar script = {\n name: 'Popup',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n appendToBody: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n top: '',\n left: ''\n };\n },\n watch: {\n visible: {\n immediate: true,\n handler: function handler(val) {\n var _this = this;\n\n this.$nextTick(function () {\n if (val) {\n _this.displayPopup();\n }\n });\n }\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n if (this.appendToBody) {\n document.body.appendChild(this.$el);\n }\n\n this._clickoutEvent = 'ontouchend' in document ? 'touchstart' : 'mousedown';\n document.addEventListener(this._clickoutEvent, this.handleClickOutside); // change the popup position when resize or scroll\n\n var relativeElement = this.$parent.$el;\n this._displayPopup = rafThrottle(function () {\n return _this2.displayPopup();\n });\n this._scrollParent = getScrollParent(relativeElement) || window;\n\n this._scrollParent.addEventListener('scroll', this._displayPopup);\n\n window.addEventListener('resize', this._displayPopup);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.appendToBody && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n\n document.removeEventListener(this._clickoutEvent, this.handleClickOutside);\n\n this._scrollParent.removeEventListener('scroll', this._displayPopup);\n\n window.removeEventListener('resize', this._displayPopup);\n },\n methods: {\n handleClickOutside: function handleClickOutside(evt) {\n if (!this.visible) return;\n var target = evt.target;\n var el = this.$el;\n\n if (el && !el.contains(target)) {\n this.$emit('clickoutside', evt);\n }\n },\n displayPopup: function displayPopup() {\n if (!this.visible) return;\n var popup = this.$el;\n var relativeElement = this.$parent.$el;\n var appendToBody = this.appendToBody;\n\n if (!this._popupRect) {\n this._popupRect = getPopupElementSize(popup);\n }\n\n var _this$_popupRect = this._popupRect,\n width = _this$_popupRect.width,\n height = _this$_popupRect.height;\n\n var _getRelativePosition = getRelativePosition(relativeElement, width, height, appendToBody),\n left = _getRelativePosition.left,\n top = _getRelativePosition.top;\n\n this.left = left;\n this.top = top;\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('transition', {\n attrs: {\n \"name\": _vm.prefixClass + \"-zoom-in-down\"\n }\n }, [_vm.visible ? _c('div', {\n class: _vm.prefixClass + \"-datepicker-main \" + _vm.prefixClass + \"-datepicker-popup\",\n style: {\n top: _vm.top,\n left: _vm.left,\n position: 'absolute'\n }\n }, [_vm._t(\"default\")], 2) : _vm._e()]);\n};\n\nvar __vue_staticRenderFns__ = [];\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$1 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M940.218182 107.054545h-209.454546V46.545455h-65.163636v60.50909H363.054545V46.545455H297.890909v60.50909H83.781818c-18.618182 0-32.581818 13.963636-32.581818 32.581819v805.236363c0 18.618182 13.963636 32.581818 32.581818 32.581818h861.090909c18.618182 0 32.581818-13.963636 32.581818-32.581818V139.636364c-4.654545-18.618182-18.618182-32.581818-37.236363-32.581819zM297.890909 172.218182V232.727273h65.163636V172.218182h307.2V232.727273h65.163637V172.218182h176.872727v204.8H116.363636V172.218182h181.527273zM116.363636 912.290909V442.181818h795.927273v470.109091H116.363636z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$1 = [];\n/* style */\n\nvar __vue_inject_styles__$1 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$1 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$1 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$1 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$1 = normalizeComponent({\n render: __vue_render__$1,\n staticRenderFns: __vue_staticRenderFns__$1\n}, __vue_inject_styles__$1, {}, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$2 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 24 24\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M0 0h24v24H0z\",\n \"fill\": \"none\"\n }\n }), _vm._v(\" \"), _c('path', {\n attrs: {\n \"d\": \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n }\n }), _vm._v(\" \"), _c('path', {\n attrs: {\n \"d\": \"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$2 = [];\n/* style */\n\nvar __vue_inject_styles__$2 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$2 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$2 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$2 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$2 = normalizeComponent({\n render: __vue_render__$2,\n staticRenderFns: __vue_staticRenderFns__$2\n}, __vue_inject_styles__$2, {}, __vue_scope_id__$2, __vue_is_functional_template__$2, __vue_module_identifier__$2, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$3 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M810.005333 274.005333l-237.994667 237.994667 237.994667 237.994667-60.010667 60.010667-237.994667-237.994667-237.994667 237.994667-60.010667-60.010667 237.994667-237.994667-237.994667-237.994667 60.010667-60.010667 237.994667 237.994667 237.994667-237.994667z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$3 = [];\n/* style */\n\nvar __vue_inject_styles__$3 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$3 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$3 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$3 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$3 = normalizeComponent({\n render: __vue_render__$3,\n staticRenderFns: __vue_staticRenderFns__$3\n}, __vue_inject_styles__$3, {}, __vue_scope_id__$3, __vue_is_functional_template__$3, __vue_module_identifier__$3, false, undefined, undefined, undefined);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script$1 = {\n props: {\n type: String,\n disabled: Boolean\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n }\n};\n\n/* script */\nvar __vue_script__$1 = script$1;\n/* template */\n\nvar __vue_render__$4 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('button', _vm._g({\n class: [_vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-icon-\" + _vm.type, {\n disabled: _vm.disabled\n }],\n attrs: {\n \"type\": \"button\",\n \"disabled\": _vm.disabled\n }\n }, _vm.$listeners), [_c('i', {\n class: _vm.prefixClass + \"-icon-\" + _vm.type\n })]);\n};\n\nvar __vue_staticRenderFns__$4 = [];\n/* style */\n\nvar __vue_inject_styles__$4 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$4 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$4 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$4 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$4 = normalizeComponent({\n render: __vue_render__$4,\n staticRenderFns: __vue_staticRenderFns__$4\n}, __vue_inject_styles__$4, __vue_script__$1, __vue_scope_id__$4, __vue_is_functional_template__$4, __vue_module_identifier__$4, false, undefined, undefined, undefined);\n\nvar script$2 = {\n name: 'TableDate',\n components: {\n IconButton: __vue_component__$4\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n getWeek: {\n default: function _default() {\n return getWeek;\n }\n },\n prefixClass: {\n default: 'mx'\n },\n onDateMouseEnter: {\n default: undefined\n },\n onDateMouseLeave: {\n default: undefined\n }\n },\n props: {\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: false\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n getRowClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n firstDayOfWeek: function firstDayOfWeek() {\n return this.getLocale().formatLocale.firstDayOfWeek || 0;\n },\n yearMonth: function yearMonth() {\n var _this$getLocale = this.getLocale(),\n yearFormat = _this$getLocale.yearFormat,\n monthBeforeYear = _this$getLocale.monthBeforeYear,\n _this$getLocale$month = _this$getLocale.monthFormat,\n monthFormat = _this$getLocale$month === void 0 ? 'MMM' : _this$getLocale$month;\n\n var yearLabel = {\n panel: 'year',\n label: this.formatDate(this.calendar, yearFormat)\n };\n var monthLabel = {\n panel: 'month',\n label: this.formatDate(this.calendar, monthFormat)\n };\n return monthBeforeYear ? [monthLabel, yearLabel] : [yearLabel, monthLabel];\n },\n days: function days() {\n var locale = this.getLocale();\n var days = locale.days || locale.formatLocale.weekdaysMin;\n return days.concat(days).slice(this.firstDayOfWeek, this.firstDayOfWeek + 7);\n },\n dates: function dates() {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n var arr = getCalendar({\n firstDayOfWeek: this.firstDayOfWeek,\n year: year,\n month: month\n });\n return chunk(arr, 7);\n }\n },\n methods: {\n isDisabledArrows: function isDisabledArrows(type) {\n var date = new Date(this.calendar);\n\n switch (type) {\n case 'last-year':\n date.setFullYear(date.getFullYear() - 1, date.getMonth() + 1, 0);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-year':\n date.setFullYear(date.getFullYear() + 1);\n break;\n\n case 'last-month':\n date.setMonth(date.getMonth(), 0);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-month':\n date.setMonth(date.getMonth() + 1);\n break;\n }\n\n return this.disabledCalendarChanger(date, type);\n },\n handleIconLeftClick: function handleIconLeftClick() {\n this.$emit('changecalendar', setMonth(this.calendar, function (v) {\n return v - 1;\n }), 'last-month');\n },\n handleIconRightClick: function handleIconRightClick() {\n this.$emit('changecalendar', setMonth(this.calendar, function (v) {\n return v + 1;\n }), 'next-month');\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v - 1;\n }), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v + 1;\n }), 'next-year');\n },\n handlePanelChange: function handlePanelChange(panel) {\n this.$emit('changepanel', panel);\n },\n handleMouseEnter: function handleMouseEnter(cell) {\n if (typeof this.onDateMouseEnter === 'function') {\n this.onDateMouseEnter(cell);\n }\n },\n handleMouseLeave: function handleMouseLeave(cell) {\n if (typeof this.onDateMouseLeave === 'function') {\n this.onDateMouseLeave(cell);\n }\n },\n handleCellClick: function handleCellClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var index = target.getAttribute('data-row-col');\n\n if (index) {\n var _index$split$map = index.split(',').map(function (v) {\n return parseInt(v, 10);\n }),\n _index$split$map2 = _slicedToArray(_index$split$map, 2),\n row = _index$split$map2[0],\n col = _index$split$map2[1];\n\n var date = this.dates[row][col];\n this.$emit('select', new Date(date));\n }\n },\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n getCellTitle: function getCellTitle(date) {\n var fmt = this.titleFormat;\n return this.formatDate(date, fmt);\n },\n getWeekNumber: function getWeekNumber(date) {\n return this.getWeek(date, this.getLocale().formatLocale);\n }\n }\n};\n\n/* script */\nvar __vue_script__$2 = script$2;\n/* template */\n\nvar __vue_render__$5 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-date\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\",\n \"disabled\": _vm.isDisabledArrows('last-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"left\",\n \"disabled\": _vm.isDisabledArrows('last-month')\n },\n on: {\n \"click\": _vm.handleIconLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\",\n \"disabled\": _vm.isDisabledArrows('next-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"right\",\n \"disabled\": _vm.isDisabledArrows('next-month')\n },\n on: {\n \"click\": _vm.handleIconRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, _vm._l(_vm.yearMonth, function (item) {\n return _c('button', {\n key: item.panel,\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-current-\" + item.panel,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function click($event) {\n return _vm.handlePanelChange(item.panel);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.label) + \"\\n \")]);\n }), 0)], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-date\"\n }, [_c('thead', [_c('tr', [_vm.showWeekNumber ? _c('th', {\n class: _vm.prefixClass + \"-week-number-header\"\n }) : _vm._e(), _vm._v(\" \"), _vm._l(_vm.days, function (day) {\n return _c('th', {\n key: day\n }, [_vm._v(_vm._s(day))]);\n })], 2)]), _vm._v(\" \"), _c('tbody', {\n on: {\n \"click\": _vm.handleCellClick\n }\n }, _vm._l(_vm.dates, function (row, i) {\n return _c('tr', {\n key: i,\n class: [_vm.prefixClass + \"-date-row\", _vm.getRowClasses(row)]\n }, [_vm.showWeekNumber ? _c('td', {\n class: _vm.prefixClass + \"-week-number\",\n attrs: {\n \"data-row-col\": i + \",0\"\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.getWeekNumber(row[0])) + \"\\n \")]) : _vm._e(), _vm._v(\" \"), _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-row-col\": i + \",\" + j,\n \"title\": _vm.getCellTitle(cell)\n },\n on: {\n \"mouseenter\": function mouseenter($event) {\n return _vm.handleMouseEnter(cell);\n },\n \"mouseleave\": function mouseleave($event) {\n return _vm.handleMouseLeave(cell);\n }\n }\n }, [_c('div', [_vm._v(_vm._s(cell.getDate()))])]);\n })], 2);\n }), 0)])])]);\n};\n\nvar __vue_staticRenderFns__$5 = [];\n/* style */\n\nvar __vue_inject_styles__$5 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$5 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$5 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$5 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$5 = normalizeComponent({\n render: __vue_render__$5,\n staticRenderFns: __vue_staticRenderFns__$5\n}, __vue_inject_styles__$5, __vue_script__$2, __vue_scope_id__$5, __vue_is_functional_template__$5, __vue_module_identifier__$5, false, undefined, undefined, undefined);\n\n//\nvar script$3 = {\n name: 'TableMonth',\n components: {\n IconButton: __vue_component__$4\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n calendarYear: function calendarYear() {\n return this.calendar.getFullYear();\n },\n months: function months() {\n var locale = this.getLocale();\n var monthsLocale = locale.months || locale.formatLocale.monthsShort;\n var months = monthsLocale.map(function (text, month) {\n return {\n text: text,\n month: month\n };\n });\n return chunk(months, 3);\n }\n },\n methods: {\n isDisabledArrows: function isDisabledArrows(type) {\n var date = new Date(this.calendar);\n\n switch (type) {\n case 'last-year':\n date.setFullYear(date.getFullYear() - 1, 11, 31);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-year':\n date.setFullYear(date.getFullYear() + 1, 0, 1);\n break;\n }\n\n return this.disabledCalendarChanger(date, type);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v - 1;\n }), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v + 1;\n }), 'next-year');\n },\n handlePanelChange: function handlePanelChange() {\n this.$emit('changepanel', 'year');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var month = target.getAttribute('data-month');\n\n if (month && !target.classList.contains('disabled')) {\n this.$emit('select', parseInt(month, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$3 = script$3;\n/* template */\n\nvar __vue_render__$6 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-month\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\",\n \"disabled\": _vm.isDisabledArrows('last-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\",\n \"disabled\": _vm.isDisabledArrows('next-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handlePanelChange\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.calendarYear) + \"\\n \")])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-month\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.months, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell.month),\n attrs: {\n \"data-month\": cell.month\n }\n }, [_c('div', [_vm._v(_vm._s(cell.text))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$6 = [];\n/* style */\n\nvar __vue_inject_styles__$6 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$6 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$6 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$6 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$6 = normalizeComponent({\n render: __vue_render__$6,\n staticRenderFns: __vue_staticRenderFns__$6\n}, __vue_inject_styles__$6, __vue_script__$3, __vue_scope_id__$6, __vue_is_functional_template__$6, __vue_module_identifier__$6, false, undefined, undefined, undefined);\n\n//\nvar script$4 = {\n name: 'TableYear',\n components: {\n IconButton: __vue_component__$4\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getYearPanel: {\n type: Function\n }\n },\n computed: {\n years: function years() {\n var calendar = new Date(this.calendar);\n\n if (typeof this.getYearPanel === 'function') {\n return this.getYearPanel(calendar);\n }\n\n return this.getYears(calendar);\n },\n firstYear: function firstYear() {\n return this.years[0][0];\n },\n lastYear: function lastYear() {\n var last = function last(arr) {\n return arr[arr.length - 1];\n };\n\n return last(last(this.years));\n }\n },\n methods: {\n isDisabledArrows: function isDisabledArrows(type) {\n var date = new Date(this.calendar);\n\n switch (type) {\n case 'last-decade':\n date.setFullYear(this.firstYear - 1, 11, 31);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-decade':\n date.setFullYear(this.lastYear + 1, 0, 1);\n break;\n }\n\n return this.disabledCalendarChanger(date, type);\n },\n getYears: function getYears(calendar) {\n var firstYear = Math.floor(calendar.getFullYear() / 10) * 10;\n var years = [];\n\n for (var i = 0; i < 10; i++) {\n years.push(firstYear + i);\n }\n\n return chunk(years, 2);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v - 10;\n }), 'last-decade');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v + 10;\n }), 'next-decade');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var year = target.getAttribute('data-year');\n\n if (year && !target.classList.contains('disabled')) {\n this.$emit('select', parseInt(year, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$4 = script$4;\n/* template */\n\nvar __vue_render__$7 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-year\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\",\n \"disabled\": _vm.isDisabledArrows('last-decade')\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\",\n \"disabled\": _vm.isDisabledArrows('next-decade')\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('span', [_vm._v(_vm._s(_vm.firstYear))]), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-decade-separator\"\n }), _vm._v(\" \"), _c('span', [_vm._v(_vm._s(_vm.lastYear))])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-year\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.years, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-year\": cell\n }\n }, [_c('div', [_vm._v(_vm._s(cell))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$7 = [];\n/* style */\n\nvar __vue_inject_styles__$7 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$7 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$7 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$7 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$7 = normalizeComponent({\n render: __vue_render__$7,\n staticRenderFns: __vue_staticRenderFns__$7\n}, __vue_inject_styles__$7, __vue_script__$4, __vue_scope_id__$7, __vue_is_functional_template__$7, __vue_module_identifier__$7, false, undefined, undefined, undefined);\n\nvar CalendarPanel = {\n name: 'CalendarPanel',\n inject: {\n prefixClass: {\n default: 'mx'\n },\n dispatchDatePicker: {\n default: function _default() {\n return function () {};\n }\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n defaultPanel: {\n type: String\n },\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n disabledDate: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n type: {\n type: String,\n default: 'date'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: undefined\n },\n getYearPanel: {\n type: Function\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n calendar: Date,\n // update date when select year or month\n partialUpdate: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n var panels = ['date', 'month', 'year'];\n var index = Math.max(panels.indexOf(this.type), panels.indexOf(this.defaultPanel));\n var panel = index !== -1 ? panels[index] : 'date';\n return {\n panel: panel,\n innerCalendar: new Date()\n };\n },\n computed: {\n innerValue: function innerValue() {\n var value = Array.isArray(this.value) ? this.value : [this.value];\n var map = {\n year: startOfYear,\n month: startOfMonth,\n date: startOfDay\n };\n var start = map[this.type] || map.date;\n return value.filter(isValidDate).map(function (v) {\n return start(v);\n });\n },\n calendarYear: function calendarYear() {\n return this.innerCalendar.getFullYear();\n },\n calendarMonth: function calendarMonth() {\n return this.innerCalendar.getMonth();\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: 'initCalendar'\n },\n calendar: {\n handler: 'initCalendar'\n },\n defaultValue: {\n handler: 'initCalendar'\n }\n },\n methods: {\n initCalendar: function initCalendar() {\n var calendarDate = this.calendar;\n\n if (!isValidDate(calendarDate)) {\n var length = this.innerValue.length;\n calendarDate = getValidDate(length > 0 ? this.innerValue[length - 1] : this.defaultValue);\n }\n\n this.innerCalendar = startOfMonth(calendarDate);\n },\n isDisabled: function isDisabled(date) {\n return this.disabledDate(new Date(date), this.innerValue);\n },\n emitDate: function emitDate(date, type) {\n if (!this.isDisabled(date)) {\n this.$emit('select', date, type, this.innerValue); // someone need get the first selected date to set range value. (#429)\n\n this.dispatchDatePicker('pick', date, type);\n }\n },\n handleCalendarChange: function handleCalendarChange(calendar, type) {\n var oldCalendar = new Date(this.innerCalendar);\n this.innerCalendar = calendar;\n this.$emit('update:calendar', calendar);\n this.dispatchDatePicker('calendar-change', calendar, oldCalendar, type);\n },\n handelPanelChange: function handelPanelChange(panel) {\n var oldPanel = this.panel;\n this.panel = panel;\n this.dispatchDatePicker('panel-change', panel, oldPanel);\n },\n handleSelectYear: function handleSelectYear(year) {\n if (this.type === 'year') {\n var date = this.getYearCellDate(year);\n this.emitDate(date, 'year');\n } else {\n this.handleCalendarChange(createDate(year, this.calendarMonth), 'year');\n this.handelPanelChange('month');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date = new Date(this.innerValue[0]);\n\n _date.setFullYear(year);\n\n this.emitDate(_date, 'year');\n }\n }\n },\n handleSelectMonth: function handleSelectMonth(month) {\n if (this.type === 'month') {\n var date = this.getMonthCellDate(month);\n this.emitDate(date, 'month');\n } else {\n this.handleCalendarChange(createDate(this.calendarYear, month), 'month');\n this.handelPanelChange('date');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date2 = new Date(this.innerValue[0]);\n\n _date2.setFullYear(this.calendarYear);\n\n this.emitDate(setMonth(_date2, month), 'month');\n }\n }\n },\n handleSelectDate: function handleSelectDate(date) {\n this.emitDate(date, this.type === 'week' ? 'week' : 'date');\n },\n getMonthCellDate: function getMonthCellDate(month) {\n return createDate(this.calendarYear, month);\n },\n getYearCellDate: function getYearCellDate(year) {\n return createDate(year, 0);\n },\n getDateClasses: function getDateClasses(cellDate) {\n var notCurrentMonth = cellDate.getMonth() !== this.calendarMonth;\n var classes = [];\n\n if (cellDate.getTime() === new Date().setHours(0, 0, 0, 0)) {\n classes.push('today');\n }\n\n if (notCurrentMonth) {\n classes.push('not-current-month');\n }\n\n var state = this.getStateClass(cellDate);\n\n if (!(state === 'active' && notCurrentMonth)) {\n classes.push(state);\n }\n\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getMonthClasses: function getMonthClasses(month) {\n var classes = [];\n\n if (this.type !== 'month') {\n if (this.calendarMonth === month) {\n classes.push('active');\n }\n\n var _cellDate = this.getMonthCellDate(month);\n\n if (this.disabledCalendarChanger(_cellDate, 'month')) {\n classes.push('disabled');\n }\n\n return classes;\n }\n\n var cellDate = this.getMonthCellDate(month);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getYearClasses: function getYearClasses(year) {\n var classes = [];\n\n if (this.type !== 'year') {\n if (this.calendarYear === year) {\n classes.push('active');\n }\n\n var _cellDate2 = this.getYearCellDate(year);\n\n if (this.disabledCalendarChanger(_cellDate2, 'year')) {\n classes.push('disabled');\n }\n\n return classes;\n }\n\n var cellDate = this.getYearCellDate(year);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getStateClass: function getStateClass(cellDate) {\n if (this.isDisabled(cellDate)) {\n return 'disabled';\n }\n\n if (this.innerValue.some(function (v) {\n return v.getTime() === cellDate.getTime();\n })) {\n return 'active';\n }\n\n return '';\n },\n getWeekState: function getWeekState(row) {\n if (this.type !== 'week') return '';\n var start = row[0].getTime();\n var end = row[6].getTime();\n var active = this.innerValue.some(function (v) {\n var time = v.getTime();\n return time >= start && time <= end;\n });\n return active ? \"\".concat(this.prefixClass, \"-active-week\") : '';\n }\n },\n render: function render() {\n var h = arguments[0];\n var panel = this.panel,\n innerCalendar = this.innerCalendar;\n\n if (panel === 'year') {\n return h(__vue_component__$7, {\n \"attrs\": {\n \"disabledCalendarChanger\": this.disabledCalendarChanger,\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getYearClasses,\n \"getYearPanel\": this.getYearPanel\n },\n \"on\": {\n \"select\": this.handleSelectYear,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n if (panel === 'month') {\n return h(__vue_component__$6, {\n \"attrs\": {\n \"disabledCalendarChanger\": this.disabledCalendarChanger,\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getMonthClasses\n },\n \"on\": {\n \"select\": this.handleSelectMonth,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n return h(__vue_component__$5, {\n \"attrs\": {\n \"disabledCalendarChanger\": this.disabledCalendarChanger,\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getDateClasses,\n \"getRowClasses\": this.getWeekState,\n \"titleFormat\": this.titleFormat,\n \"showWeekNumber\": typeof this.showWeekNumber === 'boolean' ? this.showWeekNumber : this.type === 'week'\n },\n \"class\": _defineProperty({}, \"\".concat(this.prefixClass, \"-calendar-week-mode\"), this.type === 'week'),\n \"on\": {\n \"select\": this.handleSelectDate,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n};\n\nvar CalendarRange = {\n name: 'CalendarRange',\n components: {\n CalendarPanel: CalendarPanel\n },\n provide: function provide() {\n return {\n onDateMouseEnter: this.onDateMouseEnter,\n onDateMouseLeave: this.onDateMouseLeave\n };\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, CalendarPanel.props),\n data: function data() {\n return {\n innerValue: [],\n calendars: [],\n hoveredValue: null\n };\n },\n computed: {\n // Minimum difference between start and end calendars\n calendarMinDiff: function calendarMinDiff() {\n var map = {\n date: 1,\n // type:date min 1 month\n month: 1 * 12,\n // type:month min 1 year\n year: 10 * 12 // type:year min 10 year\n\n };\n return map[this.type] || map.date;\n },\n calendarMaxDiff: function calendarMaxDiff() {\n return Infinity;\n },\n defaultValues: function defaultValues() {\n return Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n var _this = this;\n\n this.innerValue = isValidRangeDate(this.value) ? this.value : [new Date(NaN), new Date(NaN)];\n var calendars = this.innerValue.map(function (v, i) {\n return startOfMonth(getValidDate(v, _this.defaultValues[i]));\n });\n this.updateCalendars(calendars);\n }\n }\n },\n methods: {\n handleSelect: function handleSelect(date, type) {\n var _this$innerValue = _slicedToArray(this.innerValue, 2),\n startValue = _this$innerValue[0],\n endValue = _this$innerValue[1];\n\n if (isValidDate(startValue) && !isValidDate(endValue)) {\n if (startValue.getTime() > date.getTime()) {\n this.innerValue = [date, startValue];\n } else {\n this.innerValue = [startValue, date];\n }\n\n this.emitDate(this.innerValue, type);\n } else {\n this.innerValue = [date, new Date(NaN)];\n }\n },\n onDateMouseEnter: function onDateMouseEnter(cell) {\n this.hoveredValue = cell;\n },\n onDateMouseLeave: function onDateMouseLeave() {\n this.hoveredValue = null;\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n updateStartCalendar: function updateStartCalendar(value) {\n this.updateCalendars([value, this.calendars[1]], 1);\n },\n updateEndCalendar: function updateEndCalendar(value) {\n this.updateCalendars([this.calendars[0], value], 0);\n },\n updateCalendars: function updateCalendars(calendars) {\n var adjustIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var gap = this.getCalendarGap(calendars);\n\n if (gap) {\n var calendar = new Date(calendars[adjustIndex]);\n calendar.setMonth(calendar.getMonth() + (adjustIndex === 0 ? -gap : gap));\n calendars[adjustIndex] = calendar;\n }\n\n this.calendars = calendars;\n },\n getCalendarGap: function getCalendarGap(calendars) {\n var _calendars = _slicedToArray(calendars, 2),\n calendarLeft = _calendars[0],\n calendarRight = _calendars[1];\n\n var yearDiff = calendarRight.getFullYear() - calendarLeft.getFullYear();\n var monthDiff = calendarRight.getMonth() - calendarLeft.getMonth();\n var diff = yearDiff * 12 + monthDiff;\n var min = this.calendarMinDiff;\n var max = this.calendarMaxDiff;\n\n if (diff < min) {\n return min - diff;\n }\n\n if (diff > max) {\n return max - diff;\n }\n\n return 0;\n },\n getRangeClasses: function getRangeClasses(cellDate, currentDates, classnames) {\n var classes = [].concat(this.getClasses(cellDate, currentDates, classnames));\n if (/disabled|active/.test(classnames)) return classes;\n\n var inRange = function inRange(data, range) {\n var fn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (v) {\n return v.getTime();\n };\n var value = fn(data);\n\n var _range$map = range.map(fn),\n _range$map2 = _slicedToArray(_range$map, 2),\n min = _range$map2[0],\n max = _range$map2[1];\n\n if (min > max) {\n var _ref = [max, min];\n min = _ref[0];\n max = _ref[1];\n }\n\n return value > min && value < max;\n };\n\n if (currentDates.length === 2 && inRange(cellDate, currentDates)) {\n return classes.concat('in-range');\n }\n\n if (currentDates.length === 1 && this.hoveredValue && inRange(cellDate, [currentDates[0], this.hoveredValue])) {\n return classes.concat('hover-in-range');\n }\n\n return classes;\n }\n },\n render: function render() {\n var _this2 = this;\n\n var h = arguments[0];\n var calendarRange = this.calendars.map(function (calendar, index) {\n var props = _objectSpread2({}, _this2.$props, {\n calendar: calendar,\n value: _this2.innerValue,\n defaultValue: _this2.defaultValues[index],\n getClasses: _this2.getRangeClasses,\n // don't update when range is true\n partialUpdate: false\n });\n\n var on = {\n select: _this2.handleSelect,\n 'update:calendar': index === 0 ? _this2.updateStartCalendar : _this2.updateEndCalendar\n };\n return h(\"calendar-panel\", {\n \"props\": _objectSpread2({}, props),\n \"on\": _objectSpread2({}, on)\n });\n });\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [calendarRange]);\n }\n};\n\nvar scrollBarWidth;\nfunction getScrollbarWidth () {\n if (typeof window === 'undefined') return 0;\n if (scrollBarWidth !== undefined) return scrollBarWidth;\n var outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.overflow = 'scroll';\n outer.style.width = '100px';\n outer.style.position = 'absolute';\n outer.style.top = '-9999px';\n document.body.appendChild(outer);\n var inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n scrollBarWidth = outer.offsetWidth - inner.offsetWidth;\n outer.parentNode.removeChild(outer);\n return scrollBarWidth;\n}\n\n//\nvar script$5 = {\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n data: function data() {\n return {\n scrollbarWidth: 0,\n thumbTop: '',\n thumbHeight: ''\n };\n },\n created: function created() {\n this.scrollbarWidth = getScrollbarWidth();\n document.addEventListener('mouseup', this.handleDragend);\n },\n beforeDestroy: function beforeDestroy() {\n document.addEventListener('mouseup', this.handleDragend);\n },\n mounted: function mounted() {\n this.$nextTick(this.getThumbSize);\n },\n methods: {\n getThumbSize: function getThumbSize() {\n var wrap = this.$refs.wrap;\n if (!wrap) return;\n var heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight;\n this.thumbHeight = heightPercentage < 100 ? \"\".concat(heightPercentage, \"%\") : '';\n },\n handleScroll: function handleScroll(evt) {\n var el = evt.currentTarget;\n var scrollHeight = el.scrollHeight,\n scrollTop = el.scrollTop;\n this.thumbTop = \"\".concat(scrollTop * 100 / scrollHeight, \"%\");\n },\n handleDragstart: function handleDragstart(evt) {\n evt.stopImmediatePropagation();\n this._draggable = true;\n var offsetTop = this.$refs.thumb.offsetTop;\n this._prevY = evt.clientY - offsetTop;\n document.addEventListener('mousemove', this.handleDraging);\n },\n handleDraging: function handleDraging(evt) {\n if (!this._draggable) return;\n var clientY = evt.clientY;\n var wrap = this.$refs.wrap;\n var scrollHeight = wrap.scrollHeight,\n clientHeight = wrap.clientHeight;\n var offsetY = clientY - this._prevY;\n var top = offsetY * scrollHeight / clientHeight;\n wrap.scrollTop = top;\n },\n handleDragend: function handleDragend() {\n if (this._draggable) {\n this._draggable = false;\n document.removeEventListener('mousemove', this.handleDraging);\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$5 = script$5;\n/* template */\n\nvar __vue_render__$8 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-scrollbar\",\n style: {\n position: 'relative',\n overflow: 'hidden'\n }\n }, [_c('div', {\n ref: \"wrap\",\n class: _vm.prefixClass + \"-scrollbar-wrap\",\n style: {\n marginRight: \"-\" + _vm.scrollbarWidth + \"px\"\n },\n on: {\n \"scroll\": _vm.handleScroll\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-scrollbar-track\"\n }, [_c('div', {\n ref: \"thumb\",\n class: _vm.prefixClass + \"-scrollbar-thumb\",\n style: {\n height: _vm.thumbHeight,\n top: _vm.thumbTop\n },\n on: {\n \"mousedown\": _vm.handleDragstart\n }\n })])]);\n};\n\nvar __vue_staticRenderFns__$8 = [];\n/* style */\n\nvar __vue_inject_styles__$8 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$8 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$8 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$8 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$8 = normalizeComponent({\n render: __vue_render__$8,\n staticRenderFns: __vue_staticRenderFns__$8\n}, __vue_inject_styles__$8, __vue_script__$5, __vue_scope_id__$8, __vue_is_functional_template__$8, __vue_module_identifier__$8, false, undefined, undefined, undefined);\n\n//\n\nvar padNumber = function padNumber(value) {\n value = parseInt(value, 10);\n return value < 10 ? \"0\".concat(value) : \"\".concat(value);\n};\n\nvar generateOptions = function generateOptions(length, step, options) {\n if (Array.isArray(options)) {\n return options.filter(function (v) {\n return v >= 0 && v < length;\n });\n }\n\n if (step <= 0) {\n step = 1;\n }\n\n var arr = [];\n\n for (var i = 0; i < length; i += step) {\n arr.push(i);\n }\n\n return arr;\n};\n\nvar scrollTo = function scrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n // jump to target if duration zero\n if (duration <= 0) {\n requestAnimationFrame(function () {\n element.scrollTop = to;\n });\n return;\n }\n\n var difference = to - element.scrollTop;\n var tick = difference / duration * 10;\n requestAnimationFrame(function () {\n var scrollTop = element.scrollTop + tick;\n\n if (scrollTop >= to) {\n element.scrollTop = to;\n return;\n }\n\n element.scrollTop = scrollTop;\n scrollTo(element, to, duration - 10);\n });\n};\n\nvar script$6 = {\n name: 'ListColumns',\n components: {\n ScrollbarVertical: __vue_component__$8\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n scrollDuration: {\n type: Number,\n default: 100\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n showHour: {\n type: Boolean,\n default: true\n },\n showMinute: {\n type: Boolean,\n default: true\n },\n showSecond: {\n type: Boolean,\n default: true\n },\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n use12h: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n columns: function columns() {\n var cols = [];\n if (this.showHour) cols.push({\n type: 'hour',\n list: this.getHoursList()\n });\n if (this.showMinute) cols.push({\n type: 'minute',\n list: this.getMinutesList()\n });\n if (this.showSecond) cols.push({\n type: 'second',\n list: this.getSecondsList()\n });\n if (this.use12h) cols.push({\n type: 'ampm',\n list: this.getAMPMList()\n });\n return cols.filter(function (v) {\n return v.list.length > 0;\n });\n }\n },\n watch: {\n date: {\n handler: function handler() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.scrollToSelected(_this.scrollDuration);\n });\n }\n }\n },\n mounted: function mounted() {\n this.scrollToSelected(0);\n },\n methods: {\n getHoursList: function getHoursList() {\n var _this2 = this;\n\n return generateOptions(this.use12h ? 12 : 24, this.hourStep, this.hourOptions).map(function (num) {\n var date = new Date(_this2.date);\n var text = padNumber(num);\n\n if (_this2.use12h) {\n if (num === 0) {\n text = '12';\n }\n\n if (date.getHours() >= 12) {\n num += 12;\n }\n }\n\n var value = date.setHours(num);\n return {\n value: value,\n text: text\n };\n });\n },\n getMinutesList: function getMinutesList() {\n var _this3 = this;\n\n return generateOptions(60, this.minuteStep, this.minuteOptions).map(function (num) {\n var value = new Date(_this3.date).setMinutes(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getSecondsList: function getSecondsList() {\n var _this4 = this;\n\n return generateOptions(60, this.secondStep, this.secondOptions).map(function (num) {\n var value = new Date(_this4.date).setSeconds(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getAMPMList: function getAMPMList() {\n var _this5 = this;\n\n return ['AM', 'PM'].map(function (text, i) {\n var date = new Date(_this5.date);\n var value = date.setHours(date.getHours() % 12 + i * 12);\n return {\n text: text,\n value: value\n };\n });\n },\n scrollToSelected: function scrollToSelected(duration) {\n var elements = this.$el.querySelectorAll('.active');\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n var scrollElement = getScrollParent(element, this.$el);\n\n if (scrollElement) {\n var to = element.offsetTop;\n scrollTo(scrollElement, to, duration);\n }\n }\n },\n handleSelect: function handleSelect(evt) {\n var target = evt.target,\n currentTarget = evt.currentTarget;\n if (target.tagName.toUpperCase() !== 'LI') return;\n var type = currentTarget.getAttribute('data-type');\n var colIndex = parseInt(currentTarget.getAttribute('data-index'), 10);\n var cellIndex = parseInt(target.getAttribute('data-index'), 10);\n var value = this.columns[colIndex].list[cellIndex].value;\n this.$emit('select', value, type);\n }\n }\n};\n\n/* script */\nvar __vue_script__$6 = script$6;\n/* template */\n\nvar __vue_render__$9 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time-columns\"\n }, _vm._l(_vm.columns, function (col, i) {\n return _c('scrollbar-vertical', {\n key: i,\n class: _vm.prefixClass + \"-time-column\"\n }, [_c('ul', {\n class: _vm.prefixClass + \"-time-list\",\n attrs: {\n \"data-type\": col.type,\n \"data-index\": i\n },\n on: {\n \"click\": _vm.handleSelect\n }\n }, _vm._l(col.list, function (item, j) {\n return _c('li', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-item\", _vm.getClasses(item.value, col.type)],\n attrs: {\n \"data-index\": j\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0)]);\n }), 1);\n};\n\nvar __vue_staticRenderFns__$9 = [];\n/* style */\n\nvar __vue_inject_styles__$9 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$9 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$9 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$9 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$9 = normalizeComponent({\n render: __vue_render__$9,\n staticRenderFns: __vue_staticRenderFns__$9\n}, __vue_inject_styles__$9, __vue_script__$6, __vue_scope_id__$9, __vue_is_functional_template__$9, __vue_module_identifier__$9, false, undefined, undefined, undefined);\n\n//\n\nfunction parseOption() {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var values = time.split(':');\n\n if (values.length >= 2) {\n var hours = parseInt(values[0], 10);\n var minutes = parseInt(values[1], 10);\n return {\n hours: hours,\n minutes: minutes\n };\n }\n\n return null;\n}\n\nvar scrollTo$1 = function scrollTo(element, to) {\n if (element) {\n element.scrollTop = to;\n }\n};\n\nvar script$7 = {\n name: 'ListOptions',\n components: {\n ScrollbarVertical: __vue_component__$8\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n options: {\n type: [Object, Function],\n default: function _default() {\n return [];\n }\n },\n format: {\n type: String,\n default: 'HH:mm:ss'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n list: function list() {\n var result = [];\n var options = this.options;\n\n if (typeof options === 'function') {\n return options() || [];\n }\n\n var start = parseOption(options.start);\n var end = parseOption(options.end);\n var step = parseOption(options.step);\n var fmt = options.format || this.format;\n\n if (start && end && step) {\n var startMinutes = start.minutes + start.hours * 60;\n var endMinutes = end.minutes + end.hours * 60;\n var stepMinutes = step.minutes + step.hours * 60;\n var len = Math.floor((endMinutes - startMinutes) / stepMinutes);\n\n for (var i = 0; i <= len; i++) {\n var timeMinutes = startMinutes + i * stepMinutes;\n var hours = Math.floor(timeMinutes / 60);\n var minutes = timeMinutes % 60;\n var value = new Date(this.date).setHours(hours, minutes, 0);\n result.push({\n value: value,\n text: this.formatDate(value, fmt)\n });\n }\n }\n\n return result;\n }\n },\n mounted: function mounted() {\n this.scrollToSelected();\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n scrollToSelected: function scrollToSelected() {\n var element = this.$el.querySelector('.active');\n if (!element) return;\n var scrollElement = getScrollParent(element, this.$el);\n if (!scrollElement) return;\n var to = element.offsetTop;\n scrollTo$1(scrollElement, to);\n },\n handleSelect: function handleSelect(value) {\n this.$emit('select', value, 'time');\n }\n }\n};\n\n/* script */\nvar __vue_script__$7 = script$7;\n/* template */\n\nvar __vue_render__$a = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('scrollbar-vertical', _vm._l(_vm.list, function (item) {\n return _c('div', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-option\", _vm.getClasses(item.value)],\n on: {\n \"click\": function click($event) {\n return _vm.handleSelect(item.value);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0);\n};\n\nvar __vue_staticRenderFns__$a = [];\n/* style */\n\nvar __vue_inject_styles__$a = undefined;\n/* scoped */\n\nvar __vue_scope_id__$a = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$a = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$a = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$a = normalizeComponent({\n render: __vue_render__$a,\n staticRenderFns: __vue_staticRenderFns__$a\n}, __vue_inject_styles__$a, __vue_script__$7, __vue_scope_id__$a, __vue_is_functional_template__$a, __vue_module_identifier__$a, false, undefined, undefined, undefined);\n\n//\nvar script$8 = {\n name: 'TimePanel',\n components: {\n ListColumns: __vue_component__$9,\n ListOptions: __vue_component__$a\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n format: {\n default: 'HH:mm:ss'\n },\n timeTitleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n showTimeHeader: {\n type: Boolean,\n default: false\n },\n disabledTime: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n timePickerOptions: {\n type: [Object, Function],\n default: function _default() {\n return null;\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n showHour: {\n type: Boolean,\n default: undefined\n },\n showMinute: {\n type: Boolean,\n default: undefined\n },\n showSecond: {\n type: Boolean,\n default: undefined\n },\n use12h: {\n type: Boolean,\n default: undefined\n },\n scrollDuration: {\n type: Number,\n default: 100\n }\n },\n data: function data() {\n return {\n innerValue: getValidDate(this.value, this.defaultValue)\n };\n },\n computed: {\n title: function title() {\n var titleFormat = this.timeTitleFormat;\n var date = new Date(this.innerValue);\n return this.formatDate(date, titleFormat);\n },\n innerForamt: function innerForamt() {\n return typeof this.format === 'string' ? this.format : 'HH:mm:ss';\n },\n ShowHourMinuteSecondAMPM: function ShowHourMinuteSecondAMPM() {\n var _this = this;\n\n var fmt = this.innerForamt;\n var defaultProps = {\n showHour: /[HhKk]/.test(fmt),\n showMinute: /m/.test(fmt),\n showSecond: /s/.test(fmt),\n use12h: /a/i.test(fmt)\n };\n var obj = {};\n Object.keys(defaultProps).forEach(function (key) {\n obj[key] = typeof _this[key] === 'boolean' ? _this[key] : defaultProps[key];\n });\n return obj;\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n this.innerValue = getValidDate(this.value, this.defaultValue);\n }\n }\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n isDisabledTime: function isDisabledTime(value) {\n return this.disabledTime(new Date(value));\n },\n isDisabledHour: function isDisabledHour(date) {\n var value = new Date(date);\n return this.isDisabledTime(value) && this.isDisabledTime(value.setMinutes(0, 0, 0)) && this.isDisabledTime(value.setMinutes(59, 59, 999));\n },\n isDisabledMinute: function isDisabledMinute(date) {\n var value = new Date(date);\n return this.isDisabledTime(value) && this.isDisabledTime(value.setSeconds(0, 0)) && this.isDisabledTime(value.setSeconds(59, 999));\n },\n isDisabledAMPM: function isDisabledAMPM(date) {\n var value = new Date(date);\n var minHour = value.getHours() < 12 ? 0 : 12;\n var maxHour = minHour + 11;\n return this.isDisabledTime(value) && this.isDisabledTime(value.setHours(minHour, 0, 0, 0)) && this.isDisabledTime(value.setHours(maxHour, 59, 59, 999));\n },\n isDisabled: function isDisabled(date, type) {\n if (type === 'hour') {\n return this.isDisabledHour(date);\n }\n\n if (type === 'minute') {\n return this.isDisabledMinute(date);\n }\n\n if (type === 'ampm') {\n return this.isDisabledAMPM(date);\n }\n\n return this.isDisabledTime(date);\n },\n handleSelect: function handleSelect(value, type) {\n var date = new Date(value);\n\n if (!this.isDisabled(value, type)) {\n this.innerValue = date;\n\n if (!this.isDisabledTime(date)) {\n this.$emit('select', date, type);\n }\n }\n },\n handleClickTitle: function handleClickTitle() {\n this.$emit('clicktitle');\n },\n getClasses: function getClasses(value, type) {\n var cellDate = new Date(value);\n\n if (this.isDisabled(value, type)) {\n return 'disabled';\n }\n\n if (cellDate.getTime() === this.innerValue.getTime()) {\n return 'active';\n }\n\n return '';\n }\n }\n};\n\n/* script */\nvar __vue_script__$8 = script$8;\n/* template */\n\nvar __vue_render__$b = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time\"\n }, [_vm.showTimeHeader ? _c('div', {\n class: _vm.prefixClass + \"-time-header\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-time-header-title\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handleClickTitle\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.title) + \"\\n \")])]) : _vm._e(), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-time-content\"\n }, [_vm.timePickerOptions ? _c('list-options', {\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"options\": _vm.timePickerOptions,\n \"format\": _vm.innerForamt\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }) : _c('list-columns', _vm._b({\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"hour-options\": _vm.hourOptions,\n \"minute-options\": _vm.minuteOptions,\n \"second-options\": _vm.secondOptions,\n \"hour-step\": _vm.hourStep,\n \"minute-step\": _vm.minuteStep,\n \"second-step\": _vm.secondStep,\n \"scroll-duration\": _vm.scrollDuration\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }, 'list-columns', _vm.ShowHourMinuteSecondAMPM, false))], 1)]);\n};\n\nvar __vue_staticRenderFns__$b = [];\n/* style */\n\nvar __vue_inject_styles__$b = undefined;\n/* scoped */\n\nvar __vue_scope_id__$b = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$b = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$b = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$b = normalizeComponent({\n render: __vue_render__$b,\n staticRenderFns: __vue_staticRenderFns__$b\n}, __vue_inject_styles__$b, __vue_script__$8, __vue_scope_id__$b, __vue_is_functional_template__$b, __vue_module_identifier__$b, false, undefined, undefined, undefined);\n\nvar TimeRange = {\n name: 'TimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, __vue_component__$b.props),\n data: function data() {\n return {\n startValue: new Date(NaN),\n endValue: new Date(NaN)\n };\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n if (isValidRangeDate(this.value)) {\n var _this$value = _slicedToArray(this.value, 2),\n startValue = _this$value[0],\n endValue = _this$value[1];\n\n this.startValue = startValue;\n this.endValue = endValue;\n } else {\n this.startValue = new Date(NaN);\n this.endValue = new Date(NaN);\n }\n }\n }\n },\n methods: {\n emitChange: function emitChange(type, index) {\n var date = [this.startValue, this.endValue];\n this.$emit('select', date, type === 'time' ? 'time-range' : type, index);\n },\n handleSelectStart: function handleSelectStart(date, type) {\n this.startValue = date; // check the NaN\n\n if (!(this.endValue.getTime() >= date.getTime())) {\n this.endValue = date;\n }\n\n this.emitChange(type, 0);\n },\n handleSelectEnd: function handleSelectEnd(date, type) {\n // check the NaN\n this.endValue = date;\n\n if (!(this.startValue.getTime() <= date.getTime())) {\n this.startValue = date;\n }\n\n this.emitChange(type, 1);\n },\n disabledStartTime: function disabledStartTime(date) {\n return this.disabledTime(date, 0);\n },\n disabledEndTime: function disabledEndTime(date) {\n return date.getTime() < this.startValue.getTime() || this.disabledTime(date, 1);\n }\n },\n render: function render() {\n var h = arguments[0];\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [h(__vue_component__$b, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.startValue,\n defaultValue: defaultValues[0],\n disabledTime: this.disabledStartTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectStart\n }))\n }), h(__vue_component__$b, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.endValue,\n defaultValue: defaultValues[1],\n disabledTime: this.disabledEndTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectEnd\n }))\n })]);\n }\n};\n\nvar DatetimePanel = {\n name: 'DatetimePanel',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarPanel.props, {}, __vue_component__$b.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n this.$emit('update:show-time-panel', false);\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n this.$emit('update:show-time-panel', true);\n },\n emitDate: function emitDate(date, type) {\n this.$emit('select', date, type);\n },\n handleSelect: function handleSelect(date, type) {\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var datetime = assignTime(date, getValidDate(this.value, this.defaultValue));\n\n if (this.disabledTime(new Date(datetime))) {\n // set the time of defalutValue;\n datetime = assignTime(date, this.defaultValue);\n\n if (this.disabledTime(new Date(datetime))) {\n // if disabled don't emit date\n this.currentValue = datetime;\n return;\n }\n }\n\n this.emitDate(datetime, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarPanel.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(__vue_component__$b.props)), {\n showTimeHeader: true,\n value: this.currentValue\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarPanel, helper([{}, calendarProps])), this.timeVisible && h(__vue_component__$b, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar DatetimeRange = {\n name: 'DatetimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarRange.props, {}, TimeRange.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n this.$emit('update:show-time-panel', false);\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n this.$emit('update:show-time-panel', true);\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n handleSelect: function handleSelect(dates, type) {\n var _this = this;\n\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var datetimes = dates.map(function (date, i) {\n var time = isValidRangeDate(_this.value) ? _this.value[i] : defaultValues[i];\n return assignTime(date, time);\n });\n\n if (datetimes[1].getTime() < datetimes[0].getTime()) {\n datetimes = [datetimes[0], datetimes[0]];\n }\n\n if (datetimes.some(this.disabledTime)) {\n datetimes = dates.map(function (date, i) {\n return assignTime(date, defaultValues[i]);\n });\n\n if (datetimes.some(this.disabledTime)) {\n this.currentValue = datetimes;\n return;\n }\n }\n\n this.emitDate(datetimes, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarRange.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(TimeRange.props)), {\n value: this.currentValue,\n showTimeHeader: true\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarRange, helper([{}, calendarProps])), this.timeVisible && h(TimeRange, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar componentMap = {\n default: CalendarPanel,\n time: __vue_component__$b,\n datetime: DatetimePanel\n};\nvar componentRangeMap = {\n default: CalendarRange,\n time: TimeRange,\n datetime: DatetimeRange\n};\nvar DatePicker = {\n name: 'DatePicker',\n provide: function provide() {\n var _this = this;\n\n return {\n // make locale reactive\n getLocale: function getLocale() {\n return _this.locale;\n },\n getWeek: this.getWeek,\n prefixClass: this.prefixClass,\n dispatchDatePicker: this.$emit.bind(this)\n };\n },\n props: _objectSpread2({}, DatetimePanel.props, {\n value: {},\n valueType: {\n type: String,\n default: 'date' // date, format, timestamp, or token like 'YYYY-MM-DD'\n\n },\n type: {\n type: String,\n // ['date', 'datetime', 'time', 'year', 'month', 'week']\n default: 'date'\n },\n format: {\n type: String\n },\n formatter: {\n type: Object\n },\n range: {\n type: Boolean,\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n rangeSeparator: {\n type: String\n },\n lang: {\n type: [String, Object]\n },\n placeholder: {\n type: String,\n default: ''\n },\n editable: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n clearable: {\n type: Boolean,\n default: true\n },\n prefixClass: {\n type: String,\n default: 'mx'\n },\n inputClass: {},\n inputAttr: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n appendToBody: {\n type: Boolean,\n default: true\n },\n open: {\n type: Boolean,\n default: undefined\n },\n popupClass: {},\n popupStyle: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n inline: {\n type: Boolean,\n default: false\n },\n confirm: {\n type: Boolean,\n default: false\n },\n confirmText: {\n type: String,\n default: 'OK'\n },\n renderInputText: {\n type: Function\n },\n shortcuts: {\n type: Array,\n validator: function validator(value) {\n return Array.isArray(value) && value.every(function (v) {\n return isObject(v) && typeof v.text === 'string' && typeof v.onClick === 'function';\n });\n },\n default: function _default() {\n return [];\n }\n }\n }),\n data: function data() {\n return {\n // cache the innervalue, wait to confirm\n currentValue: null,\n userInput: null,\n defaultOpen: false,\n mouseInInput: false\n };\n },\n computed: {\n popupVisible: function popupVisible() {\n return !this.disabled && (typeof this.open === 'boolean' ? this.open : this.defaultOpen);\n },\n innerRangeSeparator: function innerRangeSeparator() {\n return this.rangeSeparator || (this.multiple ? ',' : ' ~ ');\n },\n innerFormat: function innerFormat() {\n var map = {\n date: 'YYYY-MM-DD',\n datetime: 'YYYY-MM-DD HH:mm:ss',\n year: 'YYYY',\n month: 'YYYY-MM',\n time: 'HH:mm:ss',\n week: 'w'\n };\n return this.format || map[this.type] || map.date;\n },\n innerValue: function innerValue() {\n var value = this.value;\n\n if (this.validMultipleType) {\n value = Array.isArray(value) ? value : [];\n return value.map(this.value2date);\n }\n\n if (this.range) {\n value = Array.isArray(value) ? value.slice(0, 2) : [null, null];\n return value.map(this.value2date);\n }\n\n return this.value2date(value);\n },\n text: function text() {\n var _this2 = this;\n\n if (this.userInput !== null) {\n return this.userInput;\n }\n\n if (typeof this.renderInputText === 'function') {\n return this.renderInputText(this.innerValue);\n }\n\n if (!this.isValidValue(this.innerValue)) {\n return '';\n }\n\n if (Array.isArray(this.innerValue)) {\n return this.innerValue.map(function (v) {\n return _this2.formatDate(v);\n }).join(this.innerRangeSeparator);\n }\n\n return this.formatDate(this.innerValue);\n },\n showClearIcon: function showClearIcon() {\n return !this.disabled && this.clearable && this.text && this.mouseInInput;\n },\n locale: function locale() {\n if (isObject(this.lang)) {\n return mergeDeep(getLocale(), this.lang);\n }\n\n return getLocale(this.lang);\n },\n validMultipleType: function validMultipleType() {\n var types = ['date', 'month', 'year'];\n return this.multiple && !this.range && types.indexOf(this.type) !== -1;\n }\n },\n watch: {\n innerValue: {\n immediate: true,\n handler: function handler(val) {\n this.currentValue = val;\n }\n },\n popupVisible: {\n handler: function handler(val) {\n if (val) {\n this.currentValue = this.innerValue;\n }\n }\n }\n },\n created: function created() {\n if (_typeof(this.format) === 'object') {\n console.warn(\"[vue2-datepicker]: The prop `format` don't support Object any more. You can use the new prop `formatter` to replace it\");\n }\n },\n methods: {\n handleMouseEnter: function handleMouseEnter() {\n this.mouseInInput = true;\n },\n handleMouseLeave: function handleMouseLeave() {\n this.mouseInInput = false;\n },\n handleClickOutSide: function handleClickOutSide(evt) {\n var target = evt.target;\n\n if (!this.$el.contains(target)) {\n this.closePopup();\n }\n },\n getFormatter: function getFormatter(key) {\n return isObject(this.formatter) && this.formatter[key] || isObject(this.format) && this.format[key];\n },\n getWeek: function getWeek$1(date, options) {\n if (typeof this.getFormatter('getWeek') === 'function') {\n return this.getFormatter('getWeek')(date, options);\n }\n\n return getWeek(date, options);\n },\n parseDate: function parseDate(value, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('parse') === 'function') {\n return this.getFormatter('parse')(value, fmt);\n }\n\n var backupDate = new Date();\n return parse(value, fmt, {\n locale: this.locale.formatLocale,\n backupDate: backupDate\n });\n },\n formatDate: function formatDate(date, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('stringify') === 'function') {\n return this.getFormatter('stringify')(date, fmt);\n }\n\n return format(date, fmt, {\n locale: this.locale.formatLocale\n });\n },\n // transform the outer value to inner date\n value2date: function value2date(value) {\n switch (this.valueType) {\n case 'date':\n return value instanceof Date ? new Date(value.getTime()) : new Date(NaN);\n\n case 'timestamp':\n return typeof value === 'number' ? new Date(value) : new Date(NaN);\n\n case 'format':\n return typeof value === 'string' ? this.parseDate(value) : new Date(NaN);\n\n default:\n return typeof value === 'string' ? this.parseDate(value, this.valueType) : new Date(NaN);\n }\n },\n // transform the inner date to outer value\n date2value: function date2value(date) {\n if (!isValidDate(date)) return null;\n\n switch (this.valueType) {\n case 'date':\n return date;\n\n case 'timestamp':\n return date.getTime();\n\n case 'format':\n return this.formatDate(date);\n\n default:\n return this.formatDate(date, this.valueType);\n }\n },\n emitValue: function emitValue(date, type) {\n var close = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // fix IE11/10 trigger input event when input is focused. (placeholder !== '')\n this.userInput = null;\n var value = Array.isArray(date) ? date.map(this.date2value) : this.date2value(date);\n this.$emit('input', value);\n this.$emit('change', value, type);\n\n if (close) {\n this.closePopup();\n }\n\n return value;\n },\n isValidValue: function isValidValue(value) {\n if (this.validMultipleType) {\n return isValidDates(value);\n }\n\n if (this.range) {\n return isValidRangeDate(value);\n }\n\n return isValidDate(value);\n },\n isValidValueAndNotDisabled: function isValidValueAndNotDisabled(value) {\n if (!this.isValidValue(value)) {\n return false;\n }\n\n var disabledDate = typeof this.disabledDate === 'function' ? this.disabledDate : function () {\n return false;\n };\n var disabledTime = typeof this.disabledTime === 'function' ? this.disabledTime : function () {\n return false;\n };\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n return value.every(function (v) {\n return !disabledDate(v) && !disabledTime(v);\n });\n },\n handleMultipleDates: function handleMultipleDates(date, dates) {\n if (this.validMultipleType && dates) {\n var nextDates = dates.filter(function (v) {\n return v.getTime() !== date.getTime();\n });\n\n if (nextDates.length === dates.length) {\n nextDates.push(date);\n }\n\n return nextDates;\n }\n\n return date;\n },\n handleSelectDate: function handleSelectDate(val, type, dates) {\n val = this.handleMultipleDates(val, dates);\n\n if (this.confirm) {\n this.currentValue = val;\n } else {\n this.emitValue(val, type, // this.type === 'datetime', click the time should close popup\n !this.validMultipleType && (type === this.type || type === 'time'));\n }\n },\n clear: function clear() {\n this.emitValue(this.range ? [null, null] : null);\n this.$emit('clear');\n },\n handleClear: function handleClear(evt) {\n evt.stopPropagation();\n this.clear();\n },\n handleConfirmDate: function handleConfirmDate() {\n var value = this.emitValue(this.currentValue);\n this.$emit('confirm', value);\n },\n handleSelectShortcut: function handleSelectShortcut(evt) {\n var index = evt.currentTarget.getAttribute('data-index');\n var item = this.shortcuts[parseInt(index, 10)];\n\n if (isObject(item) && typeof item.onClick === 'function') {\n var date = item.onClick(this);\n\n if (date) {\n this.emitValue(date);\n }\n }\n },\n openPopup: function openPopup(evt) {\n if (this.popupVisible || this.disabled) return;\n this.defaultOpen = true;\n this.$emit('open', evt);\n this.$emit('update:open', true);\n },\n closePopup: function closePopup() {\n if (!this.popupVisible) return;\n this.defaultOpen = false;\n this.$emit('close');\n this.$emit('update:open', false);\n },\n blur: function blur() {\n // when use slot input\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n },\n focus: function focus() {\n if (this.$refs.input) {\n this.$refs.input.focus();\n }\n },\n handleInputChange: function handleInputChange() {\n var _this3 = this;\n\n if (!this.editable || this.userInput === null) return;\n var text = this.userInput.trim();\n this.userInput = null;\n\n if (text === '') {\n this.clear();\n return;\n }\n\n var date;\n\n if (this.validMultipleType) {\n date = text.split(this.innerRangeSeparator).map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else if (this.range) {\n var arr = text.split(this.innerRangeSeparator);\n\n if (arr.length !== 2) {\n // Maybe the separator during the day is the same as the separator for the date\n // eg: 2019-10-09-2020-01-02\n arr = text.split(this.innerRangeSeparator.trim());\n }\n\n date = arr.map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else {\n date = this.parseDate(text);\n }\n\n if (this.isValidValueAndNotDisabled(date)) {\n this.emitValue(date);\n this.blur();\n } else {\n this.$emit('input-error', text);\n }\n },\n handleInputInput: function handleInputInput(evt) {\n // slot input v-model\n this.userInput = typeof evt === 'string' ? evt : evt.target.value;\n },\n handleInputKeydown: function handleInputKeydown(evt) {\n var keyCode = evt.keyCode; // Tab 9 or Enter 13\n\n if (keyCode === 9) {\n this.closePopup();\n } else if (keyCode === 13) {\n this.handleInputChange();\n }\n },\n handleInputBlur: function handleInputBlur(evt) {\n // tab close\n this.$emit('blur', evt);\n },\n handleInputFocus: function handleInputFocus(evt) {\n this.openPopup(evt);\n this.$emit('focus', evt);\n },\n hasSlot: function hasSlot(name) {\n return !!(this.$slots[name] || this.$scopedSlots[name]);\n },\n renderSlot: function renderSlot(name, fallback, props) {\n var slotFn = this.$scopedSlots[name];\n\n if (slotFn) {\n return slotFn(props) || fallback;\n }\n\n return this.$slots[name] || fallback;\n },\n renderInput: function renderInput() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n\n var props = _objectSpread2({\n name: 'date',\n type: 'text',\n autocomplete: 'off',\n value: this.text,\n class: this.inputClass || \"\".concat(this.prefixClass, \"-input\"),\n readonly: !this.editable,\n disabled: this.disabled,\n placeholder: this.placeholder\n }, this.inputAttr);\n\n var value = props.value,\n className = props.class,\n attrs = _objectWithoutProperties(props, [\"value\", \"class\"]);\n\n var events = {\n keydown: this.handleInputKeydown,\n focus: this.handleInputFocus,\n blur: this.handleInputBlur,\n input: this.handleInputInput,\n change: this.handleInputChange\n };\n var input = this.renderSlot('input', h(\"input\", {\n \"domProps\": {\n \"value\": value\n },\n \"class\": className,\n \"attrs\": _objectSpread2({}, attrs),\n \"on\": _objectSpread2({}, events),\n \"ref\": \"input\"\n }), {\n props: props,\n events: events\n });\n var calendarIcon = this.type === 'time' ? h(__vue_component__$2) : h(__vue_component__$1); // remove touchstart event to avoid opens the popup while scrolling in mobile #469\n\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-input-wrapper\"),\n \"on\": {\n \"mouseenter\": this.handleMouseEnter,\n \"mouseleave\": this.handleMouseLeave,\n \"click\": this.openPopup\n },\n \"ref\": \"inputWrapper\"\n }, [input, this.showClearIcon ? h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-clear\"),\n \"on\": {\n \"click\": this.handleClear\n }\n }, [this.renderSlot('icon-clear', h(__vue_component__$3))]) : h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-calendar\")\n }, [this.renderSlot('icon-calendar', calendarIcon)])]);\n },\n renderContent: function renderContent() {\n var h = this.$createElement;\n var map = this.range ? componentRangeMap : componentMap;\n var Component = map[this.type] || map.default;\n\n var props = _objectSpread2({}, pick(this.$props, Object.keys(Component.props)), {\n value: this.currentValue\n });\n\n var on = _objectSpread2({}, pick(this.$listeners, Component.emits || []), {\n select: this.handleSelectDate\n });\n\n var content = h(Component, helper([{}, {\n props: props,\n on: on,\n ref: 'picker'\n }]));\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-body\")\n }, [this.renderSlot('content', content, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderSidebar: function renderSidebar() {\n var _this4 = this;\n\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-sidebar\")\n }, [this.renderSlot('sidebar', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.shortcuts.map(function (v, i) {\n return h(\"button\", {\n \"key\": i,\n \"attrs\": {\n \"data-index\": i,\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-btn-text \").concat(prefixClass, \"-btn-shortcut\"),\n \"on\": {\n \"click\": _this4.handleSelectShortcut\n }\n }, [v.text]);\n })]);\n },\n renderHeader: function renderHeader() {\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-header\")\n }, [this.renderSlot('header', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderFooter: function renderFooter() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-footer\")\n }, [this.renderSlot('footer', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.confirm ? h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-datepicker-btn-confirm\"),\n \"on\": {\n \"click\": this.handleConfirmDate\n }\n }, [this.confirmText]) : null]);\n }\n },\n render: function render() {\n var _class;\n\n var h = arguments[0];\n var prefixClass = this.prefixClass,\n inline = this.inline,\n disabled = this.disabled;\n var sidedar = this.hasSlot('sidebar') || this.shortcuts.length ? this.renderSidebar() : null;\n var content = h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-content\")\n }, [this.hasSlot('header') ? this.renderHeader() : null, this.renderContent(), this.hasSlot('footer') || this.confirm ? this.renderFooter() : null]);\n return h(\"div\", {\n \"class\": (_class = {}, _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker\"), true), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-range\"), this.range), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-inline\"), inline), _defineProperty(_class, \"disabled\", disabled), _class)\n }, [!inline ? this.renderInput() : null, !inline ? h(__vue_component__, {\n \"ref\": \"popup\",\n \"class\": this.popupClass,\n \"style\": this.popupStyle,\n \"attrs\": {\n \"visible\": this.popupVisible,\n \"appendToBody\": this.appendToBody\n },\n \"on\": {\n \"clickoutside\": this.handleClickOutSide\n }\n }, [sidedar, content]) : h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-main\")\n }, [sidedar, content])]);\n }\n};\n\nDatePicker.locale = locale;\n\nDatePicker.install = function install(Vue) {\n Vue.component(DatePicker.name, DatePicker);\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n DatePicker.install(window.Vue);\n}\n\n_extends(DatePicker, {\n CalendarPanel: CalendarPanel,\n CalendarRange: CalendarRange,\n TimePanel: __vue_component__$b,\n TimeRange: TimeRange,\n DatetimePanel: DatetimePanel,\n DatetimeRange: DatetimeRange\n});\n\nexport default DatePicker;\n","import { defineComponent, computed } from \"vue\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { r as register, v as t46, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcSelect } from \"./NcSelect-COY5TV2U.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t46);\nfunction formatTimezoneId(timezoneId) {\n return timezoneId.slice(timezoneId.indexOf(\"/\") + 1).replaceAll(\"/\", \" - \").replaceAll(\"_\", \" \");\n}\nfunction getTimezones() {\n return Intl.supportedValuesOf(\"timeZone\").filter((tz) => !tz.startsWith(\"Etc/\")).map((timezoneId) => ({\n timezoneId,\n label: formatTimezoneId(timezoneId)\n })).sort((a, b) => a.timezoneId.localeCompare(b.timezoneId));\n}\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcTimezonePicker\",\n props: {\n additionalTimezones: { default: () => [] },\n value: { default: void 0 },\n modelValue: { default: \"floating\" },\n uid: { default: createElementId() }\n },\n emits: [\"input\", \"update:modelValue\", \"update:model-value\"],\n setup(__props) {\n const props = __props;\n const model = useModelMigration(\"value\", \"input\");\n const formattedAdditionalTimezones = computed(() => {\n return props.additionalTimezones.map(({ timezoneId, label }) => ({\n timezoneId,\n label\n }));\n });\n const options = computed(() => {\n const timezones = getTimezones();\n timezones.unshift(...formattedAdditionalTimezones.value);\n return timezones;\n });\n function filterBy(option, label, search) {\n const terms = search.trim().split(/\\s+/);\n const values = Object.values(option);\n return terms.every((term) => {\n return values.some((value) => value.toLowerCase().includes(term.toLowerCase()));\n });\n }\n return { __sfc: true, props, model, formattedAdditionalTimezones, options, filterBy, t, NcSelect };\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(_setup.NcSelect, { attrs: { \"aria-label-combobox\": _setup.t(\"Search for time zone\"), \"clearable\": false, \"filter-by\": _setup.filterBy, \"multiple\": false, \"options\": _setup.options, \"placeholder\": _setup.t(\"Type to search time zone\"), \"uid\": _vm.uid, \"reduce\": (option) => option.timezoneId, \"label\": \"label\" }, model: { value: _setup.model, callback: function($$v) {\n _setup.model = $$v;\n }, expression: \"model\" } });\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 NcTimezonePicker = __component__.exports;\nexport {\n NcTimezonePicker as N\n};\n//# sourceMappingURL=NcTimezonePicker-Bx5Xf88c.mjs.map\n","import '../assets/NcDateTimePicker-fsZAr59U.css';\nimport { getFirstDay, getDayNamesMin, getDayNamesShort, getDayNames, getMonthNamesShort, getMonthNames } from \"@nextcloud/l10n\";\nimport DatePicker from \"vue2-datepicker\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { u as useModelMigration } from \"../chunks/useModelMigration-EhAWvqDD.mjs\";\nimport { r as register, O as t40, a as t } from \"../chunks/_l10n-Dv1YKfKS.mjs\";\nimport { G as GenRandomId } from \"../chunks/GenRandomId-F5ebeBB_.mjs\";\nimport { l as logger } from \"../chunks/logger-D3RVzcfQ.mjs\";\nimport { N as NcPopover } from \"../chunks/NcPopover-BCDLqFHH.mjs\";\nimport { N as NcTimezonePicker } from \"../chunks/NcTimezonePicker-Bx5Xf88c.mjs\";\nimport { S as ScopeComponent } from \"../chunks/ScopeComponent-DcP-v09A.mjs\";\nconst _sfc_main$2 = {\n name: \"CalendarBlankIcon\",\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$2 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon calendar-blank-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1\" } })])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null\n);\nconst CalendarBlank = __component__$2.exports;\nconst _sfc_main$1 = {\n name: \"WebIcon\",\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$1 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon web-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\" } })])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Web = __component__$1.exports;\nregister(t40);\nconst formatMap = {\n date: \"YYYY-MM-DD\",\n datetime: \"YYYY-MM-DD H:mm:ss\",\n year: \"YYYY\",\n month: \"YYYY-MM\",\n time: \"H:mm:ss\",\n week: \"w\"\n};\nconst _sfc_main = {\n name: \"NcDateTimePicker\",\n components: {\n CalendarBlank,\n DatePicker,\n NcPopover,\n NcTimezonePicker,\n Web\n },\n inheritAttrs: false,\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * Allow to clear the input.\n */\n clearable: {\n type: Boolean,\n default: false\n },\n /**\n * Default increment step for minutes in the time picker.\n */\n minuteStep: {\n type: Number,\n default: 10\n },\n /**\n * Since 8.25.0: Support 'date-range', 'time-range' and 'datetime-range' values.\n */\n type: {\n type: String,\n default: \"date\",\n validator: (type) => [\"date\", \"time\", \"datetime\", \"week\", \"month\", \"year\", \"date-range\", \"time-range\", \"datetime-range\"].includes(type)\n },\n /**\n * Either `moment.js` formatting tokens or a function taking a Date object and returning a string.\n * Warning: In v9 this will change the accepted token format to standardized Unicode tokens instead!\n */\n format: {\n type: [String, Function],\n default: null\n },\n /**\n * @deprecated use `format` instead\n */\n formatter: {\n type: Object,\n default: null\n },\n /**\n * The locale to use for formatting the shown dates.\n * By default the users current Nextcloud locale is used.\n */\n lang: {\n type: Object,\n default: null\n },\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n *\n * @deprecated\n */\n // eslint-disable-next-line\n value: {\n default: void 0\n },\n /**\n * The value to initialize, but also two-way bind the selected date. The date is – like the `Date` object in\n * JavaScript – tied to UTC. The selected time zone does not have an influence of the selected time and date\n * value. You have to translate the time yourself when you want to factor in time zones.\n */\n // eslint-disable-next-line\n modelValue: {\n default: () => /* @__PURE__ */ new Date()\n },\n /**\n * The preselected IANA time zone ID for the time zone picker, only relevant in combination with `:show-timezone-select=\"true\"`. Example: `Europe/Berlin`. The prop supports two-way binding through the .sync modifier.\n */\n timezoneId: {\n type: String,\n default: \"UTC\"\n },\n /**\n * Include a timezone picker within the menu.\n * Please note that the dates are still bound to the locale timezone\n * and any conversion needs to be done by the app itself.\n */\n showTimezoneSelect: {\n type: Boolean,\n default: false\n },\n /**\n * If set to true the timezone select icon will be highlighted.\n */\n highlightTimezone: {\n type: Boolean,\n default: false\n },\n /**\n * If set to true the menu will be placed on the ``\n * instead of default placement on the picker.\n */\n appendToBody: {\n type: Boolean,\n default: false\n },\n /**\n * Show the ISO week numbers within the calendar.\n */\n showWeekNumber: {\n type: Boolean,\n default: false\n },\n /**\n * Optional custom placeholder for the input box.\n */\n placeholder: {\n type: String,\n default: null\n },\n /**\n * @deprecated use the 'date-range' or 'datetime-range' type instead.\n */\n range: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n *\n * @deprecated\n */\n \"update:value\",\n \"update:modelValue\",\n /** Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\",\n \"update:timezone-id\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"update:value\");\n return {\n model,\n timezoneDialogHeaderId: `timezone-dialog-header-${GenRandomId()}`\n };\n },\n data() {\n return {\n showTimezonePopover: false,\n tzVal: this.timezoneId\n };\n },\n computed: {\n realType() {\n return this.type.split(\"-\")[0];\n },\n /**\n * Datepicker language\n * https://github.com/mengxiong10/vue2-datepicker/blob/master/locale.md\n *\n * @return {object}\n */\n defaultLang() {\n return {\n formatLocale: {\n months: getMonthNames(),\n monthsShort: getMonthNamesShort(),\n weekdays: getDayNames(),\n weekdaysShort: getDayNamesShort(),\n weekdaysMin: getDayNamesMin(),\n // 0 = sunday, 1 = monday\n firstDayOfWeek: getFirstDay()\n },\n monthFormat: \"MMMM\"\n };\n },\n /**\n * Translated placeholder\n *\n * @return {string}\n */\n defaultPlaceholder() {\n if (this.realType === \"time\") {\n return t(\"Pick a time\");\n }\n if (this.realType === \"month\") {\n return t(\"Pick a month\");\n }\n if (this.realType === \"year\") {\n return t(\"Pick a year\");\n }\n if (this.realType === \"week\") {\n return t(\"Pick a week\");\n }\n if (this.realType === \"date\") {\n return t(\"Pick a date\");\n }\n return t(\"Pick a date and a time\");\n },\n /**\n * Is the range picker enabled\n */\n internalRange() {\n return this.range || this.type.endsWith(\"-range\");\n },\n internalFormat() {\n if (this.format && typeof this.format === \"string\") {\n return this.format;\n }\n return formatMap[this.realType] || formatMap.date;\n },\n /**\n * The formatter used for the vue-datepicker to fix nextcloud-libraries/nextcloud-vue#5044\n */\n internalFormatter() {\n const getWeek = (date) => {\n const firstThursday = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));\n firstThursday.setUTCDate(firstThursday.getUTCDate() + 4 - (firstThursday.getUTCDay() || 7));\n const yearStart = new Date(Date.UTC(firstThursday.getUTCFullYear(), 0, 1));\n return Math.ceil(((firstThursday - yearStart) / 864e5 + 1) / 7);\n };\n return {\n getWeek,\n // wrape the format if it is a function\n ...typeof this.format === \"function\" ? { stringify: this.format } : {},\n // allow to override it by users using the `formatter` prop\n ...this.formatter ?? {}\n };\n }\n },\n methods: {\n t,\n handleSelectYear(year) {\n const value = this.$refs.datepicker.currentValue;\n if (value) {\n try {\n const date = new Date(new Date(value).setFullYear(year));\n this.$refs.datepicker.selectDate(date);\n } catch {\n logger.error(\"Invalid value\", { value, year });\n }\n }\n },\n handleSelectMonth(month) {\n const value = this.$refs.datepicker.currentValue;\n if (value) {\n try {\n const date = new Date(new Date(value).setMonth(month));\n this.$refs.datepicker.selectDate(date);\n } catch {\n logger.error(\"Invalid value\", { value, month });\n }\n }\n },\n /**\n * Toggles the visibility of the time zone popover\n */\n toggleTimezonePopover() {\n if (!this.showTimezoneSelect) {\n return;\n }\n this.showTimezonePopover = !this.showTimezonePopover;\n }\n }\n};\nvar _sfc_render = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"DatePicker\", _vm._g(_vm._b({ ref: \"datepicker\", attrs: { \"append-to-body\": _vm.appendToBody, \"clearable\": _vm.clearable, \"format\": _vm.internalFormat, \"formatter\": _vm.internalFormatter, \"lang\": _vm.lang ? _vm.lang : _vm.defaultLang, \"minute-step\": _vm.minuteStep, \"placeholder\": _vm.placeholder ? _vm.placeholder : _vm.defaultPlaceholder, \"popup-class\": { \"show-week-number\": _vm.showWeekNumber }, \"range\": _vm.internalRange, \"show-week-number\": _vm.showWeekNumber, \"type\": _vm.realType, \"value\": _vm.model }, on: { \"select-year\": _vm.handleSelectYear, \"select-month\": _vm.handleSelectMonth, \"input\": function($event) {\n _vm.model = $event;\n } }, scopedSlots: _vm._u([{ key: \"icon-calendar\", fn: function() {\n return [_vm.showTimezoneSelect ? _c(\"NcPopover\", { attrs: { \"popup-role\": \"dialog\", \"shown\": _vm.showTimezonePopover, \"popover-base-class\": \"timezone-select__popper\" }, on: { \"update:shown\": function($event) {\n _vm.showTimezonePopover = $event;\n } }, scopedSlots: _vm._u([{ key: \"trigger\", fn: function({ attrs }) {\n return [_c(\"button\", _vm._b({ staticClass: \"datetime-picker-inline-icon\", class: { \"datetime-picker-inline-icon--highlighted\": _vm.highlightTimezone }, on: { \"mousedown\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return (() => {\n }).apply(null, arguments);\n } } }, \"button\", attrs, false), [_c(\"Web\", { attrs: { \"size\": 20 } })], 1)];\n } }], null, false, 3026992387) }, [_c(\"div\", { attrs: { \"role\": \"dialog\", \"aria-labelledby\": _vm.timezoneDialogHeaderId } }, [_c(\"div\", { staticClass: \"timezone-popover-wrapper__label\" }, [_c(\"strong\", { attrs: { \"id\": _vm.timezoneDialogHeaderId } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Please select a time zone:\")) + \" \")])]), _c(\"NcTimezonePicker\", { staticClass: \"timezone-popover-wrapper__timezone-select\", on: { \"input\": function($event) {\n return _vm.$emit(\"update:timezone-id\", arguments[0]);\n } }, model: { value: _vm.tzVal, callback: function($$v) {\n _vm.tzVal = $$v;\n }, expression: \"tzVal\" } })], 1)]) : _c(\"CalendarBlank\", { attrs: { \"size\": 20 } })];\n }, proxy: true }, _vm._l(_vm.$scopedSlots, function(_, slot) {\n return { key: slot, fn: function(scope) {\n return [_vm._t(slot, null, null, scope)];\n } };\n })], null, true) }, \"DatePicker\", _vm.$attrs, false), _vm.$listeners));\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"ecb9b537\"\n);\nconst NcDateTimePicker = __component__.exports;\nScopeComponent(NcDateTimePicker);\nexport {\n NcDateTimePicker as default\n};\n//# sourceMappingURL=NcDateTimePicker.mjs.map\n"],"names":["isDate","value","toDate","isValidDate","startOfWeek","firstDayOfWeek","date","day","diff","startOfWeekYear","_ref","_ref$firstDayOfWeek","_ref$firstWeekContain","firstWeekContainsDate","year","firstDateOfFirstWeek","i","getWeek","_ref2","_ref2$firstDayOfWeek","_ref2$firstWeekContai","firstDateOfThisWeek","locale","REGEX_FORMAT","pad","val","len","output","sign","getOffset","formatTimezone","offset","delimeter","absOffset","hours","minutes","meridiem","h","_","isLowercase","word","formatFlags","y","meridiemFunc","format","str","options","formatStr","defaultLocale","match","p1","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","arr2","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread","target","source","key","_defineProperty","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_e","_i","_s","err","obj","formattingTokens","match1","match2","match3","match4","match1to2","matchShortOffset","matchSigned","matchTimestamp","YEAR","MONTH","DAY","HOUR","MINUTE","SECOND","MILLISECOND","parseFlags","addParseFlag","token","regex","callback","tokens","func","input","escapeStringRegExp","matchWordRegExp","localeKey","array","matchWordCallback","index","cent","matchMeridiem","defaultIsPM","isPM","offsetFromString","_ref8","_ref9","symbol","hour","minute","to24hour","getFullInputArray","backupDate","result","backupArr","useBackup","createDate","m","d","M","s","ms","createUTCDate","_len","args","_key","makeParser","dateString","length","mark","parseTo","parser","parse","_options$locale","_locale","_options$backupDate","parseResult","month","second","millisecond","weekday","week","inputArray","firstDate","parsedDate","_typeof","_extends","_objectSpread2","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","sourceSymbolKeys","_unsupportedIterableToArray","o","minLen","_arrayLikeToArray","n","_extends$1","a","b","c","normalMerge","toArrayMerge","functionalMerge","mergeJsxProps","e","f","g","mergeFn","helper","isValidRangeDate","isValidDates","dates","getValidDate","backup","startOfYear","startOfMonth","startOfDay","getCalendar","calendar","lastDayInLastMonth","firstDayInLastMonth","lastDayInCurrentMonth","lastMonthLength","nextMonthLength","_i2","setMonth","dirtyDate","dirtyMonth","daysInMonth","setYear","dirtyYear","assignTime","time","chunk","size","isObject","pick","props","res","prop","mergeDeep","unwrapExports","x","createCommonjsModule","fn","module","en","exports","_default","en$1","lang","locales","name","isLocal","l","getLocale","rafThrottle","isRunning","_this","getPopupElementSize","element","originalDisplay","originalVisibility","styles","width","height","getRelativePosition","el","targetWidth","targetHeight","fixed","left","top","offsetX","offsetY","relativeRect","dw","dh","getScrollParent","node","until","style","scroll","script","_this2","relativeElement","evt","popup","appendToBody","_this$_popupRect","_getRelativePosition","normalizeComponent","template","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","__vue_script__","__vue_render__","_vm","_h","_c","__vue_staticRenderFns__","__vue_inject_styles__","__vue_component__","__vue_render__$1","__vue_staticRenderFns__$1","__vue_inject_styles__$1","__vue_component__$1","__vue_render__$2","__vue_staticRenderFns__$2","__vue_inject_styles__$2","__vue_component__$2","__vue_render__$3","__vue_staticRenderFns__$3","__vue_inject_styles__$3","__vue_component__$3","script$1","__vue_script__$1","__vue_render__$4","__vue_staticRenderFns__$4","__vue_inject_styles__$4","__vue_component__$4","script$2","_this$getLocale","yearFormat","monthBeforeYear","_this$getLocale$month","monthFormat","yearLabel","monthLabel","days","type","v","panel","cell","_index$split$map","_index$split$map2","row","col","fmt","__vue_script__$2","__vue_render__$5","item","$event","j","__vue_staticRenderFns__$5","__vue_inject_styles__$5","__vue_component__$5","script$3","monthsLocale","months","text","__vue_script__$3","__vue_render__$6","__vue_staticRenderFns__$6","__vue_inject_styles__$6","__vue_component__$6","script$4","last","firstYear","years","__vue_script__$4","__vue_render__$7","__vue_staticRenderFns__$7","__vue_inject_styles__$7","__vue_component__$7","CalendarPanel","panels","map","start","calendarDate","oldCalendar","oldPanel","_date","_date2","cellDate","notCurrentMonth","classes","state","_cellDate","_cellDate2","end","active","innerCalendar","CalendarRange","calendars","_this$innerValue","startValue","endValue","adjustIndex","gap","_calendars","calendarLeft","calendarRight","yearDiff","monthDiff","min","max","currentDates","classnames","inRange","data","range","_range$map","_range$map2","calendarRange","on","prefixClass","scrollBarWidth","getScrollbarWidth","outer","inner","script$5","wrap","heightPercentage","scrollHeight","scrollTop","offsetTop","clientY","clientHeight","__vue_script__$5","__vue_render__$8","__vue_staticRenderFns__$8","__vue_inject_styles__$8","__vue_component__$8","padNumber","generateOptions","step","scrollTo","to","duration","difference","tick","script$6","cols","num","_this3","_this4","_this5","elements","scrollElement","currentTarget","colIndex","cellIndex","__vue_script__$6","__vue_render__$9","__vue_staticRenderFns__$9","__vue_inject_styles__$9","__vue_component__$9","parseOption","values","scrollTo$1","script$7","startMinutes","endMinutes","stepMinutes","timeMinutes","__vue_script__$7","__vue_render__$a","__vue_staticRenderFns__$a","__vue_inject_styles__$a","__vue_component__$a","script$8","titleFormat","defaultProps","minHour","maxHour","__vue_script__$8","__vue_render__$b","__vue_staticRenderFns__$b","__vue_inject_styles__$b","__vue_component__$b","TimeRange","_this$value","defaultValues","DatetimePanel","datetime","calendarProps","timeProps","DatetimeRange","datetimes","componentMap","componentRangeMap","DatePicker","types","close","disabledDate","disabledTime","nextDates","keyCode","fallback","slotFn","className","attrs","events","calendarIcon","Component","content","_class","inline","disabled","sidedar","Vue","register","t46","formatTimezoneId","timezoneId","getTimezones","tz","_sfc_main","defineComponent","createElementId","__props","model","useModelMigration","formattedAdditionalTimezones","computed","label","timezones","filterBy","option","search","terms","term","t","NcSelect","_sfc_render","_setup","$$v","_sfc_staticRenderFns","__component__","NcTimezonePicker","_sfc_main$2","_sfc_render$2","_sfc_staticRenderFns$2","__component__$2","CalendarBlank","_sfc_main$1","_sfc_render$1","_sfc_staticRenderFns$1","__component__$1","Web","t40","formatMap","NcPopover","GenRandomId","getMonthNames","getMonthNamesShort","getDayNames","getDayNamesShort","getDayNamesMin","getFirstDay","firstThursday","yearStart","logger","slot","scope","NcDateTimePicker","ScopeComponent"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
\ No newline at end of file
+{"version":3,"file":"NcDateTimePicker-RSLBAkGn.chunk.mjs","sources":["../node_modules/date-format-parse/es/util.js","../node_modules/date-format-parse/es/locale/en.js","../node_modules/date-format-parse/es/format.js","../node_modules/date-format-parse/es/parse.js","../node_modules/vue2-datepicker/index.esm.js","../node_modules/@nextcloud/vue/dist/chunks/NcTimezonePicker-Bx5Xf88c.mjs","../node_modules/@nextcloud/vue/dist/Components/NcDateTimePicker.mjs"],"sourcesContent":["export function isDate(value) {\n return value instanceof Date || Object.prototype.toString.call(value) === '[object Date]';\n}\nexport function toDate(value) {\n if (isDate(value)) {\n return new Date(value.getTime());\n }\n\n if (value == null) {\n return new Date(NaN);\n }\n\n return new Date(value);\n}\nexport function isValidDate(value) {\n return isDate(value) && !isNaN(value.getTime());\n}\nexport function startOfWeek(value) {\n var firstDayOfWeek = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (!(firstDayOfWeek >= 0 && firstDayOfWeek <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6');\n }\n\n var date = toDate(value);\n var day = date.getDay();\n var diff = (day + 7 - firstDayOfWeek) % 7;\n date.setDate(date.getDate() - diff);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nexport function startOfWeekYear(value) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$firstDayOfWeek = _ref.firstDayOfWeek,\n firstDayOfWeek = _ref$firstDayOfWeek === void 0 ? 0 : _ref$firstDayOfWeek,\n _ref$firstWeekContain = _ref.firstWeekContainsDate,\n firstWeekContainsDate = _ref$firstWeekContain === void 0 ? 1 : _ref$firstWeekContain;\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7');\n }\n\n var date = toDate(value);\n var year = date.getFullYear();\n var firstDateOfFirstWeek = new Date(0);\n\n for (var i = year + 1; i >= year - 1; i--) {\n firstDateOfFirstWeek.setFullYear(i, 0, firstWeekContainsDate);\n firstDateOfFirstWeek.setHours(0, 0, 0, 0);\n firstDateOfFirstWeek = startOfWeek(firstDateOfFirstWeek, firstDayOfWeek);\n\n if (date.getTime() >= firstDateOfFirstWeek.getTime()) {\n break;\n }\n }\n\n return firstDateOfFirstWeek;\n}\nexport function getWeek(value) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$firstDayOfWeek = _ref2.firstDayOfWeek,\n firstDayOfWeek = _ref2$firstDayOfWeek === void 0 ? 0 : _ref2$firstDayOfWeek,\n _ref2$firstWeekContai = _ref2.firstWeekContainsDate,\n firstWeekContainsDate = _ref2$firstWeekContai === void 0 ? 1 : _ref2$firstWeekContai;\n\n var date = toDate(value);\n var firstDateOfThisWeek = startOfWeek(date, firstDayOfWeek);\n var firstDateOfFirstWeek = startOfWeekYear(date, {\n firstDayOfWeek: firstDayOfWeek,\n firstWeekContainsDate: firstWeekContainsDate\n });\n var diff = firstDateOfThisWeek.getTime() - firstDateOfFirstWeek.getTime();\n return Math.round(diff / (7 * 24 * 3600 * 1000)) + 1;\n}","var locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nexport default locale;","import { toDate, isValidDate, getWeek } from './util';\nimport defaultLocale from './locale/en';\nvar REGEX_FORMAT = /\\[([^\\]]+)]|YYYY|YY?|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|Z{1,2}|S{1,3}|w{1,2}|x|X|a|A/g;\n\nfunction pad(val) {\n var len = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n var output = \"\".concat(Math.abs(val));\n var sign = val < 0 ? '-' : '';\n\n while (output.length < len) {\n output = \"0\".concat(output);\n }\n\n return sign + output;\n}\n\nfunction getOffset(date) {\n return Math.round(date.getTimezoneOffset() / 15) * 15;\n}\n\nfunction formatTimezone(offset) {\n var delimeter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n return sign + pad(hours, 2) + delimeter + pad(minutes, 2);\n}\n\nvar meridiem = function meridiem(h, _, isLowercase) {\n var word = h < 12 ? 'AM' : 'PM';\n return isLowercase ? word.toLocaleLowerCase() : word;\n};\n\nvar formatFlags = {\n Y: function Y(date) {\n var y = date.getFullYear();\n return y <= 9999 ? \"\".concat(y) : \"+\".concat(y);\n },\n // Year: 00, 01, ..., 99\n YY: function YY(date) {\n return pad(date.getFullYear(), 4).substr(2);\n },\n // Year: 1900, 1901, ..., 2099\n YYYY: function YYYY(date) {\n return pad(date.getFullYear(), 4);\n },\n // Month: 1, 2, ..., 12\n M: function M(date) {\n return date.getMonth() + 1;\n },\n // Month: 01, 02, ..., 12\n MM: function MM(date) {\n return pad(date.getMonth() + 1, 2);\n },\n MMM: function MMM(date, locale) {\n return locale.monthsShort[date.getMonth()];\n },\n MMMM: function MMMM(date, locale) {\n return locale.months[date.getMonth()];\n },\n // Day of month: 1, 2, ..., 31\n D: function D(date) {\n return date.getDate();\n },\n // Day of month: 01, 02, ..., 31\n DD: function DD(date) {\n return pad(date.getDate(), 2);\n },\n // Hour: 0, 1, ... 23\n H: function H(date) {\n return date.getHours();\n },\n // Hour: 00, 01, ..., 23\n HH: function HH(date) {\n return pad(date.getHours(), 2);\n },\n // Hour: 1, 2, ..., 12\n h: function h(date) {\n var hours = date.getHours();\n\n if (hours === 0) {\n return 12;\n }\n\n if (hours > 12) {\n return hours % 12;\n }\n\n return hours;\n },\n // Hour: 01, 02, ..., 12\n hh: function hh() {\n var hours = formatFlags.h.apply(formatFlags, arguments);\n return pad(hours, 2);\n },\n // Minute: 0, 1, ..., 59\n m: function m(date) {\n return date.getMinutes();\n },\n // Minute: 00, 01, ..., 59\n mm: function mm(date) {\n return pad(date.getMinutes(), 2);\n },\n // Second: 0, 1, ..., 59\n s: function s(date) {\n return date.getSeconds();\n },\n // Second: 00, 01, ..., 59\n ss: function ss(date) {\n return pad(date.getSeconds(), 2);\n },\n // 1/10 of second: 0, 1, ..., 9\n S: function S(date) {\n return Math.floor(date.getMilliseconds() / 100);\n },\n // 1/100 of second: 00, 01, ..., 99\n SS: function SS(date) {\n return pad(Math.floor(date.getMilliseconds() / 10), 2);\n },\n // Millisecond: 000, 001, ..., 999\n SSS: function SSS(date) {\n return pad(date.getMilliseconds(), 3);\n },\n // Day of week: 0, 1, ..., 6\n d: function d(date) {\n return date.getDay();\n },\n // Day of week: 'Su', 'Mo', ..., 'Sa'\n dd: function dd(date, locale) {\n return locale.weekdaysMin[date.getDay()];\n },\n // Day of week: 'Sun', 'Mon',..., 'Sat'\n ddd: function ddd(date, locale) {\n return locale.weekdaysShort[date.getDay()];\n },\n // Day of week: 'Sunday', 'Monday', ...,'Saturday'\n dddd: function dddd(date, locale) {\n return locale.weekdays[date.getDay()];\n },\n // AM, PM\n A: function A(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), false);\n },\n // am, pm\n a: function a(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), true);\n },\n // Timezone: -01:00, +00:00, ... +12:00\n Z: function Z(date) {\n return formatTimezone(getOffset(date), ':');\n },\n // Timezone: -0100, +0000, ... +1200\n ZZ: function ZZ(date) {\n return formatTimezone(getOffset(date));\n },\n // Seconds timestamp: 512969520\n X: function X(date) {\n return Math.floor(date.getTime() / 1000);\n },\n // Milliseconds timestamp: 512969520900\n x: function x(date) {\n return date.getTime();\n },\n w: function w(date, locale) {\n return getWeek(date, {\n firstDayOfWeek: locale.firstDayOfWeek,\n firstWeekContainsDate: locale.firstWeekContainsDate\n });\n },\n ww: function ww(date, locale) {\n return pad(formatFlags.w(date, locale), 2);\n }\n};\nexport function format(val, str) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var formatStr = str ? String(str) : 'YYYY-MM-DDTHH:mm:ss.SSSZ';\n var date = toDate(val);\n\n if (!isValidDate(date)) {\n return 'Invalid Date';\n }\n\n var locale = options.locale || defaultLocale;\n return formatStr.replace(REGEX_FORMAT, function (match, p1) {\n if (p1) {\n return p1;\n }\n\n if (typeof formatFlags[match] === 'function') {\n return \"\".concat(formatFlags[match](date, locale));\n }\n\n return match;\n });\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport defaultLocale from './locale/en';\nimport { startOfWeekYear } from './util';\nvar formattingTokens = /(\\[[^\\[]*\\])|(MM?M?M?|Do|DD?|ddd?d?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|S{1,3}|x|X|ZZ?|.)/g;\nvar match1 = /\\d/; // 0 - 9\n\nvar match2 = /\\d\\d/; // 00 - 99\n\nvar match3 = /\\d{3}/; // 000 - 999\n\nvar match4 = /\\d{4}/; // 0000 - 9999\n\nvar match1to2 = /\\d\\d?/; // 0 - 99\n\nvar matchShortOffset = /[+-]\\d\\d:?\\d\\d/; // +00:00 -00:00 +0000 or -0000\n\nvar matchSigned = /[+-]?\\d+/; // -inf - inf\n\nvar matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n// const matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i; // Word\n\nvar YEAR = 'year';\nvar MONTH = 'month';\nvar DAY = 'day';\nvar HOUR = 'hour';\nvar MINUTE = 'minute';\nvar SECOND = 'second';\nvar MILLISECOND = 'millisecond';\nvar parseFlags = {};\n\nvar addParseFlag = function addParseFlag(token, regex, callback) {\n var tokens = Array.isArray(token) ? token : [token];\n var func;\n\n if (typeof callback === 'string') {\n func = function func(input) {\n var value = parseInt(input, 10);\n return _defineProperty({}, callback, value);\n };\n } else {\n func = callback;\n }\n\n tokens.forEach(function (key) {\n parseFlags[key] = [regex, func];\n });\n};\n\nvar escapeStringRegExp = function escapeStringRegExp(str) {\n return str.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n};\n\nvar matchWordRegExp = function matchWordRegExp(localeKey) {\n return function (locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n return new RegExp(array.map(escapeStringRegExp).join('|'));\n };\n};\n\nvar matchWordCallback = function matchWordCallback(localeKey, key) {\n return function (input, locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n var index = array.indexOf(input);\n\n if (index < 0) {\n throw new Error('Invalid Word');\n }\n\n return _defineProperty({}, key, index);\n };\n};\n\naddParseFlag('Y', matchSigned, YEAR);\naddParseFlag('YY', match2, function (input) {\n var year = new Date().getFullYear();\n var cent = Math.floor(year / 100);\n var value = parseInt(input, 10);\n value = (value > 68 ? cent - 1 : cent) * 100 + value;\n return _defineProperty({}, YEAR, value);\n});\naddParseFlag('YYYY', match4, YEAR);\naddParseFlag('M', match1to2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MM', match2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MMM', matchWordRegExp('monthsShort'), matchWordCallback('monthsShort', MONTH));\naddParseFlag('MMMM', matchWordRegExp('months'), matchWordCallback('months', MONTH));\naddParseFlag('D', match1to2, DAY);\naddParseFlag('DD', match2, DAY);\naddParseFlag(['H', 'h'], match1to2, HOUR);\naddParseFlag(['HH', 'hh'], match2, HOUR);\naddParseFlag('m', match1to2, MINUTE);\naddParseFlag('mm', match2, MINUTE);\naddParseFlag('s', match1to2, SECOND);\naddParseFlag('ss', match2, SECOND);\naddParseFlag('S', match1, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 100);\n});\naddParseFlag('SS', match2, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 10);\n});\naddParseFlag('SSS', match3, MILLISECOND);\n\nfunction matchMeridiem(locale) {\n return locale.meridiemParse || /[ap]\\.?m?\\.?/i;\n}\n\nfunction defaultIsPM(input) {\n return \"\".concat(input).toLowerCase().charAt(0) === 'p';\n}\n\naddParseFlag(['A', 'a'], matchMeridiem, function (input, locale) {\n var isPM = typeof locale.isPM === 'function' ? locale.isPM(input) : defaultIsPM(input);\n return {\n isPM: isPM\n };\n});\n\nfunction offsetFromString(str) {\n var _ref8 = str.match(/([+-]|\\d\\d)/g) || ['-', '0', '0'],\n _ref9 = _slicedToArray(_ref8, 3),\n symbol = _ref9[0],\n hour = _ref9[1],\n minute = _ref9[2];\n\n var minutes = parseInt(hour, 10) * 60 + parseInt(minute, 10);\n\n if (minutes === 0) {\n return 0;\n }\n\n return symbol === '+' ? -minutes : +minutes;\n}\n\naddParseFlag(['Z', 'ZZ'], matchShortOffset, function (input) {\n return {\n offset: offsetFromString(input)\n };\n});\naddParseFlag('x', matchSigned, function (input) {\n return {\n date: new Date(parseInt(input, 10))\n };\n});\naddParseFlag('X', matchTimestamp, function (input) {\n return {\n date: new Date(parseFloat(input) * 1000)\n };\n});\naddParseFlag('d', match1, 'weekday');\naddParseFlag('dd', matchWordRegExp('weekdaysMin'), matchWordCallback('weekdaysMin', 'weekday'));\naddParseFlag('ddd', matchWordRegExp('weekdaysShort'), matchWordCallback('weekdaysShort', 'weekday'));\naddParseFlag('dddd', matchWordRegExp('weekdays'), matchWordCallback('weekdays', 'weekday'));\naddParseFlag('w', match1to2, 'week');\naddParseFlag('ww', match2, 'week');\n\nfunction to24hour(hour, isPM) {\n if (hour !== undefined && isPM !== undefined) {\n if (isPM) {\n if (hour < 12) {\n return hour + 12;\n }\n } else if (hour === 12) {\n return 0;\n }\n }\n\n return hour;\n}\n\nfunction getFullInputArray(input) {\n var backupDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date();\n var result = [0, 0, 1, 0, 0, 0, 0];\n var backupArr = [backupDate.getFullYear(), backupDate.getMonth(), backupDate.getDate(), backupDate.getHours(), backupDate.getMinutes(), backupDate.getSeconds(), backupDate.getMilliseconds()];\n var useBackup = true;\n\n for (var i = 0; i < 7; i++) {\n if (input[i] === undefined) {\n result[i] = useBackup ? backupArr[i] : result[i];\n } else {\n result[i] = input[i];\n useBackup = false;\n }\n }\n\n return result;\n}\n\nfunction createDate(y, m, d, h, M, s, ms) {\n var date;\n\n if (y < 100 && y >= 0) {\n date = new Date(y + 400, m, d, h, M, s, ms);\n\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n}\n\nfunction createUTCDate() {\n var date;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var y = args[0];\n\n if (y < 100 && y >= 0) {\n args[0] += 400;\n date = new Date(Date.UTC.apply(Date, args)); // eslint-disable-next-line no-restricted-globals\n\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(Date, args));\n }\n\n return date;\n}\n\nfunction makeParser(dateString, format, locale) {\n var tokens = format.match(formattingTokens);\n\n if (!tokens) {\n throw new Error();\n }\n\n var length = tokens.length;\n var mark = {};\n\n for (var i = 0; i < length; i += 1) {\n var token = tokens[i];\n var parseTo = parseFlags[token];\n\n if (!parseTo) {\n var word = token.replace(/^\\[|\\]$/g, '');\n\n if (dateString.indexOf(word) === 0) {\n dateString = dateString.substr(word.length);\n } else {\n throw new Error('not match');\n }\n } else {\n var regex = typeof parseTo[0] === 'function' ? parseTo[0](locale) : parseTo[0];\n var parser = parseTo[1];\n var value = (regex.exec(dateString) || [])[0];\n var obj = parser(value, locale);\n mark = _objectSpread({}, mark, {}, obj);\n dateString = dateString.replace(value, '');\n }\n }\n\n return mark;\n}\n\nexport function parse(str, format) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n try {\n var _options$locale = options.locale,\n _locale = _options$locale === void 0 ? defaultLocale : _options$locale,\n _options$backupDate = options.backupDate,\n backupDate = _options$backupDate === void 0 ? new Date() : _options$backupDate;\n\n var parseResult = makeParser(str, format, _locale);\n var year = parseResult.year,\n month = parseResult.month,\n day = parseResult.day,\n hour = parseResult.hour,\n minute = parseResult.minute,\n second = parseResult.second,\n millisecond = parseResult.millisecond,\n isPM = parseResult.isPM,\n date = parseResult.date,\n offset = parseResult.offset,\n weekday = parseResult.weekday,\n week = parseResult.week;\n\n if (date) {\n return date;\n }\n\n var inputArray = [year, month, day, hour, minute, second, millisecond];\n inputArray[3] = to24hour(inputArray[3], isPM); // check week\n\n if (week !== undefined && month === undefined && day === undefined) {\n // new Date(year, 3) make sure in current year\n var firstDate = startOfWeekYear(year === undefined ? backupDate : new Date(year, 3), {\n firstDayOfWeek: _locale.firstDayOfWeek,\n firstWeekContainsDate: _locale.firstWeekContainsDate\n });\n return new Date(firstDate.getTime() + (week - 1) * 7 * 24 * 3600 * 1000);\n }\n\n var parsedDate;\n var result = getFullInputArray(inputArray, backupDate);\n\n if (offset !== undefined) {\n result[6] += offset * 60 * 1000;\n parsedDate = createUTCDate.apply(void 0, _toConsumableArray(result));\n } else {\n parsedDate = createDate.apply(void 0, _toConsumableArray(result));\n } // check weekday\n\n\n if (weekday !== undefined && parsedDate.getDay() !== weekday) {\n return new Date(NaN);\n }\n\n return parsedDate;\n } catch (e) {\n return new Date(NaN);\n }\n}","import { getWeek, format, parse } from 'date-format-parse';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _extends$1() {\n return _extends$1 = Object.assign || function (a) {\n for (var b, c = 1; c < arguments.length; c++) {\n for (var d in b = arguments[c], b) {\n Object.prototype.hasOwnProperty.call(b, d) && (a[d] = b[d]);\n }\n }\n\n return a;\n }, _extends$1.apply(this, arguments);\n}\n\nvar normalMerge = [\"attrs\", \"props\", \"domProps\"],\n toArrayMerge = [\"class\", \"style\", \"directives\"],\n functionalMerge = [\"on\", \"nativeOn\"],\n mergeJsxProps = function mergeJsxProps(a) {\n return a.reduce(function (c, a) {\n for (var b in a) {\n if (!c[b]) c[b] = a[b];else if (-1 !== normalMerge.indexOf(b)) c[b] = _extends$1({}, c[b], a[b]);else if (-1 !== toArrayMerge.indexOf(b)) {\n var d = c[b] instanceof Array ? c[b] : [c[b]],\n e = a[b] instanceof Array ? a[b] : [a[b]];\n c[b] = d.concat(e);\n } else if (-1 !== functionalMerge.indexOf(b)) {\n for (var f in a[b]) {\n if (c[b][f]) {\n var g = c[b][f] instanceof Array ? c[b][f] : [c[b][f]],\n h = a[b][f] instanceof Array ? a[b][f] : [a[b][f]];\n c[b][f] = g.concat(h);\n } else c[b][f] = a[b][f];\n }\n } else if (\"hook\" == b) for (var i in a[b]) {\n c[b][i] = c[b][i] ? mergeFn(c[b][i], a[b][i]) : a[b][i];\n } else c[b] = a[b];\n }\n\n return c;\n }, {});\n},\n mergeFn = function mergeFn(a, b) {\n return function () {\n a && a.apply(this, arguments), b && b.apply(this, arguments);\n };\n};\n\nvar helper = mergeJsxProps;\n\n// new Date(10, 0, 1) The year from 0 to 99 will be incremented by 1900 automatically.\nfunction createDate(y) {\n var M = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var d = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var h = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var m = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var s = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n var ms = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;\n var date = new Date(y, M, d, h, m, s, ms);\n\n if (y < 100 && y >= 0) {\n date.setFullYear(y);\n }\n\n return date;\n}\nfunction isValidDate(date) {\n return date instanceof Date && !isNaN(date);\n}\nfunction isValidRangeDate(date) {\n return Array.isArray(date) && date.length === 2 && date.every(isValidDate) && date[0] <= date[1];\n}\nfunction isValidDates(dates) {\n return Array.isArray(dates) && dates.every(isValidDate);\n}\nfunction getValidDate(value) {\n var date = new Date(value);\n\n if (isValidDate(date)) {\n return date;\n }\n\n for (var _len = arguments.length, backup = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n backup[_key - 1] = arguments[_key];\n }\n\n if (backup.length) {\n return getValidDate.apply(void 0, backup);\n }\n\n return new Date();\n}\nfunction startOfYear(value) {\n var date = new Date(value);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfMonth(value) {\n var date = new Date(value);\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfDay(value) {\n var date = new Date(value);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction getCalendar(_ref) {\n var firstDayOfWeek = _ref.firstDayOfWeek,\n year = _ref.year,\n month = _ref.month;\n var arr = []; // change to the last day of the last month\n\n var calendar = createDate(year, month, 0);\n var lastDayInLastMonth = calendar.getDate(); // getDay() 0 is Sunday, 1 is Monday\n\n var firstDayInLastMonth = lastDayInLastMonth - (calendar.getDay() + 7 - firstDayOfWeek) % 7;\n\n for (var i = firstDayInLastMonth; i <= lastDayInLastMonth; i++) {\n arr.push(createDate(year, month, i - lastDayInLastMonth));\n } // change to the last day of the current month\n\n\n calendar.setMonth(month + 1, 0);\n var lastDayInCurrentMonth = calendar.getDate();\n\n for (var _i = 1; _i <= lastDayInCurrentMonth; _i++) {\n arr.push(createDate(year, month, _i));\n }\n\n var lastMonthLength = lastDayInLastMonth - firstDayInLastMonth + 1;\n var nextMonthLength = 6 * 7 - lastMonthLength - lastDayInCurrentMonth;\n\n for (var _i2 = 1; _i2 <= nextMonthLength; _i2++) {\n arr.push(createDate(year, month, lastDayInCurrentMonth + _i2));\n }\n\n return arr;\n}\nfunction setMonth(dirtyDate, dirtyMonth) {\n var date = new Date(dirtyDate);\n var month = typeof dirtyMonth === 'function' ? dirtyMonth(date.getMonth()) : Number(dirtyMonth);\n var year = date.getFullYear();\n var daysInMonth = createDate(year, month + 1, 0).getDate();\n var day = date.getDate();\n date.setMonth(month, Math.min(day, daysInMonth));\n return date;\n}\nfunction setYear(dirtyDate, dirtyYear) {\n var date = new Date(dirtyDate);\n var year = typeof dirtyYear === 'function' ? dirtyYear(date.getFullYear()) : dirtyYear;\n date.setFullYear(year);\n return date;\n}\nfunction assignTime(target, source) {\n var date = new Date(target);\n var time = new Date(source);\n date.setHours(time.getHours(), time.getMinutes(), time.getSeconds());\n return date;\n}\n\n/**\n * chunk the array\n * @param {Array} arr\n * @param {Number} size\n */\nfunction chunk(arr, size) {\n if (!Array.isArray(arr)) {\n return [];\n }\n\n var result = [];\n var len = arr.length;\n var i = 0;\n size = size || len;\n\n while (i < len) {\n result.push(arr.slice(i, i += size));\n }\n\n return result;\n}\n/**\n * isObject\n * @param {*} obj\n * @returns {Boolean}\n */\n\nfunction isObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n}\n/**\n * pick object\n * @param {Object} obj\n * @param {Array|String} props\n */\n\nfunction pick(obj, props) {\n if (!isObject(obj)) return {};\n\n if (!Array.isArray(props)) {\n props = [props];\n }\n\n var res = {};\n props.forEach(function (prop) {\n if (prop in obj) {\n res[prop] = obj[prop];\n }\n });\n return res;\n}\n/**\n * deep merge two object without merging array\n * @param {object} target\n * @param {object} source\n */\n\nfunction mergeDeep(target, source) {\n if (!isObject(target)) {\n return {};\n }\n\n var result = target;\n\n if (isObject(source)) {\n Object.keys(source).forEach(function (key) {\n var value = source[key];\n\n if (isObject(value) && isObject(target[key])) {\n value = mergeDeep(target[key], value);\n }\n\n result = _objectSpread2({}, result, _defineProperty({}, key, value));\n });\n }\n\n return result;\n}\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar en = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nvar _default = locale;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n});\n\nvar en$1 = unwrapExports(en);\n\nvar lang = {\n formatLocale: en$1,\n yearFormat: 'YYYY',\n monthFormat: 'MMM',\n monthBeforeYear: true\n};\n\nvar defaultLocale = 'en';\nvar locales = {};\nlocales[defaultLocale] = lang;\nfunction locale(name, object, isLocal) {\n if (typeof name !== 'string') return locales[defaultLocale];\n var l = defaultLocale;\n\n if (locales[name]) {\n l = name;\n }\n\n if (object) {\n locales[name] = object;\n l = name;\n }\n\n if (!isLocal) {\n defaultLocale = l;\n }\n\n return locales[name] || locales[defaultLocale];\n}\n/**\n * get locale object\n * @param {string} name lang\n */\n\nfunction getLocale(name) {\n return locale(name, null, true);\n}\n\n/* istanbul ignore file */\nfunction rafThrottle(fn) {\n var isRunning = false;\n return function fnBinfRaf() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (isRunning) return;\n isRunning = true;\n requestAnimationFrame(function () {\n isRunning = false;\n fn.apply(_this, args);\n });\n };\n}\n\n/**\n * get the hidden element width, height\n * @param {HTMLElement} element dom\n */\nfunction getPopupElementSize(element) {\n var originalDisplay = element.style.display;\n var originalVisibility = element.style.visibility;\n element.style.display = 'block';\n element.style.visibility = 'hidden';\n var styles = window.getComputedStyle(element);\n var width = element.offsetWidth + parseInt(styles.marginLeft, 10) + parseInt(styles.marginRight, 10);\n var height = element.offsetHeight + parseInt(styles.marginTop, 10) + parseInt(styles.marginBottom, 10);\n element.style.display = originalDisplay;\n element.style.visibility = originalVisibility;\n return {\n width: width,\n height: height\n };\n}\n/**\n * get the popup position\n * @param {HTMLElement} el relative element\n * @param {Number} targetWidth target element's width\n * @param {Number} targetHeight target element's height\n * @param {Boolean} fixed\n */\n\nfunction getRelativePosition(el, targetWidth, targetHeight, fixed) {\n var left = 0;\n var top = 0;\n var offsetX = 0;\n var offsetY = 0;\n var relativeRect = el.getBoundingClientRect();\n var dw = document.documentElement.clientWidth;\n var dh = document.documentElement.clientHeight;\n\n if (fixed) {\n offsetX = window.pageXOffset + relativeRect.left;\n offsetY = window.pageYOffset + relativeRect.top;\n }\n\n if (dw - relativeRect.left < targetWidth && relativeRect.right < targetWidth) {\n left = offsetX - relativeRect.left + 1;\n } else if (relativeRect.left + relativeRect.width / 2 <= dw / 2) {\n left = offsetX;\n } else {\n left = offsetX + relativeRect.width - targetWidth;\n }\n\n if (relativeRect.top <= targetHeight && dh - relativeRect.bottom <= targetHeight) {\n top = offsetY + dh - relativeRect.top - targetHeight;\n } else if (relativeRect.top + relativeRect.height / 2 <= dh / 2) {\n top = offsetY + relativeRect.height;\n } else {\n top = offsetY - targetHeight;\n }\n\n return {\n left: \"\".concat(left, \"px\"),\n top: \"\".concat(top, \"px\")\n };\n}\nfunction getScrollParent(node) {\n var until = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.body;\n\n if (!node || node === until) {\n return null;\n }\n\n var style = function style(value, prop) {\n return getComputedStyle(value, null).getPropertyValue(prop);\n };\n\n var regex = /(auto|scroll)/;\n var scroll = regex.test(style(node, 'overflow') + style(node, 'overflow-y') + style(node, 'overflow-x'));\n return scroll ? node : getScrollParent(node.parentNode, until);\n}\n\n//\nvar script = {\n name: 'Popup',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n appendToBody: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n top: '',\n left: ''\n };\n },\n watch: {\n visible: {\n immediate: true,\n handler: function handler(val) {\n var _this = this;\n\n this.$nextTick(function () {\n if (val) {\n _this.displayPopup();\n }\n });\n }\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n if (this.appendToBody) {\n document.body.appendChild(this.$el);\n }\n\n this._clickoutEvent = 'ontouchend' in document ? 'touchstart' : 'mousedown';\n document.addEventListener(this._clickoutEvent, this.handleClickOutside); // change the popup position when resize or scroll\n\n var relativeElement = this.$parent.$el;\n this._displayPopup = rafThrottle(function () {\n return _this2.displayPopup();\n });\n this._scrollParent = getScrollParent(relativeElement) || window;\n\n this._scrollParent.addEventListener('scroll', this._displayPopup);\n\n window.addEventListener('resize', this._displayPopup);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.appendToBody && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n\n document.removeEventListener(this._clickoutEvent, this.handleClickOutside);\n\n this._scrollParent.removeEventListener('scroll', this._displayPopup);\n\n window.removeEventListener('resize', this._displayPopup);\n },\n methods: {\n handleClickOutside: function handleClickOutside(evt) {\n if (!this.visible) return;\n var target = evt.target;\n var el = this.$el;\n\n if (el && !el.contains(target)) {\n this.$emit('clickoutside', evt);\n }\n },\n displayPopup: function displayPopup() {\n if (!this.visible) return;\n var popup = this.$el;\n var relativeElement = this.$parent.$el;\n var appendToBody = this.appendToBody;\n\n if (!this._popupRect) {\n this._popupRect = getPopupElementSize(popup);\n }\n\n var _this$_popupRect = this._popupRect,\n width = _this$_popupRect.width,\n height = _this$_popupRect.height;\n\n var _getRelativePosition = getRelativePosition(relativeElement, width, height, appendToBody),\n left = _getRelativePosition.left,\n top = _getRelativePosition.top;\n\n this.left = left;\n this.top = top;\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('transition', {\n attrs: {\n \"name\": _vm.prefixClass + \"-zoom-in-down\"\n }\n }, [_vm.visible ? _c('div', {\n class: _vm.prefixClass + \"-datepicker-main \" + _vm.prefixClass + \"-datepicker-popup\",\n style: {\n top: _vm.top,\n left: _vm.left,\n position: 'absolute'\n }\n }, [_vm._t(\"default\")], 2) : _vm._e()]);\n};\n\nvar __vue_staticRenderFns__ = [];\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$1 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M940.218182 107.054545h-209.454546V46.545455h-65.163636v60.50909H363.054545V46.545455H297.890909v60.50909H83.781818c-18.618182 0-32.581818 13.963636-32.581818 32.581819v805.236363c0 18.618182 13.963636 32.581818 32.581818 32.581818h861.090909c18.618182 0 32.581818-13.963636 32.581818-32.581818V139.636364c-4.654545-18.618182-18.618182-32.581818-37.236363-32.581819zM297.890909 172.218182V232.727273h65.163636V172.218182h307.2V232.727273h65.163637V172.218182h176.872727v204.8H116.363636V172.218182h181.527273zM116.363636 912.290909V442.181818h795.927273v470.109091H116.363636z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$1 = [];\n/* style */\n\nvar __vue_inject_styles__$1 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$1 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$1 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$1 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$1 = normalizeComponent({\n render: __vue_render__$1,\n staticRenderFns: __vue_staticRenderFns__$1\n}, __vue_inject_styles__$1, {}, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$2 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 24 24\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M0 0h24v24H0z\",\n \"fill\": \"none\"\n }\n }), _vm._v(\" \"), _c('path', {\n attrs: {\n \"d\": \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n }\n }), _vm._v(\" \"), _c('path', {\n attrs: {\n \"d\": \"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$2 = [];\n/* style */\n\nvar __vue_inject_styles__$2 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$2 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$2 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$2 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$2 = normalizeComponent({\n render: __vue_render__$2,\n staticRenderFns: __vue_staticRenderFns__$2\n}, __vue_inject_styles__$2, {}, __vue_scope_id__$2, __vue_is_functional_template__$2, __vue_module_identifier__$2, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$3 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M810.005333 274.005333l-237.994667 237.994667 237.994667 237.994667-60.010667 60.010667-237.994667-237.994667-237.994667 237.994667-60.010667-60.010667 237.994667-237.994667-237.994667-237.994667 60.010667-60.010667 237.994667 237.994667 237.994667-237.994667z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$3 = [];\n/* style */\n\nvar __vue_inject_styles__$3 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$3 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$3 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$3 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$3 = normalizeComponent({\n render: __vue_render__$3,\n staticRenderFns: __vue_staticRenderFns__$3\n}, __vue_inject_styles__$3, {}, __vue_scope_id__$3, __vue_is_functional_template__$3, __vue_module_identifier__$3, false, undefined, undefined, undefined);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script$1 = {\n props: {\n type: String,\n disabled: Boolean\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n }\n};\n\n/* script */\nvar __vue_script__$1 = script$1;\n/* template */\n\nvar __vue_render__$4 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('button', _vm._g({\n class: [_vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-icon-\" + _vm.type, {\n disabled: _vm.disabled\n }],\n attrs: {\n \"type\": \"button\",\n \"disabled\": _vm.disabled\n }\n }, _vm.$listeners), [_c('i', {\n class: _vm.prefixClass + \"-icon-\" + _vm.type\n })]);\n};\n\nvar __vue_staticRenderFns__$4 = [];\n/* style */\n\nvar __vue_inject_styles__$4 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$4 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$4 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$4 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$4 = normalizeComponent({\n render: __vue_render__$4,\n staticRenderFns: __vue_staticRenderFns__$4\n}, __vue_inject_styles__$4, __vue_script__$1, __vue_scope_id__$4, __vue_is_functional_template__$4, __vue_module_identifier__$4, false, undefined, undefined, undefined);\n\nvar script$2 = {\n name: 'TableDate',\n components: {\n IconButton: __vue_component__$4\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n getWeek: {\n default: function _default() {\n return getWeek;\n }\n },\n prefixClass: {\n default: 'mx'\n },\n onDateMouseEnter: {\n default: undefined\n },\n onDateMouseLeave: {\n default: undefined\n }\n },\n props: {\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: false\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n getRowClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n firstDayOfWeek: function firstDayOfWeek() {\n return this.getLocale().formatLocale.firstDayOfWeek || 0;\n },\n yearMonth: function yearMonth() {\n var _this$getLocale = this.getLocale(),\n yearFormat = _this$getLocale.yearFormat,\n monthBeforeYear = _this$getLocale.monthBeforeYear,\n _this$getLocale$month = _this$getLocale.monthFormat,\n monthFormat = _this$getLocale$month === void 0 ? 'MMM' : _this$getLocale$month;\n\n var yearLabel = {\n panel: 'year',\n label: this.formatDate(this.calendar, yearFormat)\n };\n var monthLabel = {\n panel: 'month',\n label: this.formatDate(this.calendar, monthFormat)\n };\n return monthBeforeYear ? [monthLabel, yearLabel] : [yearLabel, monthLabel];\n },\n days: function days() {\n var locale = this.getLocale();\n var days = locale.days || locale.formatLocale.weekdaysMin;\n return days.concat(days).slice(this.firstDayOfWeek, this.firstDayOfWeek + 7);\n },\n dates: function dates() {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n var arr = getCalendar({\n firstDayOfWeek: this.firstDayOfWeek,\n year: year,\n month: month\n });\n return chunk(arr, 7);\n }\n },\n methods: {\n isDisabledArrows: function isDisabledArrows(type) {\n var date = new Date(this.calendar);\n\n switch (type) {\n case 'last-year':\n date.setFullYear(date.getFullYear() - 1, date.getMonth() + 1, 0);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-year':\n date.setFullYear(date.getFullYear() + 1);\n break;\n\n case 'last-month':\n date.setMonth(date.getMonth(), 0);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-month':\n date.setMonth(date.getMonth() + 1);\n break;\n }\n\n return this.disabledCalendarChanger(date, type);\n },\n handleIconLeftClick: function handleIconLeftClick() {\n this.$emit('changecalendar', setMonth(this.calendar, function (v) {\n return v - 1;\n }), 'last-month');\n },\n handleIconRightClick: function handleIconRightClick() {\n this.$emit('changecalendar', setMonth(this.calendar, function (v) {\n return v + 1;\n }), 'next-month');\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v - 1;\n }), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v + 1;\n }), 'next-year');\n },\n handlePanelChange: function handlePanelChange(panel) {\n this.$emit('changepanel', panel);\n },\n handleMouseEnter: function handleMouseEnter(cell) {\n if (typeof this.onDateMouseEnter === 'function') {\n this.onDateMouseEnter(cell);\n }\n },\n handleMouseLeave: function handleMouseLeave(cell) {\n if (typeof this.onDateMouseLeave === 'function') {\n this.onDateMouseLeave(cell);\n }\n },\n handleCellClick: function handleCellClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var index = target.getAttribute('data-row-col');\n\n if (index) {\n var _index$split$map = index.split(',').map(function (v) {\n return parseInt(v, 10);\n }),\n _index$split$map2 = _slicedToArray(_index$split$map, 2),\n row = _index$split$map2[0],\n col = _index$split$map2[1];\n\n var date = this.dates[row][col];\n this.$emit('select', new Date(date));\n }\n },\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n getCellTitle: function getCellTitle(date) {\n var fmt = this.titleFormat;\n return this.formatDate(date, fmt);\n },\n getWeekNumber: function getWeekNumber(date) {\n return this.getWeek(date, this.getLocale().formatLocale);\n }\n }\n};\n\n/* script */\nvar __vue_script__$2 = script$2;\n/* template */\n\nvar __vue_render__$5 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-date\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\",\n \"disabled\": _vm.isDisabledArrows('last-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"left\",\n \"disabled\": _vm.isDisabledArrows('last-month')\n },\n on: {\n \"click\": _vm.handleIconLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\",\n \"disabled\": _vm.isDisabledArrows('next-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"right\",\n \"disabled\": _vm.isDisabledArrows('next-month')\n },\n on: {\n \"click\": _vm.handleIconRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, _vm._l(_vm.yearMonth, function (item) {\n return _c('button', {\n key: item.panel,\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-current-\" + item.panel,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function click($event) {\n return _vm.handlePanelChange(item.panel);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.label) + \"\\n \")]);\n }), 0)], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-date\"\n }, [_c('thead', [_c('tr', [_vm.showWeekNumber ? _c('th', {\n class: _vm.prefixClass + \"-week-number-header\"\n }) : _vm._e(), _vm._v(\" \"), _vm._l(_vm.days, function (day) {\n return _c('th', {\n key: day\n }, [_vm._v(_vm._s(day))]);\n })], 2)]), _vm._v(\" \"), _c('tbody', {\n on: {\n \"click\": _vm.handleCellClick\n }\n }, _vm._l(_vm.dates, function (row, i) {\n return _c('tr', {\n key: i,\n class: [_vm.prefixClass + \"-date-row\", _vm.getRowClasses(row)]\n }, [_vm.showWeekNumber ? _c('td', {\n class: _vm.prefixClass + \"-week-number\",\n attrs: {\n \"data-row-col\": i + \",0\"\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.getWeekNumber(row[0])) + \"\\n \")]) : _vm._e(), _vm._v(\" \"), _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-row-col\": i + \",\" + j,\n \"title\": _vm.getCellTitle(cell)\n },\n on: {\n \"mouseenter\": function mouseenter($event) {\n return _vm.handleMouseEnter(cell);\n },\n \"mouseleave\": function mouseleave($event) {\n return _vm.handleMouseLeave(cell);\n }\n }\n }, [_c('div', [_vm._v(_vm._s(cell.getDate()))])]);\n })], 2);\n }), 0)])])]);\n};\n\nvar __vue_staticRenderFns__$5 = [];\n/* style */\n\nvar __vue_inject_styles__$5 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$5 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$5 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$5 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$5 = normalizeComponent({\n render: __vue_render__$5,\n staticRenderFns: __vue_staticRenderFns__$5\n}, __vue_inject_styles__$5, __vue_script__$2, __vue_scope_id__$5, __vue_is_functional_template__$5, __vue_module_identifier__$5, false, undefined, undefined, undefined);\n\n//\nvar script$3 = {\n name: 'TableMonth',\n components: {\n IconButton: __vue_component__$4\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n calendarYear: function calendarYear() {\n return this.calendar.getFullYear();\n },\n months: function months() {\n var locale = this.getLocale();\n var monthsLocale = locale.months || locale.formatLocale.monthsShort;\n var months = monthsLocale.map(function (text, month) {\n return {\n text: text,\n month: month\n };\n });\n return chunk(months, 3);\n }\n },\n methods: {\n isDisabledArrows: function isDisabledArrows(type) {\n var date = new Date(this.calendar);\n\n switch (type) {\n case 'last-year':\n date.setFullYear(date.getFullYear() - 1, 11, 31);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-year':\n date.setFullYear(date.getFullYear() + 1, 0, 1);\n break;\n }\n\n return this.disabledCalendarChanger(date, type);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v - 1;\n }), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v + 1;\n }), 'next-year');\n },\n handlePanelChange: function handlePanelChange() {\n this.$emit('changepanel', 'year');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var month = target.getAttribute('data-month');\n\n if (month && !target.classList.contains('disabled')) {\n this.$emit('select', parseInt(month, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$3 = script$3;\n/* template */\n\nvar __vue_render__$6 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-month\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\",\n \"disabled\": _vm.isDisabledArrows('last-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\",\n \"disabled\": _vm.isDisabledArrows('next-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handlePanelChange\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.calendarYear) + \"\\n \")])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-month\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.months, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell.month),\n attrs: {\n \"data-month\": cell.month\n }\n }, [_c('div', [_vm._v(_vm._s(cell.text))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$6 = [];\n/* style */\n\nvar __vue_inject_styles__$6 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$6 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$6 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$6 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$6 = normalizeComponent({\n render: __vue_render__$6,\n staticRenderFns: __vue_staticRenderFns__$6\n}, __vue_inject_styles__$6, __vue_script__$3, __vue_scope_id__$6, __vue_is_functional_template__$6, __vue_module_identifier__$6, false, undefined, undefined, undefined);\n\n//\nvar script$4 = {\n name: 'TableYear',\n components: {\n IconButton: __vue_component__$4\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getYearPanel: {\n type: Function\n }\n },\n computed: {\n years: function years() {\n var calendar = new Date(this.calendar);\n\n if (typeof this.getYearPanel === 'function') {\n return this.getYearPanel(calendar);\n }\n\n return this.getYears(calendar);\n },\n firstYear: function firstYear() {\n return this.years[0][0];\n },\n lastYear: function lastYear() {\n var last = function last(arr) {\n return arr[arr.length - 1];\n };\n\n return last(last(this.years));\n }\n },\n methods: {\n isDisabledArrows: function isDisabledArrows(type) {\n var date = new Date(this.calendar);\n\n switch (type) {\n case 'last-decade':\n date.setFullYear(this.firstYear - 1, 11, 31);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-decade':\n date.setFullYear(this.lastYear + 1, 0, 1);\n break;\n }\n\n return this.disabledCalendarChanger(date, type);\n },\n getYears: function getYears(calendar) {\n var firstYear = Math.floor(calendar.getFullYear() / 10) * 10;\n var years = [];\n\n for (var i = 0; i < 10; i++) {\n years.push(firstYear + i);\n }\n\n return chunk(years, 2);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v - 10;\n }), 'last-decade');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v + 10;\n }), 'next-decade');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var year = target.getAttribute('data-year');\n\n if (year && !target.classList.contains('disabled')) {\n this.$emit('select', parseInt(year, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$4 = script$4;\n/* template */\n\nvar __vue_render__$7 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-year\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\",\n \"disabled\": _vm.isDisabledArrows('last-decade')\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\",\n \"disabled\": _vm.isDisabledArrows('next-decade')\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('span', [_vm._v(_vm._s(_vm.firstYear))]), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-decade-separator\"\n }), _vm._v(\" \"), _c('span', [_vm._v(_vm._s(_vm.lastYear))])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-year\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.years, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-year\": cell\n }\n }, [_c('div', [_vm._v(_vm._s(cell))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$7 = [];\n/* style */\n\nvar __vue_inject_styles__$7 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$7 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$7 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$7 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$7 = normalizeComponent({\n render: __vue_render__$7,\n staticRenderFns: __vue_staticRenderFns__$7\n}, __vue_inject_styles__$7, __vue_script__$4, __vue_scope_id__$7, __vue_is_functional_template__$7, __vue_module_identifier__$7, false, undefined, undefined, undefined);\n\nvar CalendarPanel = {\n name: 'CalendarPanel',\n inject: {\n prefixClass: {\n default: 'mx'\n },\n dispatchDatePicker: {\n default: function _default() {\n return function () {};\n }\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n defaultPanel: {\n type: String\n },\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n disabledDate: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n type: {\n type: String,\n default: 'date'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: undefined\n },\n getYearPanel: {\n type: Function\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n calendar: Date,\n // update date when select year or month\n partialUpdate: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n var panels = ['date', 'month', 'year'];\n var index = Math.max(panels.indexOf(this.type), panels.indexOf(this.defaultPanel));\n var panel = index !== -1 ? panels[index] : 'date';\n return {\n panel: panel,\n innerCalendar: new Date()\n };\n },\n computed: {\n innerValue: function innerValue() {\n var value = Array.isArray(this.value) ? this.value : [this.value];\n var map = {\n year: startOfYear,\n month: startOfMonth,\n date: startOfDay\n };\n var start = map[this.type] || map.date;\n return value.filter(isValidDate).map(function (v) {\n return start(v);\n });\n },\n calendarYear: function calendarYear() {\n return this.innerCalendar.getFullYear();\n },\n calendarMonth: function calendarMonth() {\n return this.innerCalendar.getMonth();\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: 'initCalendar'\n },\n calendar: {\n handler: 'initCalendar'\n },\n defaultValue: {\n handler: 'initCalendar'\n }\n },\n methods: {\n initCalendar: function initCalendar() {\n var calendarDate = this.calendar;\n\n if (!isValidDate(calendarDate)) {\n var length = this.innerValue.length;\n calendarDate = getValidDate(length > 0 ? this.innerValue[length - 1] : this.defaultValue);\n }\n\n this.innerCalendar = startOfMonth(calendarDate);\n },\n isDisabled: function isDisabled(date) {\n return this.disabledDate(new Date(date), this.innerValue);\n },\n emitDate: function emitDate(date, type) {\n if (!this.isDisabled(date)) {\n this.$emit('select', date, type, this.innerValue); // someone need get the first selected date to set range value. (#429)\n\n this.dispatchDatePicker('pick', date, type);\n }\n },\n handleCalendarChange: function handleCalendarChange(calendar, type) {\n var oldCalendar = new Date(this.innerCalendar);\n this.innerCalendar = calendar;\n this.$emit('update:calendar', calendar);\n this.dispatchDatePicker('calendar-change', calendar, oldCalendar, type);\n },\n handelPanelChange: function handelPanelChange(panel) {\n var oldPanel = this.panel;\n this.panel = panel;\n this.dispatchDatePicker('panel-change', panel, oldPanel);\n },\n handleSelectYear: function handleSelectYear(year) {\n if (this.type === 'year') {\n var date = this.getYearCellDate(year);\n this.emitDate(date, 'year');\n } else {\n this.handleCalendarChange(createDate(year, this.calendarMonth), 'year');\n this.handelPanelChange('month');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date = new Date(this.innerValue[0]);\n\n _date.setFullYear(year);\n\n this.emitDate(_date, 'year');\n }\n }\n },\n handleSelectMonth: function handleSelectMonth(month) {\n if (this.type === 'month') {\n var date = this.getMonthCellDate(month);\n this.emitDate(date, 'month');\n } else {\n this.handleCalendarChange(createDate(this.calendarYear, month), 'month');\n this.handelPanelChange('date');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date2 = new Date(this.innerValue[0]);\n\n _date2.setFullYear(this.calendarYear);\n\n this.emitDate(setMonth(_date2, month), 'month');\n }\n }\n },\n handleSelectDate: function handleSelectDate(date) {\n this.emitDate(date, this.type === 'week' ? 'week' : 'date');\n },\n getMonthCellDate: function getMonthCellDate(month) {\n return createDate(this.calendarYear, month);\n },\n getYearCellDate: function getYearCellDate(year) {\n return createDate(year, 0);\n },\n getDateClasses: function getDateClasses(cellDate) {\n var notCurrentMonth = cellDate.getMonth() !== this.calendarMonth;\n var classes = [];\n\n if (cellDate.getTime() === new Date().setHours(0, 0, 0, 0)) {\n classes.push('today');\n }\n\n if (notCurrentMonth) {\n classes.push('not-current-month');\n }\n\n var state = this.getStateClass(cellDate);\n\n if (!(state === 'active' && notCurrentMonth)) {\n classes.push(state);\n }\n\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getMonthClasses: function getMonthClasses(month) {\n var classes = [];\n\n if (this.type !== 'month') {\n if (this.calendarMonth === month) {\n classes.push('active');\n }\n\n var _cellDate = this.getMonthCellDate(month);\n\n if (this.disabledCalendarChanger(_cellDate, 'month')) {\n classes.push('disabled');\n }\n\n return classes;\n }\n\n var cellDate = this.getMonthCellDate(month);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getYearClasses: function getYearClasses(year) {\n var classes = [];\n\n if (this.type !== 'year') {\n if (this.calendarYear === year) {\n classes.push('active');\n }\n\n var _cellDate2 = this.getYearCellDate(year);\n\n if (this.disabledCalendarChanger(_cellDate2, 'year')) {\n classes.push('disabled');\n }\n\n return classes;\n }\n\n var cellDate = this.getYearCellDate(year);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getStateClass: function getStateClass(cellDate) {\n if (this.isDisabled(cellDate)) {\n return 'disabled';\n }\n\n if (this.innerValue.some(function (v) {\n return v.getTime() === cellDate.getTime();\n })) {\n return 'active';\n }\n\n return '';\n },\n getWeekState: function getWeekState(row) {\n if (this.type !== 'week') return '';\n var start = row[0].getTime();\n var end = row[6].getTime();\n var active = this.innerValue.some(function (v) {\n var time = v.getTime();\n return time >= start && time <= end;\n });\n return active ? \"\".concat(this.prefixClass, \"-active-week\") : '';\n }\n },\n render: function render() {\n var h = arguments[0];\n var panel = this.panel,\n innerCalendar = this.innerCalendar;\n\n if (panel === 'year') {\n return h(__vue_component__$7, {\n \"attrs\": {\n \"disabledCalendarChanger\": this.disabledCalendarChanger,\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getYearClasses,\n \"getYearPanel\": this.getYearPanel\n },\n \"on\": {\n \"select\": this.handleSelectYear,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n if (panel === 'month') {\n return h(__vue_component__$6, {\n \"attrs\": {\n \"disabledCalendarChanger\": this.disabledCalendarChanger,\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getMonthClasses\n },\n \"on\": {\n \"select\": this.handleSelectMonth,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n return h(__vue_component__$5, {\n \"attrs\": {\n \"disabledCalendarChanger\": this.disabledCalendarChanger,\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getDateClasses,\n \"getRowClasses\": this.getWeekState,\n \"titleFormat\": this.titleFormat,\n \"showWeekNumber\": typeof this.showWeekNumber === 'boolean' ? this.showWeekNumber : this.type === 'week'\n },\n \"class\": _defineProperty({}, \"\".concat(this.prefixClass, \"-calendar-week-mode\"), this.type === 'week'),\n \"on\": {\n \"select\": this.handleSelectDate,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n};\n\nvar CalendarRange = {\n name: 'CalendarRange',\n components: {\n CalendarPanel: CalendarPanel\n },\n provide: function provide() {\n return {\n onDateMouseEnter: this.onDateMouseEnter,\n onDateMouseLeave: this.onDateMouseLeave\n };\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, CalendarPanel.props),\n data: function data() {\n return {\n innerValue: [],\n calendars: [],\n hoveredValue: null\n };\n },\n computed: {\n // Minimum difference between start and end calendars\n calendarMinDiff: function calendarMinDiff() {\n var map = {\n date: 1,\n // type:date min 1 month\n month: 1 * 12,\n // type:month min 1 year\n year: 10 * 12 // type:year min 10 year\n\n };\n return map[this.type] || map.date;\n },\n calendarMaxDiff: function calendarMaxDiff() {\n return Infinity;\n },\n defaultValues: function defaultValues() {\n return Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n var _this = this;\n\n this.innerValue = isValidRangeDate(this.value) ? this.value : [new Date(NaN), new Date(NaN)];\n var calendars = this.innerValue.map(function (v, i) {\n return startOfMonth(getValidDate(v, _this.defaultValues[i]));\n });\n this.updateCalendars(calendars);\n }\n }\n },\n methods: {\n handleSelect: function handleSelect(date, type) {\n var _this$innerValue = _slicedToArray(this.innerValue, 2),\n startValue = _this$innerValue[0],\n endValue = _this$innerValue[1];\n\n if (isValidDate(startValue) && !isValidDate(endValue)) {\n if (startValue.getTime() > date.getTime()) {\n this.innerValue = [date, startValue];\n } else {\n this.innerValue = [startValue, date];\n }\n\n this.emitDate(this.innerValue, type);\n } else {\n this.innerValue = [date, new Date(NaN)];\n }\n },\n onDateMouseEnter: function onDateMouseEnter(cell) {\n this.hoveredValue = cell;\n },\n onDateMouseLeave: function onDateMouseLeave() {\n this.hoveredValue = null;\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n updateStartCalendar: function updateStartCalendar(value) {\n this.updateCalendars([value, this.calendars[1]], 1);\n },\n updateEndCalendar: function updateEndCalendar(value) {\n this.updateCalendars([this.calendars[0], value], 0);\n },\n updateCalendars: function updateCalendars(calendars) {\n var adjustIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var gap = this.getCalendarGap(calendars);\n\n if (gap) {\n var calendar = new Date(calendars[adjustIndex]);\n calendar.setMonth(calendar.getMonth() + (adjustIndex === 0 ? -gap : gap));\n calendars[adjustIndex] = calendar;\n }\n\n this.calendars = calendars;\n },\n getCalendarGap: function getCalendarGap(calendars) {\n var _calendars = _slicedToArray(calendars, 2),\n calendarLeft = _calendars[0],\n calendarRight = _calendars[1];\n\n var yearDiff = calendarRight.getFullYear() - calendarLeft.getFullYear();\n var monthDiff = calendarRight.getMonth() - calendarLeft.getMonth();\n var diff = yearDiff * 12 + monthDiff;\n var min = this.calendarMinDiff;\n var max = this.calendarMaxDiff;\n\n if (diff < min) {\n return min - diff;\n }\n\n if (diff > max) {\n return max - diff;\n }\n\n return 0;\n },\n getRangeClasses: function getRangeClasses(cellDate, currentDates, classnames) {\n var classes = [].concat(this.getClasses(cellDate, currentDates, classnames));\n if (/disabled|active/.test(classnames)) return classes;\n\n var inRange = function inRange(data, range) {\n var fn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (v) {\n return v.getTime();\n };\n var value = fn(data);\n\n var _range$map = range.map(fn),\n _range$map2 = _slicedToArray(_range$map, 2),\n min = _range$map2[0],\n max = _range$map2[1];\n\n if (min > max) {\n var _ref = [max, min];\n min = _ref[0];\n max = _ref[1];\n }\n\n return value > min && value < max;\n };\n\n if (currentDates.length === 2 && inRange(cellDate, currentDates)) {\n return classes.concat('in-range');\n }\n\n if (currentDates.length === 1 && this.hoveredValue && inRange(cellDate, [currentDates[0], this.hoveredValue])) {\n return classes.concat('hover-in-range');\n }\n\n return classes;\n }\n },\n render: function render() {\n var _this2 = this;\n\n var h = arguments[0];\n var calendarRange = this.calendars.map(function (calendar, index) {\n var props = _objectSpread2({}, _this2.$props, {\n calendar: calendar,\n value: _this2.innerValue,\n defaultValue: _this2.defaultValues[index],\n getClasses: _this2.getRangeClasses,\n // don't update when range is true\n partialUpdate: false\n });\n\n var on = {\n select: _this2.handleSelect,\n 'update:calendar': index === 0 ? _this2.updateStartCalendar : _this2.updateEndCalendar\n };\n return h(\"calendar-panel\", {\n \"props\": _objectSpread2({}, props),\n \"on\": _objectSpread2({}, on)\n });\n });\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [calendarRange]);\n }\n};\n\nvar scrollBarWidth;\nfunction getScrollbarWidth () {\n if (typeof window === 'undefined') return 0;\n if (scrollBarWidth !== undefined) return scrollBarWidth;\n var outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.overflow = 'scroll';\n outer.style.width = '100px';\n outer.style.position = 'absolute';\n outer.style.top = '-9999px';\n document.body.appendChild(outer);\n var inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n scrollBarWidth = outer.offsetWidth - inner.offsetWidth;\n outer.parentNode.removeChild(outer);\n return scrollBarWidth;\n}\n\n//\nvar script$5 = {\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n data: function data() {\n return {\n scrollbarWidth: 0,\n thumbTop: '',\n thumbHeight: ''\n };\n },\n created: function created() {\n this.scrollbarWidth = getScrollbarWidth();\n document.addEventListener('mouseup', this.handleDragend);\n },\n beforeDestroy: function beforeDestroy() {\n document.addEventListener('mouseup', this.handleDragend);\n },\n mounted: function mounted() {\n this.$nextTick(this.getThumbSize);\n },\n methods: {\n getThumbSize: function getThumbSize() {\n var wrap = this.$refs.wrap;\n if (!wrap) return;\n var heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight;\n this.thumbHeight = heightPercentage < 100 ? \"\".concat(heightPercentage, \"%\") : '';\n },\n handleScroll: function handleScroll(evt) {\n var el = evt.currentTarget;\n var scrollHeight = el.scrollHeight,\n scrollTop = el.scrollTop;\n this.thumbTop = \"\".concat(scrollTop * 100 / scrollHeight, \"%\");\n },\n handleDragstart: function handleDragstart(evt) {\n evt.stopImmediatePropagation();\n this._draggable = true;\n var offsetTop = this.$refs.thumb.offsetTop;\n this._prevY = evt.clientY - offsetTop;\n document.addEventListener('mousemove', this.handleDraging);\n },\n handleDraging: function handleDraging(evt) {\n if (!this._draggable) return;\n var clientY = evt.clientY;\n var wrap = this.$refs.wrap;\n var scrollHeight = wrap.scrollHeight,\n clientHeight = wrap.clientHeight;\n var offsetY = clientY - this._prevY;\n var top = offsetY * scrollHeight / clientHeight;\n wrap.scrollTop = top;\n },\n handleDragend: function handleDragend() {\n if (this._draggable) {\n this._draggable = false;\n document.removeEventListener('mousemove', this.handleDraging);\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$5 = script$5;\n/* template */\n\nvar __vue_render__$8 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-scrollbar\",\n style: {\n position: 'relative',\n overflow: 'hidden'\n }\n }, [_c('div', {\n ref: \"wrap\",\n class: _vm.prefixClass + \"-scrollbar-wrap\",\n style: {\n marginRight: \"-\" + _vm.scrollbarWidth + \"px\"\n },\n on: {\n \"scroll\": _vm.handleScroll\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-scrollbar-track\"\n }, [_c('div', {\n ref: \"thumb\",\n class: _vm.prefixClass + \"-scrollbar-thumb\",\n style: {\n height: _vm.thumbHeight,\n top: _vm.thumbTop\n },\n on: {\n \"mousedown\": _vm.handleDragstart\n }\n })])]);\n};\n\nvar __vue_staticRenderFns__$8 = [];\n/* style */\n\nvar __vue_inject_styles__$8 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$8 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$8 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$8 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$8 = normalizeComponent({\n render: __vue_render__$8,\n staticRenderFns: __vue_staticRenderFns__$8\n}, __vue_inject_styles__$8, __vue_script__$5, __vue_scope_id__$8, __vue_is_functional_template__$8, __vue_module_identifier__$8, false, undefined, undefined, undefined);\n\n//\n\nvar padNumber = function padNumber(value) {\n value = parseInt(value, 10);\n return value < 10 ? \"0\".concat(value) : \"\".concat(value);\n};\n\nvar generateOptions = function generateOptions(length, step, options) {\n if (Array.isArray(options)) {\n return options.filter(function (v) {\n return v >= 0 && v < length;\n });\n }\n\n if (step <= 0) {\n step = 1;\n }\n\n var arr = [];\n\n for (var i = 0; i < length; i += step) {\n arr.push(i);\n }\n\n return arr;\n};\n\nvar scrollTo = function scrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n // jump to target if duration zero\n if (duration <= 0) {\n requestAnimationFrame(function () {\n element.scrollTop = to;\n });\n return;\n }\n\n var difference = to - element.scrollTop;\n var tick = difference / duration * 10;\n requestAnimationFrame(function () {\n var scrollTop = element.scrollTop + tick;\n\n if (scrollTop >= to) {\n element.scrollTop = to;\n return;\n }\n\n element.scrollTop = scrollTop;\n scrollTo(element, to, duration - 10);\n });\n};\n\nvar script$6 = {\n name: 'ListColumns',\n components: {\n ScrollbarVertical: __vue_component__$8\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n scrollDuration: {\n type: Number,\n default: 100\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n showHour: {\n type: Boolean,\n default: true\n },\n showMinute: {\n type: Boolean,\n default: true\n },\n showSecond: {\n type: Boolean,\n default: true\n },\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n use12h: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n columns: function columns() {\n var cols = [];\n if (this.showHour) cols.push({\n type: 'hour',\n list: this.getHoursList()\n });\n if (this.showMinute) cols.push({\n type: 'minute',\n list: this.getMinutesList()\n });\n if (this.showSecond) cols.push({\n type: 'second',\n list: this.getSecondsList()\n });\n if (this.use12h) cols.push({\n type: 'ampm',\n list: this.getAMPMList()\n });\n return cols.filter(function (v) {\n return v.list.length > 0;\n });\n }\n },\n watch: {\n date: {\n handler: function handler() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.scrollToSelected(_this.scrollDuration);\n });\n }\n }\n },\n mounted: function mounted() {\n this.scrollToSelected(0);\n },\n methods: {\n getHoursList: function getHoursList() {\n var _this2 = this;\n\n return generateOptions(this.use12h ? 12 : 24, this.hourStep, this.hourOptions).map(function (num) {\n var date = new Date(_this2.date);\n var text = padNumber(num);\n\n if (_this2.use12h) {\n if (num === 0) {\n text = '12';\n }\n\n if (date.getHours() >= 12) {\n num += 12;\n }\n }\n\n var value = date.setHours(num);\n return {\n value: value,\n text: text\n };\n });\n },\n getMinutesList: function getMinutesList() {\n var _this3 = this;\n\n return generateOptions(60, this.minuteStep, this.minuteOptions).map(function (num) {\n var value = new Date(_this3.date).setMinutes(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getSecondsList: function getSecondsList() {\n var _this4 = this;\n\n return generateOptions(60, this.secondStep, this.secondOptions).map(function (num) {\n var value = new Date(_this4.date).setSeconds(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getAMPMList: function getAMPMList() {\n var _this5 = this;\n\n return ['AM', 'PM'].map(function (text, i) {\n var date = new Date(_this5.date);\n var value = date.setHours(date.getHours() % 12 + i * 12);\n return {\n text: text,\n value: value\n };\n });\n },\n scrollToSelected: function scrollToSelected(duration) {\n var elements = this.$el.querySelectorAll('.active');\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n var scrollElement = getScrollParent(element, this.$el);\n\n if (scrollElement) {\n var to = element.offsetTop;\n scrollTo(scrollElement, to, duration);\n }\n }\n },\n handleSelect: function handleSelect(evt) {\n var target = evt.target,\n currentTarget = evt.currentTarget;\n if (target.tagName.toUpperCase() !== 'LI') return;\n var type = currentTarget.getAttribute('data-type');\n var colIndex = parseInt(currentTarget.getAttribute('data-index'), 10);\n var cellIndex = parseInt(target.getAttribute('data-index'), 10);\n var value = this.columns[colIndex].list[cellIndex].value;\n this.$emit('select', value, type);\n }\n }\n};\n\n/* script */\nvar __vue_script__$6 = script$6;\n/* template */\n\nvar __vue_render__$9 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time-columns\"\n }, _vm._l(_vm.columns, function (col, i) {\n return _c('scrollbar-vertical', {\n key: i,\n class: _vm.prefixClass + \"-time-column\"\n }, [_c('ul', {\n class: _vm.prefixClass + \"-time-list\",\n attrs: {\n \"data-type\": col.type,\n \"data-index\": i\n },\n on: {\n \"click\": _vm.handleSelect\n }\n }, _vm._l(col.list, function (item, j) {\n return _c('li', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-item\", _vm.getClasses(item.value, col.type)],\n attrs: {\n \"data-index\": j\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0)]);\n }), 1);\n};\n\nvar __vue_staticRenderFns__$9 = [];\n/* style */\n\nvar __vue_inject_styles__$9 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$9 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$9 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$9 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$9 = normalizeComponent({\n render: __vue_render__$9,\n staticRenderFns: __vue_staticRenderFns__$9\n}, __vue_inject_styles__$9, __vue_script__$6, __vue_scope_id__$9, __vue_is_functional_template__$9, __vue_module_identifier__$9, false, undefined, undefined, undefined);\n\n//\n\nfunction parseOption() {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var values = time.split(':');\n\n if (values.length >= 2) {\n var hours = parseInt(values[0], 10);\n var minutes = parseInt(values[1], 10);\n return {\n hours: hours,\n minutes: minutes\n };\n }\n\n return null;\n}\n\nvar scrollTo$1 = function scrollTo(element, to) {\n if (element) {\n element.scrollTop = to;\n }\n};\n\nvar script$7 = {\n name: 'ListOptions',\n components: {\n ScrollbarVertical: __vue_component__$8\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n options: {\n type: [Object, Function],\n default: function _default() {\n return [];\n }\n },\n format: {\n type: String,\n default: 'HH:mm:ss'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n list: function list() {\n var result = [];\n var options = this.options;\n\n if (typeof options === 'function') {\n return options() || [];\n }\n\n var start = parseOption(options.start);\n var end = parseOption(options.end);\n var step = parseOption(options.step);\n var fmt = options.format || this.format;\n\n if (start && end && step) {\n var startMinutes = start.minutes + start.hours * 60;\n var endMinutes = end.minutes + end.hours * 60;\n var stepMinutes = step.minutes + step.hours * 60;\n var len = Math.floor((endMinutes - startMinutes) / stepMinutes);\n\n for (var i = 0; i <= len; i++) {\n var timeMinutes = startMinutes + i * stepMinutes;\n var hours = Math.floor(timeMinutes / 60);\n var minutes = timeMinutes % 60;\n var value = new Date(this.date).setHours(hours, minutes, 0);\n result.push({\n value: value,\n text: this.formatDate(value, fmt)\n });\n }\n }\n\n return result;\n }\n },\n mounted: function mounted() {\n this.scrollToSelected();\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n scrollToSelected: function scrollToSelected() {\n var element = this.$el.querySelector('.active');\n if (!element) return;\n var scrollElement = getScrollParent(element, this.$el);\n if (!scrollElement) return;\n var to = element.offsetTop;\n scrollTo$1(scrollElement, to);\n },\n handleSelect: function handleSelect(value) {\n this.$emit('select', value, 'time');\n }\n }\n};\n\n/* script */\nvar __vue_script__$7 = script$7;\n/* template */\n\nvar __vue_render__$a = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('scrollbar-vertical', _vm._l(_vm.list, function (item) {\n return _c('div', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-option\", _vm.getClasses(item.value)],\n on: {\n \"click\": function click($event) {\n return _vm.handleSelect(item.value);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0);\n};\n\nvar __vue_staticRenderFns__$a = [];\n/* style */\n\nvar __vue_inject_styles__$a = undefined;\n/* scoped */\n\nvar __vue_scope_id__$a = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$a = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$a = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$a = normalizeComponent({\n render: __vue_render__$a,\n staticRenderFns: __vue_staticRenderFns__$a\n}, __vue_inject_styles__$a, __vue_script__$7, __vue_scope_id__$a, __vue_is_functional_template__$a, __vue_module_identifier__$a, false, undefined, undefined, undefined);\n\n//\nvar script$8 = {\n name: 'TimePanel',\n components: {\n ListColumns: __vue_component__$9,\n ListOptions: __vue_component__$a\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n format: {\n default: 'HH:mm:ss'\n },\n timeTitleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n showTimeHeader: {\n type: Boolean,\n default: false\n },\n disabledTime: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n timePickerOptions: {\n type: [Object, Function],\n default: function _default() {\n return null;\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n showHour: {\n type: Boolean,\n default: undefined\n },\n showMinute: {\n type: Boolean,\n default: undefined\n },\n showSecond: {\n type: Boolean,\n default: undefined\n },\n use12h: {\n type: Boolean,\n default: undefined\n },\n scrollDuration: {\n type: Number,\n default: 100\n }\n },\n data: function data() {\n return {\n innerValue: getValidDate(this.value, this.defaultValue)\n };\n },\n computed: {\n title: function title() {\n var titleFormat = this.timeTitleFormat;\n var date = new Date(this.innerValue);\n return this.formatDate(date, titleFormat);\n },\n innerForamt: function innerForamt() {\n return typeof this.format === 'string' ? this.format : 'HH:mm:ss';\n },\n ShowHourMinuteSecondAMPM: function ShowHourMinuteSecondAMPM() {\n var _this = this;\n\n var fmt = this.innerForamt;\n var defaultProps = {\n showHour: /[HhKk]/.test(fmt),\n showMinute: /m/.test(fmt),\n showSecond: /s/.test(fmt),\n use12h: /a/i.test(fmt)\n };\n var obj = {};\n Object.keys(defaultProps).forEach(function (key) {\n obj[key] = typeof _this[key] === 'boolean' ? _this[key] : defaultProps[key];\n });\n return obj;\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n this.innerValue = getValidDate(this.value, this.defaultValue);\n }\n }\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n isDisabledTime: function isDisabledTime(value) {\n return this.disabledTime(new Date(value));\n },\n isDisabledHour: function isDisabledHour(date) {\n var value = new Date(date);\n return this.isDisabledTime(value) && this.isDisabledTime(value.setMinutes(0, 0, 0)) && this.isDisabledTime(value.setMinutes(59, 59, 999));\n },\n isDisabledMinute: function isDisabledMinute(date) {\n var value = new Date(date);\n return this.isDisabledTime(value) && this.isDisabledTime(value.setSeconds(0, 0)) && this.isDisabledTime(value.setSeconds(59, 999));\n },\n isDisabledAMPM: function isDisabledAMPM(date) {\n var value = new Date(date);\n var minHour = value.getHours() < 12 ? 0 : 12;\n var maxHour = minHour + 11;\n return this.isDisabledTime(value) && this.isDisabledTime(value.setHours(minHour, 0, 0, 0)) && this.isDisabledTime(value.setHours(maxHour, 59, 59, 999));\n },\n isDisabled: function isDisabled(date, type) {\n if (type === 'hour') {\n return this.isDisabledHour(date);\n }\n\n if (type === 'minute') {\n return this.isDisabledMinute(date);\n }\n\n if (type === 'ampm') {\n return this.isDisabledAMPM(date);\n }\n\n return this.isDisabledTime(date);\n },\n handleSelect: function handleSelect(value, type) {\n var date = new Date(value);\n\n if (!this.isDisabled(value, type)) {\n this.innerValue = date;\n\n if (!this.isDisabledTime(date)) {\n this.$emit('select', date, type);\n }\n }\n },\n handleClickTitle: function handleClickTitle() {\n this.$emit('clicktitle');\n },\n getClasses: function getClasses(value, type) {\n var cellDate = new Date(value);\n\n if (this.isDisabled(value, type)) {\n return 'disabled';\n }\n\n if (cellDate.getTime() === this.innerValue.getTime()) {\n return 'active';\n }\n\n return '';\n }\n }\n};\n\n/* script */\nvar __vue_script__$8 = script$8;\n/* template */\n\nvar __vue_render__$b = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time\"\n }, [_vm.showTimeHeader ? _c('div', {\n class: _vm.prefixClass + \"-time-header\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-time-header-title\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handleClickTitle\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.title) + \"\\n \")])]) : _vm._e(), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-time-content\"\n }, [_vm.timePickerOptions ? _c('list-options', {\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"options\": _vm.timePickerOptions,\n \"format\": _vm.innerForamt\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }) : _c('list-columns', _vm._b({\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"hour-options\": _vm.hourOptions,\n \"minute-options\": _vm.minuteOptions,\n \"second-options\": _vm.secondOptions,\n \"hour-step\": _vm.hourStep,\n \"minute-step\": _vm.minuteStep,\n \"second-step\": _vm.secondStep,\n \"scroll-duration\": _vm.scrollDuration\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }, 'list-columns', _vm.ShowHourMinuteSecondAMPM, false))], 1)]);\n};\n\nvar __vue_staticRenderFns__$b = [];\n/* style */\n\nvar __vue_inject_styles__$b = undefined;\n/* scoped */\n\nvar __vue_scope_id__$b = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$b = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$b = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$b = normalizeComponent({\n render: __vue_render__$b,\n staticRenderFns: __vue_staticRenderFns__$b\n}, __vue_inject_styles__$b, __vue_script__$8, __vue_scope_id__$b, __vue_is_functional_template__$b, __vue_module_identifier__$b, false, undefined, undefined, undefined);\n\nvar TimeRange = {\n name: 'TimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, __vue_component__$b.props),\n data: function data() {\n return {\n startValue: new Date(NaN),\n endValue: new Date(NaN)\n };\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n if (isValidRangeDate(this.value)) {\n var _this$value = _slicedToArray(this.value, 2),\n startValue = _this$value[0],\n endValue = _this$value[1];\n\n this.startValue = startValue;\n this.endValue = endValue;\n } else {\n this.startValue = new Date(NaN);\n this.endValue = new Date(NaN);\n }\n }\n }\n },\n methods: {\n emitChange: function emitChange(type, index) {\n var date = [this.startValue, this.endValue];\n this.$emit('select', date, type === 'time' ? 'time-range' : type, index);\n },\n handleSelectStart: function handleSelectStart(date, type) {\n this.startValue = date; // check the NaN\n\n if (!(this.endValue.getTime() >= date.getTime())) {\n this.endValue = date;\n }\n\n this.emitChange(type, 0);\n },\n handleSelectEnd: function handleSelectEnd(date, type) {\n // check the NaN\n this.endValue = date;\n\n if (!(this.startValue.getTime() <= date.getTime())) {\n this.startValue = date;\n }\n\n this.emitChange(type, 1);\n },\n disabledStartTime: function disabledStartTime(date) {\n return this.disabledTime(date, 0);\n },\n disabledEndTime: function disabledEndTime(date) {\n return date.getTime() < this.startValue.getTime() || this.disabledTime(date, 1);\n }\n },\n render: function render() {\n var h = arguments[0];\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [h(__vue_component__$b, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.startValue,\n defaultValue: defaultValues[0],\n disabledTime: this.disabledStartTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectStart\n }))\n }), h(__vue_component__$b, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.endValue,\n defaultValue: defaultValues[1],\n disabledTime: this.disabledEndTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectEnd\n }))\n })]);\n }\n};\n\nvar DatetimePanel = {\n name: 'DatetimePanel',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarPanel.props, {}, __vue_component__$b.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n this.$emit('update:show-time-panel', false);\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n this.$emit('update:show-time-panel', true);\n },\n emitDate: function emitDate(date, type) {\n this.$emit('select', date, type);\n },\n handleSelect: function handleSelect(date, type) {\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var datetime = assignTime(date, getValidDate(this.value, this.defaultValue));\n\n if (this.disabledTime(new Date(datetime))) {\n // set the time of defalutValue;\n datetime = assignTime(date, this.defaultValue);\n\n if (this.disabledTime(new Date(datetime))) {\n // if disabled don't emit date\n this.currentValue = datetime;\n return;\n }\n }\n\n this.emitDate(datetime, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarPanel.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(__vue_component__$b.props)), {\n showTimeHeader: true,\n value: this.currentValue\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarPanel, helper([{}, calendarProps])), this.timeVisible && h(__vue_component__$b, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar DatetimeRange = {\n name: 'DatetimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarRange.props, {}, TimeRange.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n this.$emit('update:show-time-panel', false);\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n this.$emit('update:show-time-panel', true);\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n handleSelect: function handleSelect(dates, type) {\n var _this = this;\n\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var datetimes = dates.map(function (date, i) {\n var time = isValidRangeDate(_this.value) ? _this.value[i] : defaultValues[i];\n return assignTime(date, time);\n });\n\n if (datetimes[1].getTime() < datetimes[0].getTime()) {\n datetimes = [datetimes[0], datetimes[0]];\n }\n\n if (datetimes.some(this.disabledTime)) {\n datetimes = dates.map(function (date, i) {\n return assignTime(date, defaultValues[i]);\n });\n\n if (datetimes.some(this.disabledTime)) {\n this.currentValue = datetimes;\n return;\n }\n }\n\n this.emitDate(datetimes, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarRange.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(TimeRange.props)), {\n value: this.currentValue,\n showTimeHeader: true\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarRange, helper([{}, calendarProps])), this.timeVisible && h(TimeRange, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar componentMap = {\n default: CalendarPanel,\n time: __vue_component__$b,\n datetime: DatetimePanel\n};\nvar componentRangeMap = {\n default: CalendarRange,\n time: TimeRange,\n datetime: DatetimeRange\n};\nvar DatePicker = {\n name: 'DatePicker',\n provide: function provide() {\n var _this = this;\n\n return {\n // make locale reactive\n getLocale: function getLocale() {\n return _this.locale;\n },\n getWeek: this.getWeek,\n prefixClass: this.prefixClass,\n dispatchDatePicker: this.$emit.bind(this)\n };\n },\n props: _objectSpread2({}, DatetimePanel.props, {\n value: {},\n valueType: {\n type: String,\n default: 'date' // date, format, timestamp, or token like 'YYYY-MM-DD'\n\n },\n type: {\n type: String,\n // ['date', 'datetime', 'time', 'year', 'month', 'week']\n default: 'date'\n },\n format: {\n type: String\n },\n formatter: {\n type: Object\n },\n range: {\n type: Boolean,\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n rangeSeparator: {\n type: String\n },\n lang: {\n type: [String, Object]\n },\n placeholder: {\n type: String,\n default: ''\n },\n editable: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n clearable: {\n type: Boolean,\n default: true\n },\n prefixClass: {\n type: String,\n default: 'mx'\n },\n inputClass: {},\n inputAttr: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n appendToBody: {\n type: Boolean,\n default: true\n },\n open: {\n type: Boolean,\n default: undefined\n },\n popupClass: {},\n popupStyle: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n inline: {\n type: Boolean,\n default: false\n },\n confirm: {\n type: Boolean,\n default: false\n },\n confirmText: {\n type: String,\n default: 'OK'\n },\n renderInputText: {\n type: Function\n },\n shortcuts: {\n type: Array,\n validator: function validator(value) {\n return Array.isArray(value) && value.every(function (v) {\n return isObject(v) && typeof v.text === 'string' && typeof v.onClick === 'function';\n });\n },\n default: function _default() {\n return [];\n }\n }\n }),\n data: function data() {\n return {\n // cache the innervalue, wait to confirm\n currentValue: null,\n userInput: null,\n defaultOpen: false,\n mouseInInput: false\n };\n },\n computed: {\n popupVisible: function popupVisible() {\n return !this.disabled && (typeof this.open === 'boolean' ? this.open : this.defaultOpen);\n },\n innerRangeSeparator: function innerRangeSeparator() {\n return this.rangeSeparator || (this.multiple ? ',' : ' ~ ');\n },\n innerFormat: function innerFormat() {\n var map = {\n date: 'YYYY-MM-DD',\n datetime: 'YYYY-MM-DD HH:mm:ss',\n year: 'YYYY',\n month: 'YYYY-MM',\n time: 'HH:mm:ss',\n week: 'w'\n };\n return this.format || map[this.type] || map.date;\n },\n innerValue: function innerValue() {\n var value = this.value;\n\n if (this.validMultipleType) {\n value = Array.isArray(value) ? value : [];\n return value.map(this.value2date);\n }\n\n if (this.range) {\n value = Array.isArray(value) ? value.slice(0, 2) : [null, null];\n return value.map(this.value2date);\n }\n\n return this.value2date(value);\n },\n text: function text() {\n var _this2 = this;\n\n if (this.userInput !== null) {\n return this.userInput;\n }\n\n if (typeof this.renderInputText === 'function') {\n return this.renderInputText(this.innerValue);\n }\n\n if (!this.isValidValue(this.innerValue)) {\n return '';\n }\n\n if (Array.isArray(this.innerValue)) {\n return this.innerValue.map(function (v) {\n return _this2.formatDate(v);\n }).join(this.innerRangeSeparator);\n }\n\n return this.formatDate(this.innerValue);\n },\n showClearIcon: function showClearIcon() {\n return !this.disabled && this.clearable && this.text && this.mouseInInput;\n },\n locale: function locale() {\n if (isObject(this.lang)) {\n return mergeDeep(getLocale(), this.lang);\n }\n\n return getLocale(this.lang);\n },\n validMultipleType: function validMultipleType() {\n var types = ['date', 'month', 'year'];\n return this.multiple && !this.range && types.indexOf(this.type) !== -1;\n }\n },\n watch: {\n innerValue: {\n immediate: true,\n handler: function handler(val) {\n this.currentValue = val;\n }\n },\n popupVisible: {\n handler: function handler(val) {\n if (val) {\n this.currentValue = this.innerValue;\n }\n }\n }\n },\n created: function created() {\n if (_typeof(this.format) === 'object') {\n console.warn(\"[vue2-datepicker]: The prop `format` don't support Object any more. You can use the new prop `formatter` to replace it\");\n }\n },\n methods: {\n handleMouseEnter: function handleMouseEnter() {\n this.mouseInInput = true;\n },\n handleMouseLeave: function handleMouseLeave() {\n this.mouseInInput = false;\n },\n handleClickOutSide: function handleClickOutSide(evt) {\n var target = evt.target;\n\n if (!this.$el.contains(target)) {\n this.closePopup();\n }\n },\n getFormatter: function getFormatter(key) {\n return isObject(this.formatter) && this.formatter[key] || isObject(this.format) && this.format[key];\n },\n getWeek: function getWeek$1(date, options) {\n if (typeof this.getFormatter('getWeek') === 'function') {\n return this.getFormatter('getWeek')(date, options);\n }\n\n return getWeek(date, options);\n },\n parseDate: function parseDate(value, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('parse') === 'function') {\n return this.getFormatter('parse')(value, fmt);\n }\n\n var backupDate = new Date();\n return parse(value, fmt, {\n locale: this.locale.formatLocale,\n backupDate: backupDate\n });\n },\n formatDate: function formatDate(date, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('stringify') === 'function') {\n return this.getFormatter('stringify')(date, fmt);\n }\n\n return format(date, fmt, {\n locale: this.locale.formatLocale\n });\n },\n // transform the outer value to inner date\n value2date: function value2date(value) {\n switch (this.valueType) {\n case 'date':\n return value instanceof Date ? new Date(value.getTime()) : new Date(NaN);\n\n case 'timestamp':\n return typeof value === 'number' ? new Date(value) : new Date(NaN);\n\n case 'format':\n return typeof value === 'string' ? this.parseDate(value) : new Date(NaN);\n\n default:\n return typeof value === 'string' ? this.parseDate(value, this.valueType) : new Date(NaN);\n }\n },\n // transform the inner date to outer value\n date2value: function date2value(date) {\n if (!isValidDate(date)) return null;\n\n switch (this.valueType) {\n case 'date':\n return date;\n\n case 'timestamp':\n return date.getTime();\n\n case 'format':\n return this.formatDate(date);\n\n default:\n return this.formatDate(date, this.valueType);\n }\n },\n emitValue: function emitValue(date, type) {\n var close = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // fix IE11/10 trigger input event when input is focused. (placeholder !== '')\n this.userInput = null;\n var value = Array.isArray(date) ? date.map(this.date2value) : this.date2value(date);\n this.$emit('input', value);\n this.$emit('change', value, type);\n\n if (close) {\n this.closePopup();\n }\n\n return value;\n },\n isValidValue: function isValidValue(value) {\n if (this.validMultipleType) {\n return isValidDates(value);\n }\n\n if (this.range) {\n return isValidRangeDate(value);\n }\n\n return isValidDate(value);\n },\n isValidValueAndNotDisabled: function isValidValueAndNotDisabled(value) {\n if (!this.isValidValue(value)) {\n return false;\n }\n\n var disabledDate = typeof this.disabledDate === 'function' ? this.disabledDate : function () {\n return false;\n };\n var disabledTime = typeof this.disabledTime === 'function' ? this.disabledTime : function () {\n return false;\n };\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n return value.every(function (v) {\n return !disabledDate(v) && !disabledTime(v);\n });\n },\n handleMultipleDates: function handleMultipleDates(date, dates) {\n if (this.validMultipleType && dates) {\n var nextDates = dates.filter(function (v) {\n return v.getTime() !== date.getTime();\n });\n\n if (nextDates.length === dates.length) {\n nextDates.push(date);\n }\n\n return nextDates;\n }\n\n return date;\n },\n handleSelectDate: function handleSelectDate(val, type, dates) {\n val = this.handleMultipleDates(val, dates);\n\n if (this.confirm) {\n this.currentValue = val;\n } else {\n this.emitValue(val, type, // this.type === 'datetime', click the time should close popup\n !this.validMultipleType && (type === this.type || type === 'time'));\n }\n },\n clear: function clear() {\n this.emitValue(this.range ? [null, null] : null);\n this.$emit('clear');\n },\n handleClear: function handleClear(evt) {\n evt.stopPropagation();\n this.clear();\n },\n handleConfirmDate: function handleConfirmDate() {\n var value = this.emitValue(this.currentValue);\n this.$emit('confirm', value);\n },\n handleSelectShortcut: function handleSelectShortcut(evt) {\n var index = evt.currentTarget.getAttribute('data-index');\n var item = this.shortcuts[parseInt(index, 10)];\n\n if (isObject(item) && typeof item.onClick === 'function') {\n var date = item.onClick(this);\n\n if (date) {\n this.emitValue(date);\n }\n }\n },\n openPopup: function openPopup(evt) {\n if (this.popupVisible || this.disabled) return;\n this.defaultOpen = true;\n this.$emit('open', evt);\n this.$emit('update:open', true);\n },\n closePopup: function closePopup() {\n if (!this.popupVisible) return;\n this.defaultOpen = false;\n this.$emit('close');\n this.$emit('update:open', false);\n },\n blur: function blur() {\n // when use slot input\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n },\n focus: function focus() {\n if (this.$refs.input) {\n this.$refs.input.focus();\n }\n },\n handleInputChange: function handleInputChange() {\n var _this3 = this;\n\n if (!this.editable || this.userInput === null) return;\n var text = this.userInput.trim();\n this.userInput = null;\n\n if (text === '') {\n this.clear();\n return;\n }\n\n var date;\n\n if (this.validMultipleType) {\n date = text.split(this.innerRangeSeparator).map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else if (this.range) {\n var arr = text.split(this.innerRangeSeparator);\n\n if (arr.length !== 2) {\n // Maybe the separator during the day is the same as the separator for the date\n // eg: 2019-10-09-2020-01-02\n arr = text.split(this.innerRangeSeparator.trim());\n }\n\n date = arr.map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else {\n date = this.parseDate(text);\n }\n\n if (this.isValidValueAndNotDisabled(date)) {\n this.emitValue(date);\n this.blur();\n } else {\n this.$emit('input-error', text);\n }\n },\n handleInputInput: function handleInputInput(evt) {\n // slot input v-model\n this.userInput = typeof evt === 'string' ? evt : evt.target.value;\n },\n handleInputKeydown: function handleInputKeydown(evt) {\n var keyCode = evt.keyCode; // Tab 9 or Enter 13\n\n if (keyCode === 9) {\n this.closePopup();\n } else if (keyCode === 13) {\n this.handleInputChange();\n }\n },\n handleInputBlur: function handleInputBlur(evt) {\n // tab close\n this.$emit('blur', evt);\n },\n handleInputFocus: function handleInputFocus(evt) {\n this.openPopup(evt);\n this.$emit('focus', evt);\n },\n hasSlot: function hasSlot(name) {\n return !!(this.$slots[name] || this.$scopedSlots[name]);\n },\n renderSlot: function renderSlot(name, fallback, props) {\n var slotFn = this.$scopedSlots[name];\n\n if (slotFn) {\n return slotFn(props) || fallback;\n }\n\n return this.$slots[name] || fallback;\n },\n renderInput: function renderInput() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n\n var props = _objectSpread2({\n name: 'date',\n type: 'text',\n autocomplete: 'off',\n value: this.text,\n class: this.inputClass || \"\".concat(this.prefixClass, \"-input\"),\n readonly: !this.editable,\n disabled: this.disabled,\n placeholder: this.placeholder\n }, this.inputAttr);\n\n var value = props.value,\n className = props.class,\n attrs = _objectWithoutProperties(props, [\"value\", \"class\"]);\n\n var events = {\n keydown: this.handleInputKeydown,\n focus: this.handleInputFocus,\n blur: this.handleInputBlur,\n input: this.handleInputInput,\n change: this.handleInputChange\n };\n var input = this.renderSlot('input', h(\"input\", {\n \"domProps\": {\n \"value\": value\n },\n \"class\": className,\n \"attrs\": _objectSpread2({}, attrs),\n \"on\": _objectSpread2({}, events),\n \"ref\": \"input\"\n }), {\n props: props,\n events: events\n });\n var calendarIcon = this.type === 'time' ? h(__vue_component__$2) : h(__vue_component__$1); // remove touchstart event to avoid opens the popup while scrolling in mobile #469\n\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-input-wrapper\"),\n \"on\": {\n \"mouseenter\": this.handleMouseEnter,\n \"mouseleave\": this.handleMouseLeave,\n \"click\": this.openPopup\n },\n \"ref\": \"inputWrapper\"\n }, [input, this.showClearIcon ? h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-clear\"),\n \"on\": {\n \"click\": this.handleClear\n }\n }, [this.renderSlot('icon-clear', h(__vue_component__$3))]) : h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-calendar\")\n }, [this.renderSlot('icon-calendar', calendarIcon)])]);\n },\n renderContent: function renderContent() {\n var h = this.$createElement;\n var map = this.range ? componentRangeMap : componentMap;\n var Component = map[this.type] || map.default;\n\n var props = _objectSpread2({}, pick(this.$props, Object.keys(Component.props)), {\n value: this.currentValue\n });\n\n var on = _objectSpread2({}, pick(this.$listeners, Component.emits || []), {\n select: this.handleSelectDate\n });\n\n var content = h(Component, helper([{}, {\n props: props,\n on: on,\n ref: 'picker'\n }]));\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-body\")\n }, [this.renderSlot('content', content, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderSidebar: function renderSidebar() {\n var _this4 = this;\n\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-sidebar\")\n }, [this.renderSlot('sidebar', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.shortcuts.map(function (v, i) {\n return h(\"button\", {\n \"key\": i,\n \"attrs\": {\n \"data-index\": i,\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-btn-text \").concat(prefixClass, \"-btn-shortcut\"),\n \"on\": {\n \"click\": _this4.handleSelectShortcut\n }\n }, [v.text]);\n })]);\n },\n renderHeader: function renderHeader() {\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-header\")\n }, [this.renderSlot('header', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderFooter: function renderFooter() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-footer\")\n }, [this.renderSlot('footer', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.confirm ? h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-datepicker-btn-confirm\"),\n \"on\": {\n \"click\": this.handleConfirmDate\n }\n }, [this.confirmText]) : null]);\n }\n },\n render: function render() {\n var _class;\n\n var h = arguments[0];\n var prefixClass = this.prefixClass,\n inline = this.inline,\n disabled = this.disabled;\n var sidedar = this.hasSlot('sidebar') || this.shortcuts.length ? this.renderSidebar() : null;\n var content = h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-content\")\n }, [this.hasSlot('header') ? this.renderHeader() : null, this.renderContent(), this.hasSlot('footer') || this.confirm ? this.renderFooter() : null]);\n return h(\"div\", {\n \"class\": (_class = {}, _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker\"), true), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-range\"), this.range), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-inline\"), inline), _defineProperty(_class, \"disabled\", disabled), _class)\n }, [!inline ? this.renderInput() : null, !inline ? h(__vue_component__, {\n \"ref\": \"popup\",\n \"class\": this.popupClass,\n \"style\": this.popupStyle,\n \"attrs\": {\n \"visible\": this.popupVisible,\n \"appendToBody\": this.appendToBody\n },\n \"on\": {\n \"clickoutside\": this.handleClickOutSide\n }\n }, [sidedar, content]) : h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-main\")\n }, [sidedar, content])]);\n }\n};\n\nDatePicker.locale = locale;\n\nDatePicker.install = function install(Vue) {\n Vue.component(DatePicker.name, DatePicker);\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n DatePicker.install(window.Vue);\n}\n\n_extends(DatePicker, {\n CalendarPanel: CalendarPanel,\n CalendarRange: CalendarRange,\n TimePanel: __vue_component__$b,\n TimeRange: TimeRange,\n DatetimePanel: DatetimePanel,\n DatetimeRange: DatetimeRange\n});\n\nexport default DatePicker;\n","import { defineComponent, computed } from \"vue\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { r as register, v as t46, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcSelect } from \"./NcSelect-COY5TV2U.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t46);\nfunction formatTimezoneId(timezoneId) {\n return timezoneId.slice(timezoneId.indexOf(\"/\") + 1).replaceAll(\"/\", \" - \").replaceAll(\"_\", \" \");\n}\nfunction getTimezones() {\n return Intl.supportedValuesOf(\"timeZone\").filter((tz) => !tz.startsWith(\"Etc/\")).map((timezoneId) => ({\n timezoneId,\n label: formatTimezoneId(timezoneId)\n })).sort((a, b) => a.timezoneId.localeCompare(b.timezoneId));\n}\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcTimezonePicker\",\n props: {\n additionalTimezones: { default: () => [] },\n value: { default: void 0 },\n modelValue: { default: \"floating\" },\n uid: { default: createElementId() }\n },\n emits: [\"input\", \"update:modelValue\", \"update:model-value\"],\n setup(__props) {\n const props = __props;\n const model = useModelMigration(\"value\", \"input\");\n const formattedAdditionalTimezones = computed(() => {\n return props.additionalTimezones.map(({ timezoneId, label }) => ({\n timezoneId,\n label\n }));\n });\n const options = computed(() => {\n const timezones = getTimezones();\n timezones.unshift(...formattedAdditionalTimezones.value);\n return timezones;\n });\n function filterBy(option, label, search) {\n const terms = search.trim().split(/\\s+/);\n const values = Object.values(option);\n return terms.every((term) => {\n return values.some((value) => value.toLowerCase().includes(term.toLowerCase()));\n });\n }\n return { __sfc: true, props, model, formattedAdditionalTimezones, options, filterBy, t, NcSelect };\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(_setup.NcSelect, { attrs: { \"aria-label-combobox\": _setup.t(\"Search for time zone\"), \"clearable\": false, \"filter-by\": _setup.filterBy, \"multiple\": false, \"options\": _setup.options, \"placeholder\": _setup.t(\"Type to search time zone\"), \"uid\": _vm.uid, \"reduce\": (option) => option.timezoneId, \"label\": \"label\" }, model: { value: _setup.model, callback: function($$v) {\n _setup.model = $$v;\n }, expression: \"model\" } });\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 NcTimezonePicker = __component__.exports;\nexport {\n NcTimezonePicker as N\n};\n//# sourceMappingURL=NcTimezonePicker-Bx5Xf88c.mjs.map\n","import '../assets/NcDateTimePicker-fsZAr59U.css';\nimport { getFirstDay, getDayNamesMin, getDayNamesShort, getDayNames, getMonthNamesShort, getMonthNames } from \"@nextcloud/l10n\";\nimport DatePicker from \"vue2-datepicker\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { u as useModelMigration } from \"../chunks/useModelMigration-EhAWvqDD.mjs\";\nimport { r as register, O as t40, a as t } from \"../chunks/_l10n-Dv1YKfKS.mjs\";\nimport { G as GenRandomId } from \"../chunks/GenRandomId-F5ebeBB_.mjs\";\nimport { l as logger } from \"../chunks/logger-D3RVzcfQ.mjs\";\nimport { N as NcPopover } from \"../chunks/NcPopover-BCDLqFHH.mjs\";\nimport { N as NcTimezonePicker } from \"../chunks/NcTimezonePicker-Bx5Xf88c.mjs\";\nimport { S as ScopeComponent } from \"../chunks/ScopeComponent-DcP-v09A.mjs\";\nconst _sfc_main$2 = {\n name: \"CalendarBlankIcon\",\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$2 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon calendar-blank-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1\" } })])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null\n);\nconst CalendarBlank = __component__$2.exports;\nconst _sfc_main$1 = {\n name: \"WebIcon\",\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$1 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon web-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\" } })])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Web = __component__$1.exports;\nregister(t40);\nconst formatMap = {\n date: \"YYYY-MM-DD\",\n datetime: \"YYYY-MM-DD H:mm:ss\",\n year: \"YYYY\",\n month: \"YYYY-MM\",\n time: \"H:mm:ss\",\n week: \"w\"\n};\nconst _sfc_main = {\n name: \"NcDateTimePicker\",\n components: {\n CalendarBlank,\n DatePicker,\n NcPopover,\n NcTimezonePicker,\n Web\n },\n inheritAttrs: false,\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * Allow to clear the input.\n */\n clearable: {\n type: Boolean,\n default: false\n },\n /**\n * Default increment step for minutes in the time picker.\n */\n minuteStep: {\n type: Number,\n default: 10\n },\n /**\n * Since 8.25.0: Support 'date-range', 'time-range' and 'datetime-range' values.\n */\n type: {\n type: String,\n default: \"date\",\n validator: (type) => [\"date\", \"time\", \"datetime\", \"week\", \"month\", \"year\", \"date-range\", \"time-range\", \"datetime-range\"].includes(type)\n },\n /**\n * Either `moment.js` formatting tokens or a function taking a Date object and returning a string.\n * Warning: In v9 this will change the accepted token format to standardized Unicode tokens instead!\n */\n format: {\n type: [String, Function],\n default: null\n },\n /**\n * @deprecated use `format` instead\n */\n formatter: {\n type: Object,\n default: null\n },\n /**\n * The locale to use for formatting the shown dates.\n * By default the users current Nextcloud locale is used.\n */\n lang: {\n type: Object,\n default: null\n },\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n *\n * @deprecated\n */\n // eslint-disable-next-line\n value: {\n default: void 0\n },\n /**\n * The value to initialize, but also two-way bind the selected date. The date is – like the `Date` object in\n * JavaScript – tied to UTC. The selected time zone does not have an influence of the selected time and date\n * value. You have to translate the time yourself when you want to factor in time zones.\n */\n // eslint-disable-next-line\n modelValue: {\n default: () => /* @__PURE__ */ new Date()\n },\n /**\n * The preselected IANA time zone ID for the time zone picker, only relevant in combination with `:show-timezone-select=\"true\"`. Example: `Europe/Berlin`. The prop supports two-way binding through the .sync modifier.\n */\n timezoneId: {\n type: String,\n default: \"UTC\"\n },\n /**\n * Include a timezone picker within the menu.\n * Please note that the dates are still bound to the locale timezone\n * and any conversion needs to be done by the app itself.\n */\n showTimezoneSelect: {\n type: Boolean,\n default: false\n },\n /**\n * If set to true the timezone select icon will be highlighted.\n */\n highlightTimezone: {\n type: Boolean,\n default: false\n },\n /**\n * If set to true the menu will be placed on the ``\n * instead of default placement on the picker.\n */\n appendToBody: {\n type: Boolean,\n default: false\n },\n /**\n * Show the ISO week numbers within the calendar.\n */\n showWeekNumber: {\n type: Boolean,\n default: false\n },\n /**\n * Optional custom placeholder for the input box.\n */\n placeholder: {\n type: String,\n default: null\n },\n /**\n * @deprecated use the 'date-range' or 'datetime-range' type instead.\n */\n range: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n *\n * @deprecated\n */\n \"update:value\",\n \"update:modelValue\",\n /** Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\",\n \"update:timezone-id\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"update:value\");\n return {\n model,\n timezoneDialogHeaderId: `timezone-dialog-header-${GenRandomId()}`\n };\n },\n data() {\n return {\n showTimezonePopover: false,\n tzVal: this.timezoneId\n };\n },\n computed: {\n realType() {\n return this.type.split(\"-\")[0];\n },\n /**\n * Datepicker language\n * https://github.com/mengxiong10/vue2-datepicker/blob/master/locale.md\n *\n * @return {object}\n */\n defaultLang() {\n return {\n formatLocale: {\n months: getMonthNames(),\n monthsShort: getMonthNamesShort(),\n weekdays: getDayNames(),\n weekdaysShort: getDayNamesShort(),\n weekdaysMin: getDayNamesMin(),\n // 0 = sunday, 1 = monday\n firstDayOfWeek: getFirstDay()\n },\n monthFormat: \"MMMM\"\n };\n },\n /**\n * Translated placeholder\n *\n * @return {string}\n */\n defaultPlaceholder() {\n if (this.realType === \"time\") {\n return t(\"Pick a time\");\n }\n if (this.realType === \"month\") {\n return t(\"Pick a month\");\n }\n if (this.realType === \"year\") {\n return t(\"Pick a year\");\n }\n if (this.realType === \"week\") {\n return t(\"Pick a week\");\n }\n if (this.realType === \"date\") {\n return t(\"Pick a date\");\n }\n return t(\"Pick a date and a time\");\n },\n /**\n * Is the range picker enabled\n */\n internalRange() {\n return this.range || this.type.endsWith(\"-range\");\n },\n internalFormat() {\n if (this.format && typeof this.format === \"string\") {\n return this.format;\n }\n return formatMap[this.realType] || formatMap.date;\n },\n /**\n * The formatter used for the vue-datepicker to fix nextcloud-libraries/nextcloud-vue#5044\n */\n internalFormatter() {\n const getWeek = (date) => {\n const firstThursday = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));\n firstThursday.setUTCDate(firstThursday.getUTCDate() + 4 - (firstThursday.getUTCDay() || 7));\n const yearStart = new Date(Date.UTC(firstThursday.getUTCFullYear(), 0, 1));\n return Math.ceil(((firstThursday - yearStart) / 864e5 + 1) / 7);\n };\n return {\n getWeek,\n // wrape the format if it is a function\n ...typeof this.format === \"function\" ? { stringify: this.format } : {},\n // allow to override it by users using the `formatter` prop\n ...this.formatter ?? {}\n };\n }\n },\n methods: {\n t,\n handleSelectYear(year) {\n const value = this.$refs.datepicker.currentValue;\n if (value) {\n try {\n const date = new Date(new Date(value).setFullYear(year));\n this.$refs.datepicker.selectDate(date);\n } catch {\n logger.error(\"Invalid value\", { value, year });\n }\n }\n },\n handleSelectMonth(month) {\n const value = this.$refs.datepicker.currentValue;\n if (value) {\n try {\n const date = new Date(new Date(value).setMonth(month));\n this.$refs.datepicker.selectDate(date);\n } catch {\n logger.error(\"Invalid value\", { value, month });\n }\n }\n },\n /**\n * Toggles the visibility of the time zone popover\n */\n toggleTimezonePopover() {\n if (!this.showTimezoneSelect) {\n return;\n }\n this.showTimezonePopover = !this.showTimezonePopover;\n }\n }\n};\nvar _sfc_render = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"DatePicker\", _vm._g(_vm._b({ ref: \"datepicker\", attrs: { \"append-to-body\": _vm.appendToBody, \"clearable\": _vm.clearable, \"format\": _vm.internalFormat, \"formatter\": _vm.internalFormatter, \"lang\": _vm.lang ? _vm.lang : _vm.defaultLang, \"minute-step\": _vm.minuteStep, \"placeholder\": _vm.placeholder ? _vm.placeholder : _vm.defaultPlaceholder, \"popup-class\": { \"show-week-number\": _vm.showWeekNumber }, \"range\": _vm.internalRange, \"show-week-number\": _vm.showWeekNumber, \"type\": _vm.realType, \"value\": _vm.model }, on: { \"select-year\": _vm.handleSelectYear, \"select-month\": _vm.handleSelectMonth, \"input\": function($event) {\n _vm.model = $event;\n } }, scopedSlots: _vm._u([{ key: \"icon-calendar\", fn: function() {\n return [_vm.showTimezoneSelect ? _c(\"NcPopover\", { attrs: { \"popup-role\": \"dialog\", \"shown\": _vm.showTimezonePopover, \"popover-base-class\": \"timezone-select__popper\" }, on: { \"update:shown\": function($event) {\n _vm.showTimezonePopover = $event;\n } }, scopedSlots: _vm._u([{ key: \"trigger\", fn: function({ attrs }) {\n return [_c(\"button\", _vm._b({ staticClass: \"datetime-picker-inline-icon\", class: { \"datetime-picker-inline-icon--highlighted\": _vm.highlightTimezone }, on: { \"mousedown\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return (() => {\n }).apply(null, arguments);\n } } }, \"button\", attrs, false), [_c(\"Web\", { attrs: { \"size\": 20 } })], 1)];\n } }], null, false, 3026992387) }, [_c(\"div\", { attrs: { \"role\": \"dialog\", \"aria-labelledby\": _vm.timezoneDialogHeaderId } }, [_c(\"div\", { staticClass: \"timezone-popover-wrapper__label\" }, [_c(\"strong\", { attrs: { \"id\": _vm.timezoneDialogHeaderId } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Please select a time zone:\")) + \" \")])]), _c(\"NcTimezonePicker\", { staticClass: \"timezone-popover-wrapper__timezone-select\", on: { \"input\": function($event) {\n return _vm.$emit(\"update:timezone-id\", arguments[0]);\n } }, model: { value: _vm.tzVal, callback: function($$v) {\n _vm.tzVal = $$v;\n }, expression: \"tzVal\" } })], 1)]) : _c(\"CalendarBlank\", { attrs: { \"size\": 20 } })];\n }, proxy: true }, _vm._l(_vm.$scopedSlots, function(_, slot) {\n return { key: slot, fn: function(scope) {\n return [_vm._t(slot, null, null, scope)];\n } };\n })], null, true) }, \"DatePicker\", _vm.$attrs, false), _vm.$listeners));\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"ecb9b537\"\n);\nconst NcDateTimePicker = __component__.exports;\nScopeComponent(NcDateTimePicker);\nexport {\n NcDateTimePicker as default\n};\n//# sourceMappingURL=NcDateTimePicker.mjs.map\n"],"names":["isDate","value","toDate","isValidDate","startOfWeek","firstDayOfWeek","date","day","diff","startOfWeekYear","_ref","_ref$firstDayOfWeek","_ref$firstWeekContain","firstWeekContainsDate","year","firstDateOfFirstWeek","i","getWeek","_ref2","_ref2$firstDayOfWeek","_ref2$firstWeekContai","firstDateOfThisWeek","locale","REGEX_FORMAT","pad","val","len","output","sign","getOffset","formatTimezone","offset","delimeter","absOffset","hours","minutes","meridiem","h","_","isLowercase","word","formatFlags","y","meridiemFunc","format","str","options","formatStr","defaultLocale","match","p1","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","arr2","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread","target","source","key","_defineProperty","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_e","_i","_s","err","obj","formattingTokens","match1","match2","match3","match4","match1to2","matchShortOffset","matchSigned","matchTimestamp","YEAR","MONTH","DAY","HOUR","MINUTE","SECOND","MILLISECOND","parseFlags","addParseFlag","token","regex","callback","tokens","func","input","escapeStringRegExp","matchWordRegExp","localeKey","array","matchWordCallback","index","cent","matchMeridiem","defaultIsPM","isPM","offsetFromString","_ref8","_ref9","symbol","hour","minute","to24hour","getFullInputArray","backupDate","result","backupArr","useBackup","createDate","m","d","M","s","ms","createUTCDate","_len","args","_key","makeParser","dateString","length","mark","parseTo","parser","parse","_options$locale","_locale","_options$backupDate","parseResult","month","second","millisecond","weekday","week","inputArray","firstDate","parsedDate","_typeof","_extends","_objectSpread2","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","sourceSymbolKeys","_unsupportedIterableToArray","o","minLen","_arrayLikeToArray","n","_extends$1","a","b","c","normalMerge","toArrayMerge","functionalMerge","mergeJsxProps","e","f","g","mergeFn","helper","isValidRangeDate","isValidDates","dates","getValidDate","backup","startOfYear","startOfMonth","startOfDay","getCalendar","calendar","lastDayInLastMonth","firstDayInLastMonth","lastDayInCurrentMonth","lastMonthLength","nextMonthLength","_i2","setMonth","dirtyDate","dirtyMonth","daysInMonth","setYear","dirtyYear","assignTime","time","chunk","size","isObject","pick","props","res","prop","mergeDeep","unwrapExports","x","createCommonjsModule","fn","module","en","exports","_default","en$1","lang","locales","name","isLocal","l","getLocale","rafThrottle","isRunning","_this","getPopupElementSize","element","originalDisplay","originalVisibility","styles","width","height","getRelativePosition","el","targetWidth","targetHeight","fixed","left","top","offsetX","offsetY","relativeRect","dw","dh","getScrollParent","node","until","style","scroll","script","_this2","relativeElement","evt","popup","appendToBody","_this$_popupRect","_getRelativePosition","normalizeComponent","template","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","__vue_script__","__vue_render__","_vm","_h","_c","__vue_staticRenderFns__","__vue_inject_styles__","__vue_component__","__vue_render__$1","__vue_staticRenderFns__$1","__vue_inject_styles__$1","__vue_component__$1","__vue_render__$2","__vue_staticRenderFns__$2","__vue_inject_styles__$2","__vue_component__$2","__vue_render__$3","__vue_staticRenderFns__$3","__vue_inject_styles__$3","__vue_component__$3","script$1","__vue_script__$1","__vue_render__$4","__vue_staticRenderFns__$4","__vue_inject_styles__$4","__vue_component__$4","script$2","_this$getLocale","yearFormat","monthBeforeYear","_this$getLocale$month","monthFormat","yearLabel","monthLabel","days","type","v","panel","cell","_index$split$map","_index$split$map2","row","col","fmt","__vue_script__$2","__vue_render__$5","item","$event","j","__vue_staticRenderFns__$5","__vue_inject_styles__$5","__vue_component__$5","script$3","monthsLocale","months","text","__vue_script__$3","__vue_render__$6","__vue_staticRenderFns__$6","__vue_inject_styles__$6","__vue_component__$6","script$4","last","firstYear","years","__vue_script__$4","__vue_render__$7","__vue_staticRenderFns__$7","__vue_inject_styles__$7","__vue_component__$7","CalendarPanel","panels","map","start","calendarDate","oldCalendar","oldPanel","_date","_date2","cellDate","notCurrentMonth","classes","state","_cellDate","_cellDate2","end","active","innerCalendar","CalendarRange","calendars","_this$innerValue","startValue","endValue","adjustIndex","gap","_calendars","calendarLeft","calendarRight","yearDiff","monthDiff","min","max","currentDates","classnames","inRange","data","range","_range$map","_range$map2","calendarRange","on","prefixClass","scrollBarWidth","getScrollbarWidth","outer","inner","script$5","wrap","heightPercentage","scrollHeight","scrollTop","offsetTop","clientY","clientHeight","__vue_script__$5","__vue_render__$8","__vue_staticRenderFns__$8","__vue_inject_styles__$8","__vue_component__$8","padNumber","generateOptions","step","scrollTo","to","duration","difference","tick","script$6","cols","num","_this3","_this4","_this5","elements","scrollElement","currentTarget","colIndex","cellIndex","__vue_script__$6","__vue_render__$9","__vue_staticRenderFns__$9","__vue_inject_styles__$9","__vue_component__$9","parseOption","values","scrollTo$1","script$7","startMinutes","endMinutes","stepMinutes","timeMinutes","__vue_script__$7","__vue_render__$a","__vue_staticRenderFns__$a","__vue_inject_styles__$a","__vue_component__$a","script$8","titleFormat","defaultProps","minHour","maxHour","__vue_script__$8","__vue_render__$b","__vue_staticRenderFns__$b","__vue_inject_styles__$b","__vue_component__$b","TimeRange","_this$value","defaultValues","DatetimePanel","datetime","calendarProps","timeProps","DatetimeRange","datetimes","componentMap","componentRangeMap","DatePicker","types","close","disabledDate","disabledTime","nextDates","keyCode","fallback","slotFn","className","attrs","events","calendarIcon","Component","content","_class","inline","disabled","sidedar","Vue","register","t46","formatTimezoneId","timezoneId","getTimezones","tz","_sfc_main","defineComponent","createElementId","__props","model","useModelMigration","formattedAdditionalTimezones","computed","label","timezones","filterBy","option","search","terms","term","t","NcSelect","_sfc_render","_setup","$$v","_sfc_staticRenderFns","__component__","NcTimezonePicker","_sfc_main$2","_sfc_render$2","_sfc_staticRenderFns$2","__component__$2","CalendarBlank","_sfc_main$1","_sfc_render$1","_sfc_staticRenderFns$1","__component__$1","Web","t40","formatMap","NcPopover","GenRandomId","getMonthNames","getMonthNamesShort","getDayNames","getDayNamesShort","getDayNamesMin","getFirstDay","firstThursday","yearStart","logger","slot","scope","NcDateTimePicker","ScopeComponent"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
\ No newline at end of file
diff --git a/js/NcDialog-Di3PCaC2-BKnn9ALj.chunk.mjs b/js/NcDialog-Di3PCaC2-BbWxOohO.chunk.mjs
similarity index 95%
rename from js/NcDialog-Di3PCaC2-BKnn9ALj.chunk.mjs
rename to js/NcDialog-Di3PCaC2-BbWxOohO.chunk.mjs
index afa4b622f5..2c8a18f888 100644
--- a/js/NcDialog-Di3PCaC2-BKnn9ALj.chunk.mjs
+++ b/js/NcDialog-Di3PCaC2-BbWxOohO.chunk.mjs
@@ -1,2 +1,2 @@
-import{N as h,a as N}from"./NcModal-BX64wQqg.chunk.mjs";import{u as w}from"./video-DVVFoi8e.chunk.mjs";import{d as L,h as u,c as i}from"./preload-helper-B1hyiFAx.chunk.mjs";import{G as B}from"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";import{n as T}from"./index-msNec4Xs.chunk.mjs";const q=L({name:"NcDialog",components:{NcDialogButton:N,NcModal:h},props:{name:{type:String,required:!0},message:{type:String,default:""},additionalTrapElements:{type:Array,validator:a=>Array.isArray(a)&&a.every(t=>typeof t=="string"||t instanceof HTMLElement),default:()=>[]},container:{type:String,required:!1,default:"body"},open:{type:Boolean,default:!0},size:{type:String,required:!1,default:"small",validator:a=>typeof a=="string"&&["small","normal","large","full"].includes(a)},buttons:{type:Array,required:!1,default:()=>[],validator:a=>Array.isArray(a)&&a.every(t=>typeof t=="object")},noClose:{type:Boolean,default:!1},canClose:{type:Boolean,default:!0},closeOnClickOutside:{type:Boolean,default:!1},isForm:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},navigationClasses:{type:[String,Array,Object],required:!1,default:""},navigationAriaLabel:{type:String,required:!1,default:""},navigationAriaLabelledby:{type:String,required:!1,default:""},contentClasses:{type:[String,Array,Object],required:!1,default:""},dialogClasses:{type:[String,Array,Object],required:!1,default:""}},emits:["closing","update:open","submit"],setup(a,{emit:t,slots:o}){const l=u(),{width:p}=w(l,{width:900}),n=i(()=>p.value<876),c=i(()=>o?.navigation!==void 0),s=B(),m=i(()=>a.navigationAriaLabel||void 0),y=i(()=>{if(!a.navigationAriaLabel)return a.navigationAriaLabelledby||s}),g=u(),r=i(()=>a.isForm&&!c.value?"form":"div"),b=i(()=>r.value==="form"?{submit(e){e.preventDefault(),t("submit",e)},reset(e){e.preventDefault(),t("reset",e)}}:{}),d=u(!0);function C(e,A){(e.type==="submit"||e.nativeType==="submit")&&r.value==="form"&&!g.value.reportValidity()||(v(A),window.setTimeout(()=>f(),300))}function v(e){d.value=!1,t("closing",e)}function f(){d.value=!0,t("update:open",!1)}const _=i(()=>({noClose:a.noClose||!a.canClose,container:a.container===void 0?"body":a.container,labelId:s,size:a.size,show:a.open&&d.value,outTransition:a.outTransition,closeOnClickOutside:a.closeOnClickOutside,additionalTrapElements:a.additionalTrapElements}));return{dialogElement:g,dialogListeners:b,dialogTagName:r,handleButtonClose:C,handleClosing:v,handleClosed:f,hasNavigation:c,navigationId:s,navigationAriaLabelAttr:m,navigationAriaLabelledbyAttr:y,isNavigationCollapsed:n,modalProps:_,wrapper:l}}});var O=function(){var a=this,t=a._self._c;return a._self._setupProxy,a.open?t("NcModal",a._b({staticClass:"dialog__modal",attrs:{"enable-slideshow":!1,"enable-swipe":!1},on:{close:a.handleClosed,"update:show":function(o){return a.handleClosing()}}},"NcModal",a.modalProps,!1),[t("h2",{staticClass:"dialog__name",attrs:{id:a.navigationId},domProps:{textContent:a._s(a.name)}}),t(a.dialogTagName,a._g({ref:"dialogElement",tag:"component",staticClass:"dialog",class:a.dialogClasses},a.dialogListeners),[t("div",{ref:"wrapper",staticClass:"dialog__wrapper",class:{"dialog__wrapper--collapsed":a.isNavigationCollapsed}},[a.hasNavigation?t("nav",{staticClass:"dialog__navigation",class:a.navigationClasses,attrs:{"aria-label":a.navigationAriaLabelAttr,"aria-labelledby":a.navigationAriaLabelledbyAttr}},[a._t("navigation",null,{isCollapsed:a.isNavigationCollapsed})],2):a._e(),t("div",{staticClass:"dialog__content",class:a.contentClasses},[a._t("default",function(){return[t("p",{staticClass:"dialog__text"},[a._v(" "+a._s(a.message)+" ")])]})],2)]),t("div",{staticClass:"dialog__actions"},[a._t("actions",function(){return a._l(a.buttons,function(o,l){return t("NcDialogButton",a._b({key:l,on:{click:(p,n)=>a.handleButtonClose(o,n)}},"NcDialogButton",o,!1))})})],2)])],1):a._e()},S=[],D=T(q,O,S,!1,null,"08c0eea7");const P=D.exports;export{P as N};
-//# sourceMappingURL=NcDialog-Di3PCaC2-BKnn9ALj.chunk.mjs.map
+import{N as h,a as N}from"./NcModal-DnfAQoZ9.chunk.mjs";import{u as w}from"./video-B2A2Ed33.chunk.mjs";import{d as L,h as u,c as i}from"./preload-helper-B1hyiFAx.chunk.mjs";import{G as B}from"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";import{n as T}from"./index-msNec4Xs.chunk.mjs";const q=L({name:"NcDialog",components:{NcDialogButton:N,NcModal:h},props:{name:{type:String,required:!0},message:{type:String,default:""},additionalTrapElements:{type:Array,validator:a=>Array.isArray(a)&&a.every(t=>typeof t=="string"||t instanceof HTMLElement),default:()=>[]},container:{type:String,required:!1,default:"body"},open:{type:Boolean,default:!0},size:{type:String,required:!1,default:"small",validator:a=>typeof a=="string"&&["small","normal","large","full"].includes(a)},buttons:{type:Array,required:!1,default:()=>[],validator:a=>Array.isArray(a)&&a.every(t=>typeof t=="object")},noClose:{type:Boolean,default:!1},canClose:{type:Boolean,default:!0},closeOnClickOutside:{type:Boolean,default:!1},isForm:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},navigationClasses:{type:[String,Array,Object],required:!1,default:""},navigationAriaLabel:{type:String,required:!1,default:""},navigationAriaLabelledby:{type:String,required:!1,default:""},contentClasses:{type:[String,Array,Object],required:!1,default:""},dialogClasses:{type:[String,Array,Object],required:!1,default:""}},emits:["closing","update:open","submit"],setup(a,{emit:t,slots:o}){const l=u(),{width:p}=w(l,{width:900}),n=i(()=>p.value<876),c=i(()=>o?.navigation!==void 0),s=B(),m=i(()=>a.navigationAriaLabel||void 0),y=i(()=>{if(!a.navigationAriaLabel)return a.navigationAriaLabelledby||s}),g=u(),r=i(()=>a.isForm&&!c.value?"form":"div"),b=i(()=>r.value==="form"?{submit(e){e.preventDefault(),t("submit",e)},reset(e){e.preventDefault(),t("reset",e)}}:{}),d=u(!0);function C(e,A){(e.type==="submit"||e.nativeType==="submit")&&r.value==="form"&&!g.value.reportValidity()||(v(A),window.setTimeout(()=>f(),300))}function v(e){d.value=!1,t("closing",e)}function f(){d.value=!0,t("update:open",!1)}const _=i(()=>({noClose:a.noClose||!a.canClose,container:a.container===void 0?"body":a.container,labelId:s,size:a.size,show:a.open&&d.value,outTransition:a.outTransition,closeOnClickOutside:a.closeOnClickOutside,additionalTrapElements:a.additionalTrapElements}));return{dialogElement:g,dialogListeners:b,dialogTagName:r,handleButtonClose:C,handleClosing:v,handleClosed:f,hasNavigation:c,navigationId:s,navigationAriaLabelAttr:m,navigationAriaLabelledbyAttr:y,isNavigationCollapsed:n,modalProps:_,wrapper:l}}});var O=function(){var a=this,t=a._self._c;return a._self._setupProxy,a.open?t("NcModal",a._b({staticClass:"dialog__modal",attrs:{"enable-slideshow":!1,"enable-swipe":!1},on:{close:a.handleClosed,"update:show":function(o){return a.handleClosing()}}},"NcModal",a.modalProps,!1),[t("h2",{staticClass:"dialog__name",attrs:{id:a.navigationId},domProps:{textContent:a._s(a.name)}}),t(a.dialogTagName,a._g({ref:"dialogElement",tag:"component",staticClass:"dialog",class:a.dialogClasses},a.dialogListeners),[t("div",{ref:"wrapper",staticClass:"dialog__wrapper",class:{"dialog__wrapper--collapsed":a.isNavigationCollapsed}},[a.hasNavigation?t("nav",{staticClass:"dialog__navigation",class:a.navigationClasses,attrs:{"aria-label":a.navigationAriaLabelAttr,"aria-labelledby":a.navigationAriaLabelledbyAttr}},[a._t("navigation",null,{isCollapsed:a.isNavigationCollapsed})],2):a._e(),t("div",{staticClass:"dialog__content",class:a.contentClasses},[a._t("default",function(){return[t("p",{staticClass:"dialog__text"},[a._v(" "+a._s(a.message)+" ")])]})],2)]),t("div",{staticClass:"dialog__actions"},[a._t("actions",function(){return a._l(a.buttons,function(o,l){return t("NcDialogButton",a._b({key:l,on:{click:(p,n)=>a.handleButtonClose(o,n)}},"NcDialogButton",o,!1))})})],2)])],1):a._e()},S=[],D=T(q,O,S,!1,null,"08c0eea7");const P=D.exports;export{P as N};
+//# sourceMappingURL=NcDialog-Di3PCaC2-BbWxOohO.chunk.mjs.map
diff --git a/js/NcDialog-Di3PCaC2-BKnn9ALj.chunk.mjs.license b/js/NcDialog-Di3PCaC2-BbWxOohO.chunk.mjs.license
similarity index 100%
rename from js/NcDialog-Di3PCaC2-BKnn9ALj.chunk.mjs.license
rename to js/NcDialog-Di3PCaC2-BbWxOohO.chunk.mjs.license
diff --git a/js/NcDialog-Di3PCaC2-BKnn9ALj.chunk.mjs.map b/js/NcDialog-Di3PCaC2-BbWxOohO.chunk.mjs.map
similarity index 99%
rename from js/NcDialog-Di3PCaC2-BKnn9ALj.chunk.mjs.map
rename to js/NcDialog-Di3PCaC2-BbWxOohO.chunk.mjs.map
index 4fc96a7b1f..51a498ae86 100644
--- a/js/NcDialog-Di3PCaC2-BKnn9ALj.chunk.mjs.map
+++ b/js/NcDialog-Di3PCaC2-BbWxOohO.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"NcDialog-Di3PCaC2-BKnn9ALj.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcDialog-Di3PCaC2.mjs"],"sourcesContent":["import '../assets/NcDialog-B-vim315.css';\nimport { useElementSize } from \"@vueuse/core\";\nimport { defineComponent, ref, computed } from \"vue\";\nimport { G as GenRandomId } from \"./GenRandomId-F5ebeBB_.mjs\";\nimport { N as NcDialogButton } from \"./NcDialogButton-m5qXY8bV.mjs\";\nimport NcModal from \"../Components/NcModal.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = defineComponent({\n name: \"NcDialog\",\n components: {\n NcDialogButton,\n NcModal\n },\n props: {\n /** Name of the dialog (the heading) */\n name: {\n type: String,\n required: true\n },\n /** Text of the dialog */\n message: {\n type: String,\n default: \"\"\n },\n /** Additional elements to add to the focus trap */\n additionalTrapElements: {\n type: Array,\n validator: (arr) => {\n return Array.isArray(arr) && arr.every((element) => typeof element === \"string\" || element instanceof HTMLElement);\n },\n default: () => []\n },\n /**\n * The element where to mount the dialog, if `null` is passed the dialog is mounted in place\n *\n * @default 'body'\n */\n container: {\n type: String,\n required: false,\n default: \"body\"\n },\n /**\n * Whether the dialog should be shown\n *\n * @default true\n */\n open: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Size of the underlying NcModal\n *\n * @default 'small'\n * @type {'small'|'normal'|'large'|'full'}\n */\n size: {\n type: String,\n required: false,\n default: \"small\",\n validator: (value) => typeof value === \"string\" && [\"small\", \"normal\", \"large\", \"full\"].includes(value)\n },\n /**\n * Buttons to display\n *\n * @default []\n */\n buttons: {\n type: Array,\n required: false,\n default: () => [],\n validator: (value) => Array.isArray(value) && value.every((element) => typeof element === \"object\")\n },\n /**\n * Do not show the close button for the dialog.\n *\n * @default false\n */\n noClose: {\n type: Boolean,\n default: false\n },\n /**\n * Set to false to no show a close button on the dialog\n *\n * @deprecated - Use `noClose` instead. Will be removed in v9.\n * @default true\n */\n canClose: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Close the dialog if the user clicked outside of the dialog\n * Only relevant if `canClose` is set to true.\n */\n closeOnClickOutside: {\n type: Boolean,\n default: false\n },\n /**\n * Make the dialog wrapper a HTML form element.\n * The buttons will be wrapped within the form so they can be used as submit / reset buttons.\n * Please note that when using the property the `navigation` should not be used.\n */\n isForm: {\n type: Boolean,\n default: false\n },\n /**\n * Declare if hiding the modal should be animated\n *\n * @default false\n */\n outTransition: {\n type: Boolean,\n default: false\n },\n /**\n * Optionally pass additional classes which will be set on the navigation for custom styling\n *\n * @default ''\n * @example\n * ```html\n * \n * \n * \n * ```\n */\n navigationClasses: {\n type: [String, Array, Object],\n required: false,\n default: \"\"\n },\n /**\n * aria-label for the dialog navigation.\n * Use it when you want to provide a more meaningful label than the dialog name.\n *\n * By default, navigation is labeled by the dialog name.\n */\n navigationAriaLabel: {\n type: String,\n required: false,\n default: \"\"\n },\n /**\n * aria-labelledby for the dialog navigation.\n * Use it when you have an implicit navigation label (e.g. a heading).\n *\n * By default, navigation is labeled by the dialog name.\n */\n navigationAriaLabelledby: {\n type: String,\n required: false,\n default: \"\"\n },\n /**\n * Optionally pass additional classes which will be set on the content wrapper for custom styling\n *\n * @default ''\n */\n contentClasses: {\n type: [String, Array, Object],\n required: false,\n default: \"\"\n },\n /**\n * Optionally pass additional classes which will be set on the dialog itself\n * (the default `class` attribute will be set on the modal wrapper)\n *\n * @default ''\n */\n dialogClasses: {\n type: [String, Array, Object],\n required: false,\n default: \"\"\n }\n },\n emits: [\"closing\", \"update:open\", \"submit\"],\n setup(props, { emit, slots }) {\n const wrapper = ref();\n const { width: dialogWidth } = useElementSize(wrapper, { width: 900 });\n const isNavigationCollapsed = computed(() => dialogWidth.value < 876);\n const hasNavigation = computed(() => slots?.navigation !== void 0);\n const navigationId = GenRandomId();\n const navigationAriaLabelAttr = computed(() => props.navigationAriaLabel || void 0);\n const navigationAriaLabelledbyAttr = computed(() => {\n if (props.navigationAriaLabel) {\n return void 0;\n }\n return props.navigationAriaLabelledby || navigationId;\n });\n const dialogElement = ref();\n const dialogTagName = computed(() => props.isForm && !hasNavigation.value ? \"form\" : \"div\");\n const dialogListeners = computed(() => dialogTagName.value === \"form\" ? {\n /**\n * @param {SubmitEvent} event Form submit event\n */\n submit(event) {\n event.preventDefault();\n emit(\"submit\", event);\n },\n /**\n * @param {Event} event Form submit event\n */\n reset(event) {\n event.preventDefault();\n emit(\"reset\", event);\n }\n } : {});\n const showModal = ref(true);\n function handleButtonClose(button, result) {\n if ((button.type === \"submit\" || button.nativeType === \"submit\") && dialogTagName.value === \"form\" && !dialogElement.value.reportValidity()) {\n return;\n }\n handleClosing(result);\n window.setTimeout(() => handleClosed(), 300);\n }\n function handleClosing(result) {\n showModal.value = false;\n emit(\"closing\", result);\n }\n function handleClosed() {\n showModal.value = true;\n emit(\"update:open\", false);\n }\n const modalProps = computed(() => ({\n noClose: props.noClose || !props.canClose,\n container: props.container === void 0 ? \"body\" : props.container,\n // we do not pass the name as we already have the name as the headline\n // name: props.name,\n // But we need to set the correct label id so the dialog is labelled\n labelId: navigationId,\n size: props.size,\n show: props.open && showModal.value,\n outTransition: props.outTransition,\n closeOnClickOutside: props.closeOnClickOutside,\n additionalTrapElements: props.additionalTrapElements\n }));\n return {\n dialogElement,\n dialogListeners,\n dialogTagName,\n handleButtonClose,\n handleClosing,\n handleClosed,\n hasNavigation,\n navigationId,\n navigationAriaLabelAttr,\n navigationAriaLabelledbyAttr,\n isNavigationCollapsed,\n modalProps,\n wrapper\n };\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _vm.open ? _c(\"NcModal\", _vm._b({ staticClass: \"dialog__modal\", attrs: { \"enable-slideshow\": false, \"enable-swipe\": false }, on: { \"close\": _vm.handleClosed, \"update:show\": function($event) {\n return _vm.handleClosing();\n } } }, \"NcModal\", _vm.modalProps, false), [_c(\"h2\", { staticClass: \"dialog__name\", attrs: { \"id\": _vm.navigationId }, domProps: { \"textContent\": _vm._s(_vm.name) } }), _c(_vm.dialogTagName, _vm._g({ ref: \"dialogElement\", tag: \"component\", staticClass: \"dialog\", class: _vm.dialogClasses }, _vm.dialogListeners), [_c(\"div\", { ref: \"wrapper\", staticClass: \"dialog__wrapper\", class: { \"dialog__wrapper--collapsed\": _vm.isNavigationCollapsed } }, [_vm.hasNavigation ? _c(\"nav\", { staticClass: \"dialog__navigation\", class: _vm.navigationClasses, attrs: { \"aria-label\": _vm.navigationAriaLabelAttr, \"aria-labelledby\": _vm.navigationAriaLabelledbyAttr } }, [_vm._t(\"navigation\", null, { \"isCollapsed\": _vm.isNavigationCollapsed })], 2) : _vm._e(), _c(\"div\", { staticClass: \"dialog__content\", class: _vm.contentClasses }, [_vm._t(\"default\", function() {\n return [_c(\"p\", { staticClass: \"dialog__text\" }, [_vm._v(\" \" + _vm._s(_vm.message) + \" \")])];\n })], 2)]), _c(\"div\", { staticClass: \"dialog__actions\" }, [_vm._t(\"actions\", function() {\n return _vm._l(_vm.buttons, function(button, idx) {\n return _c(\"NcDialogButton\", _vm._b({ key: idx, on: { \"click\": (_, result) => _vm.handleButtonClose(button, result) } }, \"NcDialogButton\", button, false));\n });\n })], 2)])], 1) : _vm._e();\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"08c0eea7\"\n);\nconst NcDialog = __component__.exports;\nexport {\n NcDialog as N\n};\n//# sourceMappingURL=NcDialog-Di3PCaC2.mjs.map\n"],"names":["_sfc_main","defineComponent","NcDialogButton","NcModal","arr","element","value","props","emit","slots","wrapper","ref","dialogWidth","useElementSize","isNavigationCollapsed","computed","hasNavigation","navigationId","GenRandomId","navigationAriaLabelAttr","navigationAriaLabelledbyAttr","dialogElement","dialogTagName","dialogListeners","event","showModal","handleButtonClose","button","result","handleClosing","handleClosed","modalProps","_sfc_render","_vm","_c","$event","idx","_","_sfc_staticRenderFns","__component__","normalizeComponent","NcDialog"],"mappings":"0RAOA,MAAMA,EAAYC,EAAgB,CAChC,KAAM,WACN,WAAY,CACV,eAAAC,EACA,QAAAC,CACJ,EACE,MAAO,CAEL,KAAM,CACJ,KAAM,OACN,SAAU,EAChB,EAEI,QAAS,CACP,KAAM,OACN,QAAS,EACf,EAEI,uBAAwB,CACtB,KAAM,MACN,UAAYC,GACH,MAAM,QAAQA,CAAG,GAAKA,EAAI,MAAOC,GAAY,OAAOA,GAAY,UAAYA,aAAmB,WAAW,EAEnH,QAAS,IAAM,CAAA,CACrB,EAMI,UAAW,CACT,KAAM,OACN,SAAU,GACV,QAAS,MACf,EAMI,KAAM,CACJ,KAAM,QAEN,QAAS,EACf,EAOI,KAAM,CACJ,KAAM,OACN,SAAU,GACV,QAAS,QACT,UAAYC,GAAU,OAAOA,GAAU,UAAY,CAAC,QAAS,SAAU,QAAS,MAAM,EAAE,SAASA,CAAK,CAC5G,EAMI,QAAS,CACP,KAAM,MACN,SAAU,GACV,QAAS,IAAM,CAAA,EACf,UAAYA,GAAU,MAAM,QAAQA,CAAK,GAAKA,EAAM,MAAOD,GAAY,OAAOA,GAAY,QAAQ,CACxG,EAMI,QAAS,CACP,KAAM,QACN,QAAS,EACf,EAOI,SAAU,CACR,KAAM,QAEN,QAAS,EACf,EAKI,oBAAqB,CACnB,KAAM,QACN,QAAS,EACf,EAMI,OAAQ,CACN,KAAM,QACN,QAAS,EACf,EAMI,cAAe,CACb,KAAM,QACN,QAAS,EACf,EAgBI,kBAAmB,CACjB,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,SAAU,GACV,QAAS,EACf,EAOI,oBAAqB,CACnB,KAAM,OACN,SAAU,GACV,QAAS,EACf,EAOI,yBAA0B,CACxB,KAAM,OACN,SAAU,GACV,QAAS,EACf,EAMI,eAAgB,CACd,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,SAAU,GACV,QAAS,EACf,EAOI,cAAe,CACb,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,SAAU,GACV,QAAS,EACf,CACA,EACE,MAAO,CAAC,UAAW,cAAe,QAAQ,EAC1C,MAAME,EAAO,CAAE,KAAAC,EAAM,MAAAC,CAAK,EAAI,CAC5B,MAAMC,EAAUC,EAAG,EACb,CAAE,MAAOC,GAAgBC,EAAeH,EAAS,CAAE,MAAO,IAAK,EAC/DI,EAAwBC,EAAS,IAAMH,EAAY,MAAQ,GAAG,EAC9DI,EAAgBD,EAAS,IAAMN,GAAO,aAAe,MAAM,EAC3DQ,EAAeC,EAAW,EAC1BC,EAA0BJ,EAAS,IAAMR,EAAM,qBAAuB,MAAM,EAC5Ea,EAA+BL,EAAS,IAAM,CAClD,GAAI,CAAAR,EAAM,oBAGV,OAAOA,EAAM,0BAA4BU,CAC3C,CAAC,EACKI,EAAgBV,EAAG,EACnBW,EAAgBP,EAAS,IAAMR,EAAM,QAAU,CAACS,EAAc,MAAQ,OAAS,KAAK,EACpFO,EAAkBR,EAAS,IAAMO,EAAc,QAAU,OAAS,CAItE,OAAOE,EAAO,CACZA,EAAM,eAAc,EACpBhB,EAAK,SAAUgB,CAAK,CACtB,EAIA,MAAMA,EAAO,CACXA,EAAM,eAAc,EACpBhB,EAAK,QAASgB,CAAK,CACrB,CACN,EAAQ,EAAE,EACAC,EAAYd,EAAI,EAAI,EAC1B,SAASe,EAAkBC,EAAQC,EAAQ,EACpCD,EAAO,OAAS,UAAYA,EAAO,aAAe,WAAaL,EAAc,QAAU,QAAU,CAACD,EAAc,MAAM,eAAc,IAGzIQ,EAAcD,CAAM,EACpB,OAAO,WAAW,IAAME,EAAY,EAAI,GAAG,EAC7C,CACA,SAASD,EAAcD,EAAQ,CAC7BH,EAAU,MAAQ,GAClBjB,EAAK,UAAWoB,CAAM,CACxB,CACA,SAASE,GAAe,CACtBL,EAAU,MAAQ,GAClBjB,EAAK,cAAe,EAAK,CAC3B,CACA,MAAMuB,EAAahB,EAAS,KAAO,CACjC,QAASR,EAAM,SAAW,CAACA,EAAM,SACjC,UAAWA,EAAM,YAAc,OAAS,OAASA,EAAM,UAIvD,QAASU,EACT,KAAMV,EAAM,KACZ,KAAMA,EAAM,MAAQkB,EAAU,MAC9B,cAAelB,EAAM,cACrB,oBAAqBA,EAAM,oBAC3B,uBAAwBA,EAAM,sBACpC,EAAM,EACF,MAAO,CACL,cAAAc,EACA,gBAAAE,EACA,cAAAD,EACA,kBAAAI,EACA,cAAAG,EACA,aAAAC,EACA,cAAAd,EACA,aAAAC,EACA,wBAAAE,EACA,6BAAAC,EACA,sBAAAN,EACA,WAAAiB,EACA,QAAArB,CACN,CACE,CACF,CAAC,EACD,IAAIsB,EAAc,UAAkB,CAClC,IAAIC,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAAA,EAAI,MAAM,YACHA,EAAI,KAAOC,EAAG,UAAWD,EAAI,GAAG,CAAE,YAAa,gBAAiB,MAAO,CAAE,mBAAoB,GAAO,eAAgB,EAAK,EAAI,GAAI,CAAE,MAASA,EAAI,aAAc,cAAe,SAASE,EAAQ,CACnM,OAAOF,EAAI,cAAa,CAC1B,EAAG,EAAI,UAAWA,EAAI,WAAY,EAAK,EAAG,CAACC,EAAG,KAAM,CAAE,YAAa,eAAgB,MAAO,CAAE,GAAMD,EAAI,YAAY,EAAI,SAAU,CAAE,YAAeA,EAAI,GAAGA,EAAI,IAAI,CAAC,CAAE,CAAE,EAAGC,EAAGD,EAAI,cAAeA,EAAI,GAAG,CAAE,IAAK,gBAAiB,IAAK,YAAa,YAAa,SAAU,MAAOA,EAAI,aAAa,EAAIA,EAAI,eAAe,EAAG,CAACC,EAAG,MAAO,CAAE,IAAK,UAAW,YAAa,kBAAmB,MAAO,CAAE,6BAA8BD,EAAI,sBAAuB,EAAI,CAACA,EAAI,cAAgBC,EAAG,MAAO,CAAE,YAAa,qBAAsB,MAAOD,EAAI,kBAAmB,MAAO,CAAE,aAAcA,EAAI,wBAAyB,kBAAmBA,EAAI,4BAA4B,CAAE,EAAI,CAACA,EAAI,GAAG,aAAc,KAAM,CAAE,YAAeA,EAAI,qBAAqB,CAAE,CAAC,EAAG,CAAC,EAAIA,EAAI,GAAE,EAAIC,EAAG,MAAO,CAAE,YAAa,kBAAmB,MAAOD,EAAI,cAAc,EAAI,CAACA,EAAI,GAAG,UAAW,UAAW,CAC10B,MAAO,CAACC,EAAG,IAAK,CAAE,YAAa,cAAc,EAAI,CAACD,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,OAAO,EAAI,GAAG,CAAC,CAAC,CAAC,CAC7F,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,EAAGC,EAAG,MAAO,CAAE,YAAa,iBAAiB,EAAI,CAACD,EAAI,GAAG,UAAW,UAAW,CACrF,OAAOA,EAAI,GAAGA,EAAI,QAAS,SAASN,EAAQS,EAAK,CAC/C,OAAOF,EAAG,iBAAkBD,EAAI,GAAG,CAAE,IAAKG,EAAK,GAAI,CAAE,MAAS,CAACC,EAAGT,IAAWK,EAAI,kBAAkBN,EAAQC,CAAM,CAAC,CAAE,EAAI,iBAAkBD,EAAQ,EAAK,CAAC,CAC1J,CAAC,CACH,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,CAAC,EAAG,CAAC,EAAIM,EAAI,GAAE,CACzB,EACIK,EAAuB,CAAA,EACvBC,EAAgCC,EAClCxC,EACAgC,EACAM,EACA,GACA,KACA,UACF,EACK,MAACG,EAAWF,EAAc","x_google_ignoreList":[0]}
\ No newline at end of file
+{"version":3,"file":"NcDialog-Di3PCaC2-BbWxOohO.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcDialog-Di3PCaC2.mjs"],"sourcesContent":["import '../assets/NcDialog-B-vim315.css';\nimport { useElementSize } from \"@vueuse/core\";\nimport { defineComponent, ref, computed } from \"vue\";\nimport { G as GenRandomId } from \"./GenRandomId-F5ebeBB_.mjs\";\nimport { N as NcDialogButton } from \"./NcDialogButton-m5qXY8bV.mjs\";\nimport NcModal from \"../Components/NcModal.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = defineComponent({\n name: \"NcDialog\",\n components: {\n NcDialogButton,\n NcModal\n },\n props: {\n /** Name of the dialog (the heading) */\n name: {\n type: String,\n required: true\n },\n /** Text of the dialog */\n message: {\n type: String,\n default: \"\"\n },\n /** Additional elements to add to the focus trap */\n additionalTrapElements: {\n type: Array,\n validator: (arr) => {\n return Array.isArray(arr) && arr.every((element) => typeof element === \"string\" || element instanceof HTMLElement);\n },\n default: () => []\n },\n /**\n * The element where to mount the dialog, if `null` is passed the dialog is mounted in place\n *\n * @default 'body'\n */\n container: {\n type: String,\n required: false,\n default: \"body\"\n },\n /**\n * Whether the dialog should be shown\n *\n * @default true\n */\n open: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Size of the underlying NcModal\n *\n * @default 'small'\n * @type {'small'|'normal'|'large'|'full'}\n */\n size: {\n type: String,\n required: false,\n default: \"small\",\n validator: (value) => typeof value === \"string\" && [\"small\", \"normal\", \"large\", \"full\"].includes(value)\n },\n /**\n * Buttons to display\n *\n * @default []\n */\n buttons: {\n type: Array,\n required: false,\n default: () => [],\n validator: (value) => Array.isArray(value) && value.every((element) => typeof element === \"object\")\n },\n /**\n * Do not show the close button for the dialog.\n *\n * @default false\n */\n noClose: {\n type: Boolean,\n default: false\n },\n /**\n * Set to false to no show a close button on the dialog\n *\n * @deprecated - Use `noClose` instead. Will be removed in v9.\n * @default true\n */\n canClose: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Close the dialog if the user clicked outside of the dialog\n * Only relevant if `canClose` is set to true.\n */\n closeOnClickOutside: {\n type: Boolean,\n default: false\n },\n /**\n * Make the dialog wrapper a HTML form element.\n * The buttons will be wrapped within the form so they can be used as submit / reset buttons.\n * Please note that when using the property the `navigation` should not be used.\n */\n isForm: {\n type: Boolean,\n default: false\n },\n /**\n * Declare if hiding the modal should be animated\n *\n * @default false\n */\n outTransition: {\n type: Boolean,\n default: false\n },\n /**\n * Optionally pass additional classes which will be set on the navigation for custom styling\n *\n * @default ''\n * @example\n * ```html\n * \n * \n * \n * ```\n */\n navigationClasses: {\n type: [String, Array, Object],\n required: false,\n default: \"\"\n },\n /**\n * aria-label for the dialog navigation.\n * Use it when you want to provide a more meaningful label than the dialog name.\n *\n * By default, navigation is labeled by the dialog name.\n */\n navigationAriaLabel: {\n type: String,\n required: false,\n default: \"\"\n },\n /**\n * aria-labelledby for the dialog navigation.\n * Use it when you have an implicit navigation label (e.g. a heading).\n *\n * By default, navigation is labeled by the dialog name.\n */\n navigationAriaLabelledby: {\n type: String,\n required: false,\n default: \"\"\n },\n /**\n * Optionally pass additional classes which will be set on the content wrapper for custom styling\n *\n * @default ''\n */\n contentClasses: {\n type: [String, Array, Object],\n required: false,\n default: \"\"\n },\n /**\n * Optionally pass additional classes which will be set on the dialog itself\n * (the default `class` attribute will be set on the modal wrapper)\n *\n * @default ''\n */\n dialogClasses: {\n type: [String, Array, Object],\n required: false,\n default: \"\"\n }\n },\n emits: [\"closing\", \"update:open\", \"submit\"],\n setup(props, { emit, slots }) {\n const wrapper = ref();\n const { width: dialogWidth } = useElementSize(wrapper, { width: 900 });\n const isNavigationCollapsed = computed(() => dialogWidth.value < 876);\n const hasNavigation = computed(() => slots?.navigation !== void 0);\n const navigationId = GenRandomId();\n const navigationAriaLabelAttr = computed(() => props.navigationAriaLabel || void 0);\n const navigationAriaLabelledbyAttr = computed(() => {\n if (props.navigationAriaLabel) {\n return void 0;\n }\n return props.navigationAriaLabelledby || navigationId;\n });\n const dialogElement = ref();\n const dialogTagName = computed(() => props.isForm && !hasNavigation.value ? \"form\" : \"div\");\n const dialogListeners = computed(() => dialogTagName.value === \"form\" ? {\n /**\n * @param {SubmitEvent} event Form submit event\n */\n submit(event) {\n event.preventDefault();\n emit(\"submit\", event);\n },\n /**\n * @param {Event} event Form submit event\n */\n reset(event) {\n event.preventDefault();\n emit(\"reset\", event);\n }\n } : {});\n const showModal = ref(true);\n function handleButtonClose(button, result) {\n if ((button.type === \"submit\" || button.nativeType === \"submit\") && dialogTagName.value === \"form\" && !dialogElement.value.reportValidity()) {\n return;\n }\n handleClosing(result);\n window.setTimeout(() => handleClosed(), 300);\n }\n function handleClosing(result) {\n showModal.value = false;\n emit(\"closing\", result);\n }\n function handleClosed() {\n showModal.value = true;\n emit(\"update:open\", false);\n }\n const modalProps = computed(() => ({\n noClose: props.noClose || !props.canClose,\n container: props.container === void 0 ? \"body\" : props.container,\n // we do not pass the name as we already have the name as the headline\n // name: props.name,\n // But we need to set the correct label id so the dialog is labelled\n labelId: navigationId,\n size: props.size,\n show: props.open && showModal.value,\n outTransition: props.outTransition,\n closeOnClickOutside: props.closeOnClickOutside,\n additionalTrapElements: props.additionalTrapElements\n }));\n return {\n dialogElement,\n dialogListeners,\n dialogTagName,\n handleButtonClose,\n handleClosing,\n handleClosed,\n hasNavigation,\n navigationId,\n navigationAriaLabelAttr,\n navigationAriaLabelledbyAttr,\n isNavigationCollapsed,\n modalProps,\n wrapper\n };\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _vm.open ? _c(\"NcModal\", _vm._b({ staticClass: \"dialog__modal\", attrs: { \"enable-slideshow\": false, \"enable-swipe\": false }, on: { \"close\": _vm.handleClosed, \"update:show\": function($event) {\n return _vm.handleClosing();\n } } }, \"NcModal\", _vm.modalProps, false), [_c(\"h2\", { staticClass: \"dialog__name\", attrs: { \"id\": _vm.navigationId }, domProps: { \"textContent\": _vm._s(_vm.name) } }), _c(_vm.dialogTagName, _vm._g({ ref: \"dialogElement\", tag: \"component\", staticClass: \"dialog\", class: _vm.dialogClasses }, _vm.dialogListeners), [_c(\"div\", { ref: \"wrapper\", staticClass: \"dialog__wrapper\", class: { \"dialog__wrapper--collapsed\": _vm.isNavigationCollapsed } }, [_vm.hasNavigation ? _c(\"nav\", { staticClass: \"dialog__navigation\", class: _vm.navigationClasses, attrs: { \"aria-label\": _vm.navigationAriaLabelAttr, \"aria-labelledby\": _vm.navigationAriaLabelledbyAttr } }, [_vm._t(\"navigation\", null, { \"isCollapsed\": _vm.isNavigationCollapsed })], 2) : _vm._e(), _c(\"div\", { staticClass: \"dialog__content\", class: _vm.contentClasses }, [_vm._t(\"default\", function() {\n return [_c(\"p\", { staticClass: \"dialog__text\" }, [_vm._v(\" \" + _vm._s(_vm.message) + \" \")])];\n })], 2)]), _c(\"div\", { staticClass: \"dialog__actions\" }, [_vm._t(\"actions\", function() {\n return _vm._l(_vm.buttons, function(button, idx) {\n return _c(\"NcDialogButton\", _vm._b({ key: idx, on: { \"click\": (_, result) => _vm.handleButtonClose(button, result) } }, \"NcDialogButton\", button, false));\n });\n })], 2)])], 1) : _vm._e();\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"08c0eea7\"\n);\nconst NcDialog = __component__.exports;\nexport {\n NcDialog as N\n};\n//# sourceMappingURL=NcDialog-Di3PCaC2.mjs.map\n"],"names":["_sfc_main","defineComponent","NcDialogButton","NcModal","arr","element","value","props","emit","slots","wrapper","ref","dialogWidth","useElementSize","isNavigationCollapsed","computed","hasNavigation","navigationId","GenRandomId","navigationAriaLabelAttr","navigationAriaLabelledbyAttr","dialogElement","dialogTagName","dialogListeners","event","showModal","handleButtonClose","button","result","handleClosing","handleClosed","modalProps","_sfc_render","_vm","_c","$event","idx","_","_sfc_staticRenderFns","__component__","normalizeComponent","NcDialog"],"mappings":"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","x_google_ignoreList":[0]}
\ No newline at end of file
diff --git a/js/NcFormBoxButton-DQYM40Lb-DYhdxO-h.chunk.mjs b/js/NcFormBoxButton-DQYM40Lb-91L-5JKl.chunk.mjs
similarity index 97%
rename from js/NcFormBoxButton-DQYM40Lb-DYhdxO-h.chunk.mjs
rename to js/NcFormBoxButton-DQYM40Lb-91L-5JKl.chunk.mjs
index 3546f6495f..b3b7e862c9 100644
--- a/js/NcFormBoxButton-DQYM40Lb-DYhdxO-h.chunk.mjs
+++ b/js/NcFormBoxButton-DQYM40Lb-91L-5JKl.chunk.mjs
@@ -1,2 +1,2 @@
-import{n as l,r as f,aj as R,N as h,e as r,ak as H,al as y,am as T,C as U,an as q,v as x,ao as Z}from"./index-msNec4Xs.chunk.mjs";import{d as j,A as F,e as G,f as J,g as Q,j as W}from"./video-DVVFoi8e.chunk.mjs";import{Z as X,y as L,d as $,$ as S,h as _,a0 as Y,c as N,a1 as ee,V as te}from"./preload-helper-B1hyiFAx.chunk.mjs";import{C as ie}from"./NcSelect-COY5TV2U-Bx6XZxCD.chunk.mjs";import{C as ne}from"./NcModal-BX64wQqg.chunk.mjs";import{G as ae}from"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";import{N as oe,b as le}from"./NcActions-C4f9MXug-FA3YIyzG.chunk.mjs";import{N as se}from"./NcLoadingIcon-DM-94wwW.chunk.mjs";import{N as D}from"./NcVNodes-CMjqwGYg.chunk.mjs";import{d as re}from"./NcAvatar-BbHwxwyd-B4FduCgL.chunk.mjs";import{N as ce}from"./NcDialog-Di3PCaC2-BKnn9ALj.chunk.mjs";const ue={name:"DockRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var pe=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon dock-right-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e(),t("path",{attrs:{d:"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M15 18H4V6H15Z"}})])])},de=[],ge=l(ue,pe,de,!1,null,null);const ve=ge.exports,fe={name:"DockLeftIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var me=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon dock-left-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e(),t("path",{attrs:{d:"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 18H9V6H20Z"}})])])},ye=[],_e=l(fe,me,ye,!1,null,null);const he=_e.exports;f(R);const A=window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),Ce={name:"NcAppNavigationToggle",components:{DockLeft:he,DockRight:ve,NcButton:h},props:{open:{type:Boolean,required:!0}},emits:["update:open"],setup(){return{isRtl:j,disableKeyboardShortcuts:A}},computed:{label(){return this.open?r("Close navigation"):r("Open navigation {shortcut}",{shortcut:A?"":"[n]"}).trim()}},methods:{toggleNavigation(){this.$emit("update:open",!this.open)}}};var ke=function(){var e=this,t=e._self._c;return t("div",{staticClass:"app-navigation-toggle-wrapper"},[t("NcButton",{staticClass:"app-navigation-toggle",attrs:{"aria-controls":"app-navigation-vue","aria-expanded":e.open?"true":"false","aria-keyshortcuts":e.disableKeyboardShortcuts?"":"n","aria-label":e.label,title:e.label,variant:"tertiary"},on:{click:e.toggleNavigation},scopedSlots:e._u([{key:"icon",fn:function(){return[e.isRtl?t("DockRight",{attrs:{size:20}}):t("DockLeft",{attrs:{size:20}})]},proxy:!0}])})],1)},be=[],Se=l(Ce,ke,be,!1,null,"d28016dd");const St=Se.exports,Ne={name:"ChevronUpIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Ae=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon chevron-up-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e(),t("path",{attrs:{d:"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z"}})])])},Be=[],xe=l(Ne,Ae,Be,!1,null,null);const Le=xe.exports;f(H);const $e={name:"NcInputConfirmCancel",components:{NcButton:h,ArrowRight:F,Close:ne},props:{primary:{default:!1,type:Boolean},placeholder:{default:"",type:String},value:{default:"",type:String}},emits:["input","confirm","cancel"],setup(){return{isLegacy34:y}},data(){return{labelConfirm:r("Confirm changes"),labelCancel:r("Cancel changes")}},computed:{valueModel:{get(){return this.value},set(e){this.$emit("input",e)}}},methods:{confirm(){this.$emit("confirm")},cancel(){this.$emit("cancel")},focusInput(){this.$refs.input.focus()}}};var De=function(){var e=this,t=e._self._c;return t("div",{staticClass:"app-navigation-input-confirm",class:{"app-navigation-input-confirm--legacy":e.isLegacy34}},[t("form",{on:{submit:function(i){return i.preventDefault(),e.confirm.apply(null,arguments)},keydown:function(i){return!i.type.indexOf("key")&&e._k(i.keyCode,"esc",27,i.key,["Esc","Escape"])||i.ctrlKey||i.shiftKey||i.altKey||i.metaKey?null:(i.stopPropagation(),i.preventDefault(),e.cancel.apply(null,arguments))},click:function(i){i.stopPropagation(),i.preventDefault()}}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.valueModel,expression:"valueModel"}],ref:"input",staticClass:"app-navigation-input-confirm__input",attrs:{type:"text",placeholder:e.placeholder},domProps:{value:e.valueModel},on:{input:function(i){i.target.composing||(e.valueModel=i.target.value)}}}),t("NcButton",{attrs:{"aria-label":e.labelConfirm,type:"submit",variant:"primary"},on:{click:function(i){return i.stopPropagation(),i.preventDefault(),e.confirm.apply(null,arguments)}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("ArrowRight",{attrs:{size:20}})]},proxy:!0}])}),t("NcButton",{attrs:{"aria-label":e.labelCancel,type:"reset",variant:e.primary?"primary":"tertiary"},on:{click:function(i){return i.stopPropagation(),i.preventDefault(),e.cancel.apply(null,arguments)}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Close",{attrs:{size:20}})]},proxy:!0}])})],1)])},Ve=[],we=l($e,De,Ve,!1,null,"f9a3bb35");const Ie=we.exports,ze={name:"PencilIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Me=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon pencil-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e(),t("path",{attrs:{d:"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z"}})])])},Ee=[],Pe=l(ze,Me,Ee,!1,null,null);const Oe=Pe.exports,Ke={name:"UndoIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Re=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon undo-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e(),t("path",{attrs:{d:"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z"}})])])},He=[],Te=l(Ke,Re,He,!1,null,null);const Ue=Te.exports;f(T);const qe={name:"NcAppNavigationIconCollapsible",components:{NcButton:h,ChevronDown:ie,ChevronUp:Le},props:{open:{type:Boolean,default:!0},active:{type:Boolean,required:!0}},emits:["click"],setup(){return{isLegacy34:y}},computed:{labelButton(){return this.open?r("Collapse menu"):r("Open menu")}},methods:{onClick(e){this.$emit("click",e)}}};var Ze=function(){var e=this,t=e._self._c;return t("NcButton",{staticClass:"icon-collapse",class:{"icon-collapse--active":e.active,"icon-collapse--open":e.open},attrs:{"aria-label":e.labelButton,variant:e.active&&e.isLegacy34?"tertiary-on-primary":"tertiary"},on:{click:e.onClick},scopedSlots:e._u([{key:"icon",fn:function(){return[e.open?t("ChevronUp",{attrs:{size:20}}):t("ChevronDown",{attrs:{size:20}})]},proxy:!0}])})},je=[],Fe=l(qe,Ze,je,!1,null,"3c547cb0");const Ge=Fe.exports;f(q,U);const Je={name:"NcAppNavigationItem",components:{NcActions:le,NcActionButton:oe,NcAppNavigationIconCollapsible:Ge,NcInputConfirmCancel:Ie,NcLoadingIcon:se,NcVNodes:D,Pencil:Oe,Undo:Ue},props:{active:{type:Boolean,default:!1},name:{type:String,required:!0},title:{type:String,default:null},id:{type:String,default:()=>"app-navigation-item-"+ae(),validator:e=>e.trim()!==""},icon:{type:String,default:""},loading:{type:Boolean,default:!1},to:{type:[String,Object],default:null},href:{type:String,default:null},exact:{type:Boolean,default:!1},allowCollapse:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},editLabel:{type:String,default:""},editPlaceholder:{type:String,default:""},pinned:{type:Boolean,default:!1},undo:{type:Boolean,default:!1},open:{type:Boolean,default:!1},menuOpen:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},menuIcon:{type:String,default:void 0},menuPlacement:{type:String,default:"bottom"},ariaDescription:{type:String,default:null},forceDisplayActions:{type:Boolean,default:!1},inlineActions:{type:Number,default:0}},emits:["update:menuOpen","update:open","update:name","click","undo"],setup(){return{isMobile:x(),isLegacy34:y}},data(){return{editingValue:"",opened:this.open,editingActive:!1,menuOpenLocalValue:!1,focused:!1,actionsBoundariesElement:void 0}},computed:{isRouterLink(){return this.to&&!this.href},canHaveChildren(){return this.$parent.$options._componentTag!=="AppNavigationItem"},hasUtils(){return!!(this.$scopedSlots.actions||this.$scopedSlots.counter||this.editable||this.undo)},editButtonAriaLabel(){return this.editLabel?this.editLabel:r("Edit item")},undoButtonAriaLabel(){return r("Undo changes")}},watch:{open(e){this.opened=e}},mounted(){this.actionsBoundariesElement=document.querySelector("#content-vue")||void 0},methods:{onMenuToggle(e){this.$emit("update:menuOpen",e),this.menuOpenLocalValue=e},toggleCollapse(){this.opened=!this.opened,this.$emit("update:open",this.opened)},onClick(e,t,i){this.$emit("click",e),!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&i&&(t?.(e),e.preventDefault(),this.isMobile&&X("toggle-navigation",{open:!1}))},handleEdit(){this.editingValue=this.name,this.editingActive=!0,this.onMenuToggle(!1),this.$nextTick(()=>{this.$refs.editingInput.focusInput()})},cancelEditing(){this.editingActive=!1},handleEditingDone(){this.$emit("update:name",this.editingValue),this.editingValue="",this.editingActive=!1},handleUndo(){this.$emit("undo")},isCollapsible(){return this.allowCollapse&&!!this.$scopedSlots.default},handleFocus(){this.focused=!0},handleBlur(){this.focused=!1},handleTab(e){if(this.editingActive)return;const t=this.$el?.querySelector(".app-navigation-entry__utils");if(!t)return;const i=t.querySelector("button");this.focused&&i&&(e.preventDefault(),i.focus(),this.focused=!1)},isExternal(e){return e&&e.match(/[a-z]+:\/\//i)}}};var Qe=function(){var e=this,t=e._self._c;return t("li",{staticClass:"app-navigation-entry-wrapper",class:{"app-navigation-entry--opened":e.opened,"app-navigation-entry--pinned":e.pinned,"app-navigation-entry--collapsible":e.isCollapsible()},attrs:{id:e.id}},[t(e.isRouterLink?"router-link":"NcVNodes",{tag:"component",attrs:{custom:!!e.isRouterLink,to:e.to,exact:e.isRouterLink?e.exact:null},scopedSlots:e._u([{key:"default",fn:function({href:i,navigate:u,isActive:a}){return[t("div",{staticClass:"app-navigation-entry",class:{"app-navigation-entry--editing":e.editingActive,"app-navigation-entry--deleted":e.undo,"app-navigation-entry--legacy":e.isLegacy34,active:e.to&&a||e.active}},[e.undo?e._e():t("a",{staticClass:"app-navigation-entry-link",attrs:{"aria-current":e.active||e.to&&a?"page":void 0,"aria-description":e.ariaDescription,"aria-expanded":e.$scopedSlots.default?e.opened.toString():void 0,href:e.href||i||"#",target:e.isExternal(e.href)?"_blank":void 0,title:e.title||e.name},on:{blur:e.handleBlur,click:function(n){return e.onClick(n,u,i)},focus:e.handleFocus,keydown:function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"tab",9,n.key,"Tab")||n.ctrlKey||n.shiftKey||n.altKey||n.metaKey?null:e.handleTab.apply(null,arguments)}}},[t("div",{staticClass:"app-navigation-entry-icon",class:{[e.icon]:e.icon}},[e.loading?t("NcLoadingIcon"):e._t("icon",null,{active:e.active||e.to&&a})],2),e.editingActive?e._e():t("span",{staticClass:"app-navigation-entry__name"},[e._v(" "+e._s(e.name)+" ")]),e.editingActive?t("div",{staticClass:"editingContainer"},[t("NcInputConfirmCancel",{ref:"editingInput",attrs:{placeholder:e.editPlaceholder!==""?e.editPlaceholder:e.name,primary:e.to&&a||e.active},on:{cancel:e.cancelEditing,confirm:e.handleEditingDone},model:{value:e.editingValue,callback:function(n){e.editingValue=n},expression:"editingValue"}})],1):e._e()]),e.undo?t("div",{staticClass:"app-navigation-entry__deleted"},[t("div",{staticClass:"app-navigation-entry__deleted-description"},[e._v(" "+e._s(e.name)+" ")])]):e._e(),e.hasUtils&&!e.editingActive?t("div",{staticClass:"app-navigation-entry__utils",class:{"app-navigation-entry__utils--display-actions":e.forceDisplayActions||e.menuOpenLocalValue||e.menuOpen}},[e.$scopedSlots.counter?t("div",{staticClass:"app-navigation-entry__counter-wrapper"},[e._t("counter")],2):e._e(),e.$scopedSlots.actions||e.editable&&!e.editingActive||e.undo?t("NcActions",{ref:"actions",staticClass:"app-navigation-entry__actions",attrs:{inline:e.inlineActions,container:"#app-navigation-vue","boundaries-element":e.actionsBoundariesElement,placement:e.menuPlacement,open:e.menuOpen,type:"tertiary","force-menu":e.forceMenu,"default-icon":e.menuIcon},on:{"update:open":e.onMenuToggle},scopedSlots:e._u([{key:"icon",fn:function(){return[e._t("menu-icon")]},proxy:!0}],null,!0)},[e.editable&&!e.editingActive?t("NcActionButton",{attrs:{"aria-label":e.editButtonAriaLabel},on:{click:e.handleEdit},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Pencil",{attrs:{size:20}})]},proxy:!0}],null,!0)},[e._v(" "+e._s(e.editLabel)+" ")]):e._e(),e.undo?t("NcActionButton",{attrs:{"aria-label":e.undoButtonAriaLabel},on:{click:e.handleUndo},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Undo",{attrs:{size:20}})]},proxy:!0}],null,!0)}):e._e(),e._t("actions")],2):e._e()],1):e._e(),e.isCollapsible()?t("NcAppNavigationIconCollapsible",{attrs:{active:e.to&&a||e.active,open:e.opened},on:{click:function(n){return n.preventDefault(),n.stopPropagation(),e.toggleCollapse.apply(null,arguments)}}}):e._e(),e._t("extra")],2)]}}],null,!0)}),e.canHaveChildren&&e.$scopedSlots.default?t("ul",{staticClass:"app-navigation-entry__children"},[e._t("default")],2):e._e()],1)},We=[],Xe=l(Je,Qe,We,!1,null,"cb63e0d5");const Nt=Xe.exports,V=Symbol.for("NcAppSettingsDialog:registration"),w=Symbol.for("NcAppSettingsDialog:legacy");function At(){return L(V)}const Ye=$({__name:"NcAppSettingsDialogVersion",setup(e){const t=L(w),i=Q();return{__sfc:!0,legacy:t,localizedAppName:i,APP_VERSION:W}}}),et="_appSettingsDialogVersion_2lg6o",tt="_appSettingsDialogVersion__legacy_cnkcL",it={"material-design-icon":"_material-design-icon_m1Dx0",appSettingsDialogVersion:et,appSettingsDialogVersion__legacy:tt};var nt=function(){var e=this,t=e._self._c,i=e._self._setupProxy;return t("div",{class:[e.$style.appSettingsDialogVersion,{[e.$style.appSettingsDialogVersion__legacy]:i.legacy}]},[e._v(" "+e._s(i.localizedAppName)+" "+e._s(i.APP_VERSION)+" ")])},at=[];const B={$style:it};function ot(e){for(var t in B)this[t]=B[t]}var lt=l(Ye,nt,at,!1,ot,null);const st=lt.exports;f(Z);const rt=$({__name:"NcAppSettingsDialog",props:{open:{type:Boolean},showNavigation:{type:Boolean},container:{default:"body"},name:{default:""},additionalTrapElements:{default:()=>[]},legacy:{type:Boolean,default:!0},noVersion:{type:Boolean,default:!1}},emits:["update:open"],setup(e,{emit:t}){const i=e,u=G(i,"open",t,{passive:!0});S(V,{registerSection:k,unregisterSection:b}),S(w,J(()=>i.legacy));const a=_(),n=x(),d=_(""),m=_(!1),s=Y([]),I=N(()=>!n.value&&i.showNavigation),z=N(()=>s.value.some(({icon:o})=>!!o)),C=re(()=>{d.value="",document.activeElement?.className.includes("navigation-list__link")&&document.activeElement.blur()},300),p=new Map;ee(()=>{p.clear()});function M(o){m.value=!0;const c=document.getElementById("settings-section_"+o);c.scrollIntoView({behavior:"smooth",inline:"nearest"}),c.focus({preventScroll:!0}),d.value=o,setTimeout(()=>{m.value=!1},1e3)}function E(o){o||(u.value=!1,a.value.scrollTop=0)}function P(){u.value&&!m.value&&C()}function k(o,c,g,O){if(s.value.some(({id:v})=>o===v))throw new Error(`Duplicate section id found: ${o}. Settings navigation sections must have unique section ids.`);s.value.some(({name:v})=>c===v)&&te.util.warn(`Duplicate section name found: ${c}. Settings navigation sections must have unique section names.`),g!==void 0?p.set(o,g):p.has(o)?g=p.get(o):(g=Math.max(0,...p.values())+1,p.set(o,g)),s.value=[...s.value,{id:o,name:c,order:g,icon:O}].sort(({order:v},{order:K})=>v-K),s.value.length===1&&(d.value=o)}function b(o){s.value=s.value.filter(({id:c})=>o!==c),d.value===o&&(d.value=s.value[0]?.id??"")}return{__sfc:!0,props:i,emit:t,open:u,settingsScroller:a,isMobile:n,selectedSection:d,linkClicked:m,registeredSections:s,hasNavigation:I,hasNavigationIcons:z,unfocusNavigationItem:C,sectionsOrderMap:p,handleSettingsNavigationClick:M,handleCloseModal:E,handleScroll:P,registerSection:k,unregisterSection:b,NcDialog:ce,NcVNodes:D,NcAppSettingsDialogVersion:st,t:r,isLegacy34:y}}});var ct=function(){var e=this,t=e._self._c,i=e._self._setupProxy;return i.open?t(i.NcDialog,{staticClass:"app-settings",class:{"app-settings--legacy":i.isLegacy34},attrs:{"content-classes":["app-settings__content",{"app-settings__non-legacy":!e.legacy}],"navigation-classes":"app-settings__navigation","additional-trap-elements":e.additionalTrapElements,container:e.container,"close-on-click-outside":"","navigation-aria-label":i.t("Settings navigation"),size:"large",name:e.name},on:{"update:open":i.handleCloseModal},scopedSlots:e._u([i.hasNavigation?{key:"navigation",fn:function({isCollapsed:u}){return[i.isLegacy34?e._e():t("div",{staticClass:"app-settings__title"},[e._v(" "+e._s(e.name)+" ")]),u?e._e():t("ul",{staticClass:"navigation-list"},e._l(i.registeredSections,function(a){return t("li",{key:a.id},[t("a",{staticClass:"navigation-list__link",class:{"navigation-list__link--active":a.id===i.selectedSection,"navigation-list__link--icon":i.hasNavigationIcons},attrs:{"aria-current":`${a.id===i.selectedSection}`,href:`#settings-section_${a.id}`,tabindex:"0"},on:{click:function(n){return n.preventDefault(),i.handleSettingsNavigationClick(a.id)},keydown:function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"enter",13,n.key,"Enter")?null:i.handleSettingsNavigationClick(a.id)}}},[i.hasNavigationIcons?t("div",{staticClass:"navigation-list__link-icon"},[a.icon?t(i.NcVNodes,{attrs:{vnodes:a.icon}}):e._e()],1):e._e(),t("span",{staticClass:"navigation-list__link-text"},[e._v(" "+e._s(a.name)+" ")])])])}),0)]}}:null],null,!0)},[t("div",{ref:"settingsScroller",on:{scroll:i.handleScroll}},[e._t("default"),e.noVersion?e._e():t(i.NcAppSettingsDialogVersion)],2)]):e._e()},ut=[],pt=l(rt,ct,ut,!1,null,"d5ede33a");const Bt=pt.exports;export{w as A,St as N,Bt as a,Nt as b,At as u};
-//# sourceMappingURL=NcFormBoxButton-DQYM40Lb-DYhdxO-h.chunk.mjs.map
+import{n as l,r as f,aj as R,N as h,e as r,ak as H,al as y,am as T,C as U,an as q,v as x,ao as Z}from"./index-msNec4Xs.chunk.mjs";import{d as j,A as F,e as G,f as J,g as Q,j as W}from"./video-B2A2Ed33.chunk.mjs";import{Z as X,y as L,d as $,$ as S,h as _,a0 as Y,c as N,a1 as ee,V as te}from"./preload-helper-B1hyiFAx.chunk.mjs";import{C as ie}from"./NcSelect-COY5TV2U-BdSBqkqE.chunk.mjs";import{C as ne}from"./NcModal-DnfAQoZ9.chunk.mjs";import{G as ae}from"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";import{N as oe,b as le}from"./NcActions-C4f9MXug-BC_2VOkH.chunk.mjs";import{N as se}from"./NcLoadingIcon-DM-94wwW.chunk.mjs";import{N as D}from"./NcVNodes-CMjqwGYg.chunk.mjs";import{d as re}from"./NcAvatar-BbHwxwyd-CJZWCZ0O.chunk.mjs";import{N as ce}from"./NcDialog-Di3PCaC2-BbWxOohO.chunk.mjs";const ue={name:"DockRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var pe=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon dock-right-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e(),t("path",{attrs:{d:"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M15 18H4V6H15Z"}})])])},de=[],ge=l(ue,pe,de,!1,null,null);const ve=ge.exports,fe={name:"DockLeftIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var me=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon dock-left-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e(),t("path",{attrs:{d:"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 18H9V6H20Z"}})])])},ye=[],_e=l(fe,me,ye,!1,null,null);const he=_e.exports;f(R);const A=window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),Ce={name:"NcAppNavigationToggle",components:{DockLeft:he,DockRight:ve,NcButton:h},props:{open:{type:Boolean,required:!0}},emits:["update:open"],setup(){return{isRtl:j,disableKeyboardShortcuts:A}},computed:{label(){return this.open?r("Close navigation"):r("Open navigation {shortcut}",{shortcut:A?"":"[n]"}).trim()}},methods:{toggleNavigation(){this.$emit("update:open",!this.open)}}};var ke=function(){var e=this,t=e._self._c;return t("div",{staticClass:"app-navigation-toggle-wrapper"},[t("NcButton",{staticClass:"app-navigation-toggle",attrs:{"aria-controls":"app-navigation-vue","aria-expanded":e.open?"true":"false","aria-keyshortcuts":e.disableKeyboardShortcuts?"":"n","aria-label":e.label,title:e.label,variant:"tertiary"},on:{click:e.toggleNavigation},scopedSlots:e._u([{key:"icon",fn:function(){return[e.isRtl?t("DockRight",{attrs:{size:20}}):t("DockLeft",{attrs:{size:20}})]},proxy:!0}])})],1)},be=[],Se=l(Ce,ke,be,!1,null,"d28016dd");const St=Se.exports,Ne={name:"ChevronUpIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Ae=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon chevron-up-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e(),t("path",{attrs:{d:"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z"}})])])},Be=[],xe=l(Ne,Ae,Be,!1,null,null);const Le=xe.exports;f(H);const $e={name:"NcInputConfirmCancel",components:{NcButton:h,ArrowRight:F,Close:ne},props:{primary:{default:!1,type:Boolean},placeholder:{default:"",type:String},value:{default:"",type:String}},emits:["input","confirm","cancel"],setup(){return{isLegacy34:y}},data(){return{labelConfirm:r("Confirm changes"),labelCancel:r("Cancel changes")}},computed:{valueModel:{get(){return this.value},set(e){this.$emit("input",e)}}},methods:{confirm(){this.$emit("confirm")},cancel(){this.$emit("cancel")},focusInput(){this.$refs.input.focus()}}};var De=function(){var e=this,t=e._self._c;return t("div",{staticClass:"app-navigation-input-confirm",class:{"app-navigation-input-confirm--legacy":e.isLegacy34}},[t("form",{on:{submit:function(i){return i.preventDefault(),e.confirm.apply(null,arguments)},keydown:function(i){return!i.type.indexOf("key")&&e._k(i.keyCode,"esc",27,i.key,["Esc","Escape"])||i.ctrlKey||i.shiftKey||i.altKey||i.metaKey?null:(i.stopPropagation(),i.preventDefault(),e.cancel.apply(null,arguments))},click:function(i){i.stopPropagation(),i.preventDefault()}}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.valueModel,expression:"valueModel"}],ref:"input",staticClass:"app-navigation-input-confirm__input",attrs:{type:"text",placeholder:e.placeholder},domProps:{value:e.valueModel},on:{input:function(i){i.target.composing||(e.valueModel=i.target.value)}}}),t("NcButton",{attrs:{"aria-label":e.labelConfirm,type:"submit",variant:"primary"},on:{click:function(i){return i.stopPropagation(),i.preventDefault(),e.confirm.apply(null,arguments)}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("ArrowRight",{attrs:{size:20}})]},proxy:!0}])}),t("NcButton",{attrs:{"aria-label":e.labelCancel,type:"reset",variant:e.primary?"primary":"tertiary"},on:{click:function(i){return i.stopPropagation(),i.preventDefault(),e.cancel.apply(null,arguments)}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Close",{attrs:{size:20}})]},proxy:!0}])})],1)])},Ve=[],we=l($e,De,Ve,!1,null,"f9a3bb35");const Ie=we.exports,ze={name:"PencilIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Me=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon pencil-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e(),t("path",{attrs:{d:"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z"}})])])},Ee=[],Pe=l(ze,Me,Ee,!1,null,null);const Oe=Pe.exports,Ke={name:"UndoIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Re=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon undo-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e(),t("path",{attrs:{d:"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z"}})])])},He=[],Te=l(Ke,Re,He,!1,null,null);const Ue=Te.exports;f(T);const qe={name:"NcAppNavigationIconCollapsible",components:{NcButton:h,ChevronDown:ie,ChevronUp:Le},props:{open:{type:Boolean,default:!0},active:{type:Boolean,required:!0}},emits:["click"],setup(){return{isLegacy34:y}},computed:{labelButton(){return this.open?r("Collapse menu"):r("Open menu")}},methods:{onClick(e){this.$emit("click",e)}}};var Ze=function(){var e=this,t=e._self._c;return t("NcButton",{staticClass:"icon-collapse",class:{"icon-collapse--active":e.active,"icon-collapse--open":e.open},attrs:{"aria-label":e.labelButton,variant:e.active&&e.isLegacy34?"tertiary-on-primary":"tertiary"},on:{click:e.onClick},scopedSlots:e._u([{key:"icon",fn:function(){return[e.open?t("ChevronUp",{attrs:{size:20}}):t("ChevronDown",{attrs:{size:20}})]},proxy:!0}])})},je=[],Fe=l(qe,Ze,je,!1,null,"3c547cb0");const Ge=Fe.exports;f(q,U);const Je={name:"NcAppNavigationItem",components:{NcActions:le,NcActionButton:oe,NcAppNavigationIconCollapsible:Ge,NcInputConfirmCancel:Ie,NcLoadingIcon:se,NcVNodes:D,Pencil:Oe,Undo:Ue},props:{active:{type:Boolean,default:!1},name:{type:String,required:!0},title:{type:String,default:null},id:{type:String,default:()=>"app-navigation-item-"+ae(),validator:e=>e.trim()!==""},icon:{type:String,default:""},loading:{type:Boolean,default:!1},to:{type:[String,Object],default:null},href:{type:String,default:null},exact:{type:Boolean,default:!1},allowCollapse:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},editLabel:{type:String,default:""},editPlaceholder:{type:String,default:""},pinned:{type:Boolean,default:!1},undo:{type:Boolean,default:!1},open:{type:Boolean,default:!1},menuOpen:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},menuIcon:{type:String,default:void 0},menuPlacement:{type:String,default:"bottom"},ariaDescription:{type:String,default:null},forceDisplayActions:{type:Boolean,default:!1},inlineActions:{type:Number,default:0}},emits:["update:menuOpen","update:open","update:name","click","undo"],setup(){return{isMobile:x(),isLegacy34:y}},data(){return{editingValue:"",opened:this.open,editingActive:!1,menuOpenLocalValue:!1,focused:!1,actionsBoundariesElement:void 0}},computed:{isRouterLink(){return this.to&&!this.href},canHaveChildren(){return this.$parent.$options._componentTag!=="AppNavigationItem"},hasUtils(){return!!(this.$scopedSlots.actions||this.$scopedSlots.counter||this.editable||this.undo)},editButtonAriaLabel(){return this.editLabel?this.editLabel:r("Edit item")},undoButtonAriaLabel(){return r("Undo changes")}},watch:{open(e){this.opened=e}},mounted(){this.actionsBoundariesElement=document.querySelector("#content-vue")||void 0},methods:{onMenuToggle(e){this.$emit("update:menuOpen",e),this.menuOpenLocalValue=e},toggleCollapse(){this.opened=!this.opened,this.$emit("update:open",this.opened)},onClick(e,t,i){this.$emit("click",e),!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&i&&(t?.(e),e.preventDefault(),this.isMobile&&X("toggle-navigation",{open:!1}))},handleEdit(){this.editingValue=this.name,this.editingActive=!0,this.onMenuToggle(!1),this.$nextTick(()=>{this.$refs.editingInput.focusInput()})},cancelEditing(){this.editingActive=!1},handleEditingDone(){this.$emit("update:name",this.editingValue),this.editingValue="",this.editingActive=!1},handleUndo(){this.$emit("undo")},isCollapsible(){return this.allowCollapse&&!!this.$scopedSlots.default},handleFocus(){this.focused=!0},handleBlur(){this.focused=!1},handleTab(e){if(this.editingActive)return;const t=this.$el?.querySelector(".app-navigation-entry__utils");if(!t)return;const i=t.querySelector("button");this.focused&&i&&(e.preventDefault(),i.focus(),this.focused=!1)},isExternal(e){return e&&e.match(/[a-z]+:\/\//i)}}};var Qe=function(){var e=this,t=e._self._c;return t("li",{staticClass:"app-navigation-entry-wrapper",class:{"app-navigation-entry--opened":e.opened,"app-navigation-entry--pinned":e.pinned,"app-navigation-entry--collapsible":e.isCollapsible()},attrs:{id:e.id}},[t(e.isRouterLink?"router-link":"NcVNodes",{tag:"component",attrs:{custom:!!e.isRouterLink,to:e.to,exact:e.isRouterLink?e.exact:null},scopedSlots:e._u([{key:"default",fn:function({href:i,navigate:u,isActive:a}){return[t("div",{staticClass:"app-navigation-entry",class:{"app-navigation-entry--editing":e.editingActive,"app-navigation-entry--deleted":e.undo,"app-navigation-entry--legacy":e.isLegacy34,active:e.to&&a||e.active}},[e.undo?e._e():t("a",{staticClass:"app-navigation-entry-link",attrs:{"aria-current":e.active||e.to&&a?"page":void 0,"aria-description":e.ariaDescription,"aria-expanded":e.$scopedSlots.default?e.opened.toString():void 0,href:e.href||i||"#",target:e.isExternal(e.href)?"_blank":void 0,title:e.title||e.name},on:{blur:e.handleBlur,click:function(n){return e.onClick(n,u,i)},focus:e.handleFocus,keydown:function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"tab",9,n.key,"Tab")||n.ctrlKey||n.shiftKey||n.altKey||n.metaKey?null:e.handleTab.apply(null,arguments)}}},[t("div",{staticClass:"app-navigation-entry-icon",class:{[e.icon]:e.icon}},[e.loading?t("NcLoadingIcon"):e._t("icon",null,{active:e.active||e.to&&a})],2),e.editingActive?e._e():t("span",{staticClass:"app-navigation-entry__name"},[e._v(" "+e._s(e.name)+" ")]),e.editingActive?t("div",{staticClass:"editingContainer"},[t("NcInputConfirmCancel",{ref:"editingInput",attrs:{placeholder:e.editPlaceholder!==""?e.editPlaceholder:e.name,primary:e.to&&a||e.active},on:{cancel:e.cancelEditing,confirm:e.handleEditingDone},model:{value:e.editingValue,callback:function(n){e.editingValue=n},expression:"editingValue"}})],1):e._e()]),e.undo?t("div",{staticClass:"app-navigation-entry__deleted"},[t("div",{staticClass:"app-navigation-entry__deleted-description"},[e._v(" "+e._s(e.name)+" ")])]):e._e(),e.hasUtils&&!e.editingActive?t("div",{staticClass:"app-navigation-entry__utils",class:{"app-navigation-entry__utils--display-actions":e.forceDisplayActions||e.menuOpenLocalValue||e.menuOpen}},[e.$scopedSlots.counter?t("div",{staticClass:"app-navigation-entry__counter-wrapper"},[e._t("counter")],2):e._e(),e.$scopedSlots.actions||e.editable&&!e.editingActive||e.undo?t("NcActions",{ref:"actions",staticClass:"app-navigation-entry__actions",attrs:{inline:e.inlineActions,container:"#app-navigation-vue","boundaries-element":e.actionsBoundariesElement,placement:e.menuPlacement,open:e.menuOpen,type:"tertiary","force-menu":e.forceMenu,"default-icon":e.menuIcon},on:{"update:open":e.onMenuToggle},scopedSlots:e._u([{key:"icon",fn:function(){return[e._t("menu-icon")]},proxy:!0}],null,!0)},[e.editable&&!e.editingActive?t("NcActionButton",{attrs:{"aria-label":e.editButtonAriaLabel},on:{click:e.handleEdit},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Pencil",{attrs:{size:20}})]},proxy:!0}],null,!0)},[e._v(" "+e._s(e.editLabel)+" ")]):e._e(),e.undo?t("NcActionButton",{attrs:{"aria-label":e.undoButtonAriaLabel},on:{click:e.handleUndo},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Undo",{attrs:{size:20}})]},proxy:!0}],null,!0)}):e._e(),e._t("actions")],2):e._e()],1):e._e(),e.isCollapsible()?t("NcAppNavigationIconCollapsible",{attrs:{active:e.to&&a||e.active,open:e.opened},on:{click:function(n){return n.preventDefault(),n.stopPropagation(),e.toggleCollapse.apply(null,arguments)}}}):e._e(),e._t("extra")],2)]}}],null,!0)}),e.canHaveChildren&&e.$scopedSlots.default?t("ul",{staticClass:"app-navigation-entry__children"},[e._t("default")],2):e._e()],1)},We=[],Xe=l(Je,Qe,We,!1,null,"cb63e0d5");const Nt=Xe.exports,V=Symbol.for("NcAppSettingsDialog:registration"),w=Symbol.for("NcAppSettingsDialog:legacy");function At(){return L(V)}const Ye=$({__name:"NcAppSettingsDialogVersion",setup(e){const t=L(w),i=Q();return{__sfc:!0,legacy:t,localizedAppName:i,APP_VERSION:W}}}),et="_appSettingsDialogVersion_2lg6o",tt="_appSettingsDialogVersion__legacy_cnkcL",it={"material-design-icon":"_material-design-icon_m1Dx0",appSettingsDialogVersion:et,appSettingsDialogVersion__legacy:tt};var nt=function(){var e=this,t=e._self._c,i=e._self._setupProxy;return t("div",{class:[e.$style.appSettingsDialogVersion,{[e.$style.appSettingsDialogVersion__legacy]:i.legacy}]},[e._v(" "+e._s(i.localizedAppName)+" "+e._s(i.APP_VERSION)+" ")])},at=[];const B={$style:it};function ot(e){for(var t in B)this[t]=B[t]}var lt=l(Ye,nt,at,!1,ot,null);const st=lt.exports;f(Z);const rt=$({__name:"NcAppSettingsDialog",props:{open:{type:Boolean},showNavigation:{type:Boolean},container:{default:"body"},name:{default:""},additionalTrapElements:{default:()=>[]},legacy:{type:Boolean,default:!0},noVersion:{type:Boolean,default:!1}},emits:["update:open"],setup(e,{emit:t}){const i=e,u=G(i,"open",t,{passive:!0});S(V,{registerSection:k,unregisterSection:b}),S(w,J(()=>i.legacy));const a=_(),n=x(),d=_(""),m=_(!1),s=Y([]),I=N(()=>!n.value&&i.showNavigation),z=N(()=>s.value.some(({icon:o})=>!!o)),C=re(()=>{d.value="",document.activeElement?.className.includes("navigation-list__link")&&document.activeElement.blur()},300),p=new Map;ee(()=>{p.clear()});function M(o){m.value=!0;const c=document.getElementById("settings-section_"+o);c.scrollIntoView({behavior:"smooth",inline:"nearest"}),c.focus({preventScroll:!0}),d.value=o,setTimeout(()=>{m.value=!1},1e3)}function E(o){o||(u.value=!1,a.value.scrollTop=0)}function P(){u.value&&!m.value&&C()}function k(o,c,g,O){if(s.value.some(({id:v})=>o===v))throw new Error(`Duplicate section id found: ${o}. Settings navigation sections must have unique section ids.`);s.value.some(({name:v})=>c===v)&&te.util.warn(`Duplicate section name found: ${c}. Settings navigation sections must have unique section names.`),g!==void 0?p.set(o,g):p.has(o)?g=p.get(o):(g=Math.max(0,...p.values())+1,p.set(o,g)),s.value=[...s.value,{id:o,name:c,order:g,icon:O}].sort(({order:v},{order:K})=>v-K),s.value.length===1&&(d.value=o)}function b(o){s.value=s.value.filter(({id:c})=>o!==c),d.value===o&&(d.value=s.value[0]?.id??"")}return{__sfc:!0,props:i,emit:t,open:u,settingsScroller:a,isMobile:n,selectedSection:d,linkClicked:m,registeredSections:s,hasNavigation:I,hasNavigationIcons:z,unfocusNavigationItem:C,sectionsOrderMap:p,handleSettingsNavigationClick:M,handleCloseModal:E,handleScroll:P,registerSection:k,unregisterSection:b,NcDialog:ce,NcVNodes:D,NcAppSettingsDialogVersion:st,t:r,isLegacy34:y}}});var ct=function(){var e=this,t=e._self._c,i=e._self._setupProxy;return i.open?t(i.NcDialog,{staticClass:"app-settings",class:{"app-settings--legacy":i.isLegacy34},attrs:{"content-classes":["app-settings__content",{"app-settings__non-legacy":!e.legacy}],"navigation-classes":"app-settings__navigation","additional-trap-elements":e.additionalTrapElements,container:e.container,"close-on-click-outside":"","navigation-aria-label":i.t("Settings navigation"),size:"large",name:e.name},on:{"update:open":i.handleCloseModal},scopedSlots:e._u([i.hasNavigation?{key:"navigation",fn:function({isCollapsed:u}){return[i.isLegacy34?e._e():t("div",{staticClass:"app-settings__title"},[e._v(" "+e._s(e.name)+" ")]),u?e._e():t("ul",{staticClass:"navigation-list"},e._l(i.registeredSections,function(a){return t("li",{key:a.id},[t("a",{staticClass:"navigation-list__link",class:{"navigation-list__link--active":a.id===i.selectedSection,"navigation-list__link--icon":i.hasNavigationIcons},attrs:{"aria-current":`${a.id===i.selectedSection}`,href:`#settings-section_${a.id}`,tabindex:"0"},on:{click:function(n){return n.preventDefault(),i.handleSettingsNavigationClick(a.id)},keydown:function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"enter",13,n.key,"Enter")?null:i.handleSettingsNavigationClick(a.id)}}},[i.hasNavigationIcons?t("div",{staticClass:"navigation-list__link-icon"},[a.icon?t(i.NcVNodes,{attrs:{vnodes:a.icon}}):e._e()],1):e._e(),t("span",{staticClass:"navigation-list__link-text"},[e._v(" "+e._s(a.name)+" ")])])])}),0)]}}:null],null,!0)},[t("div",{ref:"settingsScroller",on:{scroll:i.handleScroll}},[e._t("default"),e.noVersion?e._e():t(i.NcAppSettingsDialogVersion)],2)]):e._e()},ut=[],pt=l(rt,ct,ut,!1,null,"d5ede33a");const Bt=pt.exports;export{w as A,St as N,Bt as a,Nt as b,At as u};
+//# sourceMappingURL=NcFormBoxButton-DQYM40Lb-91L-5JKl.chunk.mjs.map
diff --git a/js/NcFormBoxButton-DQYM40Lb-DYhdxO-h.chunk.mjs.license b/js/NcFormBoxButton-DQYM40Lb-91L-5JKl.chunk.mjs.license
similarity index 100%
rename from js/NcFormBoxButton-DQYM40Lb-DYhdxO-h.chunk.mjs.license
rename to js/NcFormBoxButton-DQYM40Lb-91L-5JKl.chunk.mjs.license
diff --git a/js/NcFormBoxButton-DQYM40Lb-DYhdxO-h.chunk.mjs.map b/js/NcFormBoxButton-DQYM40Lb-91L-5JKl.chunk.mjs.map
similarity index 99%
rename from js/NcFormBoxButton-DQYM40Lb-DYhdxO-h.chunk.mjs.map
rename to js/NcFormBoxButton-DQYM40Lb-91L-5JKl.chunk.mjs.map
index 5c4edc6025..41a0809cfb 100644
--- a/js/NcFormBoxButton-DQYM40Lb-DYhdxO-h.chunk.mjs.map
+++ b/js/NcFormBoxButton-DQYM40Lb-91L-5JKl.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"NcFormBoxButton-DQYM40Lb-DYhdxO-h.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/DockRight-CkHKixA5.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationToggle-DTR2f0cS.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronUp-Dw4mVwZP.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputConfirmCancel-C_Yw7EMA.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationItem-1fb45Iml.mjs","../node_modules/@nextcloud/vue/dist/chunks/useAppSettingsDialog-C73Wx6iQ.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppSettingsDialog-COfShoRs.mjs"],"sourcesContent":["import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"DockRightIcon\",\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 dock-right-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M15 18H4V6H15Z\" } })])]);\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 DockRight = __component__.exports;\nexport {\n DockRight as D\n};\n//# sourceMappingURL=DockRight-CkHKixA5.mjs.map\n","import '../assets/NcAppNavigationToggle-D1K2TRZ-.css';\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { D as DockRight } from \"./DockRight-CkHKixA5.mjs\";\nimport { r as register, E as t19, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nimport { i as isRtl } from \"./rtl-v0UOPAM7.mjs\";\nimport { N as NcButton } from \"./NcButton-DAGirW_B.mjs\";\nconst _sfc_main$1 = {\n name: \"DockLeftIcon\",\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$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon dock-left-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 18H9V6H20Z\" } })])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst DockLeft = __component__$1.exports;\nregister(t19);\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.();\nconst _sfc_main = {\n name: \"NcAppNavigationToggle\",\n components: {\n DockLeft,\n DockRight,\n NcButton\n },\n props: {\n /**\n * Tracks whether the toggle has been clicked or not.\n * If it has been clicked, emits a boolean indicating its opened status\n */\n open: {\n type: Boolean,\n required: true\n }\n },\n emits: [\"update:open\"],\n setup() {\n return {\n isRtl,\n disableKeyboardShortcuts\n };\n },\n computed: {\n label() {\n return this.open ? t(\"Close navigation\") : t(\"Open navigation {shortcut}\", { shortcut: disableKeyboardShortcuts ? \"\" : \"[n]\" }).trim();\n }\n },\n methods: {\n /**\n * Once the toggle has been clicked, emits the toggle status\n * so parent components can gauge the status of the navigation button\n */\n toggleNavigation() {\n this.$emit(\"update:open\", !this.open);\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-toggle-wrapper\" }, [_c(\"NcButton\", { staticClass: \"app-navigation-toggle\", attrs: { \"aria-controls\": \"app-navigation-vue\", \"aria-expanded\": _vm.open ? \"true\" : \"false\", \"aria-keyshortcuts\": _vm.disableKeyboardShortcuts ? \"\" : \"n\", \"aria-label\": _vm.label, \"title\": _vm.label, \"variant\": \"tertiary\" }, on: { \"click\": _vm.toggleNavigation }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.isRtl ? _c(\"DockRight\", { attrs: { \"size\": 20 } }) : _c(\"DockLeft\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) })], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"d28016dd\"\n);\nconst NcAppNavigationToggle = __component__.exports;\nexport {\n NcAppNavigationToggle as N\n};\n//# sourceMappingURL=NcAppNavigationToggle-DTR2f0cS.mjs.map\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"ChevronUpIcon\",\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-up-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\" } })])]);\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 ChevronUp = __component__.exports;\nexport {\n ChevronUp as C\n};\n//# sourceMappingURL=ChevronUp-Dw4mVwZP.mjs.map\n","import '../assets/NcInputConfirmCancel-DRZviUxz.css';\nimport { A as ArrowRight } from \"./ArrowRight-Yy9LZ7hv.mjs\";\nimport { C as Close } from \"./Close-COCw8OO8.mjs\";\nimport { r as register, s as t13, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nimport { i as isLegacy34 } from \"./legacy-Cy3dCXuB.mjs\";\nimport { N as NcButton } from \"./NcButton-DAGirW_B.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t13);\nconst _sfc_main = {\n name: \"NcInputConfirmCancel\",\n components: {\n NcButton,\n ArrowRight,\n Close\n },\n props: {\n /**\n * If this element is used on a primary element set to true for primary styling.\n */\n primary: {\n default: false,\n type: Boolean\n },\n /**\n * Placeholder of the edit field\n */\n placeholder: {\n default: \"\",\n type: String\n },\n /**\n * The current name (model value)\n */\n value: {\n default: \"\",\n type: String\n }\n },\n emits: [\n \"input\",\n \"confirm\",\n \"cancel\"\n ],\n setup() {\n return { isLegacy34 };\n },\n data() {\n return {\n labelConfirm: t(\"Confirm changes\"),\n labelCancel: t(\"Cancel changes\")\n };\n },\n computed: {\n valueModel: {\n get() {\n return this.value;\n },\n set(newValue) {\n this.$emit(\"input\", newValue);\n }\n }\n },\n methods: {\n confirm() {\n this.$emit(\"confirm\");\n },\n cancel() {\n this.$emit(\"cancel\");\n },\n focusInput() {\n this.$refs.input.focus();\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-input-confirm\", class: { \"app-navigation-input-confirm--legacy\": _vm.isLegacy34 } }, [_c(\"form\", { on: { \"submit\": function($event) {\n $event.preventDefault();\n return _vm.confirm.apply(null, arguments);\n }, \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) return null;\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.cancel.apply(null, arguments);\n }, \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n } } }, [_c(\"input\", { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.valueModel, expression: \"valueModel\" }], ref: \"input\", staticClass: \"app-navigation-input-confirm__input\", attrs: { \"type\": \"text\", \"placeholder\": _vm.placeholder }, domProps: { \"value\": _vm.valueModel }, on: { \"input\": function($event) {\n if ($event.target.composing) return;\n _vm.valueModel = $event.target.value;\n } } }), _c(\"NcButton\", { attrs: { \"aria-label\": _vm.labelConfirm, \"type\": \"submit\", \"variant\": \"primary\" }, on: { \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.confirm.apply(null, arguments);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"ArrowRight\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) }), _c(\"NcButton\", { attrs: { \"aria-label\": _vm.labelCancel, \"type\": \"reset\", \"variant\": _vm.primary ? \"primary\" : \"tertiary\" }, on: { \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.cancel.apply(null, arguments);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Close\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) })], 1)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"f9a3bb35\"\n);\nconst NcInputConfirmCancel = __component__.exports;\nexport {\n NcInputConfirmCancel as N\n};\n//# sourceMappingURL=NcInputConfirmCancel-C_Yw7EMA.mjs.map\n","import '../assets/NcAppNavigationItem-Bb-tMbP3.css';\nimport { emit } from \"@nextcloud/event-bus\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-Dc_aK7Xg.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-Dw4mVwZP.mjs\";\nimport { r as register, S as t20, a as t, b as t53, T as t22 } from \"./_l10n-Dv1YKfKS.mjs\";\nimport { i as isLegacy34 } from \"./legacy-Cy3dCXuB.mjs\";\nimport { N as NcButton } from \"./NcButton-DAGirW_B.mjs\";\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-C_Yw7EMA.mjs\";\nimport { useIsMobile } from \"../Composables/useIsMobile.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-F5ebeBB_.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-DJ-fERS3.mjs\";\nimport { N as NcActions } from \"./NcActions-C4f9MXug.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport NcVNodes from \"../Components/NcVNodes.mjs\";\nconst _sfc_main$3 = {\n name: \"PencilIcon\",\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$3 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon pencil-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\" } })])]);\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$3,\n _sfc_render$3,\n _sfc_staticRenderFns$3,\n false,\n null,\n null\n);\nconst Pencil = __component__$3.exports;\nconst _sfc_main$2 = {\n name: \"UndoIcon\",\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$2 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon undo-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\" } })])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null\n);\nconst Undo = __component__$2.exports;\nregister(t20);\nconst _sfc_main$1 = {\n name: \"NcAppNavigationIconCollapsible\",\n components: {\n NcButton,\n ChevronDown,\n ChevronUp\n },\n props: {\n /**\n * Is the list currently open (or collapsed)\n */\n open: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Is the navigation item currently active.\n */\n active: {\n type: Boolean,\n required: true\n }\n },\n emits: [\"click\"],\n setup() {\n return { isLegacy34 };\n },\n computed: {\n labelButton() {\n return this.open ? t(\"Collapse menu\") : t(\"Open menu\");\n }\n },\n methods: {\n onClick(e) {\n this.$emit(\"click\", e);\n }\n }\n};\nvar _sfc_render$1 = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"NcButton\", { staticClass: \"icon-collapse\", class: {\n \"icon-collapse--active\": _vm.active,\n \"icon-collapse--open\": _vm.open\n }, attrs: { \"aria-label\": _vm.labelButton, \"variant\": _vm.active && _vm.isLegacy34 ? \"tertiary-on-primary\" : \"tertiary\" }, on: { \"click\": _vm.onClick }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.open ? _c(\"ChevronUp\", { attrs: { \"size\": 20 } }) : _c(\"ChevronDown\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) });\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"3c547cb0\"\n);\nconst NcAppNavigationIconCollapsible = __component__$1.exports;\nregister(t22, t53);\nconst _sfc_main = {\n name: \"NcAppNavigationItem\",\n components: {\n NcActions,\n NcActionButton,\n NcAppNavigationIconCollapsible,\n NcInputConfirmCancel,\n NcLoadingIcon,\n NcVNodes,\n Pencil,\n Undo\n },\n props: {\n /**\n * If you are not using vue-router you can use the property to set this item as the active navigation entry.\n * When using vue-router and the `to` property this is set automatically.\n */\n active: {\n type: Boolean,\n default: false\n },\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: null\n },\n /**\n * id attribute of the list item element\n */\n id: {\n type: String,\n default: () => \"app-navigation-item-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * Refers to the icon on the left, this prop accepts a class\n * like 'icon-category-enabled'.\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Displays a loading animated icon on the left of the element\n * instead of the icon.\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Passing in a route will make the root element of this\n * component a ` ` that points to that route.\n * By leaving this blank, the root element will be a ``.\n */\n to: {\n type: [String, Object],\n default: null\n },\n /**\n * A direct link. This will be used as the `href` attribute.\n * This will ignore any `to` prop being defined.\n */\n href: {\n type: String,\n default: null\n },\n /**\n * Pass in `true` if you want the matching behaviour to\n * be non-inclusive: https://router.vuejs.org/api/#exact\n */\n exact: {\n type: Boolean,\n default: false\n },\n /**\n * Gives the possibility to collapse the children elements into the\n * parent element (true) or expands the children elements (false).\n */\n allowCollapse: {\n type: Boolean,\n default: false\n },\n /**\n * Makes the name of the item editable by providing an `ActionButton`\n * component that toggles a form\n */\n editable: {\n type: Boolean,\n default: false\n },\n /**\n * Only for 'editable' items, sets label for the edit action button.\n */\n editLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Only for items in 'editable' mode, sets the placeholder text for the editing form.\n */\n editPlaceholder: {\n type: String,\n default: \"\"\n },\n /**\n * Pins the item to the bottom left area, above the settings. Do not\n * place 'non-pinned' `AppnavigationItem` components below `pinned`\n * ones.\n */\n pinned: {\n type: Boolean,\n default: false\n },\n /**\n * Puts the item in the 'undo' state.\n */\n undo: {\n type: Boolean,\n default: false\n },\n /**\n * The navigation collapsible state (synced)\n */\n open: {\n type: Boolean,\n default: false\n },\n /**\n * The actions menu open state (synced)\n */\n menuOpen: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * The action's menu default icon\n */\n menuIcon: {\n type: String,\n default: void 0\n },\n /**\n * The action's menu direction\n */\n menuPlacement: {\n type: String,\n default: \"bottom\"\n },\n /**\n * Entry aria details\n */\n ariaDescription: {\n type: String,\n default: null\n },\n /**\n * To be used only when the elements in the actions menu are very important\n */\n forceDisplayActions: {\n type: Boolean,\n default: false\n },\n /**\n * Number of action items outside the menu\n */\n inlineActions: {\n type: Number,\n default: 0\n }\n },\n emits: [\n \"update:menuOpen\",\n \"update:open\",\n \"update:name\",\n \"click\",\n \"undo\"\n ],\n setup() {\n return {\n isMobile: useIsMobile(),\n isLegacy34\n };\n },\n data() {\n return {\n editingValue: \"\",\n opened: this.open,\n // Collapsible state\n editingActive: false,\n /**\n * Tracks the open state of the actions menu\n */\n menuOpenLocalValue: false,\n focused: false,\n actionsBoundariesElement: void 0\n };\n },\n computed: {\n isRouterLink() {\n return this.to && !this.href;\n },\n // Checks if the component is already a children of another\n // instance of AppNavigationItem\n canHaveChildren() {\n if (this.$parent.$options._componentTag === \"AppNavigationItem\") {\n return false;\n } else {\n return true;\n }\n },\n hasUtils() {\n if (this.$scopedSlots.actions || this.$scopedSlots.counter || this.editable || this.undo) {\n return true;\n }\n return false;\n },\n editButtonAriaLabel() {\n return this.editLabel ? this.editLabel : t(\"Edit item\");\n },\n undoButtonAriaLabel() {\n return t(\"Undo changes\");\n }\n },\n watch: {\n open(newVal) {\n this.opened = newVal;\n }\n },\n mounted() {\n this.actionsBoundariesElement = document.querySelector(\"#content-vue\") || void 0;\n },\n methods: {\n // sync opened menu state with prop\n onMenuToggle(state) {\n this.$emit(\"update:menuOpen\", state);\n this.menuOpenLocalValue = state;\n },\n // toggle the collapsible state\n toggleCollapse() {\n this.opened = !this.opened;\n this.$emit(\"update:open\", this.opened);\n },\n /**\n * Handle link click\n *\n * @param {PointerEvent} event - Native click event\n * @param {Function} [navigate] - VueRouter link's navigate if any\n * @param {string} [routerLinkHref] - VueRouter link's href\n */\n onClick(event, navigate, routerLinkHref) {\n this.$emit(\"click\", event);\n if (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey) {\n return;\n }\n if (routerLinkHref) {\n navigate?.(event);\n event.preventDefault();\n if (this.isMobile) {\n emit(\"toggle-navigation\", { open: false });\n }\n }\n },\n // Edition methods\n handleEdit() {\n this.editingValue = this.name;\n this.editingActive = true;\n this.onMenuToggle(false);\n this.$nextTick(() => {\n this.$refs.editingInput.focusInput();\n });\n },\n cancelEditing() {\n this.editingActive = false;\n },\n handleEditingDone() {\n this.$emit(\"update:name\", this.editingValue);\n this.editingValue = \"\";\n this.editingActive = false;\n },\n // Undo methods\n handleUndo() {\n this.$emit(\"undo\");\n },\n /**\n * Does this item have children and is collapsing allowed via the prop?\n *\n * @return {boolean} True, if the item can be collapsed\n */\n isCollapsible() {\n return this.allowCollapse && !!this.$scopedSlots.default;\n },\n /**\n * Show actions upon focus\n */\n handleFocus() {\n this.focused = true;\n },\n handleBlur() {\n this.focused = false;\n },\n /**\n * This method checks if the root element of the component is focused and\n * if that's the case it focuses the actions button if available\n *\n * @param {Event} e the keydown event\n */\n handleTab(e) {\n if (this.editingActive) {\n return;\n }\n const actionsContainer = this.$el?.querySelector(\".app-navigation-entry__utils\");\n if (!actionsContainer) {\n return;\n }\n const focusableElement = actionsContainer.querySelector(\"button\");\n if (this.focused && focusableElement) {\n e.preventDefault();\n focusableElement.focus();\n this.focused = false;\n }\n },\n /**\n * Is this an external link\n *\n * @param {string} href The link to check\n * @return {boolean} Whether it is external or not\n */\n isExternal(href) {\n return href && href.match(/[a-z]+:\\/\\//i);\n }\n }\n};\nvar _sfc_render = function render4() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"app-navigation-entry-wrapper\", class: {\n \"app-navigation-entry--opened\": _vm.opened,\n \"app-navigation-entry--pinned\": _vm.pinned,\n \"app-navigation-entry--collapsible\": _vm.isCollapsible()\n }, attrs: { \"id\": _vm.id } }, [_c(_vm.isRouterLink ? \"router-link\" : \"NcVNodes\", { tag: \"component\", attrs: { \"custom\": _vm.isRouterLink ? true : false, \"to\": _vm.to, \"exact\": _vm.isRouterLink ? _vm.exact : null }, scopedSlots: _vm._u([{ key: \"default\", fn: function({ href: routerLinkHref, navigate, isActive }) {\n return [_c(\"div\", { staticClass: \"app-navigation-entry\", class: {\n \"app-navigation-entry--editing\": _vm.editingActive,\n \"app-navigation-entry--deleted\": _vm.undo,\n \"app-navigation-entry--legacy\": _vm.isLegacy34,\n active: _vm.to && isActive || _vm.active\n } }, [!_vm.undo ? _c(\"a\", { staticClass: \"app-navigation-entry-link\", attrs: { \"aria-current\": _vm.active || _vm.to && isActive ? \"page\" : void 0, \"aria-description\": _vm.ariaDescription, \"aria-expanded\": _vm.$scopedSlots.default ? _vm.opened.toString() : void 0, \"href\": _vm.href || routerLinkHref || \"#\", \"target\": _vm.isExternal(_vm.href) ? \"_blank\" : void 0, \"title\": _vm.title || _vm.name }, on: { \"blur\": _vm.handleBlur, \"click\": function($event) {\n return _vm.onClick($event, navigate, routerLinkHref);\n }, \"focus\": _vm.handleFocus, \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")) return null;\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;\n return _vm.handleTab.apply(null, arguments);\n } } }, [_c(\"div\", { staticClass: \"app-navigation-entry-icon\", class: { [_vm.icon]: _vm.icon } }, [_vm.loading ? _c(\"NcLoadingIcon\") : _vm._t(\"icon\", null, { \"active\": _vm.active || _vm.to && isActive })], 2), !_vm.editingActive ? _c(\"span\", { staticClass: \"app-navigation-entry__name\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _vm.editingActive ? _c(\"div\", { staticClass: \"editingContainer\" }, [_c(\"NcInputConfirmCancel\", { ref: \"editingInput\", attrs: { \"placeholder\": _vm.editPlaceholder !== \"\" ? _vm.editPlaceholder : _vm.name, \"primary\": _vm.to && isActive || _vm.active }, on: { \"cancel\": _vm.cancelEditing, \"confirm\": _vm.handleEditingDone }, model: { value: _vm.editingValue, callback: function($$v) {\n _vm.editingValue = $$v;\n }, expression: \"editingValue\" } })], 1) : _vm._e()]) : _vm._e(), _vm.undo ? _c(\"div\", { staticClass: \"app-navigation-entry__deleted\" }, [_c(\"div\", { staticClass: \"app-navigation-entry__deleted-description\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")])]) : _vm._e(), _vm.hasUtils && !_vm.editingActive ? _c(\"div\", { staticClass: \"app-navigation-entry__utils\", class: { \"app-navigation-entry__utils--display-actions\": _vm.forceDisplayActions || _vm.menuOpenLocalValue || _vm.menuOpen } }, [_vm.$scopedSlots.counter ? _c(\"div\", { staticClass: \"app-navigation-entry__counter-wrapper\" }, [_vm._t(\"counter\")], 2) : _vm._e(), _vm.$scopedSlots.actions || _vm.editable && !_vm.editingActive || _vm.undo ? _c(\"NcActions\", { ref: \"actions\", staticClass: \"app-navigation-entry__actions\", attrs: { \"inline\": _vm.inlineActions, \"container\": \"#app-navigation-vue\", \"boundaries-element\": _vm.actionsBoundariesElement, \"placement\": _vm.menuPlacement, \"open\": _vm.menuOpen, \"type\": \"tertiary\", \"force-menu\": _vm.forceMenu, \"default-icon\": _vm.menuIcon }, on: { \"update:open\": _vm.onMenuToggle }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"menu-icon\")];\n }, proxy: true }], null, true) }, [_vm.editable && !_vm.editingActive ? _c(\"NcActionButton\", { attrs: { \"aria-label\": _vm.editButtonAriaLabel }, on: { \"click\": _vm.handleEdit }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Pencil\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, true) }, [_vm._v(\" \" + _vm._s(_vm.editLabel) + \" \")]) : _vm._e(), _vm.undo ? _c(\"NcActionButton\", { attrs: { \"aria-label\": _vm.undoButtonAriaLabel }, on: { \"click\": _vm.handleUndo }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Undo\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, true) }) : _vm._e(), _vm._t(\"actions\")], 2) : _vm._e()], 1) : _vm._e(), _vm.isCollapsible() ? _c(\"NcAppNavigationIconCollapsible\", { attrs: { \"active\": _vm.to && isActive || _vm.active, \"open\": _vm.opened }, on: { \"click\": function($event) {\n $event.preventDefault();\n $event.stopPropagation();\n return _vm.toggleCollapse.apply(null, arguments);\n } } }) : _vm._e(), _vm._t(\"extra\")], 2)];\n } }], null, true) }), _vm.canHaveChildren && _vm.$scopedSlots.default ? _c(\"ul\", { staticClass: \"app-navigation-entry__children\" }, [_vm._t(\"default\")], 2) : _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 \"cb63e0d5\"\n);\nconst NcAppNavigationItem = __component__.exports;\nexport {\n NcAppNavigationItem as N\n};\n//# sourceMappingURL=NcAppNavigationItem-1fb45Iml.mjs.map\n","import { inject } from \"vue\";\nconst APP_SETTINGS_REGISTRATION_KEY = /* @__PURE__ */ Symbol.for(\"NcAppSettingsDialog:registration\");\nconst APP_SETTINGS_LEGACY_DESIGN_KEY = /* @__PURE__ */ Symbol.for(\"NcAppSettingsDialog:legacy\");\nfunction useAppSettingsDialog() {\n return inject(APP_SETTINGS_REGISTRATION_KEY);\n}\nexport {\n APP_SETTINGS_LEGACY_DESIGN_KEY as A,\n APP_SETTINGS_REGISTRATION_KEY as a,\n useAppSettingsDialog as u\n};\n//# sourceMappingURL=useAppSettingsDialog-C73Wx6iQ.mjs.map\n","import '../assets/NcAppSettingsDialog-DYzJnksK.css';\nimport Vue, { defineComponent, inject, provide, ref, shallowRef, computed, onBeforeUnmount } from \"vue\";\nimport { useVModel, toRef } from \"@vueuse/core\";\nimport debounce from \"debounce\";\nimport { N as NcDialog } from \"./NcDialog-Di3PCaC2.mjs\";\nimport NcVNodes from \"../Components/NcVNodes.mjs\";\nimport { u as useLocalizedAppName, A as APP_VERSION } from \"./appName-qk1L3dsY.mjs\";\nimport { A as APP_SETTINGS_LEGACY_DESIGN_KEY, a as APP_SETTINGS_REGISTRATION_KEY } from \"./useAppSettingsDialog-C73Wx6iQ.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { useIsMobile } from \"../Composables/useIsMobile.mjs\";\nimport { r as register, N as t50, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nimport { i as isLegacy34 } from \"./legacy-Cy3dCXuB.mjs\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppSettingsDialogVersion\",\n setup(__props) {\n const legacy = inject(APP_SETTINGS_LEGACY_DESIGN_KEY);\n const localizedAppName = useLocalizedAppName();\n return { __sfc: true, legacy, localizedAppName, APP_VERSION };\n }\n});\nconst appSettingsDialogVersion = \"_appSettingsDialogVersion_2lg6o\";\nconst appSettingsDialogVersion__legacy = \"_appSettingsDialogVersion__legacy_cnkcL\";\nconst style0 = {\n \"material-design-icon\": \"_material-design-icon_m1Dx0\",\n appSettingsDialogVersion,\n appSettingsDialogVersion__legacy\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(\"div\", { class: [_vm.$style.appSettingsDialogVersion, { [_vm.$style.appSettingsDialogVersion__legacy]: _setup.legacy }] }, [_vm._v(\" \" + _vm._s(_setup.localizedAppName) + \" \" + _vm._s(_setup.APP_VERSION) + \" \")]);\n};\nvar _sfc_staticRenderFns$1 = [];\nconst __cssModules = {\n \"$style\": style0\n};\nfunction _sfc_injectStyles(ctx) {\n for (var key in __cssModules) {\n this[key] = __cssModules[key];\n }\n}\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n _sfc_injectStyles,\n null\n);\nconst NcAppSettingsDialogVersion = __component__$1.exports;\nregister(t50);\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppSettingsDialog\",\n props: {\n open: { type: Boolean },\n showNavigation: { type: Boolean },\n container: { default: \"body\" },\n name: { default: \"\" },\n additionalTrapElements: { default: () => [] },\n legacy: { type: Boolean, default: true },\n noVersion: { type: Boolean, default: false }\n },\n emits: [\"update:open\"],\n setup(__props, { emit }) {\n const props = __props;\n const open = useVModel(props, \"open\", emit, { passive: true });\n provide(APP_SETTINGS_REGISTRATION_KEY, {\n registerSection,\n unregisterSection\n });\n provide(APP_SETTINGS_LEGACY_DESIGN_KEY, toRef(() => props.legacy));\n const settingsScroller = ref();\n const isMobile = useIsMobile();\n const selectedSection = ref(\"\");\n const linkClicked = ref(false);\n const registeredSections = shallowRef([]);\n const hasNavigation = computed(() => !isMobile.value && props.showNavigation);\n const hasNavigationIcons = computed(() => registeredSections.value.some(({ icon }) => !!icon));\n const unfocusNavigationItem = debounce(() => {\n selectedSection.value = \"\";\n if (document.activeElement?.className.includes(\"navigation-list__link\")) {\n document.activeElement.blur();\n }\n }, 300);\n const sectionsOrderMap = /* @__PURE__ */ new Map();\n onBeforeUnmount(() => {\n sectionsOrderMap.clear();\n });\n function handleSettingsNavigationClick(item) {\n linkClicked.value = true;\n const section = document.getElementById(\"settings-section_\" + item);\n section.scrollIntoView({\n behavior: \"smooth\",\n inline: \"nearest\"\n });\n section.focus({ preventScroll: true });\n selectedSection.value = item;\n setTimeout(() => {\n linkClicked.value = false;\n }, 1e3);\n }\n function handleCloseModal(isOpen) {\n if (isOpen) {\n return;\n }\n open.value = false;\n settingsScroller.value.scrollTop = 0;\n }\n function handleScroll() {\n if (open.value && !linkClicked.value) {\n unfocusNavigationItem();\n }\n }\n function registerSection(id, name, order, icon) {\n if (registeredSections.value.some(({ id: otherId }) => id === otherId)) {\n throw new Error(`Duplicate section id found: ${id}. Settings navigation sections must have unique section ids.`);\n }\n if (registeredSections.value.some(({ name: otherName }) => name === otherName)) {\n Vue.util.warn(`Duplicate section name found: ${name}. Settings navigation sections must have unique section names.`);\n }\n if (order !== void 0) {\n sectionsOrderMap.set(id, order);\n } else if (sectionsOrderMap.has(id)) {\n order = sectionsOrderMap.get(id);\n } else {\n order = Math.max(0, ...sectionsOrderMap.values()) + 1;\n sectionsOrderMap.set(id, order);\n }\n registeredSections.value = [...registeredSections.value, { id, name, order, icon }].sort(({ order: orderA }, { order: orderB }) => {\n return orderA - orderB;\n });\n if (registeredSections.value.length === 1) {\n selectedSection.value = id;\n }\n }\n function unregisterSection(id) {\n registeredSections.value = registeredSections.value.filter(({ id: otherId }) => id !== otherId);\n if (selectedSection.value === id) {\n selectedSection.value = registeredSections.value[0]?.id ?? \"\";\n }\n }\n return { __sfc: true, props, emit, open, settingsScroller, isMobile, selectedSection, linkClicked, registeredSections, hasNavigation, hasNavigationIcons, unfocusNavigationItem, sectionsOrderMap, handleSettingsNavigationClick, handleCloseModal, handleScroll, registerSection, unregisterSection, NcDialog, NcVNodes, NcAppSettingsDialogVersion, t, isLegacy34 };\n }\n});\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _setup.open ? _c(_setup.NcDialog, { staticClass: \"app-settings\", class: { \"app-settings--legacy\": _setup.isLegacy34 }, attrs: { \"content-classes\": [\"app-settings__content\", { \"app-settings__non-legacy\": !_vm.legacy }], \"navigation-classes\": \"app-settings__navigation\", \"additional-trap-elements\": _vm.additionalTrapElements, \"container\": _vm.container, \"close-on-click-outside\": \"\", \"navigation-aria-label\": _setup.t(\"Settings navigation\"), \"size\": \"large\", \"name\": _vm.name }, on: { \"update:open\": _setup.handleCloseModal }, scopedSlots: _vm._u([_setup.hasNavigation ? { key: \"navigation\", fn: function({ isCollapsed }) {\n return [!_setup.isLegacy34 ? _c(\"div\", { staticClass: \"app-settings__title\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), !isCollapsed ? _c(\"ul\", { staticClass: \"navigation-list\" }, _vm._l(_setup.registeredSections, function(section) {\n return _c(\"li\", { key: section.id }, [_c(\"a\", { staticClass: \"navigation-list__link\", class: {\n \"navigation-list__link--active\": section.id === _setup.selectedSection,\n \"navigation-list__link--icon\": _setup.hasNavigationIcons\n }, attrs: { \"aria-current\": `${section.id === _setup.selectedSection}`, \"href\": `#settings-section_${section.id}`, \"tabindex\": \"0\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _setup.handleSettingsNavigationClick(section.id);\n }, \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) return null;\n return _setup.handleSettingsNavigationClick(section.id);\n } } }, [_setup.hasNavigationIcons ? _c(\"div\", { staticClass: \"navigation-list__link-icon\" }, [section.icon ? _c(_setup.NcVNodes, { attrs: { \"vnodes\": section.icon } }) : _vm._e()], 1) : _vm._e(), _c(\"span\", { staticClass: \"navigation-list__link-text\" }, [_vm._v(\" \" + _vm._s(section.name) + \" \")])])]);\n }), 0) : _vm._e()];\n } } : null], null, true) }, [_c(\"div\", { ref: \"settingsScroller\", on: { \"scroll\": _setup.handleScroll } }, [_vm._t(\"default\"), !_vm.noVersion ? _c(_setup.NcAppSettingsDialogVersion) : _vm._e()], 2)]) : _vm._e();\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"d5ede33a\"\n);\nconst NcAppSettingsDialog = __component__.exports;\nexport {\n NcAppSettingsDialog as N\n};\n//# sourceMappingURL=NcAppSettingsDialog-COfShoRs.mjs.map\n"],"names":["_sfc_main","_sfc_render","_vm","_c","$event","_sfc_staticRenderFns","__component__","normalizeComponent","DockRight","_sfc_main$1","_sfc_render$1","_sfc_staticRenderFns$1","__component__$1","DockLeft","register","t19","disableKeyboardShortcuts","NcButton","isRtl","t","NcAppNavigationToggle","ChevronUp","t13","ArrowRight","Close","isLegacy34","newValue","NcInputConfirmCancel","_sfc_main$3","_sfc_render$3","_sfc_staticRenderFns$3","__component__$3","Pencil","_sfc_main$2","_sfc_render$2","_sfc_staticRenderFns$2","__component__$2","Undo","t20","ChevronDown","e","NcAppNavigationIconCollapsible","t22","t53","NcActions","NcActionButton","NcLoadingIcon","NcVNodes","GenRandomId","id","useIsMobile","newVal","state","event","navigate","routerLinkHref","emit","actionsContainer","focusableElement","href","isActive","$$v","NcAppNavigationItem","APP_SETTINGS_REGISTRATION_KEY","APP_SETTINGS_LEGACY_DESIGN_KEY","useAppSettingsDialog","inject","defineComponent","__props","legacy","localizedAppName","useLocalizedAppName","APP_VERSION","appSettingsDialogVersion","appSettingsDialogVersion__legacy","style0","_setup","__cssModules","_sfc_injectStyles","ctx","key","NcAppSettingsDialogVersion","t50","props","open","useVModel","provide","registerSection","unregisterSection","toRef","settingsScroller","ref","isMobile","selectedSection","linkClicked","registeredSections","shallowRef","hasNavigation","computed","hasNavigationIcons","icon","unfocusNavigationItem","debounce","sectionsOrderMap","onBeforeUnmount","handleSettingsNavigationClick","item","section","handleCloseModal","isOpen","handleScroll","name","order","otherId","otherName","Vue","orderA","orderB","NcDialog","isCollapsed","NcAppSettingsDialog"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
\ No newline at end of file
+{"version":3,"file":"NcFormBoxButton-DQYM40Lb-91L-5JKl.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/DockRight-CkHKixA5.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationToggle-DTR2f0cS.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronUp-Dw4mVwZP.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputConfirmCancel-C_Yw7EMA.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationItem-1fb45Iml.mjs","../node_modules/@nextcloud/vue/dist/chunks/useAppSettingsDialog-C73Wx6iQ.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppSettingsDialog-COfShoRs.mjs"],"sourcesContent":["import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"DockRightIcon\",\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 dock-right-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M15 18H4V6H15Z\" } })])]);\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 DockRight = __component__.exports;\nexport {\n DockRight as D\n};\n//# sourceMappingURL=DockRight-CkHKixA5.mjs.map\n","import '../assets/NcAppNavigationToggle-D1K2TRZ-.css';\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { D as DockRight } from \"./DockRight-CkHKixA5.mjs\";\nimport { r as register, E as t19, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nimport { i as isRtl } from \"./rtl-v0UOPAM7.mjs\";\nimport { N as NcButton } from \"./NcButton-DAGirW_B.mjs\";\nconst _sfc_main$1 = {\n name: \"DockLeftIcon\",\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$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon dock-left-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 18H9V6H20Z\" } })])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst DockLeft = __component__$1.exports;\nregister(t19);\nconst disableKeyboardShortcuts = window.OCP?.Accessibility?.disableKeyboardShortcuts?.();\nconst _sfc_main = {\n name: \"NcAppNavigationToggle\",\n components: {\n DockLeft,\n DockRight,\n NcButton\n },\n props: {\n /**\n * Tracks whether the toggle has been clicked or not.\n * If it has been clicked, emits a boolean indicating its opened status\n */\n open: {\n type: Boolean,\n required: true\n }\n },\n emits: [\"update:open\"],\n setup() {\n return {\n isRtl,\n disableKeyboardShortcuts\n };\n },\n computed: {\n label() {\n return this.open ? t(\"Close navigation\") : t(\"Open navigation {shortcut}\", { shortcut: disableKeyboardShortcuts ? \"\" : \"[n]\" }).trim();\n }\n },\n methods: {\n /**\n * Once the toggle has been clicked, emits the toggle status\n * so parent components can gauge the status of the navigation button\n */\n toggleNavigation() {\n this.$emit(\"update:open\", !this.open);\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-toggle-wrapper\" }, [_c(\"NcButton\", { staticClass: \"app-navigation-toggle\", attrs: { \"aria-controls\": \"app-navigation-vue\", \"aria-expanded\": _vm.open ? \"true\" : \"false\", \"aria-keyshortcuts\": _vm.disableKeyboardShortcuts ? \"\" : \"n\", \"aria-label\": _vm.label, \"title\": _vm.label, \"variant\": \"tertiary\" }, on: { \"click\": _vm.toggleNavigation }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.isRtl ? _c(\"DockRight\", { attrs: { \"size\": 20 } }) : _c(\"DockLeft\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) })], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"d28016dd\"\n);\nconst NcAppNavigationToggle = __component__.exports;\nexport {\n NcAppNavigationToggle as N\n};\n//# sourceMappingURL=NcAppNavigationToggle-DTR2f0cS.mjs.map\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"ChevronUpIcon\",\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-up-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\" } })])]);\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 ChevronUp = __component__.exports;\nexport {\n ChevronUp as C\n};\n//# sourceMappingURL=ChevronUp-Dw4mVwZP.mjs.map\n","import '../assets/NcInputConfirmCancel-DRZviUxz.css';\nimport { A as ArrowRight } from \"./ArrowRight-Yy9LZ7hv.mjs\";\nimport { C as Close } from \"./Close-COCw8OO8.mjs\";\nimport { r as register, s as t13, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nimport { i as isLegacy34 } from \"./legacy-Cy3dCXuB.mjs\";\nimport { N as NcButton } from \"./NcButton-DAGirW_B.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t13);\nconst _sfc_main = {\n name: \"NcInputConfirmCancel\",\n components: {\n NcButton,\n ArrowRight,\n Close\n },\n props: {\n /**\n * If this element is used on a primary element set to true for primary styling.\n */\n primary: {\n default: false,\n type: Boolean\n },\n /**\n * Placeholder of the edit field\n */\n placeholder: {\n default: \"\",\n type: String\n },\n /**\n * The current name (model value)\n */\n value: {\n default: \"\",\n type: String\n }\n },\n emits: [\n \"input\",\n \"confirm\",\n \"cancel\"\n ],\n setup() {\n return { isLegacy34 };\n },\n data() {\n return {\n labelConfirm: t(\"Confirm changes\"),\n labelCancel: t(\"Cancel changes\")\n };\n },\n computed: {\n valueModel: {\n get() {\n return this.value;\n },\n set(newValue) {\n this.$emit(\"input\", newValue);\n }\n }\n },\n methods: {\n confirm() {\n this.$emit(\"confirm\");\n },\n cancel() {\n this.$emit(\"cancel\");\n },\n focusInput() {\n this.$refs.input.focus();\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-input-confirm\", class: { \"app-navigation-input-confirm--legacy\": _vm.isLegacy34 } }, [_c(\"form\", { on: { \"submit\": function($event) {\n $event.preventDefault();\n return _vm.confirm.apply(null, arguments);\n }, \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) return null;\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.cancel.apply(null, arguments);\n }, \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n } } }, [_c(\"input\", { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.valueModel, expression: \"valueModel\" }], ref: \"input\", staticClass: \"app-navigation-input-confirm__input\", attrs: { \"type\": \"text\", \"placeholder\": _vm.placeholder }, domProps: { \"value\": _vm.valueModel }, on: { \"input\": function($event) {\n if ($event.target.composing) return;\n _vm.valueModel = $event.target.value;\n } } }), _c(\"NcButton\", { attrs: { \"aria-label\": _vm.labelConfirm, \"type\": \"submit\", \"variant\": \"primary\" }, on: { \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.confirm.apply(null, arguments);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"ArrowRight\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) }), _c(\"NcButton\", { attrs: { \"aria-label\": _vm.labelCancel, \"type\": \"reset\", \"variant\": _vm.primary ? \"primary\" : \"tertiary\" }, on: { \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.cancel.apply(null, arguments);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Close\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) })], 1)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"f9a3bb35\"\n);\nconst NcInputConfirmCancel = __component__.exports;\nexport {\n NcInputConfirmCancel as N\n};\n//# sourceMappingURL=NcInputConfirmCancel-C_Yw7EMA.mjs.map\n","import '../assets/NcAppNavigationItem-Bb-tMbP3.css';\nimport { emit } from \"@nextcloud/event-bus\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-Dc_aK7Xg.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-Dw4mVwZP.mjs\";\nimport { r as register, S as t20, a as t, b as t53, T as t22 } from \"./_l10n-Dv1YKfKS.mjs\";\nimport { i as isLegacy34 } from \"./legacy-Cy3dCXuB.mjs\";\nimport { N as NcButton } from \"./NcButton-DAGirW_B.mjs\";\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-C_Yw7EMA.mjs\";\nimport { useIsMobile } from \"../Composables/useIsMobile.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-F5ebeBB_.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-DJ-fERS3.mjs\";\nimport { N as NcActions } from \"./NcActions-C4f9MXug.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport NcVNodes from \"../Components/NcVNodes.mjs\";\nconst _sfc_main$3 = {\n name: \"PencilIcon\",\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$3 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon pencil-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\" } })])]);\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$3,\n _sfc_render$3,\n _sfc_staticRenderFns$3,\n false,\n null,\n null\n);\nconst Pencil = __component__$3.exports;\nconst _sfc_main$2 = {\n name: \"UndoIcon\",\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$2 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon undo-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\" } })])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null\n);\nconst Undo = __component__$2.exports;\nregister(t20);\nconst _sfc_main$1 = {\n name: \"NcAppNavigationIconCollapsible\",\n components: {\n NcButton,\n ChevronDown,\n ChevronUp\n },\n props: {\n /**\n * Is the list currently open (or collapsed)\n */\n open: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Is the navigation item currently active.\n */\n active: {\n type: Boolean,\n required: true\n }\n },\n emits: [\"click\"],\n setup() {\n return { isLegacy34 };\n },\n computed: {\n labelButton() {\n return this.open ? t(\"Collapse menu\") : t(\"Open menu\");\n }\n },\n methods: {\n onClick(e) {\n this.$emit(\"click\", e);\n }\n }\n};\nvar _sfc_render$1 = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"NcButton\", { staticClass: \"icon-collapse\", class: {\n \"icon-collapse--active\": _vm.active,\n \"icon-collapse--open\": _vm.open\n }, attrs: { \"aria-label\": _vm.labelButton, \"variant\": _vm.active && _vm.isLegacy34 ? \"tertiary-on-primary\" : \"tertiary\" }, on: { \"click\": _vm.onClick }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.open ? _c(\"ChevronUp\", { attrs: { \"size\": 20 } }) : _c(\"ChevronDown\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) });\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"3c547cb0\"\n);\nconst NcAppNavigationIconCollapsible = __component__$1.exports;\nregister(t22, t53);\nconst _sfc_main = {\n name: \"NcAppNavigationItem\",\n components: {\n NcActions,\n NcActionButton,\n NcAppNavigationIconCollapsible,\n NcInputConfirmCancel,\n NcLoadingIcon,\n NcVNodes,\n Pencil,\n Undo\n },\n props: {\n /**\n * If you are not using vue-router you can use the property to set this item as the active navigation entry.\n * When using vue-router and the `to` property this is set automatically.\n */\n active: {\n type: Boolean,\n default: false\n },\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: null\n },\n /**\n * id attribute of the list item element\n */\n id: {\n type: String,\n default: () => \"app-navigation-item-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * Refers to the icon on the left, this prop accepts a class\n * like 'icon-category-enabled'.\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Displays a loading animated icon on the left of the element\n * instead of the icon.\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Passing in a route will make the root element of this\n * component a ` ` that points to that route.\n * By leaving this blank, the root element will be a ` `.\n */\n to: {\n type: [String, Object],\n default: null\n },\n /**\n * A direct link. This will be used as the `href` attribute.\n * This will ignore any `to` prop being defined.\n */\n href: {\n type: String,\n default: null\n },\n /**\n * Pass in `true` if you want the matching behaviour to\n * be non-inclusive: https://router.vuejs.org/api/#exact\n */\n exact: {\n type: Boolean,\n default: false\n },\n /**\n * Gives the possibility to collapse the children elements into the\n * parent element (true) or expands the children elements (false).\n */\n allowCollapse: {\n type: Boolean,\n default: false\n },\n /**\n * Makes the name of the item editable by providing an `ActionButton`\n * component that toggles a form\n */\n editable: {\n type: Boolean,\n default: false\n },\n /**\n * Only for 'editable' items, sets label for the edit action button.\n */\n editLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Only for items in 'editable' mode, sets the placeholder text for the editing form.\n */\n editPlaceholder: {\n type: String,\n default: \"\"\n },\n /**\n * Pins the item to the bottom left area, above the settings. Do not\n * place 'non-pinned' `AppnavigationItem` components below `pinned`\n * ones.\n */\n pinned: {\n type: Boolean,\n default: false\n },\n /**\n * Puts the item in the 'undo' state.\n */\n undo: {\n type: Boolean,\n default: false\n },\n /**\n * The navigation collapsible state (synced)\n */\n open: {\n type: Boolean,\n default: false\n },\n /**\n * The actions menu open state (synced)\n */\n menuOpen: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * The action's menu default icon\n */\n menuIcon: {\n type: String,\n default: void 0\n },\n /**\n * The action's menu direction\n */\n menuPlacement: {\n type: String,\n default: \"bottom\"\n },\n /**\n * Entry aria details\n */\n ariaDescription: {\n type: String,\n default: null\n },\n /**\n * To be used only when the elements in the actions menu are very important\n */\n forceDisplayActions: {\n type: Boolean,\n default: false\n },\n /**\n * Number of action items outside the menu\n */\n inlineActions: {\n type: Number,\n default: 0\n }\n },\n emits: [\n \"update:menuOpen\",\n \"update:open\",\n \"update:name\",\n \"click\",\n \"undo\"\n ],\n setup() {\n return {\n isMobile: useIsMobile(),\n isLegacy34\n };\n },\n data() {\n return {\n editingValue: \"\",\n opened: this.open,\n // Collapsible state\n editingActive: false,\n /**\n * Tracks the open state of the actions menu\n */\n menuOpenLocalValue: false,\n focused: false,\n actionsBoundariesElement: void 0\n };\n },\n computed: {\n isRouterLink() {\n return this.to && !this.href;\n },\n // Checks if the component is already a children of another\n // instance of AppNavigationItem\n canHaveChildren() {\n if (this.$parent.$options._componentTag === \"AppNavigationItem\") {\n return false;\n } else {\n return true;\n }\n },\n hasUtils() {\n if (this.$scopedSlots.actions || this.$scopedSlots.counter || this.editable || this.undo) {\n return true;\n }\n return false;\n },\n editButtonAriaLabel() {\n return this.editLabel ? this.editLabel : t(\"Edit item\");\n },\n undoButtonAriaLabel() {\n return t(\"Undo changes\");\n }\n },\n watch: {\n open(newVal) {\n this.opened = newVal;\n }\n },\n mounted() {\n this.actionsBoundariesElement = document.querySelector(\"#content-vue\") || void 0;\n },\n methods: {\n // sync opened menu state with prop\n onMenuToggle(state) {\n this.$emit(\"update:menuOpen\", state);\n this.menuOpenLocalValue = state;\n },\n // toggle the collapsible state\n toggleCollapse() {\n this.opened = !this.opened;\n this.$emit(\"update:open\", this.opened);\n },\n /**\n * Handle link click\n *\n * @param {PointerEvent} event - Native click event\n * @param {Function} [navigate] - VueRouter link's navigate if any\n * @param {string} [routerLinkHref] - VueRouter link's href\n */\n onClick(event, navigate, routerLinkHref) {\n this.$emit(\"click\", event);\n if (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey) {\n return;\n }\n if (routerLinkHref) {\n navigate?.(event);\n event.preventDefault();\n if (this.isMobile) {\n emit(\"toggle-navigation\", { open: false });\n }\n }\n },\n // Edition methods\n handleEdit() {\n this.editingValue = this.name;\n this.editingActive = true;\n this.onMenuToggle(false);\n this.$nextTick(() => {\n this.$refs.editingInput.focusInput();\n });\n },\n cancelEditing() {\n this.editingActive = false;\n },\n handleEditingDone() {\n this.$emit(\"update:name\", this.editingValue);\n this.editingValue = \"\";\n this.editingActive = false;\n },\n // Undo methods\n handleUndo() {\n this.$emit(\"undo\");\n },\n /**\n * Does this item have children and is collapsing allowed via the prop?\n *\n * @return {boolean} True, if the item can be collapsed\n */\n isCollapsible() {\n return this.allowCollapse && !!this.$scopedSlots.default;\n },\n /**\n * Show actions upon focus\n */\n handleFocus() {\n this.focused = true;\n },\n handleBlur() {\n this.focused = false;\n },\n /**\n * This method checks if the root element of the component is focused and\n * if that's the case it focuses the actions button if available\n *\n * @param {Event} e the keydown event\n */\n handleTab(e) {\n if (this.editingActive) {\n return;\n }\n const actionsContainer = this.$el?.querySelector(\".app-navigation-entry__utils\");\n if (!actionsContainer) {\n return;\n }\n const focusableElement = actionsContainer.querySelector(\"button\");\n if (this.focused && focusableElement) {\n e.preventDefault();\n focusableElement.focus();\n this.focused = false;\n }\n },\n /**\n * Is this an external link\n *\n * @param {string} href The link to check\n * @return {boolean} Whether it is external or not\n */\n isExternal(href) {\n return href && href.match(/[a-z]+:\\/\\//i);\n }\n }\n};\nvar _sfc_render = function render4() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"app-navigation-entry-wrapper\", class: {\n \"app-navigation-entry--opened\": _vm.opened,\n \"app-navigation-entry--pinned\": _vm.pinned,\n \"app-navigation-entry--collapsible\": _vm.isCollapsible()\n }, attrs: { \"id\": _vm.id } }, [_c(_vm.isRouterLink ? \"router-link\" : \"NcVNodes\", { tag: \"component\", attrs: { \"custom\": _vm.isRouterLink ? true : false, \"to\": _vm.to, \"exact\": _vm.isRouterLink ? _vm.exact : null }, scopedSlots: _vm._u([{ key: \"default\", fn: function({ href: routerLinkHref, navigate, isActive }) {\n return [_c(\"div\", { staticClass: \"app-navigation-entry\", class: {\n \"app-navigation-entry--editing\": _vm.editingActive,\n \"app-navigation-entry--deleted\": _vm.undo,\n \"app-navigation-entry--legacy\": _vm.isLegacy34,\n active: _vm.to && isActive || _vm.active\n } }, [!_vm.undo ? _c(\"a\", { staticClass: \"app-navigation-entry-link\", attrs: { \"aria-current\": _vm.active || _vm.to && isActive ? \"page\" : void 0, \"aria-description\": _vm.ariaDescription, \"aria-expanded\": _vm.$scopedSlots.default ? _vm.opened.toString() : void 0, \"href\": _vm.href || routerLinkHref || \"#\", \"target\": _vm.isExternal(_vm.href) ? \"_blank\" : void 0, \"title\": _vm.title || _vm.name }, on: { \"blur\": _vm.handleBlur, \"click\": function($event) {\n return _vm.onClick($event, navigate, routerLinkHref);\n }, \"focus\": _vm.handleFocus, \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")) return null;\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;\n return _vm.handleTab.apply(null, arguments);\n } } }, [_c(\"div\", { staticClass: \"app-navigation-entry-icon\", class: { [_vm.icon]: _vm.icon } }, [_vm.loading ? _c(\"NcLoadingIcon\") : _vm._t(\"icon\", null, { \"active\": _vm.active || _vm.to && isActive })], 2), !_vm.editingActive ? _c(\"span\", { staticClass: \"app-navigation-entry__name\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _vm.editingActive ? _c(\"div\", { staticClass: \"editingContainer\" }, [_c(\"NcInputConfirmCancel\", { ref: \"editingInput\", attrs: { \"placeholder\": _vm.editPlaceholder !== \"\" ? _vm.editPlaceholder : _vm.name, \"primary\": _vm.to && isActive || _vm.active }, on: { \"cancel\": _vm.cancelEditing, \"confirm\": _vm.handleEditingDone }, model: { value: _vm.editingValue, callback: function($$v) {\n _vm.editingValue = $$v;\n }, expression: \"editingValue\" } })], 1) : _vm._e()]) : _vm._e(), _vm.undo ? _c(\"div\", { staticClass: \"app-navigation-entry__deleted\" }, [_c(\"div\", { staticClass: \"app-navigation-entry__deleted-description\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")])]) : _vm._e(), _vm.hasUtils && !_vm.editingActive ? _c(\"div\", { staticClass: \"app-navigation-entry__utils\", class: { \"app-navigation-entry__utils--display-actions\": _vm.forceDisplayActions || _vm.menuOpenLocalValue || _vm.menuOpen } }, [_vm.$scopedSlots.counter ? _c(\"div\", { staticClass: \"app-navigation-entry__counter-wrapper\" }, [_vm._t(\"counter\")], 2) : _vm._e(), _vm.$scopedSlots.actions || _vm.editable && !_vm.editingActive || _vm.undo ? _c(\"NcActions\", { ref: \"actions\", staticClass: \"app-navigation-entry__actions\", attrs: { \"inline\": _vm.inlineActions, \"container\": \"#app-navigation-vue\", \"boundaries-element\": _vm.actionsBoundariesElement, \"placement\": _vm.menuPlacement, \"open\": _vm.menuOpen, \"type\": \"tertiary\", \"force-menu\": _vm.forceMenu, \"default-icon\": _vm.menuIcon }, on: { \"update:open\": _vm.onMenuToggle }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"menu-icon\")];\n }, proxy: true }], null, true) }, [_vm.editable && !_vm.editingActive ? _c(\"NcActionButton\", { attrs: { \"aria-label\": _vm.editButtonAriaLabel }, on: { \"click\": _vm.handleEdit }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Pencil\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, true) }, [_vm._v(\" \" + _vm._s(_vm.editLabel) + \" \")]) : _vm._e(), _vm.undo ? _c(\"NcActionButton\", { attrs: { \"aria-label\": _vm.undoButtonAriaLabel }, on: { \"click\": _vm.handleUndo }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Undo\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, true) }) : _vm._e(), _vm._t(\"actions\")], 2) : _vm._e()], 1) : _vm._e(), _vm.isCollapsible() ? _c(\"NcAppNavigationIconCollapsible\", { attrs: { \"active\": _vm.to && isActive || _vm.active, \"open\": _vm.opened }, on: { \"click\": function($event) {\n $event.preventDefault();\n $event.stopPropagation();\n return _vm.toggleCollapse.apply(null, arguments);\n } } }) : _vm._e(), _vm._t(\"extra\")], 2)];\n } }], null, true) }), _vm.canHaveChildren && _vm.$scopedSlots.default ? _c(\"ul\", { staticClass: \"app-navigation-entry__children\" }, [_vm._t(\"default\")], 2) : _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 \"cb63e0d5\"\n);\nconst NcAppNavigationItem = __component__.exports;\nexport {\n NcAppNavigationItem as N\n};\n//# sourceMappingURL=NcAppNavigationItem-1fb45Iml.mjs.map\n","import { inject } from \"vue\";\nconst APP_SETTINGS_REGISTRATION_KEY = /* @__PURE__ */ Symbol.for(\"NcAppSettingsDialog:registration\");\nconst APP_SETTINGS_LEGACY_DESIGN_KEY = /* @__PURE__ */ Symbol.for(\"NcAppSettingsDialog:legacy\");\nfunction useAppSettingsDialog() {\n return inject(APP_SETTINGS_REGISTRATION_KEY);\n}\nexport {\n APP_SETTINGS_LEGACY_DESIGN_KEY as A,\n APP_SETTINGS_REGISTRATION_KEY as a,\n useAppSettingsDialog as u\n};\n//# sourceMappingURL=useAppSettingsDialog-C73Wx6iQ.mjs.map\n","import '../assets/NcAppSettingsDialog-DYzJnksK.css';\nimport Vue, { defineComponent, inject, provide, ref, shallowRef, computed, onBeforeUnmount } from \"vue\";\nimport { useVModel, toRef } from \"@vueuse/core\";\nimport debounce from \"debounce\";\nimport { N as NcDialog } from \"./NcDialog-Di3PCaC2.mjs\";\nimport NcVNodes from \"../Components/NcVNodes.mjs\";\nimport { u as useLocalizedAppName, A as APP_VERSION } from \"./appName-qk1L3dsY.mjs\";\nimport { A as APP_SETTINGS_LEGACY_DESIGN_KEY, a as APP_SETTINGS_REGISTRATION_KEY } from \"./useAppSettingsDialog-C73Wx6iQ.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { useIsMobile } from \"../Composables/useIsMobile.mjs\";\nimport { r as register, N as t50, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nimport { i as isLegacy34 } from \"./legacy-Cy3dCXuB.mjs\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppSettingsDialogVersion\",\n setup(__props) {\n const legacy = inject(APP_SETTINGS_LEGACY_DESIGN_KEY);\n const localizedAppName = useLocalizedAppName();\n return { __sfc: true, legacy, localizedAppName, APP_VERSION };\n }\n});\nconst appSettingsDialogVersion = \"_appSettingsDialogVersion_2lg6o\";\nconst appSettingsDialogVersion__legacy = \"_appSettingsDialogVersion__legacy_cnkcL\";\nconst style0 = {\n \"material-design-icon\": \"_material-design-icon_m1Dx0\",\n appSettingsDialogVersion,\n appSettingsDialogVersion__legacy\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(\"div\", { class: [_vm.$style.appSettingsDialogVersion, { [_vm.$style.appSettingsDialogVersion__legacy]: _setup.legacy }] }, [_vm._v(\" \" + _vm._s(_setup.localizedAppName) + \" \" + _vm._s(_setup.APP_VERSION) + \" \")]);\n};\nvar _sfc_staticRenderFns$1 = [];\nconst __cssModules = {\n \"$style\": style0\n};\nfunction _sfc_injectStyles(ctx) {\n for (var key in __cssModules) {\n this[key] = __cssModules[key];\n }\n}\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n _sfc_injectStyles,\n null\n);\nconst NcAppSettingsDialogVersion = __component__$1.exports;\nregister(t50);\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppSettingsDialog\",\n props: {\n open: { type: Boolean },\n showNavigation: { type: Boolean },\n container: { default: \"body\" },\n name: { default: \"\" },\n additionalTrapElements: { default: () => [] },\n legacy: { type: Boolean, default: true },\n noVersion: { type: Boolean, default: false }\n },\n emits: [\"update:open\"],\n setup(__props, { emit }) {\n const props = __props;\n const open = useVModel(props, \"open\", emit, { passive: true });\n provide(APP_SETTINGS_REGISTRATION_KEY, {\n registerSection,\n unregisterSection\n });\n provide(APP_SETTINGS_LEGACY_DESIGN_KEY, toRef(() => props.legacy));\n const settingsScroller = ref();\n const isMobile = useIsMobile();\n const selectedSection = ref(\"\");\n const linkClicked = ref(false);\n const registeredSections = shallowRef([]);\n const hasNavigation = computed(() => !isMobile.value && props.showNavigation);\n const hasNavigationIcons = computed(() => registeredSections.value.some(({ icon }) => !!icon));\n const unfocusNavigationItem = debounce(() => {\n selectedSection.value = \"\";\n if (document.activeElement?.className.includes(\"navigation-list__link\")) {\n document.activeElement.blur();\n }\n }, 300);\n const sectionsOrderMap = /* @__PURE__ */ new Map();\n onBeforeUnmount(() => {\n sectionsOrderMap.clear();\n });\n function handleSettingsNavigationClick(item) {\n linkClicked.value = true;\n const section = document.getElementById(\"settings-section_\" + item);\n section.scrollIntoView({\n behavior: \"smooth\",\n inline: \"nearest\"\n });\n section.focus({ preventScroll: true });\n selectedSection.value = item;\n setTimeout(() => {\n linkClicked.value = false;\n }, 1e3);\n }\n function handleCloseModal(isOpen) {\n if (isOpen) {\n return;\n }\n open.value = false;\n settingsScroller.value.scrollTop = 0;\n }\n function handleScroll() {\n if (open.value && !linkClicked.value) {\n unfocusNavigationItem();\n }\n }\n function registerSection(id, name, order, icon) {\n if (registeredSections.value.some(({ id: otherId }) => id === otherId)) {\n throw new Error(`Duplicate section id found: ${id}. Settings navigation sections must have unique section ids.`);\n }\n if (registeredSections.value.some(({ name: otherName }) => name === otherName)) {\n Vue.util.warn(`Duplicate section name found: ${name}. Settings navigation sections must have unique section names.`);\n }\n if (order !== void 0) {\n sectionsOrderMap.set(id, order);\n } else if (sectionsOrderMap.has(id)) {\n order = sectionsOrderMap.get(id);\n } else {\n order = Math.max(0, ...sectionsOrderMap.values()) + 1;\n sectionsOrderMap.set(id, order);\n }\n registeredSections.value = [...registeredSections.value, { id, name, order, icon }].sort(({ order: orderA }, { order: orderB }) => {\n return orderA - orderB;\n });\n if (registeredSections.value.length === 1) {\n selectedSection.value = id;\n }\n }\n function unregisterSection(id) {\n registeredSections.value = registeredSections.value.filter(({ id: otherId }) => id !== otherId);\n if (selectedSection.value === id) {\n selectedSection.value = registeredSections.value[0]?.id ?? \"\";\n }\n }\n return { __sfc: true, props, emit, open, settingsScroller, isMobile, selectedSection, linkClicked, registeredSections, hasNavigation, hasNavigationIcons, unfocusNavigationItem, sectionsOrderMap, handleSettingsNavigationClick, handleCloseModal, handleScroll, registerSection, unregisterSection, NcDialog, NcVNodes, NcAppSettingsDialogVersion, t, isLegacy34 };\n }\n});\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _setup.open ? _c(_setup.NcDialog, { staticClass: \"app-settings\", class: { \"app-settings--legacy\": _setup.isLegacy34 }, attrs: { \"content-classes\": [\"app-settings__content\", { \"app-settings__non-legacy\": !_vm.legacy }], \"navigation-classes\": \"app-settings__navigation\", \"additional-trap-elements\": _vm.additionalTrapElements, \"container\": _vm.container, \"close-on-click-outside\": \"\", \"navigation-aria-label\": _setup.t(\"Settings navigation\"), \"size\": \"large\", \"name\": _vm.name }, on: { \"update:open\": _setup.handleCloseModal }, scopedSlots: _vm._u([_setup.hasNavigation ? { key: \"navigation\", fn: function({ isCollapsed }) {\n return [!_setup.isLegacy34 ? _c(\"div\", { staticClass: \"app-settings__title\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), !isCollapsed ? _c(\"ul\", { staticClass: \"navigation-list\" }, _vm._l(_setup.registeredSections, function(section) {\n return _c(\"li\", { key: section.id }, [_c(\"a\", { staticClass: \"navigation-list__link\", class: {\n \"navigation-list__link--active\": section.id === _setup.selectedSection,\n \"navigation-list__link--icon\": _setup.hasNavigationIcons\n }, attrs: { \"aria-current\": `${section.id === _setup.selectedSection}`, \"href\": `#settings-section_${section.id}`, \"tabindex\": \"0\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _setup.handleSettingsNavigationClick(section.id);\n }, \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) return null;\n return _setup.handleSettingsNavigationClick(section.id);\n } } }, [_setup.hasNavigationIcons ? _c(\"div\", { staticClass: \"navigation-list__link-icon\" }, [section.icon ? _c(_setup.NcVNodes, { attrs: { \"vnodes\": section.icon } }) : _vm._e()], 1) : _vm._e(), _c(\"span\", { staticClass: \"navigation-list__link-text\" }, [_vm._v(\" \" + _vm._s(section.name) + \" \")])])]);\n }), 0) : _vm._e()];\n } } : null], null, true) }, [_c(\"div\", { ref: \"settingsScroller\", on: { \"scroll\": _setup.handleScroll } }, [_vm._t(\"default\"), !_vm.noVersion ? _c(_setup.NcAppSettingsDialogVersion) : _vm._e()], 2)]) : _vm._e();\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"d5ede33a\"\n);\nconst NcAppSettingsDialog = __component__.exports;\nexport {\n NcAppSettingsDialog as N\n};\n//# sourceMappingURL=NcAppSettingsDialog-COfShoRs.mjs.map\n"],"names":["_sfc_main","_sfc_render","_vm","_c","$event","_sfc_staticRenderFns","__component__","normalizeComponent","DockRight","_sfc_main$1","_sfc_render$1","_sfc_staticRenderFns$1","__component__$1","DockLeft","register","t19","disableKeyboardShortcuts","NcButton","isRtl","t","NcAppNavigationToggle","ChevronUp","t13","ArrowRight","Close","isLegacy34","newValue","NcInputConfirmCancel","_sfc_main$3","_sfc_render$3","_sfc_staticRenderFns$3","__component__$3","Pencil","_sfc_main$2","_sfc_render$2","_sfc_staticRenderFns$2","__component__$2","Undo","t20","ChevronDown","e","NcAppNavigationIconCollapsible","t22","t53","NcActions","NcActionButton","NcLoadingIcon","NcVNodes","GenRandomId","id","useIsMobile","newVal","state","event","navigate","routerLinkHref","emit","actionsContainer","focusableElement","href","isActive","$$v","NcAppNavigationItem","APP_SETTINGS_REGISTRATION_KEY","APP_SETTINGS_LEGACY_DESIGN_KEY","useAppSettingsDialog","inject","defineComponent","__props","legacy","localizedAppName","useLocalizedAppName","APP_VERSION","appSettingsDialogVersion","appSettingsDialogVersion__legacy","style0","_setup","__cssModules","_sfc_injectStyles","ctx","key","NcAppSettingsDialogVersion","t50","props","open","useVModel","provide","registerSection","unregisterSection","toRef","settingsScroller","ref","isMobile","selectedSection","linkClicked","registeredSections","shallowRef","hasNavigation","computed","hasNavigationIcons","icon","unfocusNavigationItem","debounce","sectionsOrderMap","onBeforeUnmount","handleSettingsNavigationClick","item","section","handleCloseModal","isOpen","handleScroll","name","order","otherId","otherName","Vue","orderA","orderB","NcDialog","isCollapsed","NcAppSettingsDialog"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
\ No newline at end of file
diff --git a/js/NcListItem-CSlWfWZ1-BazGR5C8.chunk.mjs b/js/NcListItem-CSlWfWZ1-CBvWAfK6.chunk.mjs
similarity index 98%
rename from js/NcListItem-CSlWfWZ1-BazGR5C8.chunk.mjs
rename to js/NcListItem-CSlWfWZ1-CBvWAfK6.chunk.mjs
index 39a35b09d4..8de814d78b 100644
--- a/js/NcListItem-CSlWfWZ1-BazGR5C8.chunk.mjs
+++ b/js/NcListItem-CSlWfWZ1-CBvWAfK6.chunk.mjs
@@ -1,2 +1,2 @@
-import{n as o,z as r}from"./index-msNec4Xs.chunk.mjs";import{b as c}from"./NcActions-C4f9MXug-FA3YIyzG.chunk.mjs";import{f as u}from"./preload-helper-B1hyiFAx.chunk.mjs";import{N as d}from"./NcVNodes-CMjqwGYg.chunk.mjs";const h={name:"NcCounterBubble",props:{type:{type:String,default:"",validator(t){return["highlighted","outlined",""].includes(t)}},active:{type:Boolean,default:!1},count:{type:Number,required:!1,default:void 0},raw:{type:Boolean,required:!1,default:!1}},computed:{counterClassObject(){return{"counter-bubble__counter--highlighted":this.type==="highlighted","counter-bubble__counter--outlined":this.type==="outlined",active:this.active}},humanizedCount(){return this.humanizeCount(this.count)}},methods:{humanizeCount(t){return this.raw?t.toString():new Intl.NumberFormat(u(),{notation:"compact",compactDisplay:"short"}).format(t)},getHumanizedCount(){if(this.count!==void 0)return{humanized:this.humanizedCount,original:this.count.toString()};if(!this.raw&&this.$slots.default?.length===1){const t=this.$slots.default[0].text?.trim();if(t&&/^\d+$/.test(t)){const e=parseInt(t,10);return{humanized:this.humanizeCount(e),original:t}}}}},render(t){const e=this.getHumanizedCount();return t("div",{staticClass:"counter-bubble__counter",class:this.counterClassObject,attrs:{title:e&&e.original!==e.humanized?e.original:void 0}},[e?.humanized??this.$slots.default])}},m=null,p=null;var f=o(h,m,p,!1,null,"7d9795d6");const v=f.exports,[a]=r("core","config",{version:"30.0"}).version.split(".",2)??[],_=a&&Number.parseInt(a)<30,y={name:"NcListItem",components:{NcActions:c,NcCounterBubble:v,NcVNodes:d},props:{details:{type:String,default:""},name:{type:String,default:void 0},exact:{type:Boolean,default:!1},to:{type:[String,Object],default:null},href:{type:String,default:"#"},target:{type:String,default:""},anchorId:{type:String,default:""},bold:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},active:{type:Boolean,default:void 0},linkAriaLabel:{type:String,default:""},actionsAriaLabel:{type:String,default:void 0},counterNumber:{type:[Number,String],default:0},counterType:{type:String,default:"",validator(t){return["highlighted","outlined",""].indexOf(t)!==-1}},forceDisplayActions:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},oneLine:{type:Boolean,default:!1}},emits:["click","dragstart","update:menuOpen"],setup(){return{isLegacy:_}},data(){return{hovered:!1,hasActions:!1,hasSubname:!1,displayActionsOnHoverFocus:!1,menuOpen:!1,hasIndicator:!1,hasDetails:!1}},computed:{showAdditionalElements(){return!this.displayActionsOnHoverFocus||this.forceDisplayActions},showDetails(){return(this.details!==""||this.hasDetails)&&(!this.displayActionsOnHoverFocus||this.forceDisplayActions)}},watch:{menuOpen(t){!t&&!this.hovered&&(this.displayActionsOnHoverFocus=!1)}},mounted(){this.checkSlots()},updated(){this.checkSlots()},methods:{onClick(t,e,i){this.$emit("click",t),!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&i&&(e?.(t),t.preventDefault())},showActions(){this.hasActions&&(this.displayActionsOnHoverFocus=!0),this.hovered=!1},hideActions(){this.displayActionsOnHoverFocus=!1},handleBlur(t){this.menuOpen||this.$refs["list-item"].contains(t.relatedTarget)||this.hideActions()},handleMouseleave(){this.menuOpen||(this.displayActionsOnHoverFocus=!1),this.hovered=!1},handleMouseover(){this.showActions(),this.hovered=!0},handleActionsUpdateOpen(t){this.menuOpen=t,this.$emit("update:menuOpen",t)},checkSlots(){this.hasActions!==!!this.$slots.actions&&(this.hasActions=!!this.$slots.actions),this.hasSubname!==!!this.$slots.subname&&(this.hasSubname=!!this.$slots.subname),this.hasIndicator!==!!this.$slots.indicator&&(this.hasIndicator=!!this.$slots.indicator),this.hasDetails!==!!this.$slots.details&&(this.hasDetails=!!this.$slots.details)}}};var b=function(){var t=this,e=t._self._c;return e(t.to?"router-link":"NcVNodes",{tag:"component",attrs:{custom:t.to?!0:null,to:t.to,exact:t.to?t.exact:null},scopedSlots:t._u([{key:"default",fn:function({href:i,navigate:l,isActive:n}){return[e("li",{staticClass:"list-item__wrapper",class:{"list-item__wrapper--active":t.active??n}},[e("div",{ref:"list-item",staticClass:"list-item",class:{"list-item--compact":t.compact,"list-item--legacy":t.isLegacy,"list-item--one-line":t.oneLine},on:{mouseover:t.handleMouseover,mouseleave:t.handleMouseleave}},[e("a",{staticClass:"list-item__anchor",attrs:{id:t.anchorId||void 0,"aria-label":t.linkAriaLabel,href:i||t.href,target:t.target||(t.href==="#"?void 0:"_blank"),rel:t.href==="#"?void 0:"noopener noreferrer"},on:{focus:t.showActions,focusout:t.handleBlur,click:function(s){return t.onClick(s,l,i)},dragstart:function(s){return t.$emit("dragstart",s)},keydown:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"esc",27,s.key,["Esc","Escape"])?null:t.hideActions.apply(null,arguments)}}},[t._t("icon"),e("div",{staticClass:"list-item-content"},[e("div",{staticClass:"list-item-content__main"},[e("div",{staticClass:"list-item-content__name"},[t._t("name",function(){return[t._v(t._s(t.name))]})],2),t.hasSubname?e("div",{staticClass:"list-item-content__subname",class:{"list-item-content__subname--bold":t.bold}},[t._t("subname")],2):t._e()]),e("div",{staticClass:"list-item-content__details"},[t.showDetails?e("div",{staticClass:"list-item-details__details"},[t._t("details",function(){return[t._v(t._s(t.details))]})],2):t._e(),t.counterNumber||t.hasIndicator?e("div",{directives:[{name:"show",rawName:"v-show",value:t.showAdditionalElements,expression:"showAdditionalElements"}],staticClass:"list-item-details__extra"},[t.counterNumber?e("NcCounterBubble",{staticClass:"list-item-details__counter",attrs:{active:t.active??n,type:t.counterType}},[t._v(" "+t._s(t.counterNumber)+" ")]):t._e(),t.hasIndicator?e("span",{staticClass:"list-item-details__indicator"},[t._t("indicator")],2):t._e()],1):t._e()])])],2),t.$slots["extra-actions"]?e("div",{staticClass:"list-item-content__extra-actions"},[t._t("extra-actions")],2):t._e(),t.forceDisplayActions||t.displayActionsOnHoverFocus?e("div",{staticClass:"list-item-content__actions",on:{focusout:t.handleBlur}},[e("NcActions",{ref:"actions",attrs:{primary:t.active??n,"force-menu":t.forceMenu,"aria-label":t.actionsAriaLabel},on:{"update:open":t.handleActionsUpdateOpen},scopedSlots:t._u([t.$slots["actions-icon"]?{key:"icon",fn:function(){return[t._t("actions-icon")]},proxy:!0}:null],null,!0)},[t._t("actions")],2)],1):t._e(),t.$slots.extra?e("div",{staticClass:"list-item__extra"},[t._t("extra")],2):t._e()])])]}}],null,!0)})},g=[],A=o(y,b,g,!1,null,"9ea2f116");const k=A.exports;export{k as N};
-//# sourceMappingURL=NcListItem-CSlWfWZ1-BazGR5C8.chunk.mjs.map
+import{n as o,z as r}from"./index-msNec4Xs.chunk.mjs";import{b as c}from"./NcActions-C4f9MXug-BC_2VOkH.chunk.mjs";import{f as u}from"./preload-helper-B1hyiFAx.chunk.mjs";import{N as d}from"./NcVNodes-CMjqwGYg.chunk.mjs";const h={name:"NcCounterBubble",props:{type:{type:String,default:"",validator(t){return["highlighted","outlined",""].includes(t)}},active:{type:Boolean,default:!1},count:{type:Number,required:!1,default:void 0},raw:{type:Boolean,required:!1,default:!1}},computed:{counterClassObject(){return{"counter-bubble__counter--highlighted":this.type==="highlighted","counter-bubble__counter--outlined":this.type==="outlined",active:this.active}},humanizedCount(){return this.humanizeCount(this.count)}},methods:{humanizeCount(t){return this.raw?t.toString():new Intl.NumberFormat(u(),{notation:"compact",compactDisplay:"short"}).format(t)},getHumanizedCount(){if(this.count!==void 0)return{humanized:this.humanizedCount,original:this.count.toString()};if(!this.raw&&this.$slots.default?.length===1){const t=this.$slots.default[0].text?.trim();if(t&&/^\d+$/.test(t)){const e=parseInt(t,10);return{humanized:this.humanizeCount(e),original:t}}}}},render(t){const e=this.getHumanizedCount();return t("div",{staticClass:"counter-bubble__counter",class:this.counterClassObject,attrs:{title:e&&e.original!==e.humanized?e.original:void 0}},[e?.humanized??this.$slots.default])}},m=null,p=null;var f=o(h,m,p,!1,null,"7d9795d6");const v=f.exports,[a]=r("core","config",{version:"30.0"}).version.split(".",2)??[],_=a&&Number.parseInt(a)<30,y={name:"NcListItem",components:{NcActions:c,NcCounterBubble:v,NcVNodes:d},props:{details:{type:String,default:""},name:{type:String,default:void 0},exact:{type:Boolean,default:!1},to:{type:[String,Object],default:null},href:{type:String,default:"#"},target:{type:String,default:""},anchorId:{type:String,default:""},bold:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},active:{type:Boolean,default:void 0},linkAriaLabel:{type:String,default:""},actionsAriaLabel:{type:String,default:void 0},counterNumber:{type:[Number,String],default:0},counterType:{type:String,default:"",validator(t){return["highlighted","outlined",""].indexOf(t)!==-1}},forceDisplayActions:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},oneLine:{type:Boolean,default:!1}},emits:["click","dragstart","update:menuOpen"],setup(){return{isLegacy:_}},data(){return{hovered:!1,hasActions:!1,hasSubname:!1,displayActionsOnHoverFocus:!1,menuOpen:!1,hasIndicator:!1,hasDetails:!1}},computed:{showAdditionalElements(){return!this.displayActionsOnHoverFocus||this.forceDisplayActions},showDetails(){return(this.details!==""||this.hasDetails)&&(!this.displayActionsOnHoverFocus||this.forceDisplayActions)}},watch:{menuOpen(t){!t&&!this.hovered&&(this.displayActionsOnHoverFocus=!1)}},mounted(){this.checkSlots()},updated(){this.checkSlots()},methods:{onClick(t,e,i){this.$emit("click",t),!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&i&&(e?.(t),t.preventDefault())},showActions(){this.hasActions&&(this.displayActionsOnHoverFocus=!0),this.hovered=!1},hideActions(){this.displayActionsOnHoverFocus=!1},handleBlur(t){this.menuOpen||this.$refs["list-item"].contains(t.relatedTarget)||this.hideActions()},handleMouseleave(){this.menuOpen||(this.displayActionsOnHoverFocus=!1),this.hovered=!1},handleMouseover(){this.showActions(),this.hovered=!0},handleActionsUpdateOpen(t){this.menuOpen=t,this.$emit("update:menuOpen",t)},checkSlots(){this.hasActions!==!!this.$slots.actions&&(this.hasActions=!!this.$slots.actions),this.hasSubname!==!!this.$slots.subname&&(this.hasSubname=!!this.$slots.subname),this.hasIndicator!==!!this.$slots.indicator&&(this.hasIndicator=!!this.$slots.indicator),this.hasDetails!==!!this.$slots.details&&(this.hasDetails=!!this.$slots.details)}}};var b=function(){var t=this,e=t._self._c;return e(t.to?"router-link":"NcVNodes",{tag:"component",attrs:{custom:t.to?!0:null,to:t.to,exact:t.to?t.exact:null},scopedSlots:t._u([{key:"default",fn:function({href:i,navigate:l,isActive:n}){return[e("li",{staticClass:"list-item__wrapper",class:{"list-item__wrapper--active":t.active??n}},[e("div",{ref:"list-item",staticClass:"list-item",class:{"list-item--compact":t.compact,"list-item--legacy":t.isLegacy,"list-item--one-line":t.oneLine},on:{mouseover:t.handleMouseover,mouseleave:t.handleMouseleave}},[e("a",{staticClass:"list-item__anchor",attrs:{id:t.anchorId||void 0,"aria-label":t.linkAriaLabel,href:i||t.href,target:t.target||(t.href==="#"?void 0:"_blank"),rel:t.href==="#"?void 0:"noopener noreferrer"},on:{focus:t.showActions,focusout:t.handleBlur,click:function(s){return t.onClick(s,l,i)},dragstart:function(s){return t.$emit("dragstart",s)},keydown:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"esc",27,s.key,["Esc","Escape"])?null:t.hideActions.apply(null,arguments)}}},[t._t("icon"),e("div",{staticClass:"list-item-content"},[e("div",{staticClass:"list-item-content__main"},[e("div",{staticClass:"list-item-content__name"},[t._t("name",function(){return[t._v(t._s(t.name))]})],2),t.hasSubname?e("div",{staticClass:"list-item-content__subname",class:{"list-item-content__subname--bold":t.bold}},[t._t("subname")],2):t._e()]),e("div",{staticClass:"list-item-content__details"},[t.showDetails?e("div",{staticClass:"list-item-details__details"},[t._t("details",function(){return[t._v(t._s(t.details))]})],2):t._e(),t.counterNumber||t.hasIndicator?e("div",{directives:[{name:"show",rawName:"v-show",value:t.showAdditionalElements,expression:"showAdditionalElements"}],staticClass:"list-item-details__extra"},[t.counterNumber?e("NcCounterBubble",{staticClass:"list-item-details__counter",attrs:{active:t.active??n,type:t.counterType}},[t._v(" "+t._s(t.counterNumber)+" ")]):t._e(),t.hasIndicator?e("span",{staticClass:"list-item-details__indicator"},[t._t("indicator")],2):t._e()],1):t._e()])])],2),t.$slots["extra-actions"]?e("div",{staticClass:"list-item-content__extra-actions"},[t._t("extra-actions")],2):t._e(),t.forceDisplayActions||t.displayActionsOnHoverFocus?e("div",{staticClass:"list-item-content__actions",on:{focusout:t.handleBlur}},[e("NcActions",{ref:"actions",attrs:{primary:t.active??n,"force-menu":t.forceMenu,"aria-label":t.actionsAriaLabel},on:{"update:open":t.handleActionsUpdateOpen},scopedSlots:t._u([t.$slots["actions-icon"]?{key:"icon",fn:function(){return[t._t("actions-icon")]},proxy:!0}:null],null,!0)},[t._t("actions")],2)],1):t._e(),t.$slots.extra?e("div",{staticClass:"list-item__extra"},[t._t("extra")],2):t._e()])])]}}],null,!0)})},g=[],A=o(y,b,g,!1,null,"9ea2f116");const k=A.exports;export{k as N};
+//# sourceMappingURL=NcListItem-CSlWfWZ1-CBvWAfK6.chunk.mjs.map
diff --git a/js/NcListItem-CSlWfWZ1-BazGR5C8.chunk.mjs.license b/js/NcListItem-CSlWfWZ1-CBvWAfK6.chunk.mjs.license
similarity index 100%
rename from js/NcListItem-CSlWfWZ1-BazGR5C8.chunk.mjs.license
rename to js/NcListItem-CSlWfWZ1-CBvWAfK6.chunk.mjs.license
diff --git a/js/NcListItem-CSlWfWZ1-BazGR5C8.chunk.mjs.map b/js/NcListItem-CSlWfWZ1-CBvWAfK6.chunk.mjs.map
similarity index 99%
rename from js/NcListItem-CSlWfWZ1-BazGR5C8.chunk.mjs.map
rename to js/NcListItem-CSlWfWZ1-CBvWAfK6.chunk.mjs.map
index 136a345cc5..d442c2f76d 100644
--- a/js/NcListItem-CSlWfWZ1-BazGR5C8.chunk.mjs.map
+++ b/js/NcListItem-CSlWfWZ1-CBvWAfK6.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"NcListItem-CSlWfWZ1-BazGR5C8.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcCounterBubble-oxV8oMlX.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcListItem-CSlWfWZ1.mjs"],"sourcesContent":["import '../assets/NcCounterBubble-sz81L2Mt.css';\nimport { getCanonicalLocale } from \"@nextcloud/l10n\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcCounterBubble\",\n props: {\n /**\n * Visual appearence of the counter bubble\n */\n type: {\n type: String,\n default: \"\",\n validator(value) {\n return [\"highlighted\", \"outlined\", \"\"].includes(value);\n }\n },\n /**\n * Specifies whether the component is used within a component that is\n * active and therefore has a primary background. Inverts the color of\n * this component when that is the case.\n */\n active: {\n type: Boolean,\n default: false\n },\n /**\n * The count to display in the counter bubble.\n * Alternatively, you can pass any value to the default slot.\n */\n count: {\n type: Number,\n required: false,\n default: void 0\n },\n /**\n * Disables humanization to display count or content as it is\n */\n raw: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n computed: {\n counterClassObject() {\n return {\n \"counter-bubble__counter--highlighted\": this.type === \"highlighted\",\n \"counter-bubble__counter--outlined\": this.type === \"outlined\",\n active: this.active\n };\n },\n humanizedCount() {\n return this.humanizeCount(this.count);\n }\n },\n methods: {\n humanizeCount(count) {\n if (this.raw) {\n return count.toString();\n }\n const formatter = new Intl.NumberFormat(getCanonicalLocale(), {\n notation: \"compact\",\n compactDisplay: \"short\"\n });\n return formatter.format(count);\n },\n /**\n * Get the humanized count from `count` prop\n *\n * @return {{ humanized: string, original: string} | undefined}\n */\n getHumanizedCount() {\n if (this.count !== void 0) {\n return {\n humanized: this.humanizedCount,\n original: this.count.toString()\n };\n }\n if (this.raw) {\n return void 0;\n }\n if (this.$slots.default?.length === 1) {\n const slotContent = this.$slots.default[0].text?.trim();\n if (slotContent && /^\\d+$/.test(slotContent)) {\n const count = parseInt(slotContent, 10);\n return {\n humanized: this.humanizeCount(count),\n original: slotContent\n };\n }\n }\n }\n },\n render(h) {\n const count = this.getHumanizedCount();\n return h(\"div\", {\n staticClass: \"counter-bubble__counter\",\n class: this.counterClassObject,\n attrs: {\n // Show original count in title if humanized\n title: count && count.original !== count.humanized ? count.original : void 0\n }\n }, [count?.humanized ?? this.$slots.default]);\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 \"7d9795d6\"\n);\nconst NcCounterBubble = __component__.exports;\nexport {\n NcCounterBubble as N\n};\n//# sourceMappingURL=NcCounterBubble-oxV8oMlX.mjs.map\n","import '../assets/NcListItem-3a4Lafwa.css';\nimport { loadState } from \"@nextcloud/initial-state\";\nimport { N as NcActions } from \"./NcActions-C4f9MXug.mjs\";\nimport { N as NcCounterBubble } from \"./NcCounterBubble-oxV8oMlX.mjs\";\nimport NcVNodes from \"../Components/NcVNodes.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst [major] = loadState(\"core\", \"config\", { version: \"30.0\" }).version.split(\".\", 2) ?? [];\nconst isLegacy = major && Number.parseInt(major) < 30;\nconst _sfc_main = {\n name: \"NcListItem\",\n components: {\n NcActions,\n NcCounterBubble,\n NcVNodes\n },\n props: {\n /**\n * The details text displayed in the upper right part of the component\n */\n details: {\n type: String,\n default: \"\"\n },\n /**\n * Name (first line of text)\n */\n name: {\n type: String,\n default: void 0\n },\n /**\n * Pass in `true` if you want the matching behavior to\n * be non-inclusive: https://router.vuejs.org/api/#exact\n */\n exact: {\n type: Boolean,\n default: false\n },\n /**\n * The route for the router link.\n */\n to: {\n type: [String, Object],\n default: null\n },\n /**\n * The value for the external link\n */\n href: {\n type: String,\n default: \"#\"\n },\n /**\n * The HTML target attribute used for the link\n */\n target: {\n type: String,\n default: \"\"\n },\n /**\n * Id for the `` element\n */\n anchorId: {\n type: String,\n default: \"\"\n },\n /**\n * Make subname bold\n */\n bold: {\n type: Boolean,\n default: false\n },\n /**\n * Show the NcListItem in compact design\n */\n compact: {\n type: Boolean,\n default: false\n },\n /**\n * Toggle the active state of the component\n */\n active: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: void 0\n },\n /**\n * Aria label for the wrapper element\n */\n linkAriaLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Aria label for the actions toggle\n */\n actionsAriaLabel: {\n type: String,\n default: void 0\n },\n /**\n * If different from 0 this component will display the\n * NcCounterBubble component\n */\n counterNumber: {\n type: [Number, String],\n default: 0\n },\n /**\n * Outlined or highlighted state of the counter\n */\n counterType: {\n type: String,\n default: \"\",\n validator(value) {\n return [\"highlighted\", \"outlined\", \"\"].indexOf(value) !== -1;\n }\n },\n /**\n * To be used only when the elements in the actions menu are very important\n */\n forceDisplayActions: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Show the list component layout\n */\n oneLine: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"click\",\n \"dragstart\",\n \"update:menuOpen\"\n ],\n setup() {\n return {\n isLegacy\n };\n },\n data() {\n return {\n hovered: false,\n hasActions: false,\n hasSubname: false,\n displayActionsOnHoverFocus: false,\n menuOpen: false,\n hasIndicator: false,\n hasDetails: false\n };\n },\n computed: {\n showAdditionalElements() {\n return !this.displayActionsOnHoverFocus || this.forceDisplayActions;\n },\n showDetails() {\n return (this.details !== \"\" || this.hasDetails) && (!this.displayActionsOnHoverFocus || this.forceDisplayActions);\n }\n },\n watch: {\n menuOpen(newValue) {\n if (!newValue && !this.hovered) {\n this.displayActionsOnHoverFocus = false;\n }\n }\n },\n mounted() {\n this.checkSlots();\n },\n updated() {\n this.checkSlots();\n },\n methods: {\n /**\n * Handle link click\n *\n * @param {MouseEvent|KeyboardEvent} event - Native click or keydown event\n * @param {Function} [navigate] - VueRouter link's navigate if any\n * @param {string} [routerLinkHref] - VueRouter link's href\n */\n onClick(event, navigate, routerLinkHref) {\n this.$emit(\"click\", event);\n if (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey) {\n return;\n }\n if (routerLinkHref) {\n navigate?.(event);\n event.preventDefault();\n }\n },\n showActions() {\n if (this.hasActions) {\n this.displayActionsOnHoverFocus = true;\n }\n this.hovered = false;\n },\n hideActions() {\n this.displayActionsOnHoverFocus = false;\n },\n /**\n * @param {FocusEvent} event UI event\n */\n handleBlur(event) {\n if (this.menuOpen) {\n return;\n }\n if (this.$refs[\"list-item\"].contains(event.relatedTarget)) {\n return;\n }\n this.hideActions();\n },\n /**\n * Hide the actions on mouseleave unless the menu is open\n */\n handleMouseleave() {\n if (!this.menuOpen) {\n this.displayActionsOnHoverFocus = false;\n }\n this.hovered = false;\n },\n handleMouseover() {\n this.showActions();\n this.hovered = true;\n },\n handleActionsUpdateOpen(e) {\n this.menuOpen = e;\n this.$emit(\"update:menuOpen\", e);\n },\n // Check if subname and actions slots are populated\n checkSlots() {\n if (this.hasActions !== !!this.$slots.actions) {\n this.hasActions = !!this.$slots.actions;\n }\n if (this.hasSubname !== !!this.$slots.subname) {\n this.hasSubname = !!this.$slots.subname;\n }\n if (this.hasIndicator !== !!this.$slots.indicator) {\n this.hasIndicator = !!this.$slots.indicator;\n }\n if (this.hasDetails !== !!this.$slots.details) {\n this.hasDetails = !!this.$slots.details;\n }\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(_vm.to ? \"router-link\" : \"NcVNodes\", { tag: \"component\", attrs: { \"custom\": _vm.to ? true : null, \"to\": _vm.to, \"exact\": _vm.to ? _vm.exact : null }, scopedSlots: _vm._u([{ key: \"default\", fn: function({ href: routerLinkHref, navigate, isActive }) {\n return [_c(\"li\", { staticClass: \"list-item__wrapper\", class: { \"list-item__wrapper--active\": _vm.active ?? isActive } }, [_c(\"div\", { ref: \"list-item\", staticClass: \"list-item\", class: {\n \"list-item--compact\": _vm.compact,\n \"list-item--legacy\": _vm.isLegacy,\n \"list-item--one-line\": _vm.oneLine\n }, on: { \"mouseover\": _vm.handleMouseover, \"mouseleave\": _vm.handleMouseleave } }, [_c(\"a\", { staticClass: \"list-item__anchor\", attrs: { \"id\": _vm.anchorId || void 0, \"aria-label\": _vm.linkAriaLabel, \"href\": routerLinkHref || _vm.href, \"target\": _vm.target || (_vm.href === \"#\" ? void 0 : \"_blank\"), \"rel\": _vm.href === \"#\" ? void 0 : \"noopener noreferrer\" }, on: { \"focus\": _vm.showActions, \"focusout\": _vm.handleBlur, \"click\": function($event) {\n return _vm.onClick($event, navigate, routerLinkHref);\n }, \"dragstart\": function($event) {\n return _vm.$emit(\"dragstart\", $event);\n }, \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) return null;\n return _vm.hideActions.apply(null, arguments);\n } } }, [_vm._t(\"icon\"), _c(\"div\", { staticClass: \"list-item-content\" }, [_c(\"div\", { staticClass: \"list-item-content__main\" }, [_c(\"div\", { staticClass: \"list-item-content__name\" }, [_vm._t(\"name\", function() {\n return [_vm._v(_vm._s(_vm.name))];\n })], 2), _vm.hasSubname ? _c(\"div\", { staticClass: \"list-item-content__subname\", class: { \"list-item-content__subname--bold\": _vm.bold } }, [_vm._t(\"subname\")], 2) : _vm._e()]), _c(\"div\", { staticClass: \"list-item-content__details\" }, [_vm.showDetails ? _c(\"div\", { staticClass: \"list-item-details__details\" }, [_vm._t(\"details\", function() {\n return [_vm._v(_vm._s(_vm.details))];\n })], 2) : _vm._e(), _vm.counterNumber || _vm.hasIndicator ? _c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.showAdditionalElements, expression: \"showAdditionalElements\" }], staticClass: \"list-item-details__extra\" }, [_vm.counterNumber ? _c(\"NcCounterBubble\", { staticClass: \"list-item-details__counter\", attrs: { \"active\": _vm.active ?? isActive, \"type\": _vm.counterType } }, [_vm._v(\" \" + _vm._s(_vm.counterNumber) + \" \")]) : _vm._e(), _vm.hasIndicator ? _c(\"span\", { staticClass: \"list-item-details__indicator\" }, [_vm._t(\"indicator\")], 2) : _vm._e()], 1) : _vm._e()])])], 2), _vm.$slots[\"extra-actions\"] ? _c(\"div\", { staticClass: \"list-item-content__extra-actions\" }, [_vm._t(\"extra-actions\")], 2) : _vm._e(), _vm.forceDisplayActions || _vm.displayActionsOnHoverFocus ? _c(\"div\", { staticClass: \"list-item-content__actions\", on: { \"focusout\": _vm.handleBlur } }, [_c(\"NcActions\", { ref: \"actions\", attrs: { \"primary\": _vm.active ?? isActive, \"force-menu\": _vm.forceMenu, \"aria-label\": _vm.actionsAriaLabel }, on: { \"update:open\": _vm.handleActionsUpdateOpen }, scopedSlots: _vm._u([_vm.$slots[\"actions-icon\"] ? { key: \"icon\", fn: function() {\n return [_vm._t(\"actions-icon\")];\n }, proxy: true } : null], null, true) }, [_vm._t(\"actions\")], 2)], 1) : _vm._e(), _vm.$slots.extra ? _c(\"div\", { staticClass: \"list-item__extra\" }, [_vm._t(\"extra\")], 2) : _vm._e()])])];\n } }], null, true) });\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"9ea2f116\"\n);\nconst NcListItem = __component__.exports;\nexport {\n NcListItem as N\n};\n//# sourceMappingURL=NcListItem-CSlWfWZ1.mjs.map\n"],"names":["_sfc_main","value","count","getCanonicalLocale","slotContent","h","_sfc_render","_sfc_staticRenderFns","__component__","normalizeComponent","NcCounterBubble","major","loadState","isLegacy","NcActions","NcVNodes","newValue","event","navigate","routerLinkHref","e","_vm","_c","isActive","$event","NcListItem"],"mappings":"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","x_google_ignoreList":[0,1]}
\ No newline at end of file
+{"version":3,"file":"NcListItem-CSlWfWZ1-CBvWAfK6.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcCounterBubble-oxV8oMlX.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcListItem-CSlWfWZ1.mjs"],"sourcesContent":["import '../assets/NcCounterBubble-sz81L2Mt.css';\nimport { getCanonicalLocale } from \"@nextcloud/l10n\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcCounterBubble\",\n props: {\n /**\n * Visual appearence of the counter bubble\n */\n type: {\n type: String,\n default: \"\",\n validator(value) {\n return [\"highlighted\", \"outlined\", \"\"].includes(value);\n }\n },\n /**\n * Specifies whether the component is used within a component that is\n * active and therefore has a primary background. Inverts the color of\n * this component when that is the case.\n */\n active: {\n type: Boolean,\n default: false\n },\n /**\n * The count to display in the counter bubble.\n * Alternatively, you can pass any value to the default slot.\n */\n count: {\n type: Number,\n required: false,\n default: void 0\n },\n /**\n * Disables humanization to display count or content as it is\n */\n raw: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n computed: {\n counterClassObject() {\n return {\n \"counter-bubble__counter--highlighted\": this.type === \"highlighted\",\n \"counter-bubble__counter--outlined\": this.type === \"outlined\",\n active: this.active\n };\n },\n humanizedCount() {\n return this.humanizeCount(this.count);\n }\n },\n methods: {\n humanizeCount(count) {\n if (this.raw) {\n return count.toString();\n }\n const formatter = new Intl.NumberFormat(getCanonicalLocale(), {\n notation: \"compact\",\n compactDisplay: \"short\"\n });\n return formatter.format(count);\n },\n /**\n * Get the humanized count from `count` prop\n *\n * @return {{ humanized: string, original: string} | undefined}\n */\n getHumanizedCount() {\n if (this.count !== void 0) {\n return {\n humanized: this.humanizedCount,\n original: this.count.toString()\n };\n }\n if (this.raw) {\n return void 0;\n }\n if (this.$slots.default?.length === 1) {\n const slotContent = this.$slots.default[0].text?.trim();\n if (slotContent && /^\\d+$/.test(slotContent)) {\n const count = parseInt(slotContent, 10);\n return {\n humanized: this.humanizeCount(count),\n original: slotContent\n };\n }\n }\n }\n },\n render(h) {\n const count = this.getHumanizedCount();\n return h(\"div\", {\n staticClass: \"counter-bubble__counter\",\n class: this.counterClassObject,\n attrs: {\n // Show original count in title if humanized\n title: count && count.original !== count.humanized ? count.original : void 0\n }\n }, [count?.humanized ?? this.$slots.default]);\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 \"7d9795d6\"\n);\nconst NcCounterBubble = __component__.exports;\nexport {\n NcCounterBubble as N\n};\n//# sourceMappingURL=NcCounterBubble-oxV8oMlX.mjs.map\n","import '../assets/NcListItem-3a4Lafwa.css';\nimport { loadState } from \"@nextcloud/initial-state\";\nimport { N as NcActions } from \"./NcActions-C4f9MXug.mjs\";\nimport { N as NcCounterBubble } from \"./NcCounterBubble-oxV8oMlX.mjs\";\nimport NcVNodes from \"../Components/NcVNodes.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst [major] = loadState(\"core\", \"config\", { version: \"30.0\" }).version.split(\".\", 2) ?? [];\nconst isLegacy = major && Number.parseInt(major) < 30;\nconst _sfc_main = {\n name: \"NcListItem\",\n components: {\n NcActions,\n NcCounterBubble,\n NcVNodes\n },\n props: {\n /**\n * The details text displayed in the upper right part of the component\n */\n details: {\n type: String,\n default: \"\"\n },\n /**\n * Name (first line of text)\n */\n name: {\n type: String,\n default: void 0\n },\n /**\n * Pass in `true` if you want the matching behavior to\n * be non-inclusive: https://router.vuejs.org/api/#exact\n */\n exact: {\n type: Boolean,\n default: false\n },\n /**\n * The route for the router link.\n */\n to: {\n type: [String, Object],\n default: null\n },\n /**\n * The value for the external link\n */\n href: {\n type: String,\n default: \"#\"\n },\n /**\n * The HTML target attribute used for the link\n */\n target: {\n type: String,\n default: \"\"\n },\n /**\n * Id for the ` ` element\n */\n anchorId: {\n type: String,\n default: \"\"\n },\n /**\n * Make subname bold\n */\n bold: {\n type: Boolean,\n default: false\n },\n /**\n * Show the NcListItem in compact design\n */\n compact: {\n type: Boolean,\n default: false\n },\n /**\n * Toggle the active state of the component\n */\n active: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: void 0\n },\n /**\n * Aria label for the wrapper element\n */\n linkAriaLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Aria label for the actions toggle\n */\n actionsAriaLabel: {\n type: String,\n default: void 0\n },\n /**\n * If different from 0 this component will display the\n * NcCounterBubble component\n */\n counterNumber: {\n type: [Number, String],\n default: 0\n },\n /**\n * Outlined or highlighted state of the counter\n */\n counterType: {\n type: String,\n default: \"\",\n validator(value) {\n return [\"highlighted\", \"outlined\", \"\"].indexOf(value) !== -1;\n }\n },\n /**\n * To be used only when the elements in the actions menu are very important\n */\n forceDisplayActions: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Show the list component layout\n */\n oneLine: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"click\",\n \"dragstart\",\n \"update:menuOpen\"\n ],\n setup() {\n return {\n isLegacy\n };\n },\n data() {\n return {\n hovered: false,\n hasActions: false,\n hasSubname: false,\n displayActionsOnHoverFocus: false,\n menuOpen: false,\n hasIndicator: false,\n hasDetails: false\n };\n },\n computed: {\n showAdditionalElements() {\n return !this.displayActionsOnHoverFocus || this.forceDisplayActions;\n },\n showDetails() {\n return (this.details !== \"\" || this.hasDetails) && (!this.displayActionsOnHoverFocus || this.forceDisplayActions);\n }\n },\n watch: {\n menuOpen(newValue) {\n if (!newValue && !this.hovered) {\n this.displayActionsOnHoverFocus = false;\n }\n }\n },\n mounted() {\n this.checkSlots();\n },\n updated() {\n this.checkSlots();\n },\n methods: {\n /**\n * Handle link click\n *\n * @param {MouseEvent|KeyboardEvent} event - Native click or keydown event\n * @param {Function} [navigate] - VueRouter link's navigate if any\n * @param {string} [routerLinkHref] - VueRouter link's href\n */\n onClick(event, navigate, routerLinkHref) {\n this.$emit(\"click\", event);\n if (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey) {\n return;\n }\n if (routerLinkHref) {\n navigate?.(event);\n event.preventDefault();\n }\n },\n showActions() {\n if (this.hasActions) {\n this.displayActionsOnHoverFocus = true;\n }\n this.hovered = false;\n },\n hideActions() {\n this.displayActionsOnHoverFocus = false;\n },\n /**\n * @param {FocusEvent} event UI event\n */\n handleBlur(event) {\n if (this.menuOpen) {\n return;\n }\n if (this.$refs[\"list-item\"].contains(event.relatedTarget)) {\n return;\n }\n this.hideActions();\n },\n /**\n * Hide the actions on mouseleave unless the menu is open\n */\n handleMouseleave() {\n if (!this.menuOpen) {\n this.displayActionsOnHoverFocus = false;\n }\n this.hovered = false;\n },\n handleMouseover() {\n this.showActions();\n this.hovered = true;\n },\n handleActionsUpdateOpen(e) {\n this.menuOpen = e;\n this.$emit(\"update:menuOpen\", e);\n },\n // Check if subname and actions slots are populated\n checkSlots() {\n if (this.hasActions !== !!this.$slots.actions) {\n this.hasActions = !!this.$slots.actions;\n }\n if (this.hasSubname !== !!this.$slots.subname) {\n this.hasSubname = !!this.$slots.subname;\n }\n if (this.hasIndicator !== !!this.$slots.indicator) {\n this.hasIndicator = !!this.$slots.indicator;\n }\n if (this.hasDetails !== !!this.$slots.details) {\n this.hasDetails = !!this.$slots.details;\n }\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(_vm.to ? \"router-link\" : \"NcVNodes\", { tag: \"component\", attrs: { \"custom\": _vm.to ? true : null, \"to\": _vm.to, \"exact\": _vm.to ? _vm.exact : null }, scopedSlots: _vm._u([{ key: \"default\", fn: function({ href: routerLinkHref, navigate, isActive }) {\n return [_c(\"li\", { staticClass: \"list-item__wrapper\", class: { \"list-item__wrapper--active\": _vm.active ?? isActive } }, [_c(\"div\", { ref: \"list-item\", staticClass: \"list-item\", class: {\n \"list-item--compact\": _vm.compact,\n \"list-item--legacy\": _vm.isLegacy,\n \"list-item--one-line\": _vm.oneLine\n }, on: { \"mouseover\": _vm.handleMouseover, \"mouseleave\": _vm.handleMouseleave } }, [_c(\"a\", { staticClass: \"list-item__anchor\", attrs: { \"id\": _vm.anchorId || void 0, \"aria-label\": _vm.linkAriaLabel, \"href\": routerLinkHref || _vm.href, \"target\": _vm.target || (_vm.href === \"#\" ? void 0 : \"_blank\"), \"rel\": _vm.href === \"#\" ? void 0 : \"noopener noreferrer\" }, on: { \"focus\": _vm.showActions, \"focusout\": _vm.handleBlur, \"click\": function($event) {\n return _vm.onClick($event, navigate, routerLinkHref);\n }, \"dragstart\": function($event) {\n return _vm.$emit(\"dragstart\", $event);\n }, \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) return null;\n return _vm.hideActions.apply(null, arguments);\n } } }, [_vm._t(\"icon\"), _c(\"div\", { staticClass: \"list-item-content\" }, [_c(\"div\", { staticClass: \"list-item-content__main\" }, [_c(\"div\", { staticClass: \"list-item-content__name\" }, [_vm._t(\"name\", function() {\n return [_vm._v(_vm._s(_vm.name))];\n })], 2), _vm.hasSubname ? _c(\"div\", { staticClass: \"list-item-content__subname\", class: { \"list-item-content__subname--bold\": _vm.bold } }, [_vm._t(\"subname\")], 2) : _vm._e()]), _c(\"div\", { staticClass: \"list-item-content__details\" }, [_vm.showDetails ? _c(\"div\", { staticClass: \"list-item-details__details\" }, [_vm._t(\"details\", function() {\n return [_vm._v(_vm._s(_vm.details))];\n })], 2) : _vm._e(), _vm.counterNumber || _vm.hasIndicator ? _c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.showAdditionalElements, expression: \"showAdditionalElements\" }], staticClass: \"list-item-details__extra\" }, [_vm.counterNumber ? _c(\"NcCounterBubble\", { staticClass: \"list-item-details__counter\", attrs: { \"active\": _vm.active ?? isActive, \"type\": _vm.counterType } }, [_vm._v(\" \" + _vm._s(_vm.counterNumber) + \" \")]) : _vm._e(), _vm.hasIndicator ? _c(\"span\", { staticClass: \"list-item-details__indicator\" }, [_vm._t(\"indicator\")], 2) : _vm._e()], 1) : _vm._e()])])], 2), _vm.$slots[\"extra-actions\"] ? _c(\"div\", { staticClass: \"list-item-content__extra-actions\" }, [_vm._t(\"extra-actions\")], 2) : _vm._e(), _vm.forceDisplayActions || _vm.displayActionsOnHoverFocus ? _c(\"div\", { staticClass: \"list-item-content__actions\", on: { \"focusout\": _vm.handleBlur } }, [_c(\"NcActions\", { ref: \"actions\", attrs: { \"primary\": _vm.active ?? isActive, \"force-menu\": _vm.forceMenu, \"aria-label\": _vm.actionsAriaLabel }, on: { \"update:open\": _vm.handleActionsUpdateOpen }, scopedSlots: _vm._u([_vm.$slots[\"actions-icon\"] ? { key: \"icon\", fn: function() {\n return [_vm._t(\"actions-icon\")];\n }, proxy: true } : null], null, true) }, [_vm._t(\"actions\")], 2)], 1) : _vm._e(), _vm.$slots.extra ? _c(\"div\", { staticClass: \"list-item__extra\" }, [_vm._t(\"extra\")], 2) : _vm._e()])])];\n } }], null, true) });\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"9ea2f116\"\n);\nconst NcListItem = __component__.exports;\nexport {\n NcListItem as N\n};\n//# sourceMappingURL=NcListItem-CSlWfWZ1.mjs.map\n"],"names":["_sfc_main","value","count","getCanonicalLocale","slotContent","h","_sfc_render","_sfc_staticRenderFns","__component__","normalizeComponent","NcCounterBubble","major","loadState","isLegacy","NcActions","NcVNodes","newValue","event","navigate","routerLinkHref","e","_vm","_c","isActive","$event","NcListItem"],"mappings":"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","x_google_ignoreList":[0,1]}
\ No newline at end of file
diff --git a/js/NcModal-BX64wQqg.chunk.mjs b/js/NcModal-DnfAQoZ9.chunk.mjs
similarity index 98%
rename from js/NcModal-BX64wQqg.chunk.mjs
rename to js/NcModal-DnfAQoZ9.chunk.mjs
index 2c488cabbd..c718300001 100644
--- a/js/NcModal-BX64wQqg.chunk.mjs
+++ b/js/NcModal-DnfAQoZ9.chunk.mjs
@@ -1,2 +1,2 @@
-import{h as v,V as w,u as g}from"./preload-helper-B1hyiFAx.chunk.mjs";import{n as l,r as p,E as b,k as m,N as f,e as o,F as C,G as _}from"./index-msNec4Xs.chunk.mjs";import{N as k}from"./NcLoadingIcon-DM-94wwW.chunk.mjs";import{b as S,g as u,e as B,f as N,h as T}from"./NcActions-C4f9MXug-FA3YIyzG.chunk.mjs";import{c as x}from"./video-DVVFoi8e.chunk.mjs";import{G as L}from"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";const P={name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var $=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon close-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(s){return t.$emit("click",s)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e(),e("path",{attrs:{d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"}})])])},A=[],I=l(P,$,A,!1,null,null);const z=I.exports;function M(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push(function(){this.$el.setAttribute("data-v-219421f","")})}p(b);const E={__name:"NcDialogButton",props:{callback:{type:Function,required:!1,default:()=>{}},label:{type:String,required:!0},icon:{type:String,required:!1,default:void 0},type:{type:String,required:!1,default:"secondary",validator:t=>typeof t=="string"&&["button","submit","reset","primary","secondary","tertiary","error","warning","success"].includes(t)},nativeType:{type:String,required:!1,default:"button",validator(t){return["submit","reset","button"].includes(t)}},disabled:{type:Boolean,default:!1},variant:{type:String,required:!1,default:"secondary",validator:t=>typeof t=="string"&&["primary","secondary","tertiary","error","warning","success"].includes(t)}},emits:["click"],setup(t,{emit:e}){const s=t,a=v(!1);async function n(i){if(!a.value){a.value=!0;try{const y=s.nativeType==="reset"?!1:void 0,c=await s.callback?.()??y;c!==!1&&e("click",i,c)}finally{a.value=!1}}}return{__sfc:!0,props:s,emit:e,isLoading:a,handleClick:n,t:o,NcButton:f,NcIconSvgWrapper:m,NcLoadingIcon:k}}};var D=function(){var t=this,e=t._self._c,s=t._self._setupProxy;return e(s.NcButton,{attrs:{"aria-label":t.label,disabled:t.disabled,type:t.type,"native-type":t.nativeType,variant:t.variant},on:{click:s.handleClick},scopedSlots:t._u([{key:"icon",fn:function(){return[t._t("icon",function(){return[s.isLoading?e(s.NcLoadingIcon,{attrs:{name:s.t("Loading …")}}):t.icon!==void 0?e(s.NcIconSvgWrapper,{attrs:{svg:t.icon}}):t._e()]})]},proxy:!0}],null,!0)},[t._v(" "+t._s(t.label)+" ")])},F=[],H=l(E,D,F,!1,null,null);const rt=H.exports,O={name:"PauseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var q=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon pause-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(s){return t.$emit("click",s)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e(),e("path",{attrs:{d:"M14,19H18V5H14M6,19H10V5H6V19Z"}})])])},R=[],W=l(O,q,R,!1,null,null);const V=W.exports,G={name:"PlayIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var K=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon play-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(s){return t.$emit("click",s)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e(),e("path",{attrs:{d:"M8,5.14V19.14L19,12.14L8,5.14Z"}})])])},Z=[],Y=l(G,K,Z,!1,null,null);const j=Y.exports;p(_,C);function J(t,e){let s,a,n=e,i;this.start=function(){i=!0,a=new Date,s=setTimeout(t,n)},this.pause=function(){i=!1,clearTimeout(s),n-=new Date-a},this.clear=function(){i=!1,clearTimeout(s),n=0},this.getTimeLeft=function(){return i&&(this.pause(),this.start()),n},this.getStateRunning=function(){return i},this.start()}const r={name:"NcModal",components:{Close:z,Pause:V,Play:j,NcActions:S,NcButton:f,NcIconSvgWrapper:m},props:{name:{type:String,default:""},hasPrevious:{type:Boolean,default:!1},hasNext:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},enableSlideshow:{type:Boolean,default:!1},slideshowDelay:{type:Number,default:5e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},disableSwipe:{type:Boolean,default:!1},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:"normal",validator:t=>["small","normal","large","full"].includes(t)},noClose:{type:Boolean,default:!1},canClose:{type:Boolean,default:!0},closeOnClickOutside:{type:Boolean,default:!0},dark:{type:Boolean,default:!1},lightBackdrop:{type:Boolean,default:!1},container:{type:[String,null],default:"body"},closeButtonOutside:{type:Boolean,default:!1},closeButtonContained:{type:Boolean,default:!0},additionalTrapElements:{type:Array,default:()=>[]},inlineActions:{type:Number,default:0},show:{type:Boolean,default:void 0},labelId:{type:String,default:""},setReturnFocus:{default:void 0,type:[Boolean,HTMLElement,SVGElement,String]}},emits:["previous","next","close","update:show"],setup(){return{mdiChevronLeft:T,mdiChevronRight:N}},data(){return{mc:null,playing:!1,slideshowTimeout:null,focusTrap:null,randId:L(),internalShow:!0}},computed:{cssSlideshowDelay(){return`${this.slideshowDelay}ms`},forceDarkBackdrop(){return!this.noClose&&this.canClose&&!this.closeButtonContained||this.hasNext||this.hasPrevious||this.modalName!==""||!!this.$slots.actions},modalName(){return this.name.trim()},modalLabelId(){return this.labelId||`modal-name-${this.randId}`},showModal(){return this.show===void 0?this.internalShow:this.show},modalTransitionName(){return`modal-${this.outTransition?"out":"in"}`},playPauseName(){return this.playing?o("Pause slideshow"):o("Start slideshow")},closeButtonAriaLabel(){return o("Close")},prevButtonAriaLabel(){return o("Previous")},nextButtonAriaLabel(){return o("Next")},showCloseButton(){return this.noClose?!1:this.canClose},isCloseButtonOutside(){return this.closeButtonOutside?!0:!this.closeButtonContained},numHeaderActions(){let t=0;return this.hasNext&&this.enableSlideshow&&t++,this.showCloseButton&&this.isCloseButtonOutside&&t++,this.$scopedSlots.actions&&t++,t},hasHeader(){return this.modalName!==""||this.numHeaderActions>0}},watch:{slideshowPaused(t){this.slideshowTimeout&&(t?this.slideshowTimeout.pause():this.slideshowTimeout.start())},additionalTrapElements(t){if(this.focusTrap){const e=this.$refs.mask;this.focusTrap.updateContainerElements([e,...t])}}},beforeMount(){window.addEventListener("keydown",this.handleKeydown)},beforeDestroy(){window.removeEventListener("keydown",this.handleKeydown),this.mc.stop()},mounted(){!this.name&&!this.labelId&&w.util.warn("[NcModal] You need either set the name or set a `labelId` for accessibility."),this.useFocusTrap(),this.mc=x(this.$refs.mask,{onSwipeEnd:this.handleSwipe}),this.container&&(this.container==="body"?document.body.insertBefore(this.$el,document.body.lastChild):document.querySelector(this.container).appendChild(this.$el))},destroyed(){this.clearFocusTrap(),this.$el.remove()},methods:{t:o,previous(t){this.hasPrevious&&(t&&this.resetSlideshow(),this.$emit("previous",t))},next(t){this.hasNext&&(t&&this.resetSlideshow(),this.$emit("next",t))},close(t){!this.noClose&&this.canClose&&(this.internalShow=!1,this.$emit("update:show",!1),setTimeout(()=>{this.$emit("close",t)},300))},handleClickModalWrapper(t){this.closeOnClickOutside&&this.close(t)},handleKeydown(t){if(t.key==="Escape"){const s=u();return s.length>0&&s[s.length-1]!==this.focusTrap?void 0:this.close(t)}const e={ArrowLeft:this.previous,ArrowRight:this.next};if(e[t.key])return document.activeElement&&!this.$el.contains(document.activeElement)?void 0:e[t.key](t)},handleSwipe(t,e){this.enableSwipe&&!this.disableSwipe&&(e==="left"?this.next(t):e==="right"&&this.previous(t))},togglePlayPause(){this.playing=!this.playing,this.playing?this.handleSlideshow():this.clearSlideshowTimeout()},resetSlideshow(){this.playing=!this.playing,this.clearSlideshowTimeout(),this.$nextTick(function(){this.togglePlayPause()})},handleSlideshow(){this.playing=!0,this.hasNext?this.slideshowTimeout=new J(()=>{this.next(),this.handleSlideshow()},this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout(){this.slideshowTimeout&&this.slideshowTimeout.clear()},async useFocusTrap(){if(!this.showModal||this.focusTrap)return;const t=this.$refs.mask;await this.$nextTick();const e={allowOutsideClick:!0,fallbackFocus:t,trapStack:u(),escapeDeactivates:!1,setReturnFocus:this.setReturnFocus};this.focusTrap=B([t,...this.additionalTrapElements],e),this.focusTrap.activate()},clearFocusTrap(){this.focusTrap&&(this.focusTrap?.deactivate(),this.focusTrap=null)}}},d=()=>{g((t,e)=>({"7724eff9":t.cssSlideshowDelay,"125db689":t.numHeaderActions}))},h=r.setup;r.setup=h?(t,e)=>(d(),h(t,e)):d;const Q=r;var U=function(){var t=this,e=t._self._c;return e("transition",{attrs:{name:"fade",appear:""},on:{"after-enter":t.useFocusTrap,"before-leave":t.clearFocusTrap}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.showModal,expression:"showModal"}],ref:"mask",staticClass:"modal-mask",class:{"modal-mask--opaque":t.dark||t.forceDarkBackdrop,"modal-mask--light":t.lightBackdrop},attrs:{role:"dialog","aria-modal":"true","aria-labelledby":t.modalLabelId,"aria-describedby":"modal-description-"+t.randId,tabindex:"-1"}},[e("transition",{attrs:{name:"fade-visibility",appear:""}},[t.hasHeader?e("div",{staticClass:"modal-header",attrs:{"data-theme-light":t.lightBackdrop,"data-theme-dark":!t.lightBackdrop}},[t.modalName?e("h2",{staticClass:"modal-header__name",attrs:{id:"modal-name-"+t.randId}},[t._v(" "+t._s(t.modalName)+" ")]):t._e(),e("div",{staticClass:"icons-menu"},[t.hasNext&&t.enableSlideshow?e("button",{staticClass:"play-pause-icons",class:{"play-pause-icons--paused":t.slideshowPaused},attrs:{title:t.playPauseName,type:"button"},on:{click:t.togglePlayPause}},[t.playing?e("Pause",{staticClass:"play-pause-icons__pause",attrs:{size:20}}):e("Play",{staticClass:"play-pause-icons__play",attrs:{size:20}}),e("span",{staticClass:"hidden-visually"},[t._v(" "+t._s(t.playPauseName)+" ")]),t.playing?e("svg",{staticClass:"progress-ring",attrs:{height:"50",width:"50"}},[e("circle",{staticClass:"progress-ring__circle",attrs:{stroke:"white","stroke-width":"2",fill:"transparent",r:"15",cx:"25",cy:"25"}})]):t._e()],1):t._e(),e("NcActions",{staticClass:"header-actions",attrs:{inline:t.inlineActions}},[t._t("actions")],2),t.showCloseButton&&t.isCloseButtonOutside?e("NcButton",{staticClass:"header-close",attrs:{"aria-label":t.closeButtonAriaLabel,variant:"tertiary"},on:{click:t.close},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Close",{attrs:{size:20}})]},proxy:!0}],null,!1,2121748766)}):t._e()],1)]):t._e()]),e("transition",{attrs:{name:t.modalTransitionName,appear:""}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.showModal,expression:"showModal"}],staticClass:"modal-wrapper",class:[`modal-wrapper--${t.size}`,{"modal-wrapper--spread-navigation":t.spreadNavigation,"modal-wrapper--no-header":!t.hasHeader}],on:{mousedown:function(s){return s.target!==s.currentTarget?null:t.handleClickModalWrapper.apply(null,arguments)}}},[e("transition",{attrs:{name:"fade-visibility",appear:""}},[e("NcButton",{directives:[{name:"show",rawName:"v-show",value:t.hasPrevious,expression:"hasPrevious"}],staticClass:"prev",attrs:{"aria-label":t.prevButtonAriaLabel,variant:"tertiary-no-background"},on:{click:t.previous},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{directional:"",path:t.mdiChevronLeft,size:40}})]},proxy:!0}])})],1),e("div",{staticClass:"modal-container",attrs:{id:"modal-description-"+t.randId}},[e("div",{staticClass:"modal-container__content"},[t._t("default")],2),t.showCloseButton&&!t.isCloseButtonOutside?e("NcButton",{staticClass:"modal-container__close",attrs:{"aria-label":t.closeButtonAriaLabel,variant:"tertiary"},on:{click:t.close},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Close",{attrs:{size:20}})]},proxy:!0}],null,!1,2121748766)}):t._e()],1),e("transition",{attrs:{name:"fade-visibility",appear:""}},[e("NcButton",{directives:[{name:"show",rawName:"v-show",value:t.hasNext,expression:"hasNext"}],staticClass:"next",attrs:{"aria-label":t.nextButtonAriaLabel,variant:"tertiary-no-background"},on:{click:t.next},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{directional:"",path:t.mdiChevronRight,size:40}})]},proxy:!0}])})],1)],1)])],1)])},X=[],tt=l(Q,U,X,!1,null,"4b0ca9a1");const et=tt.exports;M(et);export{z as C,et as N,M as S,rt as a};
-//# sourceMappingURL=NcModal-BX64wQqg.chunk.mjs.map
+import{h as v,V as w,u as g}from"./preload-helper-B1hyiFAx.chunk.mjs";import{n as l,r as p,E as b,k as m,N as f,e as o,F as C,G as _}from"./index-msNec4Xs.chunk.mjs";import{N as k}from"./NcLoadingIcon-DM-94wwW.chunk.mjs";import{b as S,g as u,e as B,f as N,h as T}from"./NcActions-C4f9MXug-BC_2VOkH.chunk.mjs";import{c as x}from"./video-B2A2Ed33.chunk.mjs";import{G as L}from"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";const P={name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var $=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon close-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(s){return t.$emit("click",s)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e(),e("path",{attrs:{d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"}})])])},A=[],I=l(P,$,A,!1,null,null);const z=I.exports;function M(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push(function(){this.$el.setAttribute("data-v-219421f","")})}p(b);const E={__name:"NcDialogButton",props:{callback:{type:Function,required:!1,default:()=>{}},label:{type:String,required:!0},icon:{type:String,required:!1,default:void 0},type:{type:String,required:!1,default:"secondary",validator:t=>typeof t=="string"&&["button","submit","reset","primary","secondary","tertiary","error","warning","success"].includes(t)},nativeType:{type:String,required:!1,default:"button",validator(t){return["submit","reset","button"].includes(t)}},disabled:{type:Boolean,default:!1},variant:{type:String,required:!1,default:"secondary",validator:t=>typeof t=="string"&&["primary","secondary","tertiary","error","warning","success"].includes(t)}},emits:["click"],setup(t,{emit:e}){const s=t,a=v(!1);async function n(i){if(!a.value){a.value=!0;try{const y=s.nativeType==="reset"?!1:void 0,c=await s.callback?.()??y;c!==!1&&e("click",i,c)}finally{a.value=!1}}}return{__sfc:!0,props:s,emit:e,isLoading:a,handleClick:n,t:o,NcButton:f,NcIconSvgWrapper:m,NcLoadingIcon:k}}};var D=function(){var t=this,e=t._self._c,s=t._self._setupProxy;return e(s.NcButton,{attrs:{"aria-label":t.label,disabled:t.disabled,type:t.type,"native-type":t.nativeType,variant:t.variant},on:{click:s.handleClick},scopedSlots:t._u([{key:"icon",fn:function(){return[t._t("icon",function(){return[s.isLoading?e(s.NcLoadingIcon,{attrs:{name:s.t("Loading …")}}):t.icon!==void 0?e(s.NcIconSvgWrapper,{attrs:{svg:t.icon}}):t._e()]})]},proxy:!0}],null,!0)},[t._v(" "+t._s(t.label)+" ")])},F=[],H=l(E,D,F,!1,null,null);const rt=H.exports,O={name:"PauseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var q=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon pause-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(s){return t.$emit("click",s)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e(),e("path",{attrs:{d:"M14,19H18V5H14M6,19H10V5H6V19Z"}})])])},R=[],W=l(O,q,R,!1,null,null);const V=W.exports,G={name:"PlayIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var K=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon play-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(s){return t.$emit("click",s)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e(),e("path",{attrs:{d:"M8,5.14V19.14L19,12.14L8,5.14Z"}})])])},Z=[],Y=l(G,K,Z,!1,null,null);const j=Y.exports;p(_,C);function J(t,e){let s,a,n=e,i;this.start=function(){i=!0,a=new Date,s=setTimeout(t,n)},this.pause=function(){i=!1,clearTimeout(s),n-=new Date-a},this.clear=function(){i=!1,clearTimeout(s),n=0},this.getTimeLeft=function(){return i&&(this.pause(),this.start()),n},this.getStateRunning=function(){return i},this.start()}const r={name:"NcModal",components:{Close:z,Pause:V,Play:j,NcActions:S,NcButton:f,NcIconSvgWrapper:m},props:{name:{type:String,default:""},hasPrevious:{type:Boolean,default:!1},hasNext:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},enableSlideshow:{type:Boolean,default:!1},slideshowDelay:{type:Number,default:5e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},disableSwipe:{type:Boolean,default:!1},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:"normal",validator:t=>["small","normal","large","full"].includes(t)},noClose:{type:Boolean,default:!1},canClose:{type:Boolean,default:!0},closeOnClickOutside:{type:Boolean,default:!0},dark:{type:Boolean,default:!1},lightBackdrop:{type:Boolean,default:!1},container:{type:[String,null],default:"body"},closeButtonOutside:{type:Boolean,default:!1},closeButtonContained:{type:Boolean,default:!0},additionalTrapElements:{type:Array,default:()=>[]},inlineActions:{type:Number,default:0},show:{type:Boolean,default:void 0},labelId:{type:String,default:""},setReturnFocus:{default:void 0,type:[Boolean,HTMLElement,SVGElement,String]}},emits:["previous","next","close","update:show"],setup(){return{mdiChevronLeft:T,mdiChevronRight:N}},data(){return{mc:null,playing:!1,slideshowTimeout:null,focusTrap:null,randId:L(),internalShow:!0}},computed:{cssSlideshowDelay(){return`${this.slideshowDelay}ms`},forceDarkBackdrop(){return!this.noClose&&this.canClose&&!this.closeButtonContained||this.hasNext||this.hasPrevious||this.modalName!==""||!!this.$slots.actions},modalName(){return this.name.trim()},modalLabelId(){return this.labelId||`modal-name-${this.randId}`},showModal(){return this.show===void 0?this.internalShow:this.show},modalTransitionName(){return`modal-${this.outTransition?"out":"in"}`},playPauseName(){return this.playing?o("Pause slideshow"):o("Start slideshow")},closeButtonAriaLabel(){return o("Close")},prevButtonAriaLabel(){return o("Previous")},nextButtonAriaLabel(){return o("Next")},showCloseButton(){return this.noClose?!1:this.canClose},isCloseButtonOutside(){return this.closeButtonOutside?!0:!this.closeButtonContained},numHeaderActions(){let t=0;return this.hasNext&&this.enableSlideshow&&t++,this.showCloseButton&&this.isCloseButtonOutside&&t++,this.$scopedSlots.actions&&t++,t},hasHeader(){return this.modalName!==""||this.numHeaderActions>0}},watch:{slideshowPaused(t){this.slideshowTimeout&&(t?this.slideshowTimeout.pause():this.slideshowTimeout.start())},additionalTrapElements(t){if(this.focusTrap){const e=this.$refs.mask;this.focusTrap.updateContainerElements([e,...t])}}},beforeMount(){window.addEventListener("keydown",this.handleKeydown)},beforeDestroy(){window.removeEventListener("keydown",this.handleKeydown),this.mc.stop()},mounted(){!this.name&&!this.labelId&&w.util.warn("[NcModal] You need either set the name or set a `labelId` for accessibility."),this.useFocusTrap(),this.mc=x(this.$refs.mask,{onSwipeEnd:this.handleSwipe}),this.container&&(this.container==="body"?document.body.insertBefore(this.$el,document.body.lastChild):document.querySelector(this.container).appendChild(this.$el))},destroyed(){this.clearFocusTrap(),this.$el.remove()},methods:{t:o,previous(t){this.hasPrevious&&(t&&this.resetSlideshow(),this.$emit("previous",t))},next(t){this.hasNext&&(t&&this.resetSlideshow(),this.$emit("next",t))},close(t){!this.noClose&&this.canClose&&(this.internalShow=!1,this.$emit("update:show",!1),setTimeout(()=>{this.$emit("close",t)},300))},handleClickModalWrapper(t){this.closeOnClickOutside&&this.close(t)},handleKeydown(t){if(t.key==="Escape"){const s=u();return s.length>0&&s[s.length-1]!==this.focusTrap?void 0:this.close(t)}const e={ArrowLeft:this.previous,ArrowRight:this.next};if(e[t.key])return document.activeElement&&!this.$el.contains(document.activeElement)?void 0:e[t.key](t)},handleSwipe(t,e){this.enableSwipe&&!this.disableSwipe&&(e==="left"?this.next(t):e==="right"&&this.previous(t))},togglePlayPause(){this.playing=!this.playing,this.playing?this.handleSlideshow():this.clearSlideshowTimeout()},resetSlideshow(){this.playing=!this.playing,this.clearSlideshowTimeout(),this.$nextTick(function(){this.togglePlayPause()})},handleSlideshow(){this.playing=!0,this.hasNext?this.slideshowTimeout=new J(()=>{this.next(),this.handleSlideshow()},this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout(){this.slideshowTimeout&&this.slideshowTimeout.clear()},async useFocusTrap(){if(!this.showModal||this.focusTrap)return;const t=this.$refs.mask;await this.$nextTick();const e={allowOutsideClick:!0,fallbackFocus:t,trapStack:u(),escapeDeactivates:!1,setReturnFocus:this.setReturnFocus};this.focusTrap=B([t,...this.additionalTrapElements],e),this.focusTrap.activate()},clearFocusTrap(){this.focusTrap&&(this.focusTrap?.deactivate(),this.focusTrap=null)}}},d=()=>{g((t,e)=>({"7724eff9":t.cssSlideshowDelay,"125db689":t.numHeaderActions}))},h=r.setup;r.setup=h?(t,e)=>(d(),h(t,e)):d;const Q=r;var U=function(){var t=this,e=t._self._c;return e("transition",{attrs:{name:"fade",appear:""},on:{"after-enter":t.useFocusTrap,"before-leave":t.clearFocusTrap}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.showModal,expression:"showModal"}],ref:"mask",staticClass:"modal-mask",class:{"modal-mask--opaque":t.dark||t.forceDarkBackdrop,"modal-mask--light":t.lightBackdrop},attrs:{role:"dialog","aria-modal":"true","aria-labelledby":t.modalLabelId,"aria-describedby":"modal-description-"+t.randId,tabindex:"-1"}},[e("transition",{attrs:{name:"fade-visibility",appear:""}},[t.hasHeader?e("div",{staticClass:"modal-header",attrs:{"data-theme-light":t.lightBackdrop,"data-theme-dark":!t.lightBackdrop}},[t.modalName?e("h2",{staticClass:"modal-header__name",attrs:{id:"modal-name-"+t.randId}},[t._v(" "+t._s(t.modalName)+" ")]):t._e(),e("div",{staticClass:"icons-menu"},[t.hasNext&&t.enableSlideshow?e("button",{staticClass:"play-pause-icons",class:{"play-pause-icons--paused":t.slideshowPaused},attrs:{title:t.playPauseName,type:"button"},on:{click:t.togglePlayPause}},[t.playing?e("Pause",{staticClass:"play-pause-icons__pause",attrs:{size:20}}):e("Play",{staticClass:"play-pause-icons__play",attrs:{size:20}}),e("span",{staticClass:"hidden-visually"},[t._v(" "+t._s(t.playPauseName)+" ")]),t.playing?e("svg",{staticClass:"progress-ring",attrs:{height:"50",width:"50"}},[e("circle",{staticClass:"progress-ring__circle",attrs:{stroke:"white","stroke-width":"2",fill:"transparent",r:"15",cx:"25",cy:"25"}})]):t._e()],1):t._e(),e("NcActions",{staticClass:"header-actions",attrs:{inline:t.inlineActions}},[t._t("actions")],2),t.showCloseButton&&t.isCloseButtonOutside?e("NcButton",{staticClass:"header-close",attrs:{"aria-label":t.closeButtonAriaLabel,variant:"tertiary"},on:{click:t.close},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Close",{attrs:{size:20}})]},proxy:!0}],null,!1,2121748766)}):t._e()],1)]):t._e()]),e("transition",{attrs:{name:t.modalTransitionName,appear:""}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.showModal,expression:"showModal"}],staticClass:"modal-wrapper",class:[`modal-wrapper--${t.size}`,{"modal-wrapper--spread-navigation":t.spreadNavigation,"modal-wrapper--no-header":!t.hasHeader}],on:{mousedown:function(s){return s.target!==s.currentTarget?null:t.handleClickModalWrapper.apply(null,arguments)}}},[e("transition",{attrs:{name:"fade-visibility",appear:""}},[e("NcButton",{directives:[{name:"show",rawName:"v-show",value:t.hasPrevious,expression:"hasPrevious"}],staticClass:"prev",attrs:{"aria-label":t.prevButtonAriaLabel,variant:"tertiary-no-background"},on:{click:t.previous},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{directional:"",path:t.mdiChevronLeft,size:40}})]},proxy:!0}])})],1),e("div",{staticClass:"modal-container",attrs:{id:"modal-description-"+t.randId}},[e("div",{staticClass:"modal-container__content"},[t._t("default")],2),t.showCloseButton&&!t.isCloseButtonOutside?e("NcButton",{staticClass:"modal-container__close",attrs:{"aria-label":t.closeButtonAriaLabel,variant:"tertiary"},on:{click:t.close},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Close",{attrs:{size:20}})]},proxy:!0}],null,!1,2121748766)}):t._e()],1),e("transition",{attrs:{name:"fade-visibility",appear:""}},[e("NcButton",{directives:[{name:"show",rawName:"v-show",value:t.hasNext,expression:"hasNext"}],staticClass:"next",attrs:{"aria-label":t.nextButtonAriaLabel,variant:"tertiary-no-background"},on:{click:t.next},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{directional:"",path:t.mdiChevronRight,size:40}})]},proxy:!0}])})],1)],1)])],1)])},X=[],tt=l(Q,U,X,!1,null,"4b0ca9a1");const et=tt.exports;M(et);export{z as C,et as N,M as S,rt as a};
+//# sourceMappingURL=NcModal-DnfAQoZ9.chunk.mjs.map
diff --git a/js/NcModal-BX64wQqg.chunk.mjs.license b/js/NcModal-DnfAQoZ9.chunk.mjs.license
similarity index 100%
rename from js/NcModal-BX64wQqg.chunk.mjs.license
rename to js/NcModal-DnfAQoZ9.chunk.mjs.license
diff --git a/js/NcModal-BX64wQqg.chunk.mjs.map b/js/NcModal-DnfAQoZ9.chunk.mjs.map
similarity index 99%
rename from js/NcModal-BX64wQqg.chunk.mjs.map
rename to js/NcModal-DnfAQoZ9.chunk.mjs.map
index c7925c855a..ff8be2d023 100644
--- a/js/NcModal-BX64wQqg.chunk.mjs.map
+++ b/js/NcModal-DnfAQoZ9.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"NcModal-BX64wQqg.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/Close-COCw8OO8.mjs","../node_modules/@nextcloud/vue/dist/chunks/ScopeComponent-DcP-v09A.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcDialogButton-m5qXY8bV.mjs","../node_modules/@nextcloud/vue/dist/Components/NcModal.mjs"],"sourcesContent":["import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"CloseIcon\",\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 close-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" } })])]);\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 Close = __component__.exports;\nexport {\n Close as C\n};\n//# sourceMappingURL=Close-COCw8OO8.mjs.map\n","function ScopeComponent(Component) {\n if (!Component.mounted) {\n Component.mounted = [];\n } else if (!Array.isArray(Component.mounted)) {\n Component.mounted = [Component.mounted];\n }\n Component.mounted.push(function() {\n this.$el.setAttribute(`data-v-${\"219421f\"}`, \"\");\n });\n}\nexport {\n ScopeComponent as S\n};\n//# sourceMappingURL=ScopeComponent-DcP-v09A.mjs.map\n","import { ref } from \"vue\";\nimport { r as register, e as t33, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nimport { N as NcButton } from \"./NcButton-DAGirW_B.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Bui9PhAS.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t33);\nconst _sfc_main = {\n __name: \"NcDialogButton\",\n props: {\n /**\n * The function that will be called when the button is pressed.\n * If the function returns `false` the click is ignored and the dialog will not be closed,\n * which is the default behavior of \"reset\"-buttons.\n *\n * @type {() => unknown|false|Promise}\n */\n callback: {\n type: Function,\n required: false,\n default: () => {\n }\n },\n /**\n * The label of the button\n */\n label: {\n type: String,\n required: true\n },\n /**\n * Optional inline SVG icon for the button\n */\n icon: {\n type: String,\n required: false,\n default: void 0\n },\n /**\n * The button type, see NcButton.\n *\n * @deprecated The usage for setting the color variant is deprecated and will be removed with v9.\n * @type {'button'|'submit'|'reset'|'primary'|'secondary'|'error'|'warning'|'success'}\n */\n type: {\n type: String,\n required: false,\n default: \"secondary\",\n validator: (type) => typeof type === \"string\" && [\"button\", \"submit\", \"reset\", \"primary\", \"secondary\", \"tertiary\", \"error\", \"warning\", \"success\"].includes(type)\n },\n /**\n * See `nativeType` of `NcButton`.\n *\n * @deprecated use `type` instead - will removed with v9\n */\n nativeType: {\n type: String,\n required: false,\n default: \"button\",\n validator(value) {\n return [\"submit\", \"reset\", \"button\"].includes(value);\n }\n },\n /**\n * If the button should be shown as disabled\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * The button variant, see NcButton.\n *\n * @type {'primary'|'secondary'|'tertiary'|'error'|'warning'|'success'}\n * @since 8.24.0\n */\n variant: {\n type: String,\n required: false,\n default: \"secondary\",\n validator: (type) => typeof type === \"string\" && [\"primary\", \"secondary\", \"tertiary\", \"error\", \"warning\", \"success\"].includes(type)\n }\n },\n emits: [\"click\"],\n setup(__props, { emit }) {\n const props = __props;\n const isLoading = ref(false);\n async function handleClick(e) {\n if (isLoading.value) {\n return;\n }\n isLoading.value = true;\n try {\n const fallback = props.nativeType === \"reset\" ? false : void 0;\n const result = await props.callback?.() ?? fallback;\n if (result !== false) {\n emit(\"click\", e, result);\n }\n } finally {\n isLoading.value = false;\n }\n }\n return { __sfc: true, props, emit, isLoading, handleClick, t, NcButton, NcIconSvgWrapper, NcLoadingIcon };\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(_setup.NcButton, { attrs: { \"aria-label\": _vm.label, \"disabled\": _vm.disabled, \"type\": _vm.type, \"native-type\": _vm.nativeType, \"variant\": _vm.variant }, on: { \"click\": _setup.handleClick }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"icon\", function() {\n return [_setup.isLoading ? _c(_setup.NcLoadingIcon, { attrs: {\n \"name\": _setup.t(\"Loading …\")\n /* TRANSLATORS: The button is in a loading state*/\n } }) : _vm.icon !== void 0 ? _c(_setup.NcIconSvgWrapper, { attrs: { \"svg\": _vm.icon } }) : _vm._e()];\n })];\n }, proxy: true }], null, true) }, [_vm._v(\" \" + _vm._s(_vm.label) + \" \")]);\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 NcDialogButton = __component__.exports;\nexport {\n NcDialogButton as N\n};\n//# sourceMappingURL=NcDialogButton-m5qXY8bV.mjs.map\n","import '../assets/NcModal-Chi0Akde.css';\nimport { m as mdiChevronRight, t as mdiChevronLeft } from \"../chunks/mdi-DtJ8HsM-.mjs\";\nimport { useSwipe } from \"@vueuse/core\";\nimport { createFocusTrap } from \"focus-trap\";\nimport Vue, { useCssVars } from \"vue\";\nimport { C as Close } from \"../chunks/Close-COCw8OO8.mjs\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { N as NcActions } from \"../chunks/NcActions-C4f9MXug.mjs\";\nimport { N as NcButton } from \"../chunks/NcButton-DAGirW_B.mjs\";\nimport { N as NcIconSvgWrapper } from \"../chunks/NcIconSvgWrapper-Bui9PhAS.mjs\";\nimport { r as register, L as t36, n as t18, a as t } from \"../chunks/_l10n-Dv1YKfKS.mjs\";\nimport { g as getTrapStack } from \"../chunks/focusTrap-HJQ4pqHV.mjs\";\nimport { G as GenRandomId } from \"../chunks/GenRandomId-F5ebeBB_.mjs\";\nimport { S as ScopeComponent } from \"../chunks/ScopeComponent-DcP-v09A.mjs\";\nconst _sfc_main$2 = {\n name: \"PauseIcon\",\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$2 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon pause-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M14,19H18V5H14M6,19H10V5H6V19Z\" } })])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null\n);\nconst Pause = __component__$2.exports;\nconst _sfc_main$1 = {\n name: \"PlayIcon\",\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$1 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon play-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M8,5.14V19.14L19,12.14L8,5.14Z\" } })])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Play = __component__$1.exports;\nregister(t18, t36);\nfunction timer(callback, delay) {\n let id;\n let started;\n let remaining = delay;\n let running;\n this.start = function() {\n running = true;\n started = /* @__PURE__ */ new Date();\n id = setTimeout(callback, remaining);\n };\n this.pause = function() {\n running = false;\n clearTimeout(id);\n remaining -= /* @__PURE__ */ new Date() - started;\n };\n this.clear = function() {\n running = false;\n clearTimeout(id);\n remaining = 0;\n };\n this.getTimeLeft = function() {\n if (running) {\n this.pause();\n this.start();\n }\n return remaining;\n };\n this.getStateRunning = function() {\n return running;\n };\n this.start();\n}\nconst __default__ = {\n name: \"NcModal\",\n components: {\n Close,\n Pause,\n Play,\n NcActions,\n NcButton,\n NcIconSvgWrapper\n },\n props: {\n /**\n * Name to be shown with the modal\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * Declare if a previous slide is available\n */\n hasPrevious: {\n type: Boolean,\n default: false\n },\n /**\n * Declare if a next slide is available\n */\n hasNext: {\n type: Boolean,\n default: false\n },\n /**\n * Declare if hiding the modal should be animated\n */\n outTransition: {\n type: Boolean,\n default: false\n },\n /**\n * Declare if the slideshow functionality should be enabled\n */\n enableSlideshow: {\n type: Boolean,\n default: false\n },\n /**\n * Declare the slide interval\n */\n slideshowDelay: {\n type: Number,\n default: 5e3\n },\n /**\n * Allow to pause an ongoing slideshow\n */\n slideshowPaused: {\n type: Boolean,\n default: false\n },\n /**\n * Enable swipe between slides\n *\n * @deprecated Will be removed in next version - use `disableSwipe` instead\n */\n enableSwipe: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Disable swipe between slides\n */\n disableSwipe: {\n type: Boolean,\n default: false\n },\n /**\n * Enable spread navigation\n */\n spreadNavigation: {\n type: Boolean,\n default: false\n },\n /**\n * Defines the modal size.\n * Default is 'normal'.\n * Available are 'small', 'normal', 'large' and 'full'.\n * All sizes except 'small' change automatically to full-screen on mobile.\n */\n size: {\n type: String,\n default: \"normal\",\n validator: (size) => {\n return [\"small\", \"normal\", \"large\", \"full\"].includes(size);\n }\n },\n /**\n * Do not show the close button for the dialog.\n *\n * @default false\n */\n noClose: {\n type: Boolean,\n default: false\n },\n /**\n * Set to false to no show a close button on the dialog\n *\n * @deprecated - Use `noClose` instead. Will be removed in v9.\n * @default true\n */\n canClose: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Close the modal if the user clicked outside the modal\n * Only relevant if `canClose` is set to true.\n */\n closeOnClickOutside: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Makes the modal backdrop opaque if true.\n * Will be overwritten if some buttons are shown outside.\n */\n dark: {\n type: Boolean,\n default: false\n },\n /**\n * Set light backdrop. Makes the modal header appear light.\n */\n lightBackdrop: {\n type: Boolean,\n default: false\n },\n /**\n * Selector for the modal container, pass `null` to prevent automatic container mounting\n */\n container: {\n type: [String, null],\n default: \"body\"\n },\n /**\n * Pass in `true` if you want the modal 'close' button to be displayed\n * outside the modal boundaries, in the top right corner of the window.\n *\n * @default false\n * @since 8.32.0\n */\n closeButtonOutside: {\n type: Boolean,\n default: false\n },\n /**\n * Pass in false if you want the modal 'close' button to be displayed\n * outside the modal boundaries, in the top right corner of the window.\n *\n * @default true\n * @deprecated 8.32.0 - Use `closeButtonOutside` instead\n */\n closeButtonContained: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Additional elements to add to the focus trap\n */\n additionalTrapElements: {\n type: Array,\n default: () => []\n },\n /**\n * Display x items inline\n *\n * @see Actions component usage\n */\n inlineActions: {\n type: Number,\n default: 0\n },\n /**\n * The current open property of the modal\n */\n show: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: void 0\n },\n /**\n * Id of the element that labels the dialog (the name)\n * Not needed if the `name` prop is set, but if no name is set you need to provide the ID of an element to label the dialog for accessibility.\n */\n labelId: {\n type: String,\n default: \"\"\n },\n /**\n * Set element to return focus to after focus trap deactivation\n *\n * @type {import('focus-trap').FocusTargetValueOrFalse}\n */\n setReturnFocus: {\n default: void 0,\n type: [Boolean, HTMLElement, SVGElement, String]\n }\n },\n emits: [\n \"previous\",\n \"next\",\n \"close\",\n \"update:show\"\n ],\n setup() {\n return {\n mdiChevronLeft,\n mdiChevronRight\n };\n },\n data() {\n return {\n mc: null,\n playing: false,\n slideshowTimeout: null,\n focusTrap: null,\n randId: GenRandomId(),\n internalShow: true\n };\n },\n computed: {\n /**\n * slide show delay to set to CSS\n */\n cssSlideshowDelay() {\n return `${this.slideshowDelay}ms`;\n },\n /**\n * True if there are any buttons shown on the backdrop or a name (for accessibility)\n */\n forceDarkBackdrop() {\n return !this.noClose && this.canClose && !this.closeButtonContained || this.hasNext || this.hasPrevious || this.modalName !== \"\" || Boolean(this.$slots.actions);\n },\n /**\n * Trimmed modal name\n */\n modalName() {\n return this.name.trim();\n },\n /**\n * ID of the element to label the modal\n */\n modalLabelId() {\n return this.labelId || `modal-name-${this.randId}`;\n },\n showModal() {\n return this.show === void 0 ? this.internalShow : this.show;\n },\n modalTransitionName() {\n return `modal-${this.outTransition ? \"out\" : \"in\"}`;\n },\n playPauseName() {\n return this.playing ? t(\"Pause slideshow\") : t(\"Start slideshow\");\n },\n closeButtonAriaLabel() {\n return t(\"Close\");\n },\n prevButtonAriaLabel() {\n return t(\"Previous\");\n },\n nextButtonAriaLabel() {\n return t(\"Next\");\n },\n showCloseButton() {\n if (this.noClose) {\n return false;\n }\n return this.canClose;\n },\n isCloseButtonOutside() {\n if (this.closeButtonOutside) {\n return true;\n }\n return !this.closeButtonContained;\n },\n numHeaderActions() {\n let actions = 0;\n if (this.hasNext && this.enableSlideshow) {\n actions++;\n }\n if (this.showCloseButton && this.isCloseButtonOutside) {\n actions++;\n }\n if (this.$scopedSlots.actions) {\n actions++;\n }\n return actions;\n },\n /**\n * Whether the modal header is needed.\n * Only show it when there is a title, outside close button, or header actions —\n * otherwise the area can be used for the modal content (full height on mobile / full size).\n */\n hasHeader() {\n return this.modalName !== \"\" || this.numHeaderActions > 0;\n }\n },\n watch: {\n /**\n * Handle play/pause of an ongoing slideshow\n *\n * @param {boolean} paused is the player paused\n */\n slideshowPaused(paused) {\n if (this.slideshowTimeout) {\n if (paused) {\n this.slideshowTimeout.pause();\n } else {\n this.slideshowTimeout.start();\n }\n }\n },\n additionalTrapElements(elements) {\n if (this.focusTrap) {\n const contentContainer = this.$refs.mask;\n this.focusTrap.updateContainerElements([contentContainer, ...elements]);\n }\n }\n },\n beforeMount() {\n window.addEventListener(\"keydown\", this.handleKeydown);\n },\n beforeDestroy() {\n window.removeEventListener(\"keydown\", this.handleKeydown);\n this.mc.stop();\n },\n mounted() {\n if (!this.name && !this.labelId) {\n Vue.util.warn(\"[NcModal] You need either set the name or set a `labelId` for accessibility.\");\n }\n this.useFocusTrap();\n this.mc = useSwipe(this.$refs.mask, {\n onSwipeEnd: this.handleSwipe\n });\n if (this.container) {\n if (this.container === \"body\") {\n document.body.insertBefore(this.$el, document.body.lastChild);\n } else {\n const container = document.querySelector(this.container);\n container.appendChild(this.$el);\n }\n }\n },\n destroyed() {\n this.clearFocusTrap();\n this.$el.remove();\n },\n methods: {\n t,\n // Events emitters\n previous(event) {\n if (this.hasPrevious) {\n if (event) {\n this.resetSlideshow();\n }\n this.$emit(\"previous\", event);\n }\n },\n next(event) {\n if (this.hasNext) {\n if (event) {\n this.resetSlideshow();\n }\n this.$emit(\"next\", event);\n }\n },\n close(data) {\n if (!this.noClose && this.canClose) {\n this.internalShow = false;\n this.$emit(\"update:show\", false);\n setTimeout(() => {\n this.$emit(\"close\", data);\n }, 300);\n }\n },\n /**\n * Handle click on modal wrapper\n * If `closeOnClickOutside` is set the modal will be closed\n *\n * @param {MouseEvent} event The click event\n */\n handleClickModalWrapper(event) {\n if (this.closeOnClickOutside) {\n this.close(event);\n }\n },\n /**\n * @param {KeyboardEvent} event - keyboard event\n */\n handleKeydown(event) {\n if (event.key === \"Escape\") {\n const trapStack = getTrapStack();\n if (trapStack.length > 0 && trapStack[trapStack.length - 1] !== this.focusTrap) {\n return;\n }\n return this.close(event);\n }\n const arrowHandlers = {\n ArrowLeft: this.previous,\n ArrowRight: this.next\n };\n if (arrowHandlers[event.key]) {\n if (document.activeElement && !this.$el.contains(document.activeElement)) {\n return;\n }\n return arrowHandlers[event.key](event);\n }\n },\n /**\n * handle the swipe event\n *\n * @param {TouchEvent} e The touch event\n * @param {import('@vueuse/core').SwipeDirection} direction Swipe direction\n */\n handleSwipe(e, direction) {\n if (this.enableSwipe && !this.disableSwipe) {\n if (direction === \"left\") {\n this.next(e);\n } else if (direction === \"right\") {\n this.previous(e);\n }\n }\n },\n /**\n * Toggle the slideshow state\n */\n togglePlayPause() {\n this.playing = !this.playing;\n if (this.playing) {\n this.handleSlideshow();\n } else {\n this.clearSlideshowTimeout();\n }\n },\n /**\n * Reset the slideshow timer and keep going if it was on\n */\n resetSlideshow() {\n this.playing = !this.playing;\n this.clearSlideshowTimeout();\n this.$nextTick(function() {\n this.togglePlayPause();\n });\n },\n /**\n * Handle the slideshow timer and next event\n */\n handleSlideshow() {\n this.playing = true;\n if (this.hasNext) {\n this.slideshowTimeout = new timer(() => {\n this.next();\n this.handleSlideshow();\n }, this.slideshowDelay);\n } else {\n this.playing = false;\n this.clearSlideshowTimeout();\n }\n },\n /**\n * Clear slideshowTimeout if ongoing\n */\n clearSlideshowTimeout() {\n if (this.slideshowTimeout) {\n this.slideshowTimeout.clear();\n }\n },\n /**\n * Add focus trap for accessibility.\n */\n async useFocusTrap() {\n if (!this.showModal || this.focusTrap) {\n return;\n }\n const contentContainer = this.$refs.mask;\n await this.$nextTick();\n const options = {\n allowOutsideClick: true,\n fallbackFocus: contentContainer,\n trapStack: getTrapStack(),\n // Esc can be used without stop in content or additionalTrapElements where it should not deactivate modal's focus trap.\n // Focus trap is deactivated on modal close anyway.\n escapeDeactivates: false,\n setReturnFocus: this.setReturnFocus\n };\n this.focusTrap = createFocusTrap([contentContainer, ...this.additionalTrapElements], options);\n this.focusTrap.activate();\n },\n clearFocusTrap() {\n if (!this.focusTrap) {\n return;\n }\n this.focusTrap?.deactivate();\n this.focusTrap = null;\n }\n }\n};\nconst __injectCSSVars__ = () => {\n useCssVars((_vm, _setup) => ({\n \"7724eff9\": _vm.cssSlideshowDelay,\n \"125db689\": _vm.numHeaderActions\n }));\n};\nconst __setup__ = __default__.setup;\n__default__.setup = __setup__ ? (props, ctx) => {\n __injectCSSVars__();\n return __setup__(props, ctx);\n} : __injectCSSVars__;\nconst _sfc_main = __default__;\nvar _sfc_render = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"transition\", { attrs: { \"name\": \"fade\", \"appear\": \"\" }, on: { \"after-enter\": _vm.useFocusTrap, \"before-leave\": _vm.clearFocusTrap } }, [_c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.showModal, expression: \"showModal\" }], ref: \"mask\", staticClass: \"modal-mask\", class: {\n \"modal-mask--opaque\": _vm.dark || _vm.forceDarkBackdrop,\n \"modal-mask--light\": _vm.lightBackdrop\n }, attrs: { \"role\": \"dialog\", \"aria-modal\": \"true\", \"aria-labelledby\": _vm.modalLabelId, \"aria-describedby\": \"modal-description-\" + _vm.randId, \"tabindex\": \"-1\" } }, [_c(\"transition\", { attrs: { \"name\": \"fade-visibility\", \"appear\": \"\" } }, [_vm.hasHeader ? _c(\"div\", { staticClass: \"modal-header\", attrs: { \"data-theme-light\": _vm.lightBackdrop, \"data-theme-dark\": !_vm.lightBackdrop } }, [_vm.modalName ? _c(\"h2\", { staticClass: \"modal-header__name\", attrs: { \"id\": \"modal-name-\" + _vm.randId } }, [_vm._v(\" \" + _vm._s(_vm.modalName) + \" \")]) : _vm._e(), _c(\"div\", { staticClass: \"icons-menu\" }, [_vm.hasNext && _vm.enableSlideshow ? _c(\"button\", { staticClass: \"play-pause-icons\", class: { \"play-pause-icons--paused\": _vm.slideshowPaused }, attrs: { \"title\": _vm.playPauseName, \"type\": \"button\" }, on: { \"click\": _vm.togglePlayPause } }, [!_vm.playing ? _c(\"Play\", { staticClass: \"play-pause-icons__play\", attrs: { \"size\": 20 } }) : _c(\"Pause\", { staticClass: \"play-pause-icons__pause\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"hidden-visually\" }, [_vm._v(\" \" + _vm._s(_vm.playPauseName) + \" \")]), _vm.playing ? _c(\"svg\", { staticClass: \"progress-ring\", attrs: { \"height\": \"50\", \"width\": \"50\" } }, [_c(\"circle\", { staticClass: \"progress-ring__circle\", attrs: { \"stroke\": \"white\", \"stroke-width\": \"2\", \"fill\": \"transparent\", \"r\": \"15\", \"cx\": \"25\", \"cy\": \"25\" } })]) : _vm._e()], 1) : _vm._e(), _c(\"NcActions\", { staticClass: \"header-actions\", attrs: { \"inline\": _vm.inlineActions } }, [_vm._t(\"actions\")], 2), _vm.showCloseButton && _vm.isCloseButtonOutside ? _c(\"NcButton\", { staticClass: \"header-close\", attrs: { \"aria-label\": _vm.closeButtonAriaLabel, \"variant\": \"tertiary\" }, on: { \"click\": _vm.close }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Close\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, false, 2121748766) }) : _vm._e()], 1)]) : _vm._e()]), _c(\"transition\", { attrs: { \"name\": _vm.modalTransitionName, \"appear\": \"\" } }, [_c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.showModal, expression: \"showModal\" }], staticClass: \"modal-wrapper\", class: [\n `modal-wrapper--${_vm.size}`,\n {\n \"modal-wrapper--spread-navigation\": _vm.spreadNavigation,\n \"modal-wrapper--no-header\": !_vm.hasHeader\n }\n ], on: { \"mousedown\": function($event) {\n if ($event.target !== $event.currentTarget) return null;\n return _vm.handleClickModalWrapper.apply(null, arguments);\n } } }, [_c(\"transition\", { attrs: { \"name\": \"fade-visibility\", \"appear\": \"\" } }, [_c(\"NcButton\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.hasPrevious, expression: \"hasPrevious\" }], staticClass: \"prev\", attrs: { \"aria-label\": _vm.prevButtonAriaLabel, \"variant\": \"tertiary-no-background\" }, on: { \"click\": _vm.previous }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"NcIconSvgWrapper\", { attrs: { \"directional\": \"\", \"path\": _vm.mdiChevronLeft, \"size\": 40 } })];\n }, proxy: true }]) })], 1), _c(\"div\", { staticClass: \"modal-container\", attrs: { \"id\": \"modal-description-\" + _vm.randId } }, [_c(\"div\", { staticClass: \"modal-container__content\" }, [_vm._t(\"default\")], 2), _vm.showCloseButton && !_vm.isCloseButtonOutside ? _c(\"NcButton\", { staticClass: \"modal-container__close\", attrs: { \"aria-label\": _vm.closeButtonAriaLabel, \"variant\": \"tertiary\" }, on: { \"click\": _vm.close }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Close\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, false, 2121748766) }) : _vm._e()], 1), _c(\"transition\", { attrs: { \"name\": \"fade-visibility\", \"appear\": \"\" } }, [_c(\"NcButton\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.hasNext, expression: \"hasNext\" }], staticClass: \"next\", attrs: { \"aria-label\": _vm.nextButtonAriaLabel, \"variant\": \"tertiary-no-background\" }, on: { \"click\": _vm.next }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"NcIconSvgWrapper\", { attrs: { \"directional\": \"\", \"path\": _vm.mdiChevronRight, \"size\": 40 } })];\n }, proxy: true }]) })], 1)], 1)])], 1)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"4b0ca9a1\"\n);\nconst NcModal = __component__.exports;\nScopeComponent(NcModal);\nexport {\n NcModal as default\n};\n//# sourceMappingURL=NcModal.mjs.map\n"],"names":["_sfc_main","_sfc_render","_vm","_c","$event","_sfc_staticRenderFns","__component__","normalizeComponent","Close","ScopeComponent","Component","register","t33","type","value","__props","emit","props","isLoading","ref","handleClick","e","fallback","result","t","NcButton","NcIconSvgWrapper","NcLoadingIcon","_setup","NcDialogButton","_sfc_main$2","_sfc_render$2","_sfc_staticRenderFns$2","__component__$2","Pause","_sfc_main$1","_sfc_render$1","_sfc_staticRenderFns$1","__component__$1","Play","t18","t36","timer","callback","delay","id","started","remaining","running","__default__","NcActions","size","mdiChevronLeft","mdiChevronRight","GenRandomId","actions","paused","elements","contentContainer","Vue","useSwipe","event","data","trapStack","getTrapStack","arrowHandlers","direction","options","createFocusTrap","__injectCSSVars__","useCssVars","__setup__","ctx","NcModal"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
\ No newline at end of file
+{"version":3,"file":"NcModal-DnfAQoZ9.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/Close-COCw8OO8.mjs","../node_modules/@nextcloud/vue/dist/chunks/ScopeComponent-DcP-v09A.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcDialogButton-m5qXY8bV.mjs","../node_modules/@nextcloud/vue/dist/Components/NcModal.mjs"],"sourcesContent":["import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"CloseIcon\",\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 close-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" } })])]);\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 Close = __component__.exports;\nexport {\n Close as C\n};\n//# sourceMappingURL=Close-COCw8OO8.mjs.map\n","function ScopeComponent(Component) {\n if (!Component.mounted) {\n Component.mounted = [];\n } else if (!Array.isArray(Component.mounted)) {\n Component.mounted = [Component.mounted];\n }\n Component.mounted.push(function() {\n this.$el.setAttribute(`data-v-${\"219421f\"}`, \"\");\n });\n}\nexport {\n ScopeComponent as S\n};\n//# sourceMappingURL=ScopeComponent-DcP-v09A.mjs.map\n","import { ref } from \"vue\";\nimport { r as register, e as t33, a as t } from \"./_l10n-Dv1YKfKS.mjs\";\nimport { N as NcButton } from \"./NcButton-DAGirW_B.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Bui9PhAS.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t33);\nconst _sfc_main = {\n __name: \"NcDialogButton\",\n props: {\n /**\n * The function that will be called when the button is pressed.\n * If the function returns `false` the click is ignored and the dialog will not be closed,\n * which is the default behavior of \"reset\"-buttons.\n *\n * @type {() => unknown|false|Promise}\n */\n callback: {\n type: Function,\n required: false,\n default: () => {\n }\n },\n /**\n * The label of the button\n */\n label: {\n type: String,\n required: true\n },\n /**\n * Optional inline SVG icon for the button\n */\n icon: {\n type: String,\n required: false,\n default: void 0\n },\n /**\n * The button type, see NcButton.\n *\n * @deprecated The usage for setting the color variant is deprecated and will be removed with v9.\n * @type {'button'|'submit'|'reset'|'primary'|'secondary'|'error'|'warning'|'success'}\n */\n type: {\n type: String,\n required: false,\n default: \"secondary\",\n validator: (type) => typeof type === \"string\" && [\"button\", \"submit\", \"reset\", \"primary\", \"secondary\", \"tertiary\", \"error\", \"warning\", \"success\"].includes(type)\n },\n /**\n * See `nativeType` of `NcButton`.\n *\n * @deprecated use `type` instead - will removed with v9\n */\n nativeType: {\n type: String,\n required: false,\n default: \"button\",\n validator(value) {\n return [\"submit\", \"reset\", \"button\"].includes(value);\n }\n },\n /**\n * If the button should be shown as disabled\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * The button variant, see NcButton.\n *\n * @type {'primary'|'secondary'|'tertiary'|'error'|'warning'|'success'}\n * @since 8.24.0\n */\n variant: {\n type: String,\n required: false,\n default: \"secondary\",\n validator: (type) => typeof type === \"string\" && [\"primary\", \"secondary\", \"tertiary\", \"error\", \"warning\", \"success\"].includes(type)\n }\n },\n emits: [\"click\"],\n setup(__props, { emit }) {\n const props = __props;\n const isLoading = ref(false);\n async function handleClick(e) {\n if (isLoading.value) {\n return;\n }\n isLoading.value = true;\n try {\n const fallback = props.nativeType === \"reset\" ? false : void 0;\n const result = await props.callback?.() ?? fallback;\n if (result !== false) {\n emit(\"click\", e, result);\n }\n } finally {\n isLoading.value = false;\n }\n }\n return { __sfc: true, props, emit, isLoading, handleClick, t, NcButton, NcIconSvgWrapper, NcLoadingIcon };\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(_setup.NcButton, { attrs: { \"aria-label\": _vm.label, \"disabled\": _vm.disabled, \"type\": _vm.type, \"native-type\": _vm.nativeType, \"variant\": _vm.variant }, on: { \"click\": _setup.handleClick }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"icon\", function() {\n return [_setup.isLoading ? _c(_setup.NcLoadingIcon, { attrs: {\n \"name\": _setup.t(\"Loading …\")\n /* TRANSLATORS: The button is in a loading state*/\n } }) : _vm.icon !== void 0 ? _c(_setup.NcIconSvgWrapper, { attrs: { \"svg\": _vm.icon } }) : _vm._e()];\n })];\n }, proxy: true }], null, true) }, [_vm._v(\" \" + _vm._s(_vm.label) + \" \")]);\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 NcDialogButton = __component__.exports;\nexport {\n NcDialogButton as N\n};\n//# sourceMappingURL=NcDialogButton-m5qXY8bV.mjs.map\n","import '../assets/NcModal-Chi0Akde.css';\nimport { m as mdiChevronRight, t as mdiChevronLeft } from \"../chunks/mdi-DtJ8HsM-.mjs\";\nimport { useSwipe } from \"@vueuse/core\";\nimport { createFocusTrap } from \"focus-trap\";\nimport Vue, { useCssVars } from \"vue\";\nimport { C as Close } from \"../chunks/Close-COCw8OO8.mjs\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { N as NcActions } from \"../chunks/NcActions-C4f9MXug.mjs\";\nimport { N as NcButton } from \"../chunks/NcButton-DAGirW_B.mjs\";\nimport { N as NcIconSvgWrapper } from \"../chunks/NcIconSvgWrapper-Bui9PhAS.mjs\";\nimport { r as register, L as t36, n as t18, a as t } from \"../chunks/_l10n-Dv1YKfKS.mjs\";\nimport { g as getTrapStack } from \"../chunks/focusTrap-HJQ4pqHV.mjs\";\nimport { G as GenRandomId } from \"../chunks/GenRandomId-F5ebeBB_.mjs\";\nimport { S as ScopeComponent } from \"../chunks/ScopeComponent-DcP-v09A.mjs\";\nconst _sfc_main$2 = {\n name: \"PauseIcon\",\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$2 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon pause-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M14,19H18V5H14M6,19H10V5H6V19Z\" } })])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null\n);\nconst Pause = __component__$2.exports;\nconst _sfc_main$1 = {\n name: \"PlayIcon\",\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$1 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon play-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\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c(\"path\", { attrs: { \"d\": \"M8,5.14V19.14L19,12.14L8,5.14Z\" } })])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Play = __component__$1.exports;\nregister(t18, t36);\nfunction timer(callback, delay) {\n let id;\n let started;\n let remaining = delay;\n let running;\n this.start = function() {\n running = true;\n started = /* @__PURE__ */ new Date();\n id = setTimeout(callback, remaining);\n };\n this.pause = function() {\n running = false;\n clearTimeout(id);\n remaining -= /* @__PURE__ */ new Date() - started;\n };\n this.clear = function() {\n running = false;\n clearTimeout(id);\n remaining = 0;\n };\n this.getTimeLeft = function() {\n if (running) {\n this.pause();\n this.start();\n }\n return remaining;\n };\n this.getStateRunning = function() {\n return running;\n };\n this.start();\n}\nconst __default__ = {\n name: \"NcModal\",\n components: {\n Close,\n Pause,\n Play,\n NcActions,\n NcButton,\n NcIconSvgWrapper\n },\n props: {\n /**\n * Name to be shown with the modal\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * Declare if a previous slide is available\n */\n hasPrevious: {\n type: Boolean,\n default: false\n },\n /**\n * Declare if a next slide is available\n */\n hasNext: {\n type: Boolean,\n default: false\n },\n /**\n * Declare if hiding the modal should be animated\n */\n outTransition: {\n type: Boolean,\n default: false\n },\n /**\n * Declare if the slideshow functionality should be enabled\n */\n enableSlideshow: {\n type: Boolean,\n default: false\n },\n /**\n * Declare the slide interval\n */\n slideshowDelay: {\n type: Number,\n default: 5e3\n },\n /**\n * Allow to pause an ongoing slideshow\n */\n slideshowPaused: {\n type: Boolean,\n default: false\n },\n /**\n * Enable swipe between slides\n *\n * @deprecated Will be removed in next version - use `disableSwipe` instead\n */\n enableSwipe: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Disable swipe between slides\n */\n disableSwipe: {\n type: Boolean,\n default: false\n },\n /**\n * Enable spread navigation\n */\n spreadNavigation: {\n type: Boolean,\n default: false\n },\n /**\n * Defines the modal size.\n * Default is 'normal'.\n * Available are 'small', 'normal', 'large' and 'full'.\n * All sizes except 'small' change automatically to full-screen on mobile.\n */\n size: {\n type: String,\n default: \"normal\",\n validator: (size) => {\n return [\"small\", \"normal\", \"large\", \"full\"].includes(size);\n }\n },\n /**\n * Do not show the close button for the dialog.\n *\n * @default false\n */\n noClose: {\n type: Boolean,\n default: false\n },\n /**\n * Set to false to no show a close button on the dialog\n *\n * @deprecated - Use `noClose` instead. Will be removed in v9.\n * @default true\n */\n canClose: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Close the modal if the user clicked outside the modal\n * Only relevant if `canClose` is set to true.\n */\n closeOnClickOutside: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Makes the modal backdrop opaque if true.\n * Will be overwritten if some buttons are shown outside.\n */\n dark: {\n type: Boolean,\n default: false\n },\n /**\n * Set light backdrop. Makes the modal header appear light.\n */\n lightBackdrop: {\n type: Boolean,\n default: false\n },\n /**\n * Selector for the modal container, pass `null` to prevent automatic container mounting\n */\n container: {\n type: [String, null],\n default: \"body\"\n },\n /**\n * Pass in `true` if you want the modal 'close' button to be displayed\n * outside the modal boundaries, in the top right corner of the window.\n *\n * @default false\n * @since 8.32.0\n */\n closeButtonOutside: {\n type: Boolean,\n default: false\n },\n /**\n * Pass in false if you want the modal 'close' button to be displayed\n * outside the modal boundaries, in the top right corner of the window.\n *\n * @default true\n * @deprecated 8.32.0 - Use `closeButtonOutside` instead\n */\n closeButtonContained: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: true\n },\n /**\n * Additional elements to add to the focus trap\n */\n additionalTrapElements: {\n type: Array,\n default: () => []\n },\n /**\n * Display x items inline\n *\n * @see Actions component usage\n */\n inlineActions: {\n type: Number,\n default: 0\n },\n /**\n * The current open property of the modal\n */\n show: {\n type: Boolean,\n // eslint-disable-next-line vue/no-boolean-default\n default: void 0\n },\n /**\n * Id of the element that labels the dialog (the name)\n * Not needed if the `name` prop is set, but if no name is set you need to provide the ID of an element to label the dialog for accessibility.\n */\n labelId: {\n type: String,\n default: \"\"\n },\n /**\n * Set element to return focus to after focus trap deactivation\n *\n * @type {import('focus-trap').FocusTargetValueOrFalse}\n */\n setReturnFocus: {\n default: void 0,\n type: [Boolean, HTMLElement, SVGElement, String]\n }\n },\n emits: [\n \"previous\",\n \"next\",\n \"close\",\n \"update:show\"\n ],\n setup() {\n return {\n mdiChevronLeft,\n mdiChevronRight\n };\n },\n data() {\n return {\n mc: null,\n playing: false,\n slideshowTimeout: null,\n focusTrap: null,\n randId: GenRandomId(),\n internalShow: true\n };\n },\n computed: {\n /**\n * slide show delay to set to CSS\n */\n cssSlideshowDelay() {\n return `${this.slideshowDelay}ms`;\n },\n /**\n * True if there are any buttons shown on the backdrop or a name (for accessibility)\n */\n forceDarkBackdrop() {\n return !this.noClose && this.canClose && !this.closeButtonContained || this.hasNext || this.hasPrevious || this.modalName !== \"\" || Boolean(this.$slots.actions);\n },\n /**\n * Trimmed modal name\n */\n modalName() {\n return this.name.trim();\n },\n /**\n * ID of the element to label the modal\n */\n modalLabelId() {\n return this.labelId || `modal-name-${this.randId}`;\n },\n showModal() {\n return this.show === void 0 ? this.internalShow : this.show;\n },\n modalTransitionName() {\n return `modal-${this.outTransition ? \"out\" : \"in\"}`;\n },\n playPauseName() {\n return this.playing ? t(\"Pause slideshow\") : t(\"Start slideshow\");\n },\n closeButtonAriaLabel() {\n return t(\"Close\");\n },\n prevButtonAriaLabel() {\n return t(\"Previous\");\n },\n nextButtonAriaLabel() {\n return t(\"Next\");\n },\n showCloseButton() {\n if (this.noClose) {\n return false;\n }\n return this.canClose;\n },\n isCloseButtonOutside() {\n if (this.closeButtonOutside) {\n return true;\n }\n return !this.closeButtonContained;\n },\n numHeaderActions() {\n let actions = 0;\n if (this.hasNext && this.enableSlideshow) {\n actions++;\n }\n if (this.showCloseButton && this.isCloseButtonOutside) {\n actions++;\n }\n if (this.$scopedSlots.actions) {\n actions++;\n }\n return actions;\n },\n /**\n * Whether the modal header is needed.\n * Only show it when there is a title, outside close button, or header actions —\n * otherwise the area can be used for the modal content (full height on mobile / full size).\n */\n hasHeader() {\n return this.modalName !== \"\" || this.numHeaderActions > 0;\n }\n },\n watch: {\n /**\n * Handle play/pause of an ongoing slideshow\n *\n * @param {boolean} paused is the player paused\n */\n slideshowPaused(paused) {\n if (this.slideshowTimeout) {\n if (paused) {\n this.slideshowTimeout.pause();\n } else {\n this.slideshowTimeout.start();\n }\n }\n },\n additionalTrapElements(elements) {\n if (this.focusTrap) {\n const contentContainer = this.$refs.mask;\n this.focusTrap.updateContainerElements([contentContainer, ...elements]);\n }\n }\n },\n beforeMount() {\n window.addEventListener(\"keydown\", this.handleKeydown);\n },\n beforeDestroy() {\n window.removeEventListener(\"keydown\", this.handleKeydown);\n this.mc.stop();\n },\n mounted() {\n if (!this.name && !this.labelId) {\n Vue.util.warn(\"[NcModal] You need either set the name or set a `labelId` for accessibility.\");\n }\n this.useFocusTrap();\n this.mc = useSwipe(this.$refs.mask, {\n onSwipeEnd: this.handleSwipe\n });\n if (this.container) {\n if (this.container === \"body\") {\n document.body.insertBefore(this.$el, document.body.lastChild);\n } else {\n const container = document.querySelector(this.container);\n container.appendChild(this.$el);\n }\n }\n },\n destroyed() {\n this.clearFocusTrap();\n this.$el.remove();\n },\n methods: {\n t,\n // Events emitters\n previous(event) {\n if (this.hasPrevious) {\n if (event) {\n this.resetSlideshow();\n }\n this.$emit(\"previous\", event);\n }\n },\n next(event) {\n if (this.hasNext) {\n if (event) {\n this.resetSlideshow();\n }\n this.$emit(\"next\", event);\n }\n },\n close(data) {\n if (!this.noClose && this.canClose) {\n this.internalShow = false;\n this.$emit(\"update:show\", false);\n setTimeout(() => {\n this.$emit(\"close\", data);\n }, 300);\n }\n },\n /**\n * Handle click on modal wrapper\n * If `closeOnClickOutside` is set the modal will be closed\n *\n * @param {MouseEvent} event The click event\n */\n handleClickModalWrapper(event) {\n if (this.closeOnClickOutside) {\n this.close(event);\n }\n },\n /**\n * @param {KeyboardEvent} event - keyboard event\n */\n handleKeydown(event) {\n if (event.key === \"Escape\") {\n const trapStack = getTrapStack();\n if (trapStack.length > 0 && trapStack[trapStack.length - 1] !== this.focusTrap) {\n return;\n }\n return this.close(event);\n }\n const arrowHandlers = {\n ArrowLeft: this.previous,\n ArrowRight: this.next\n };\n if (arrowHandlers[event.key]) {\n if (document.activeElement && !this.$el.contains(document.activeElement)) {\n return;\n }\n return arrowHandlers[event.key](event);\n }\n },\n /**\n * handle the swipe event\n *\n * @param {TouchEvent} e The touch event\n * @param {import('@vueuse/core').SwipeDirection} direction Swipe direction\n */\n handleSwipe(e, direction) {\n if (this.enableSwipe && !this.disableSwipe) {\n if (direction === \"left\") {\n this.next(e);\n } else if (direction === \"right\") {\n this.previous(e);\n }\n }\n },\n /**\n * Toggle the slideshow state\n */\n togglePlayPause() {\n this.playing = !this.playing;\n if (this.playing) {\n this.handleSlideshow();\n } else {\n this.clearSlideshowTimeout();\n }\n },\n /**\n * Reset the slideshow timer and keep going if it was on\n */\n resetSlideshow() {\n this.playing = !this.playing;\n this.clearSlideshowTimeout();\n this.$nextTick(function() {\n this.togglePlayPause();\n });\n },\n /**\n * Handle the slideshow timer and next event\n */\n handleSlideshow() {\n this.playing = true;\n if (this.hasNext) {\n this.slideshowTimeout = new timer(() => {\n this.next();\n this.handleSlideshow();\n }, this.slideshowDelay);\n } else {\n this.playing = false;\n this.clearSlideshowTimeout();\n }\n },\n /**\n * Clear slideshowTimeout if ongoing\n */\n clearSlideshowTimeout() {\n if (this.slideshowTimeout) {\n this.slideshowTimeout.clear();\n }\n },\n /**\n * Add focus trap for accessibility.\n */\n async useFocusTrap() {\n if (!this.showModal || this.focusTrap) {\n return;\n }\n const contentContainer = this.$refs.mask;\n await this.$nextTick();\n const options = {\n allowOutsideClick: true,\n fallbackFocus: contentContainer,\n trapStack: getTrapStack(),\n // Esc can be used without stop in content or additionalTrapElements where it should not deactivate modal's focus trap.\n // Focus trap is deactivated on modal close anyway.\n escapeDeactivates: false,\n setReturnFocus: this.setReturnFocus\n };\n this.focusTrap = createFocusTrap([contentContainer, ...this.additionalTrapElements], options);\n this.focusTrap.activate();\n },\n clearFocusTrap() {\n if (!this.focusTrap) {\n return;\n }\n this.focusTrap?.deactivate();\n this.focusTrap = null;\n }\n }\n};\nconst __injectCSSVars__ = () => {\n useCssVars((_vm, _setup) => ({\n \"7724eff9\": _vm.cssSlideshowDelay,\n \"125db689\": _vm.numHeaderActions\n }));\n};\nconst __setup__ = __default__.setup;\n__default__.setup = __setup__ ? (props, ctx) => {\n __injectCSSVars__();\n return __setup__(props, ctx);\n} : __injectCSSVars__;\nconst _sfc_main = __default__;\nvar _sfc_render = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"transition\", { attrs: { \"name\": \"fade\", \"appear\": \"\" }, on: { \"after-enter\": _vm.useFocusTrap, \"before-leave\": _vm.clearFocusTrap } }, [_c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.showModal, expression: \"showModal\" }], ref: \"mask\", staticClass: \"modal-mask\", class: {\n \"modal-mask--opaque\": _vm.dark || _vm.forceDarkBackdrop,\n \"modal-mask--light\": _vm.lightBackdrop\n }, attrs: { \"role\": \"dialog\", \"aria-modal\": \"true\", \"aria-labelledby\": _vm.modalLabelId, \"aria-describedby\": \"modal-description-\" + _vm.randId, \"tabindex\": \"-1\" } }, [_c(\"transition\", { attrs: { \"name\": \"fade-visibility\", \"appear\": \"\" } }, [_vm.hasHeader ? _c(\"div\", { staticClass: \"modal-header\", attrs: { \"data-theme-light\": _vm.lightBackdrop, \"data-theme-dark\": !_vm.lightBackdrop } }, [_vm.modalName ? _c(\"h2\", { staticClass: \"modal-header__name\", attrs: { \"id\": \"modal-name-\" + _vm.randId } }, [_vm._v(\" \" + _vm._s(_vm.modalName) + \" \")]) : _vm._e(), _c(\"div\", { staticClass: \"icons-menu\" }, [_vm.hasNext && _vm.enableSlideshow ? _c(\"button\", { staticClass: \"play-pause-icons\", class: { \"play-pause-icons--paused\": _vm.slideshowPaused }, attrs: { \"title\": _vm.playPauseName, \"type\": \"button\" }, on: { \"click\": _vm.togglePlayPause } }, [!_vm.playing ? _c(\"Play\", { staticClass: \"play-pause-icons__play\", attrs: { \"size\": 20 } }) : _c(\"Pause\", { staticClass: \"play-pause-icons__pause\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"hidden-visually\" }, [_vm._v(\" \" + _vm._s(_vm.playPauseName) + \" \")]), _vm.playing ? _c(\"svg\", { staticClass: \"progress-ring\", attrs: { \"height\": \"50\", \"width\": \"50\" } }, [_c(\"circle\", { staticClass: \"progress-ring__circle\", attrs: { \"stroke\": \"white\", \"stroke-width\": \"2\", \"fill\": \"transparent\", \"r\": \"15\", \"cx\": \"25\", \"cy\": \"25\" } })]) : _vm._e()], 1) : _vm._e(), _c(\"NcActions\", { staticClass: \"header-actions\", attrs: { \"inline\": _vm.inlineActions } }, [_vm._t(\"actions\")], 2), _vm.showCloseButton && _vm.isCloseButtonOutside ? _c(\"NcButton\", { staticClass: \"header-close\", attrs: { \"aria-label\": _vm.closeButtonAriaLabel, \"variant\": \"tertiary\" }, on: { \"click\": _vm.close }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Close\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, false, 2121748766) }) : _vm._e()], 1)]) : _vm._e()]), _c(\"transition\", { attrs: { \"name\": _vm.modalTransitionName, \"appear\": \"\" } }, [_c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.showModal, expression: \"showModal\" }], staticClass: \"modal-wrapper\", class: [\n `modal-wrapper--${_vm.size}`,\n {\n \"modal-wrapper--spread-navigation\": _vm.spreadNavigation,\n \"modal-wrapper--no-header\": !_vm.hasHeader\n }\n ], on: { \"mousedown\": function($event) {\n if ($event.target !== $event.currentTarget) return null;\n return _vm.handleClickModalWrapper.apply(null, arguments);\n } } }, [_c(\"transition\", { attrs: { \"name\": \"fade-visibility\", \"appear\": \"\" } }, [_c(\"NcButton\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.hasPrevious, expression: \"hasPrevious\" }], staticClass: \"prev\", attrs: { \"aria-label\": _vm.prevButtonAriaLabel, \"variant\": \"tertiary-no-background\" }, on: { \"click\": _vm.previous }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"NcIconSvgWrapper\", { attrs: { \"directional\": \"\", \"path\": _vm.mdiChevronLeft, \"size\": 40 } })];\n }, proxy: true }]) })], 1), _c(\"div\", { staticClass: \"modal-container\", attrs: { \"id\": \"modal-description-\" + _vm.randId } }, [_c(\"div\", { staticClass: \"modal-container__content\" }, [_vm._t(\"default\")], 2), _vm.showCloseButton && !_vm.isCloseButtonOutside ? _c(\"NcButton\", { staticClass: \"modal-container__close\", attrs: { \"aria-label\": _vm.closeButtonAriaLabel, \"variant\": \"tertiary\" }, on: { \"click\": _vm.close }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"Close\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, false, 2121748766) }) : _vm._e()], 1), _c(\"transition\", { attrs: { \"name\": \"fade-visibility\", \"appear\": \"\" } }, [_c(\"NcButton\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.hasNext, expression: \"hasNext\" }], staticClass: \"next\", attrs: { \"aria-label\": _vm.nextButtonAriaLabel, \"variant\": \"tertiary-no-background\" }, on: { \"click\": _vm.next }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"NcIconSvgWrapper\", { attrs: { \"directional\": \"\", \"path\": _vm.mdiChevronRight, \"size\": 40 } })];\n }, proxy: true }]) })], 1)], 1)])], 1)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"4b0ca9a1\"\n);\nconst NcModal = __component__.exports;\nScopeComponent(NcModal);\nexport {\n NcModal as default\n};\n//# sourceMappingURL=NcModal.mjs.map\n"],"names":["_sfc_main","_sfc_render","_vm","_c","$event","_sfc_staticRenderFns","__component__","normalizeComponent","Close","ScopeComponent","Component","register","t33","type","value","__props","emit","props","isLoading","ref","handleClick","e","fallback","result","t","NcButton","NcIconSvgWrapper","NcLoadingIcon","_setup","NcDialogButton","_sfc_main$2","_sfc_render$2","_sfc_staticRenderFns$2","__component__$2","Pause","_sfc_main$1","_sfc_render$1","_sfc_staticRenderFns$1","__component__$1","Play","t18","t36","timer","callback","delay","id","started","remaining","running","__default__","NcActions","size","mdiChevronLeft","mdiChevronRight","GenRandomId","actions","paused","elements","contentContainer","Vue","useSwipe","event","data","trapStack","getTrapStack","arrowHandlers","direction","options","createFocusTrap","__injectCSSVars__","useCssVars","__setup__","ctx","NcModal"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
\ No newline at end of file
diff --git a/js/NcProfileHoverCard-nmkKoCB1-CFFOOBIB.chunk.mjs b/js/NcProfileHoverCard-nmkKoCB1-Bi8nhhKx.chunk.mjs
similarity index 99%
rename from js/NcProfileHoverCard-nmkKoCB1-CFFOOBIB.chunk.mjs
rename to js/NcProfileHoverCard-nmkKoCB1-Bi8nhhKx.chunk.mjs
index eb78a47136..30f8c82857 100644
--- a/js/NcProfileHoverCard-nmkKoCB1-CFFOOBIB.chunk.mjs
+++ b/js/NcProfileHoverCard-nmkKoCB1-Bi8nhhKx.chunk.mjs
@@ -1,5 +1,5 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('photos', '', 'js/index-CFgokVom.chunk.mjs'),window.OC.filePath('photos', '', 'js/preload-helper-B1hyiFAx.chunk.mjs'),window.OC.filePath('photos', '', 'js/NcAvatar-BbHwxwyd-B4FduCgL.chunk.mjs'),window.OC.filePath('photos', '', 'js/index-msNec4Xs.chunk.mjs'),window.OC.filePath('photos', '', 'js/index-CsCSS_KR.chunk.mjs'),window.OC.filePath('photos', '', 'css/index-Bs7Xka8z.chunk.css'),window.OC.filePath('photos', '', 'js/video-DVVFoi8e.chunk.mjs'),window.OC.filePath('photos', '', 'css/video--CcaUIJL.chunk.css'),window.OC.filePath('photos', '', 'js/NcActions-C4f9MXug-FA3YIyzG.chunk.mjs'),window.OC.filePath('photos', '', 'js/GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs'),window.OC.filePath('photos', '', 'css/NcActions-C4f9MXug-D7Nqw7jM.chunk.css'),window.OC.filePath('photos', '', 'js/NcLoadingIcon-DM-94wwW.chunk.mjs'),window.OC.filePath('photos', '', 'css/NcLoadingIcon-CAC0K4sG.chunk.css'),window.OC.filePath('photos', '', 'css/NcAvatar-BbHwxwyd-wZgW97zk.chunk.css'),window.OC.filePath('photos', '', 'js/NcCheckboxRadioSwitch-flYu6ojL-w4Tr59WY.chunk.mjs'),window.OC.filePath('photos', '', 'js/NcIconToggleSwitch-CaDISrhm-8yJ7ws72.chunk.mjs'),window.OC.filePath('photos', '', 'css/NcIconToggleSwitch-CaDISrhm-BboTI85T.chunk.css'),window.OC.filePath('photos', '', 'js/useModelMigration-EhAWvqDD-ClbwSWZP.chunk.mjs'),window.OC.filePath('photos', '', 'css/NcCheckboxRadioSwitch-flYu6ojL-Cap_0gJf.chunk.css')])))=>i.map(i=>d[i]);
-import{q as fn,h as ce,K as Xi,c as re,_ as Qi,p as Qt,B as je,d as Dr,n as It,f as Mn,m as Xe,z as Ki}from"./preload-helper-B1hyiFAx.chunk.mjs";import{A as He,n as be,e as _e,N as pn,r as hn,bM as Gi,bN as Ji,H as Te,k as Fr,u as eo,bO as to}from"./index-msNec4Xs.chunk.mjs";import{c as no}from"./index-CsCSS_KR.chunk.mjs";import{i as ro,n as io,b as oo,N as lo}from"./NcActions-C4f9MXug-FA3YIyzG.chunk.mjs";import{v as Le,c as so,g as Rr,r as ao,a as co,p as uo,U as Dn,E as fo,b as Fn,S as Nr,N as po,e as ho,f as go}from"./NcAvatar-BbHwxwyd-B4FduCgL.chunk.mjs";import{c as mo,N as yo}from"./NcLoadingIcon-DM-94wwW.chunk.mjs";import{L as jr,u as Rn,D as vo,t as xo}from"./video-DVVFoi8e.chunk.mjs";import{N as ko}from"./NcCheckboxRadioSwitch-flYu6ojL-w4Tr59WY.chunk.mjs";import{G as Et}from"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";const bo={};function kt(e,n){const t=bo,r=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,i=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return Br(e,r,i)}function Br(e,n,t){if(wo(e)){if("value"in e)return e.type==="html"&&!t?"":e.value;if(n&&"alt"in e&&e.alt)return e.alt;if("children"in e)return Nn(e.children,n,t)}return Array.isArray(e)?Nn(e,n,t):""}function Nn(e,n,t){const r=[];let i=-1;for(;++i{const t=(i,o)=>(e.set(o,i),i),r=i=>{if(e.has(i))return e.get(i);const[o,l]=n[i];switch(o){case bt:case Hr:return t(l,i);case mt:{const s=t([],i);for(const a of l)s.push(r(a));return s}case yt:{const s=t({},i);for(const[a,c]of l)s[r(a)]=r(c);return s}case dn:return t(new Date(l),i);case gn:{const{source:s,flags:a}=l;return t(new RegExp(s,a),i)}case mn:{const s=t(new Map,i);for(const[a,c]of l)s.set(r(a),r(c));return s}case yn:{const s=t(new Set,i);for(const a of l)s.add(r(a));return s}case Ur:{const{name:s,message:a}=l;return t(new jn[s](a),i)}case Vr:return t(BigInt(l),i);case"BigInt":return t(Object(BigInt(l)),i)}return t(new jn[o](l),i)};return r},Bn=e=>Co(new Map,e)(0),Re="",{toString:_o}={},{keys:So}=Object,Qe=e=>{const n=typeof e;if(n!=="object"||!e)return[bt,n];const t=_o.call(e).slice(8,-1);switch(t){case"Array":return[mt,Re];case"Object":return[yt,Re];case"Date":return[dn,Re];case"RegExp":return[gn,Re];case"Map":return[mn,Re];case"Set":return[yn,Re]}return t.includes("Array")?[mt,t]:t.includes("Error")?[Ur,t]:[yt,t]},st=([e,n])=>e===bt&&(n==="function"||n==="symbol"),Io=(e,n,t,r)=>{const i=(l,s)=>{const a=r.push(l)-1;return t.set(s,a),a},o=l=>{if(t.has(l))return t.get(l);let[s,a]=Qe(l);switch(s){case bt:{let f=l;switch(a){case"bigint":s=Vr,f=l.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+a);f=null;break;case"undefined":return i([Hr],l)}return i([s,f],l)}case mt:{if(a)return i([a,[...l]],l);const f=[],u=i([s,f],l);for(const h of l)f.push(o(h));return u}case yt:{if(a)switch(a){case"BigInt":return i([a,l.toString()],l);case"Boolean":case"Number":case"String":return i([a,l.valueOf()],l)}if(n&&"toJSON"in l)return o(l.toJSON());const f=[],u=i([s,f],l);for(const h of So(l))(e||!st(Qe(l[h])))&&f.push([o(h),o(l[h])]);return u}case dn:return i([s,l.toISOString()],l);case gn:{const{source:f,flags:u}=l;return i([s,{source:f,flags:u}],l)}case mn:{const f=[],u=i([s,f],l);for(const[h,p]of l)(e||!(st(Qe(h))||st(Qe(p))))&&f.push([o(h),o(p)]);return u}case yn:{const f=[],u=i([s,f],l);for(const h of l)(e||!st(Qe(h)))&&f.push(o(h));return u}}const{message:c}=l;return i([s,{name:a,message:c}],l)};return o},Hn=(e,{json:n,lossy:t}={})=>{const r=[];return Io(!(n||t),!!n,new Map,r)(e),r},Ae=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?Bn(Hn(e,n)):structuredClone(e):(e,n)=>Bn(Hn(e,n)),Wr=(function(e){if(e==null)return Ao;if(typeof e=="string")return To(e);if(typeof e=="object")return Eo(e);if(typeof e=="function")return vn(e);throw new Error("Expected function, string, or array as `test`")});function Eo(e){const n=[];let t=-1;for(;++t0&&(o.properties.rel=[...h]),p&&(o.properties.target=p),f){const x=Ke(n.contentProperties,o)||{};o.children.push({type:"element",tagName:"span",properties:Ae(x),children:Ae(f)})}}}})}}function Ke(e,n){return typeof e=="function"?e(n):e}class Je{constructor(n,t,r){this.property=n,this.normal=t,r&&(this.space=r)}}Je.prototype.property={},Je.prototype.normal={},Je.prototype.space=null;function $r(e,n){const t={},r={};let i=-1;for(;++i4&&t.slice(0,4)==="data"&&Wo.test(n)){if(n.charAt(4)==="-"){const o=n.slice(5).replace(Vn,Zo);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=n.slice(4);if(!Vn.test(o)){let l=o.replace($o,Yo);l.charAt(0)!=="-"&&(l="-"+l),n="data"+l}}i=xn}return new i(r,n)}function Yo(e){return"-"+e.toLowerCase()}function Zo(e){return e.charAt(1).toUpperCase()}const Xo={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},Qo=$r([Zr,Yr,Kr,Gr,Uo],"html"),Jr=$r([Zr,Yr,Kr,Gr,Vo],"svg");function Ko(e,n){const t={};return(e[e.length-1]===""?[...e,""]:e).join((t.padRight?" ":"")+","+(t.padLeft===!1?"":" ")).trim()}var at={exports:{}},At,Wn;function Go(){if(Wn)return At;Wn=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,t=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,l=/^[;\s]*/,s=/^\s+|\s+$/g,a=`
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('photos', '', 'js/index-N1TdnZd5.chunk.mjs'),window.OC.filePath('photos', '', 'js/preload-helper-B1hyiFAx.chunk.mjs'),window.OC.filePath('photos', '', 'js/NcAvatar-BbHwxwyd-CJZWCZ0O.chunk.mjs'),window.OC.filePath('photos', '', 'js/index-msNec4Xs.chunk.mjs'),window.OC.filePath('photos', '', 'js/index-CsCSS_KR.chunk.mjs'),window.OC.filePath('photos', '', 'css/index-Bs7Xka8z.chunk.css'),window.OC.filePath('photos', '', 'js/video-B2A2Ed33.chunk.mjs'),window.OC.filePath('photos', '', 'css/video--CcaUIJL.chunk.css'),window.OC.filePath('photos', '', 'js/NcActions-C4f9MXug-BC_2VOkH.chunk.mjs'),window.OC.filePath('photos', '', 'js/GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs'),window.OC.filePath('photos', '', 'css/NcActions-C4f9MXug-D7Nqw7jM.chunk.css'),window.OC.filePath('photos', '', 'js/NcLoadingIcon-DM-94wwW.chunk.mjs'),window.OC.filePath('photos', '', 'css/NcLoadingIcon-CAC0K4sG.chunk.css'),window.OC.filePath('photos', '', 'css/NcAvatar-BbHwxwyd-wZgW97zk.chunk.css'),window.OC.filePath('photos', '', 'js/NcCheckboxRadioSwitch-flYu6ojL-w4Tr59WY.chunk.mjs'),window.OC.filePath('photos', '', 'js/NcIconToggleSwitch-CaDISrhm-8yJ7ws72.chunk.mjs'),window.OC.filePath('photos', '', 'css/NcIconToggleSwitch-CaDISrhm-BboTI85T.chunk.css'),window.OC.filePath('photos', '', 'js/useModelMigration-EhAWvqDD-ClbwSWZP.chunk.mjs'),window.OC.filePath('photos', '', 'css/NcCheckboxRadioSwitch-flYu6ojL-Cap_0gJf.chunk.css')])))=>i.map(i=>d[i]);
+import{q as fn,h as ce,K as Xi,c as re,_ as Qi,p as Qt,B as je,d as Dr,n as It,f as Mn,m as Xe,z as Ki}from"./preload-helper-B1hyiFAx.chunk.mjs";import{A as He,n as be,e as _e,N as pn,r as hn,bM as Gi,bN as Ji,H as Te,k as Fr,u as eo,bO as to}from"./index-msNec4Xs.chunk.mjs";import{c as no}from"./index-CsCSS_KR.chunk.mjs";import{i as ro,n as io,b as oo,N as lo}from"./NcActions-C4f9MXug-BC_2VOkH.chunk.mjs";import{v as Le,c as so,g as Rr,r as ao,a as co,p as uo,U as Dn,E as fo,b as Fn,S as Nr,N as po,e as ho,f as go}from"./NcAvatar-BbHwxwyd-CJZWCZ0O.chunk.mjs";import{c as mo,N as yo}from"./NcLoadingIcon-DM-94wwW.chunk.mjs";import{L as jr,u as Rn,D as vo,t as xo}from"./video-B2A2Ed33.chunk.mjs";import{N as ko}from"./NcCheckboxRadioSwitch-flYu6ojL-w4Tr59WY.chunk.mjs";import{G as Et}from"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";const bo={};function kt(e,n){const t=bo,r=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,i=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return Br(e,r,i)}function Br(e,n,t){if(wo(e)){if("value"in e)return e.type==="html"&&!t?"":e.value;if(n&&"alt"in e&&e.alt)return e.alt;if("children"in e)return Nn(e.children,n,t)}return Array.isArray(e)?Nn(e,n,t):""}function Nn(e,n,t){const r=[];let i=-1;for(;++i{const t=(i,o)=>(e.set(o,i),i),r=i=>{if(e.has(i))return e.get(i);const[o,l]=n[i];switch(o){case bt:case Hr:return t(l,i);case mt:{const s=t([],i);for(const a of l)s.push(r(a));return s}case yt:{const s=t({},i);for(const[a,c]of l)s[r(a)]=r(c);return s}case dn:return t(new Date(l),i);case gn:{const{source:s,flags:a}=l;return t(new RegExp(s,a),i)}case mn:{const s=t(new Map,i);for(const[a,c]of l)s.set(r(a),r(c));return s}case yn:{const s=t(new Set,i);for(const a of l)s.add(r(a));return s}case Ur:{const{name:s,message:a}=l;return t(new jn[s](a),i)}case Vr:return t(BigInt(l),i);case"BigInt":return t(Object(BigInt(l)),i)}return t(new jn[o](l),i)};return r},Bn=e=>Co(new Map,e)(0),Re="",{toString:_o}={},{keys:So}=Object,Qe=e=>{const n=typeof e;if(n!=="object"||!e)return[bt,n];const t=_o.call(e).slice(8,-1);switch(t){case"Array":return[mt,Re];case"Object":return[yt,Re];case"Date":return[dn,Re];case"RegExp":return[gn,Re];case"Map":return[mn,Re];case"Set":return[yn,Re]}return t.includes("Array")?[mt,t]:t.includes("Error")?[Ur,t]:[yt,t]},st=([e,n])=>e===bt&&(n==="function"||n==="symbol"),Io=(e,n,t,r)=>{const i=(l,s)=>{const a=r.push(l)-1;return t.set(s,a),a},o=l=>{if(t.has(l))return t.get(l);let[s,a]=Qe(l);switch(s){case bt:{let f=l;switch(a){case"bigint":s=Vr,f=l.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+a);f=null;break;case"undefined":return i([Hr],l)}return i([s,f],l)}case mt:{if(a)return i([a,[...l]],l);const f=[],u=i([s,f],l);for(const h of l)f.push(o(h));return u}case yt:{if(a)switch(a){case"BigInt":return i([a,l.toString()],l);case"Boolean":case"Number":case"String":return i([a,l.valueOf()],l)}if(n&&"toJSON"in l)return o(l.toJSON());const f=[],u=i([s,f],l);for(const h of So(l))(e||!st(Qe(l[h])))&&f.push([o(h),o(l[h])]);return u}case dn:return i([s,l.toISOString()],l);case gn:{const{source:f,flags:u}=l;return i([s,{source:f,flags:u}],l)}case mn:{const f=[],u=i([s,f],l);for(const[h,p]of l)(e||!(st(Qe(h))||st(Qe(p))))&&f.push([o(h),o(p)]);return u}case yn:{const f=[],u=i([s,f],l);for(const h of l)(e||!st(Qe(h)))&&f.push(o(h));return u}}const{message:c}=l;return i([s,{name:a,message:c}],l)};return o},Hn=(e,{json:n,lossy:t}={})=>{const r=[];return Io(!(n||t),!!n,new Map,r)(e),r},Ae=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?Bn(Hn(e,n)):structuredClone(e):(e,n)=>Bn(Hn(e,n)),Wr=(function(e){if(e==null)return Ao;if(typeof e=="string")return To(e);if(typeof e=="object")return Eo(e);if(typeof e=="function")return vn(e);throw new Error("Expected function, string, or array as `test`")});function Eo(e){const n=[];let t=-1;for(;++t0&&(o.properties.rel=[...h]),p&&(o.properties.target=p),f){const x=Ke(n.contentProperties,o)||{};o.children.push({type:"element",tagName:"span",properties:Ae(x),children:Ae(f)})}}}})}}function Ke(e,n){return typeof e=="function"?e(n):e}class Je{constructor(n,t,r){this.property=n,this.normal=t,r&&(this.space=r)}}Je.prototype.property={},Je.prototype.normal={},Je.prototype.space=null;function $r(e,n){const t={},r={};let i=-1;for(;++i4&&t.slice(0,4)==="data"&&Wo.test(n)){if(n.charAt(4)==="-"){const o=n.slice(5).replace(Vn,Zo);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=n.slice(4);if(!Vn.test(o)){let l=o.replace($o,Yo);l.charAt(0)!=="-"&&(l="-"+l),n="data"+l}}i=xn}return new i(r,n)}function Yo(e){return"-"+e.toLowerCase()}function Zo(e){return e.charAt(1).toUpperCase()}const Xo={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},Qo=$r([Zr,Yr,Kr,Gr,Uo],"html"),Jr=$r([Zr,Yr,Kr,Gr,Vo],"svg");function Ko(e,n){const t={};return(e[e.length-1]===""?[...e,""]:e).join((t.padRight?" ":"")+","+(t.padLeft===!1?"":" ")).trim()}var at={exports:{}},At,Wn;function Go(){if(Wn)return At;Wn=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,t=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,l=/^[;\s]*/,s=/^\s+|\s+$/g,a=`
`,c="/",f="*",u="",h="comment",p="declaration";At=function(x,k){if(typeof x!="string")throw new TypeError("First argument must be a string");if(!x)return[];k=k||{};var y=1,_=1;function E(P){var T=P.match(n);T&&(y+=T.length);var O=P.lastIndexOf(a);_=~O?P.length-O:_+P.length}function A(){var P={line:y,column:_};return function(T){return T.position=new N(P),B(),T}}function N(P){this.start=P,this.end={line:y,column:_},this.source=k.source}N.prototype.content=x;function C(P){var T=new Error(k.source+":"+y+":"+_+": "+P);if(T.reason=P,T.filename=k.source,T.line=y,T.column=_,T.source=x,!k.silent)throw T}function F(P){var T=P.exec(x);if(T){var O=T[0];return E(O),x=x.slice(O.length),T}}function B(){F(t)}function j(P){var T;for(P=P||[];T=v();)T!==!1&&P.push(T);return P}function v(){var P=A();if(!(c!=x.charAt(0)||f!=x.charAt(1))){for(var T=2;u!=x.charAt(T)&&(f!=x.charAt(T)||c!=x.charAt(T+1));)++T;if(T+=2,u===x.charAt(T-1))return C("End of comment missing");var O=x.slice(2,T-2);return _+=2,E(O),x=x.slice(T),_+=2,P({type:h,comment:O})}}function z(){var P=A(),T=F(r);if(T){if(v(),!F(i))return C("property missing ':'");var O=F(o),Y=P({type:p,property:m(T[0].replace(e,u)),value:O?m(O[0].replace(e,u)):u});return F(l),Y}}function L(){var P=[];j(P);for(var T;T=z();)T!==!1&&(P.push(T),j(P));return P}return B(),L()};function m(x){return x?x.replace(s,u):u}return At}var $n;function Jo(){if($n)return at.exports;$n=1;var e=Go();function n(t,r){var i=null;if(!t||typeof t!="string")return i;for(var o,l=e(t),s=typeof r=="function",a,c,f=0,u=l.length;f0?e.call(n,o,l,s):e.call(n,o,l)}function ol(e,n,t,r,i){const o=qo(r.schema,n);let l;t==null||typeof t=="number"&&Number.isNaN(t)||t===!1&&(r.vue||r.vdom||r.hyperscript)||!t&&o.boolean&&(r.vue||r.vdom||r.hyperscript)||(Array.isArray(t)&&(t=o.commaSeparated?Ko(t):Do(t)),o.boolean&&r.hyperscript&&(t=""),o.property==="style"&&typeof t=="string"&&(r.react||r.vue||r.vdom)&&(t=ul(t,i)),r.vue?o.property!=="style"&&(l="attrs"):o.mustUseProperty||(r.vdom?o.property!=="style"&&(l="attributes"):r.hyperscript&&(l="attrs")),l?e[l]=Object.assign(e[l]||{},{[o.attribute]:t}):o.space&&r.react?e[Xo[o.property]||o.property]=t:e[o.attribute]=t)}function ll(e){const n=e("div",{});return!!(n&&("_owner"in n||"_store"in n)&&(n.key===void 0||n.key===null))}function sl(e){return"context"in e&&"cleanup"in e}function al(e){return e("div",{}).type==="VirtualNode"}function cl(e){const n=e("div",{});return!!(n&&n.context&&n.context._isVue)}function ul(e,n){const t={};try{tl(e,(r,i)=>{r.slice(0,4)==="-ms-"&&(r="ms-"+r.slice(4)),t[r.replace(/-([a-z])/g,(o,l)=>l.toUpperCase())]=i})}catch(r){const i=r;throw i.message=n+"[style]"+i.message.slice(9),i}return t}var zt,qn;function fl(){if(qn)return zt;qn=1,zt=e;function e(l){if(typeof l=="string")return i(l);if(l==null)return o;if(typeof l=="object")return("length"in l?r:t)(l);if(typeof l=="function")return l;throw new Error("Expected function, string, or object as test")}function n(l){for(var s=[],a=l.length,c=-1;++cx&&y!yl(s))),e.components&&vl.call(e.components,i)){const s=e.components[i];return e.passNode&&typeof s=="function"&&(o=Object.assign({node:this},o)),n(s,o,l)}return n(i,o,l)}}function bl(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function wl(e,n,t){const r=so({}.ignore||[]),i=Cl(n);let o=-1;for(;++o0?{type:"text",value:A}:void 0),A===!1?u.lastIndex=_+1:(p!==_&&k.push({type:"text",value:a.value.slice(p,_)}),Array.isArray(A)?k.push(...A):A&&k.push(A),p=_+y[0].length,x=!0),!u.global)break;y=u.exec(a.value)}return x?(pi?0:i+n:n=n>i?i:n,t=t>0?t:0,r.length<1e4)l=Array.from(r),l.unshift(n,t),e.splice(...l);else for(t&&e.splice(n,t);o0?(de(e,e.length,0,n),e):n}const Kn={}.hasOwnProperty;function Al(e){const n={};let t=-1;for(;++t13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"�":String.fromCodePoint(t)}function Ve(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const he=Se(/[A-Za-z]/),ie=Se(/[\dA-Za-z]/),Pl=Se(/[#-'*+\--9=?A-Z^-~]/);function Jt(e){return e!==null&&(e<32||e===127)}const en=Se(/\d/),Ol=Se(/[\dA-Fa-f]/),Ml=Se(/[!-/:-@[-`{-~]/);function M(e){return e!==null&&e<-2}function J(e){return e!==null&&(e<0||e===32)}function H(e){return e===-2||e===-1||e===32}const Dl=Se(new RegExp("\\p{P}|\\p{S}","u")),Fl=Se(/\s/);function Se(e){return n;function n(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function $e(e){const n=[];let t=-1,r=0,i=0;for(;++t55295&&o<57344){const s=e.charCodeAt(t+1);o<56320&&s>56319&&s<57344?(l=String.fromCharCode(o,s),i=1):l="�"}else l=String.fromCharCode(o);l&&(n.push(e.slice(r,t),encodeURIComponent(l)),r=t+i+1,l=""),i&&(t+=i,i=0)}return n.join("")+e.slice(r)}function W(e,n,t,r){const i=r?r-1:Number.POSITIVE_INFINITY;let o=0;return l;function l(a){return H(a)?(e.enter(t),s(a)):n(a)}function s(a){return H(a)&&o++l))return;const F=n.events.length;let B=F,j,v;for(;B--;)if(n.events[B][0]==="exit"&&n.events[B][1].type==="chunkFlow"){if(j){v=n.events[B][1].end;break}j=!0}for(y(r),C=F;CE;){const N=t[A];n.containerState=N[1],N[0].exit.call(n,e)}t.length=E}function _(){i.write([null]),o=void 0,i=void 0,n.containerState._closeFlow=void 0}}function Hl(e,n,t){return W(e,e.attempt(this.parser.constructs.document,n,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Jn(e){if(e===null||J(e)||Fl(e))return 1;if(Dl(e))return 2}function bn(e,n,t){const r=[];let i=-1;for(;++i1&&e[t][1].end.offset-e[t][1].start.offset>1?2:1;const u={...e[r][1].end},h={...e[t][1].start};er(u,-a),er(h,a),l={type:a>1?"strongSequence":"emphasisSequence",start:u,end:{...e[r][1].end}},s={type:a>1?"strongSequence":"emphasisSequence",start:{...e[t][1].start},end:h},o={type:a>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[t][1].start}},i={type:a>1?"strong":"emphasis",start:{...l.start},end:{...s.end}},e[r][1].end={...l.start},e[t][1].start={...s.end},c=[],e[r][1].end.offset-e[r][1].start.offset&&(c=le(c,[["enter",e[r][1],n],["exit",e[r][1],n]])),c=le(c,[["enter",i,n],["enter",l,n],["exit",l,n],["enter",o,n]]),c=le(c,bn(n.parser.constructs.insideSpan.null,e.slice(r+1,t),n)),c=le(c,[["exit",o,n],["enter",s,n],["exit",s,n],["exit",i,n]]),e[t][1].end.offset-e[t][1].start.offset?(f=2,c=le(c,[["enter",e[t][1],n],["exit",e[t][1],n]])):f=0,de(e,r-1,t-r+3,c),t=r+c.length-f-2;break}}for(t=-1;++t0&&H(C)?W(e,_,"linePrefix",o+1)(C):_(C)}function _(C){return C===null||M(C)?e.check(tr,x,A)(C):(e.enter("codeFlowValue"),E(C))}function E(C){return C===null||M(C)?(e.exit("codeFlowValue"),_(C)):(e.consume(C),E)}function A(C){return e.exit("codeFenced"),n(C)}function N(C,F,B){let j=0;return v;function v(O){return C.enter("lineEnding"),C.consume(O),C.exit("lineEnding"),z}function z(O){return C.enter("codeFencedFence"),H(O)?W(C,L,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(O):L(O)}function L(O){return O===s?(C.enter("codeFencedFenceSequence"),P(O)):B(O)}function P(O){return O===s?(j++,C.consume(O),P):j>=l?(C.exit("codeFencedFenceSequence"),H(O)?W(C,T,"whitespace")(O):T(O)):B(O)}function T(O){return O===null||M(O)?(C.exit("codeFencedFence"),F(O)):B(O)}}}function Jl(e,n,t){const r=this;return i;function i(l){return l===null?t(l):(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),o)}function o(l){return r.parser.lazy[r.now().line]?t(l):n(l)}}const Mt={name:"codeIndented",tokenize:ts},es={partial:!0,tokenize:ns};function ts(e,n,t){const r=this;return i;function i(c){return e.enter("codeIndented"),W(e,o,"linePrefix",5)(c)}function o(c){const f=r.events[r.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?l(c):t(c)}function l(c){return c===null?a(c):M(c)?e.attempt(es,l,a)(c):(e.enter("codeFlowValue"),s(c))}function s(c){return c===null||M(c)?(e.exit("codeFlowValue"),l(c)):(e.consume(c),s)}function a(c){return e.exit("codeIndented"),n(c)}}function ns(e,n,t){const r=this;return i;function i(l){return r.parser.lazy[r.now().line]?t(l):M(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),i):W(e,o,"linePrefix",5)(l)}function o(l){const s=r.events[r.events.length-1];return s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?n(l):M(l)?i(l):t(l)}}const rs={name:"codeText",previous:os,resolve:is,tokenize:ls};function is(e){let n=e.length-4,t=3,r,i;if((e[t][1].type==="lineEnding"||e[t][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(r=t;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return nthis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(n,t,r){const i=t||0;this.setCursor(Math.trunc(n));const o=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&Ge(this.left,r),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),Ge(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),Ge(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n=4?n(l):e.interrupt(r.parser.constructs.flow,t,n)(l)}}function li(e,n,t,r,i,o,l,s,a){const c=a||Number.POSITIVE_INFINITY;let f=0;return u;function u(y){return y===60?(e.enter(r),e.enter(i),e.enter(o),e.consume(y),e.exit(o),h):y===null||y===32||y===41||Jt(y)?t(y):(e.enter(r),e.enter(l),e.enter(s),e.enter("chunkString",{contentType:"string"}),x(y))}function h(y){return y===62?(e.enter(o),e.consume(y),e.exit(o),e.exit(i),e.exit(r),n):(e.enter(s),e.enter("chunkString",{contentType:"string"}),p(y))}function p(y){return y===62?(e.exit("chunkString"),e.exit(s),h(y)):y===null||y===60||M(y)?t(y):(e.consume(y),y===92?m:p)}function m(y){return y===60||y===62||y===92?(e.consume(y),p):p(y)}function x(y){return!f&&(y===null||y===41||J(y))?(e.exit("chunkString"),e.exit(s),e.exit(l),e.exit(r),n(y)):f999||p===null||p===91||p===93&&!a||p===94&&!s&&"_hiddenFootnoteSupport"in l.parser.constructs?t(p):p===93?(e.exit(o),e.enter(i),e.consume(p),e.exit(i),e.exit(r),n):M(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),f):(e.enter("chunkString",{contentType:"string"}),u(p))}function u(p){return p===null||p===91||p===93||M(p)||s++>999?(e.exit("chunkString"),f(p)):(e.consume(p),a||(a=!H(p)),p===92?h:u)}function h(p){return p===91||p===92||p===93?(e.consume(p),s++,u):u(p)}}function ai(e,n,t,r,i,o){let l;return s;function s(h){return h===34||h===39||h===40?(e.enter(r),e.enter(i),e.consume(h),e.exit(i),l=h===40?41:h,a):t(h)}function a(h){return h===l?(e.enter(i),e.consume(h),e.exit(i),e.exit(r),n):(e.enter(o),c(h))}function c(h){return h===l?(e.exit(o),a(l)):h===null?t(h):M(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),W(e,c,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),f(h))}function f(h){return h===l||h===null||M(h)?(e.exit("chunkString"),c(h)):(e.consume(h),h===92?u:f)}function u(h){return h===l||h===92?(e.consume(h),f):f(h)}}function et(e,n){let t;return r;function r(i){return M(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),t=!0,r):H(i)?W(e,r,t?"linePrefix":"lineSuffix")(i):n(i)}}const ds={name:"definition",tokenize:ms},gs={partial:!0,tokenize:ys};function ms(e,n,t){const r=this;let i;return o;function o(p){return e.enter("definition"),l(p)}function l(p){return si.call(r,e,s,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function s(p){return i=Ve(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),a):t(p)}function a(p){return J(p)?et(e,c)(p):c(p)}function c(p){return li(e,f,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function f(p){return e.attempt(gs,u,u)(p)}function u(p){return H(p)?W(e,h,"whitespace")(p):h(p)}function h(p){return p===null||M(p)?(e.exit("definition"),r.parser.defined.push(i),n(p)):t(p)}}function ys(e,n,t){return r;function r(s){return J(s)?et(e,i)(s):t(s)}function i(s){return ai(e,o,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(s)}function o(s){return H(s)?W(e,l,"whitespace")(s):l(s)}function l(s){return s===null||M(s)?n(s):t(s)}}const vs={name:"hardBreakEscape",tokenize:xs};function xs(e,n,t){return r;function r(o){return e.enter("hardBreakEscape"),e.consume(o),i}function i(o){return M(o)?(e.exit("hardBreakEscape"),n(o)):t(o)}}const ks={name:"headingAtx",resolve:bs,tokenize:ws};function bs(e,n){let t=e.length-2,r=3,i,o;return e[r][1].type==="whitespace"&&(r+=2),t-2>r&&e[t][1].type==="whitespace"&&(t-=2),e[t][1].type==="atxHeadingSequence"&&(r===t-1||t-4>r&&e[t-2][1].type==="whitespace")&&(t-=r+1===t?2:4),t>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[t][1].end},o={type:"chunkText",start:e[r][1].start,end:e[t][1].end,contentType:"text"},de(e,r,t-r+1,[["enter",i,n],["enter",o,n],["exit",o,n],["exit",i,n]])),e}function ws(e,n,t){let r=0;return i;function i(f){return e.enter("atxHeading"),o(f)}function o(f){return e.enter("atxHeadingSequence"),l(f)}function l(f){return f===35&&r++<6?(e.consume(f),l):f===null||J(f)?(e.exit("atxHeadingSequence"),s(f)):t(f)}function s(f){return f===35?(e.enter("atxHeadingSequence"),a(f)):f===null||M(f)?(e.exit("atxHeading"),n(f)):H(f)?W(e,s,"whitespace")(f):(e.enter("atxHeadingText"),c(f))}function a(f){return f===35?(e.consume(f),a):(e.exit("atxHeadingSequence"),s(f))}function c(f){return f===null||f===35||J(f)?(e.exit("atxHeadingText"),s(f)):(e.consume(f),c)}}const Cs=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],rr=["pre","script","style","textarea"],_s={concrete:!0,name:"htmlFlow",resolveTo:Es,tokenize:Ts},Ss={partial:!0,tokenize:zs},Is={partial:!0,tokenize:As};function Es(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function Ts(e,n,t){const r=this;let i,o,l,s,a;return c;function c(g){return f(g)}function f(g){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(g),u}function u(g){return g===33?(e.consume(g),h):g===47?(e.consume(g),o=!0,x):g===63?(e.consume(g),i=3,r.interrupt?n:d):he(g)?(e.consume(g),l=String.fromCharCode(g),k):t(g)}function h(g){return g===45?(e.consume(g),i=2,p):g===91?(e.consume(g),i=5,s=0,m):he(g)?(e.consume(g),i=4,r.interrupt?n:d):t(g)}function p(g){return g===45?(e.consume(g),r.interrupt?n:d):t(g)}function m(g){const ae="CDATA[";return g===ae.charCodeAt(s++)?(e.consume(g),s===ae.length?r.interrupt?n:L:m):t(g)}function x(g){return he(g)?(e.consume(g),l=String.fromCharCode(g),k):t(g)}function k(g){if(g===null||g===47||g===62||J(g)){const ae=g===47,Ie=l.toLowerCase();return!ae&&!o&&rr.includes(Ie)?(i=1,r.interrupt?n(g):L(g)):Cs.includes(l.toLowerCase())?(i=6,ae?(e.consume(g),y):r.interrupt?n(g):L(g)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?t(g):o?_(g):E(g))}return g===45||ie(g)?(e.consume(g),l+=String.fromCharCode(g),k):t(g)}function y(g){return g===62?(e.consume(g),r.interrupt?n:L):t(g)}function _(g){return H(g)?(e.consume(g),_):v(g)}function E(g){return g===47?(e.consume(g),v):g===58||g===95||he(g)?(e.consume(g),A):H(g)?(e.consume(g),E):v(g)}function A(g){return g===45||g===46||g===58||g===95||ie(g)?(e.consume(g),A):N(g)}function N(g){return g===61?(e.consume(g),C):H(g)?(e.consume(g),N):E(g)}function C(g){return g===null||g===60||g===61||g===62||g===96?t(g):g===34||g===39?(e.consume(g),a=g,F):H(g)?(e.consume(g),C):B(g)}function F(g){return g===a?(e.consume(g),a=null,j):g===null||M(g)?t(g):(e.consume(g),F)}function B(g){return g===null||g===34||g===39||g===47||g===60||g===61||g===62||g===96||J(g)?N(g):(e.consume(g),B)}function j(g){return g===47||g===62||H(g)?E(g):t(g)}function v(g){return g===62?(e.consume(g),z):t(g)}function z(g){return g===null||M(g)?L(g):H(g)?(e.consume(g),z):t(g)}function L(g){return g===45&&i===2?(e.consume(g),Y):g===60&&i===1?(e.consume(g),w):g===62&&i===4?(e.consume(g),se):g===63&&i===3?(e.consume(g),d):g===93&&i===5?(e.consume(g),X):M(g)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(Ss,ge,P)(g)):g===null||M(g)?(e.exit("htmlFlowData"),P(g)):(e.consume(g),L)}function P(g){return e.check(Is,T,ge)(g)}function T(g){return e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),O}function O(g){return g===null||M(g)?P(g):(e.enter("htmlFlowData"),L(g))}function Y(g){return g===45?(e.consume(g),d):L(g)}function w(g){return g===47?(e.consume(g),l="",U):L(g)}function U(g){if(g===62){const ae=l.toLowerCase();return rr.includes(ae)?(e.consume(g),se):L(g)}return he(g)&&l.length<8?(e.consume(g),l+=String.fromCharCode(g),U):L(g)}function X(g){return g===93?(e.consume(g),d):L(g)}function d(g){return g===62?(e.consume(g),se):g===45&&i===2?(e.consume(g),d):L(g)}function se(g){return g===null||M(g)?(e.exit("htmlFlowData"),ge(g)):(e.consume(g),se)}function ge(g){return e.exit("htmlFlow"),n(g)}}function As(e,n,t){const r=this;return i;function i(l){return M(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),o):t(l)}function o(l){return r.parser.lazy[r.now().line]?t(l):n(l)}}function zs(e,n,t){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(wt,n,t)}}const Ls={name:"htmlText",tokenize:Ps};function Ps(e,n,t){const r=this;let i,o,l;return s;function s(d){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(d),a}function a(d){return d===33?(e.consume(d),c):d===47?(e.consume(d),N):d===63?(e.consume(d),E):he(d)?(e.consume(d),B):t(d)}function c(d){return d===45?(e.consume(d),f):d===91?(e.consume(d),o=0,m):he(d)?(e.consume(d),_):t(d)}function f(d){return d===45?(e.consume(d),p):t(d)}function u(d){return d===null?t(d):d===45?(e.consume(d),h):M(d)?(l=u,w(d)):(e.consume(d),u)}function h(d){return d===45?(e.consume(d),p):u(d)}function p(d){return d===62?Y(d):d===45?h(d):u(d)}function m(d){const se="CDATA[";return d===se.charCodeAt(o++)?(e.consume(d),o===se.length?x:m):t(d)}function x(d){return d===null?t(d):d===93?(e.consume(d),k):M(d)?(l=x,w(d)):(e.consume(d),x)}function k(d){return d===93?(e.consume(d),y):x(d)}function y(d){return d===62?Y(d):d===93?(e.consume(d),y):x(d)}function _(d){return d===null||d===62?Y(d):M(d)?(l=_,w(d)):(e.consume(d),_)}function E(d){return d===null?t(d):d===63?(e.consume(d),A):M(d)?(l=E,w(d)):(e.consume(d),E)}function A(d){return d===62?Y(d):E(d)}function N(d){return he(d)?(e.consume(d),C):t(d)}function C(d){return d===45||ie(d)?(e.consume(d),C):F(d)}function F(d){return M(d)?(l=F,w(d)):H(d)?(e.consume(d),F):Y(d)}function B(d){return d===45||ie(d)?(e.consume(d),B):d===47||d===62||J(d)?j(d):t(d)}function j(d){return d===47?(e.consume(d),Y):d===58||d===95||he(d)?(e.consume(d),v):M(d)?(l=j,w(d)):H(d)?(e.consume(d),j):Y(d)}function v(d){return d===45||d===46||d===58||d===95||ie(d)?(e.consume(d),v):z(d)}function z(d){return d===61?(e.consume(d),L):M(d)?(l=z,w(d)):H(d)?(e.consume(d),z):j(d)}function L(d){return d===null||d===60||d===61||d===62||d===96?t(d):d===34||d===39?(e.consume(d),i=d,P):M(d)?(l=L,w(d)):H(d)?(e.consume(d),L):(e.consume(d),T)}function P(d){return d===i?(e.consume(d),i=void 0,O):d===null?t(d):M(d)?(l=P,w(d)):(e.consume(d),P)}function T(d){return d===null||d===34||d===39||d===60||d===61||d===96?t(d):d===47||d===62||J(d)?j(d):(e.consume(d),T)}function O(d){return d===47||d===62||J(d)?j(d):t(d)}function Y(d){return d===62?(e.consume(d),e.exit("htmlTextData"),e.exit("htmlText"),n):t(d)}function w(d){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),U}function U(d){return H(d)?W(e,X,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(d):X(d)}function X(d){return e.enter("htmlTextData"),l(d)}}const wn={name:"labelEnd",resolveAll:Fs,resolveTo:Rs,tokenize:Ns},Os={tokenize:js},Ms={tokenize:Bs},Ds={tokenize:Hs};function Fs(e){let n=-1;const t=[];for(;++n=3&&(c===null||M(c))?(e.exit("thematicBreak"),n(c)):t(c)}function a(c){return c===i?(e.consume(c),r++,a):(e.exit("thematicBreakSequence"),H(c)?W(e,s,"whitespace")(c):s(c))}}const K={continuation:{tokenize:Ks},exit:Js,name:"list",tokenize:Qs},Zs={partial:!0,tokenize:ea},Xs={partial:!0,tokenize:Gs};function Qs(e,n,t){const r=this,i=r.events[r.events.length-1];let o=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,l=0;return s;function s(p){const m=r.containerState.type||(p===42||p===43||p===45?"listUnordered":"listOrdered");if(m==="listUnordered"?!r.containerState.marker||p===r.containerState.marker:en(p)){if(r.containerState.type||(r.containerState.type=m,e.enter(m,{_container:!0})),m==="listUnordered")return e.enter("listItemPrefix"),p===42||p===45?e.check(pt,t,c)(p):c(p);if(!r.interrupt||p===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),a(p)}return t(p)}function a(p){return en(p)&&++l<10?(e.consume(p),a):(!r.interrupt||l<2)&&(r.containerState.marker?p===r.containerState.marker:p===41||p===46)?(e.exit("listItemValue"),c(p)):t(p)}function c(p){return e.enter("listItemMarker"),e.consume(p),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||p,e.check(wt,r.interrupt?t:f,e.attempt(Zs,h,u))}function f(p){return r.containerState.initialBlankLine=!0,o++,h(p)}function u(p){return H(p)?(e.enter("listItemPrefixWhitespace"),e.consume(p),e.exit("listItemPrefixWhitespace"),h):t(p)}function h(p){return r.containerState.size=o+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(p)}}function Ks(e,n,t){const r=this;return r.containerState._closeFlow=void 0,e.check(wt,i,o);function i(s){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,W(e,n,"listItemIndent",r.containerState.size+1)(s)}function o(s){return r.containerState.furtherBlankLines||!H(s)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,l(s)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Xs,n,l)(s))}function l(s){return r.containerState._closeFlow=!0,r.interrupt=void 0,W(e,e.attempt(K,n,t),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(s)}}function Gs(e,n,t){const r=this;return W(e,i,"listItemIndent",r.containerState.size+1);function i(o){const l=r.events[r.events.length-1];return l&&l[1].type==="listItemIndent"&&l[2].sliceSerialize(l[1],!0).length===r.containerState.size?n(o):t(o)}}function Js(e){e.exit(this.containerState.type)}function ea(e,n,t){const r=this;return W(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(o){const l=r.events[r.events.length-1];return!H(o)&&l&&l[1].type==="listItemPrefixWhitespace"?n(o):t(o)}}const ir={name:"setextUnderline",resolveTo:ta,tokenize:na};function ta(e,n){let t=e.length,r,i,o;for(;t--;)if(e[t][0]==="enter"){if(e[t][1].type==="content"){r=t;break}e[t][1].type==="paragraph"&&(i=t)}else e[t][1].type==="content"&&e.splice(t,1),!o&&e[t][1].type==="definition"&&(o=t);const l={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",o?(e.splice(i,0,["enter",l,n]),e.splice(o+1,0,["exit",e[r][1],n]),e[r][1].end={...e[o][1].end}):e[r][1]=l,e.push(["exit",l,n]),e}function na(e,n,t){const r=this;let i;return o;function o(c){let f=r.events.length,u;for(;f--;)if(r.events[f][1].type!=="lineEnding"&&r.events[f][1].type!=="linePrefix"&&r.events[f][1].type!=="content"){u=r.events[f][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||u)?(e.enter("setextHeadingLine"),i=c,l(c)):t(c)}function l(c){return e.enter("setextHeadingLineSequence"),s(c)}function s(c){return c===i?(e.consume(c),s):(e.exit("setextHeadingLineSequence"),H(c)?W(e,a,"lineSuffix")(c):a(c))}function a(c){return c===null||M(c)?(e.exit("setextHeadingLine"),n(c)):t(c)}}const ra={tokenize:ia};function ia(e){const n=this,t=e.attempt(wt,r,e.attempt(this.parser.constructs.flowInitial,i,W(e,e.attempt(this.parser.constructs.flow,i,e.attempt(cs,i)),"linePrefix")));return t;function r(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),n.currentConstruct=void 0,t}function i(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),n.currentConstruct=void 0,t}}const oa={resolveAll:ui()},la=ci("string"),sa=ci("text");function ci(e){return{resolveAll:ui(e==="text"?aa:void 0),tokenize:n};function n(t){const r=this,i=this.parser.constructs[e],o=t.attempt(i,l,s);return l;function l(f){return c(f)?o(f):s(f)}function s(f){if(f===null){t.consume(f);return}return t.enter("data"),t.consume(f),a}function a(f){return c(f)?(t.exit("data"),o(f)):(t.consume(f),a)}function c(f){if(f===null)return!0;const u=i[f];let h=-1;if(u)for(;++h-1){const s=l[0];typeof s=="string"?l[0]=s.slice(r):l.shift()}o>0&&l.push(e[i].slice(0,o))}return l}function ba(e,n){let t=-1;const r=[];let i;for(;++t0){const ue=D.tokenStack[D.tokenStack.length-1];(ue[1]||ar).call(D,void 0,ue[0])}for(I.position={start:Ce(b.length>0?b[0][1].start:{line:1,column:1,offset:0}),end:Ce(b.length>0?b[b.length-2][1].end:{line:1,column:1,offset:0})},$=-1;++$",...a.current()})),c+=a.move(">")):(s=t.enter("destinationRaw"),c+=a.move(t.safe(e.url,{before:c,after:e.title?" ":")",...a.current()}))),s(),e.title&&(s=t.enter(`title${o}`),c+=a.move(" "+i),c+=a.move(t.safe(e.title,{before:c,after:i,...a.current()})),c+=a.move(i),s()),c+=a.move(")"),l(),c}function ff(){return"!"}_i.peek=pf;function _i(e,n,t,r){const i=e.referenceType,o=t.enter("imageReference");let l=t.enter("label");const s=t.createTracker(r);let a=s.move("![");const c=t.safe(e.alt,{before:a,after:"]",...s.current()});a+=s.move(c+"]["),l();const f=t.stack;t.stack=[],l=t.enter("reference");const u=t.safe(t.associationId(e),{before:a,after:"]",...s.current()});return l(),t.stack=f,o(),i==="full"||!c||c!==u?a+=s.move(u+"]"):i==="shortcut"?a=a.slice(0,-1):a+=s.move("]"),a}function pf(){return"!"}Si.peek=hf;function Si(e,n,t){let r=e.value||"",i="`",o=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++o\u007F]/.test(e.url))}Ei.peek=df;function Ei(e,n,t,r){const i=In(t),o=i==='"'?"Quote":"Apostrophe",l=t.createTracker(r);let s,a;if(Ii(e,t)){const f=t.stack;t.stack=[],s=t.enter("autolink");let u=l.move("<");return u+=l.move(t.containerPhrasing(e,{before:u,after:">",...l.current()})),u+=l.move(">"),s(),t.stack=f,u}s=t.enter("link"),a=t.enter("label");let c=l.move("[");return c+=l.move(t.containerPhrasing(e,{before:c,after:"](",...l.current()})),c+=l.move("]("),a(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(a=t.enter("destinationLiteral"),c+=l.move("<"),c+=l.move(t.safe(e.url,{before:c,after:">",...l.current()})),c+=l.move(">")):(a=t.enter("destinationRaw"),c+=l.move(t.safe(e.url,{before:c,after:e.title?" ":")",...l.current()}))),a(),e.title&&(a=t.enter(`title${o}`),c+=l.move(" "+i),c+=l.move(t.safe(e.title,{before:c,after:i,...l.current()})),c+=l.move(i),a()),c+=l.move(")"),s(),c}function df(e,n,t){return Ii(e,t)?"<":"["}Ti.peek=gf;function Ti(e,n,t,r){const i=e.referenceType,o=t.enter("linkReference");let l=t.enter("label");const s=t.createTracker(r);let a=s.move("[");const c=t.containerPhrasing(e,{before:a,after:"]",...s.current()});a+=s.move(c+"]["),l();const f=t.stack;t.stack=[],l=t.enter("reference");const u=t.safe(t.associationId(e),{before:a,after:"]",...s.current()});return l(),t.stack=f,o(),i==="full"||!c||c!==u?a+=s.move(u+"]"):i==="shortcut"?a=a.slice(0,-1):a+=s.move("]"),a}function gf(){return"["}function En(e){const n=e.options.bullet||"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bullet`, expected `*`, `+`, or `-`");return n}function mf(e){const n=En(e),t=e.options.bulletOther;if(!t)return n==="*"?"-":"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(t===n)throw new Error("Expected `bullet` (`"+n+"`) and `bulletOther` (`"+t+"`) to be different");return t}function yf(e){const n=e.options.bulletOrdered||".";if(n!=="."&&n!==")")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOrdered`, expected `.` or `)`");return n}function Ai(e){const n=e.options.rule||"*";if(n!=="*"&&n!=="-"&&n!=="_")throw new Error("Cannot serialize rules with `"+n+"` for `options.rule`, expected `*`, `-`, or `_`");return n}function vf(e,n,t,r){const i=t.enter("list"),o=t.bulletCurrent;let l=e.ordered?yf(t):En(t);const s=e.ordered?l==="."?")":".":mf(t);let a=n&&t.bulletLastUsed?l===t.bulletLastUsed:!1;if(!e.ordered){const f=e.children?e.children[0]:void 0;if((l==="*"||l==="-")&&f&&(!f.children||!f.children[0])&&t.stack[t.stack.length-1]==="list"&&t.stack[t.stack.length-2]==="listItem"&&t.stack[t.stack.length-3]==="list"&&t.stack[t.stack.length-4]==="listItem"&&t.indexStack[t.indexStack.length-1]===0&&t.indexStack[t.indexStack.length-2]===0&&t.indexStack[t.indexStack.length-3]===0&&(a=!0),Ai(t)===l&&f){let u=-1;for(;++u-1?n.start:1)+(t.options.incrementListMarker===!1?0:n.children.indexOf(e))+o);let l=o.length+1;(i==="tab"||i==="mixed"&&(n&&n.type==="list"&&n.spread||e.spread))&&(l=Math.ceil(l/4)*4);const s=t.createTracker(r);s.move(o+" ".repeat(l-o.length)),s.shift(l);const a=t.enter("listItem"),c=t.indentLines(t.containerFlow(e,s.current()),f);return a(),c;function f(u,h,p){return h?(p?"":" ".repeat(l))+u:(p?o:o+" ".repeat(l-o.length))+u}}function bf(e,n,t,r){const i=t.enter("paragraph"),o=t.enter("phrasing"),l=t.containerPhrasing(e,r);return o(),i(),l}const wf=Sn(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function Cf(e,n,t,r){return(e.children.some(function(i){return wf(i)})?t.containerPhrasing:t.containerFlow).call(t,e,r)}function _f(e){const n=e.options.strong||"*";if(n!=="*"&&n!=="_")throw new Error("Cannot serialize strong with `"+n+"` for `options.strong`, expected `*`, or `_`");return n}zi.peek=Sf;function zi(e,n,t,r){const i=_f(t),o=t.enter("strong"),l=t.createTracker(r),s=l.move(i+i);let a=l.move(t.containerPhrasing(e,{after:i,before:s,...l.current()}));const c=a.charCodeAt(0),f=xt(r.before.charCodeAt(r.before.length-1),c,i);f.inside&&(a=rt(c)+a.slice(1));const u=a.charCodeAt(a.length-1),h=xt(r.after.charCodeAt(0),u,i);h.inside&&(a=a.slice(0,-1)+rt(u));const p=l.move(i+i);return o(),t.attentionEncodeSurroundingInfo={after:h.outside,before:f.outside},s+a+p}function Sf(e,n,t){return t.options.strong||"*"}function If(e,n,t,r){return t.safe(e.value,r)}function Ef(e){const n=e.options.ruleRepetition||3;if(n<3)throw new Error("Cannot serialize rules with repetition `"+n+"` for `options.ruleRepetition`, expected `3` or more");return n}function Tf(e,n,t){const r=(Ai(t)+(t.options.ruleSpaces?" ":"")).repeat(Ef(t));return t.options.ruleSpaces?r.slice(0,-1):r}const Li={blockquote:Xu,break:Tr,code:tf,definition:rf,emphasis:bi,hardBreak:Tr,heading:cf,html:wi,image:Ci,imageReference:_i,inlineCode:Si,link:Ei,linkReference:Ti,list:vf,listItem:kf,paragraph:bf,root:Cf,strong:zi,text:If,thematicBreak:Tf};function Af(){return{enter:{table:zf,tableData:Ar,tableHeader:Ar,tableRow:Pf},exit:{codeText:Of,table:Lf,tableData:Zt,tableHeader:Zt,tableRow:Zt}}}function zf(e){const n=e._align;this.enter({type:"table",align:n.map(function(t){return t==="none"?null:t}),children:[]},e),this.data.inTable=!0}function Lf(e){this.exit(e),this.data.inTable=void 0}function Pf(e){this.enter({type:"tableRow",children:[]},e)}function Zt(e){this.exit(e)}function Ar(e){this.enter({type:"tableCell",children:[]},e)}function Of(e){let n=this.resume();this.data.inTable&&(n=n.replace(/\\([\\|])/g,Mf));const t=this.stack[this.stack.length-1];t.type,t.value=n,this.exit(e)}function Mf(e,n){return n==="|"?n:e}function Df(e){const n=e||{},t=n.tableCellPadding,r=n.tablePipeAlign,i=n.stringLength,o=t?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:h,table:l,tableCell:a,tableRow:s}};function l(p,m,x,k){return c(f(p,x,k),p.align)}function s(p,m,x,k){const y=u(p,x,k),_=c([y]);return _.slice(0,_.indexOf(`
-`))}function a(p,m,x,k){const y=x.enter("tableCell"),_=x.enter("phrasing"),E=x.containerPhrasing(p,{...k,before:o,after:o});return _(),y(),E}function c(p,m){return qu(p,{align:m,alignDelimiters:r,padding:t,stringLength:i})}function f(p,m,x){const k=p.children;let y=-1;const _=[],E=m.enter("table");for(;++yi?0:i+n:n=n>i?i:n,t=t>0?t:0,r.length<1e4)l=Array.from(r),l.unshift(n,t),e.splice(...l);else for(t&&e.splice(n,t);o0&&!t&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),t}function np(e,n,t){const r=[];let i=-1;for(;++i999||u===93&&!l||u===null||u===91||ee(u))return t(u);if(u===93){e.exit("chunkString");const h=e.exit("gfmFootnoteCallString");return i.includes(ot(r.sliceSerialize(h)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),n):t(u)}return ee(u)||(l=!0),o++,e.consume(u),u===92?f:c}function f(u){return u===91||u===92||u===93?(e.consume(u),o++,c):c(u)}}function up(e,n,t){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o,l=0,s;return a;function a(m){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),c}function c(m){return m===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",f):t(m)}function f(m){if(l>999||m===93&&!s||m===null||m===91||ee(m))return t(m);if(m===93){e.exit("chunkString");const x=e.exit("gfmFootnoteDefinitionLabelString");return o=ot(r.sliceSerialize(x)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),h}return ee(m)||(s=!0),l++,e.consume(m),m===92?u:f}function u(m){return m===91||m===92||m===93?(e.consume(m),l++,f):f(m)}function h(m){return m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),i.includes(o)||i.push(o),ke(e,p,"gfmFootnoteDefinitionWhitespace")):t(m)}function p(m){return n(m)}}function fp(e,n,t){return e.check(rp,n,e.attempt(op,n,t))}function pp(e){e.exit("gfmFootnoteDefinition")}function hp(e,n,t){const r=this;return ke(e,i,"gfmFootnoteDefinitionIndent",5);function i(o){const l=r.events[r.events.length-1];return l&&l[1].type==="gfmFootnoteDefinitionIndent"&&l[2].sliceSerialize(l[1],!0).length===4?n(o):t(o)}}function dp(e){let n=(e||{}).singleTilde;const t={tokenize:i,resolveAll:r};return n==null&&(n=!0),{text:{126:t},insideSpan:{null:[t]},attentionMarkers:{null:[126]}};function r(o,l){let s=-1;for(;++s1?s(p):(o.consume(p),f++,h);if(f<2&&!n)return s(p);const x=o.exit("strikethroughSequenceTemporary"),k=vt(p);return x._open=!k||k===2&&!!m,x._close=!m||m===2&&!!k,l(p)}}}class gp{constructor(){this.map=[]}add(n,t,r){mp(this,n,t,r)}consume(n){if(this.map.sort(function(o,l){return o[0]-l[0]}),this.map.length===0)return;let t=this.map.length;const r=[];for(;t>0;)t-=1,r.push(n.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),n.length=this.map[t][0];r.push([...n]),n.length=0;let i=r.pop();for(;i;)n.push(...i),i=r.pop();this.map.length=0}}function mp(e,n,t,r){let i=0;if(!(t===0&&r.length===0)){for(;i-1;){const T=r.events[z][1].type;if(T==="lineEnding"||T==="linePrefix")z--;else break}const L=z>-1?r.events[z][1].type:null,P=L==="tableHead"||L==="tableRow"?C:a;return P===C&&r.parser.lazy[r.now().line]?t(v):P(v)}function a(v){return e.enter("tableHead"),e.enter("tableRow"),c(v)}function c(v){return v===124||(l=!0,o+=1),f(v)}function f(v){return v===null?t(v):Be(v)?o>1?(o=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),p):t(v):xe(v)?ke(e,f,"whitespace")(v):(o+=1,l&&(l=!1,i+=1),v===124?(e.enter("tableCellDivider"),e.consume(v),e.exit("tableCellDivider"),l=!0,f):(e.enter("data"),u(v)))}function u(v){return v===null||v===124||ee(v)?(e.exit("data"),f(v)):(e.consume(v),v===92?h:u)}function h(v){return v===92||v===124?(e.consume(v),u):u(v)}function p(v){return r.interrupt=!1,r.parser.lazy[r.now().line]?t(v):(e.enter("tableDelimiterRow"),l=!1,xe(v)?ke(e,m,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(v):m(v))}function m(v){return v===45||v===58?k(v):v===124?(l=!0,e.enter("tableCellDivider"),e.consume(v),e.exit("tableCellDivider"),x):N(v)}function x(v){return xe(v)?ke(e,k,"whitespace")(v):k(v)}function k(v){return v===58?(o+=1,l=!0,e.enter("tableDelimiterMarker"),e.consume(v),e.exit("tableDelimiterMarker"),y):v===45?(o+=1,y(v)):v===null||Be(v)?A(v):N(v)}function y(v){return v===45?(e.enter("tableDelimiterFiller"),_(v)):N(v)}function _(v){return v===45?(e.consume(v),_):v===58?(l=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(v),e.exit("tableDelimiterMarker"),E):(e.exit("tableDelimiterFiller"),E(v))}function E(v){return xe(v)?ke(e,A,"whitespace")(v):A(v)}function A(v){return v===124?m(v):v===null||Be(v)?!l||i!==o?N(v):(e.exit("tableDelimiterRow"),e.exit("tableHead"),n(v)):N(v)}function N(v){return t(v)}function C(v){return e.enter("tableRow"),F(v)}function F(v){return v===124?(e.enter("tableCellDivider"),e.consume(v),e.exit("tableCellDivider"),F):v===null||Be(v)?(e.exit("tableRow"),n(v)):xe(v)?ke(e,F,"whitespace")(v):(e.enter("data"),B(v))}function B(v){return v===null||v===124||ee(v)?(e.exit("data"),F(v)):(e.consume(v),v===92?j:B)}function j(v){return v===92||v===124?(e.consume(v),B):B(v)}}function kp(e,n){let t=-1,r=!0,i=0,o=[0,0,0,0],l=[0,0,0,0],s=!1,a=0,c,f,u;const h=new gp;for(;++tt[2]+1){const m=t[2]+1,x=t[3]-t[2]-1;e.add(m,x,[])}}e.add(t[3]+1,0,[["exit",u,n]])}return i!==void 0&&(o.end=Object.assign({},Ne(n.events,i)),e.add(i,0,[["exit",o,n]]),o=void 0),o}function Mr(e,n,t,r,i){const o=[],l=Ne(n.events,t);i&&(i.end=Object.assign({},l),o.push(["exit",i,n])),r.end=Object.assign({},l),o.push(["exit",r,n]),e.add(t+1,0,o)}function Ne(e,n){const t=e[n],r=t[0]==="enter"?"start":"end";return t[1][r]}const bp={tokenize:Cp};function wp(){return{text:{91:bp}}}function Cp(e,n,t){const r=this;return i;function i(a){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?t(a):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(a),e.exit("taskListCheckMarker"),o)}function o(a){return ee(a)?(e.enter("taskListCheckValueUnchecked"),e.consume(a),e.exit("taskListCheckValueUnchecked"),l):a===88||a===120?(e.enter("taskListCheckValueChecked"),e.consume(a),e.exit("taskListCheckValueChecked"),l):t(a)}function l(a){return a===93?(e.enter("taskListCheckMarker"),e.consume(a),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),s):t(a)}function s(a){return Be(a)?n(a):xe(a)?e.check({tokenize:_p},n,t)(a):t(a)}}function _p(e,n,t){return ke(e,r,"whitespace");function r(i){return i===null?t(i):n(i)}}function Sp(e){return Uf([Yf(),lp(),dp(e),vp(),wp()])}const Ip={};function Ep(e){const n=this,t=e||Ip,r=n.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),o=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),l=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(Sp(t)),o.push(Bf()),l.push(Hf(t))}const Tp=Dr({__name:"NcRichTextCopyButton",props:{contentId:null},setup(e){const n=e,{copy:t,icon:r,altText:i}=Jc(()=>document.getElementById(n.contentId).textContent);return{__sfc:!0,props:n,copy:t,icon:r,altText:i,NcButton:pn,NcIconSvgWrapper:Fr}}});var Ap=function(){var e=this,n=e._self._c,t=e._self._setupProxy;return n(t.NcButton,{attrs:{variant:"tertiary",size:"small","aria-label":t.altText,title:t.altText},on:{click:t.copy},scopedSlots:e._u([{key:"icon",fn:function(){return[n(t.NcIconSvgWrapper,{attrs:{path:t.icon,inline:""}})]},proxy:!0}])})},zp=[],Lp=be(Tp,Ap,zp,!1,null,null);const Pp=Lp.exports;function Op(){return function(e){Le(e,t=>t.type==="text",n);function n(t,r){const i=r.at(-1),o=i.children.indexOf(t),l=t.value.split(/(\{[a-z\-_.0-9]+\})/ig).map(s=>{const a=s.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!a)return Fn("text",s);const[,c]=a;return Fn("element",{tagName:`#${c}`})});i.children.splice(o,1,...l)}}}function Mp({h:e,context:n},t){return n.autolink&&(t=uo(t)),Array.isArray(t)?t.map(r=>{if(typeof r=="string")return r;const{component:i,props:o}=r;return e(i,{props:o,class:"rich-text--component"})}):t}function Dp(e){return["code","inlineCode"].includes(e.type)}const Fp=function(){return function(e){Le(e,Dp,(n,t)=>{const r=t.at(-1),i=r.children.indexOf(n);return r.children.splice(i,1,{...n,value:""}),[Nr,i+1]})}};function Rp(){return function(e){Le(e,n=>["text","code","inlineCode"].includes(n.type),(n,t)=>{const r=t.at(-1),i=r.children.indexOf(n);return r.children.splice(i,1,{...n,value:n.value.replace(/</gmi,"<").replace(/>/gmi,">")}),[Nr,i+1]})}}const Np=["http","https","mailto","tel"],cn=ce(null);async function jp(){const e=await Qi(()=>import("./index-CFgokVom.chunk.mjs"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]),import.meta.url);cn.value=e.default}const Bp={name:"NcRichText",components:{NcReferenceList:Wt},props:{text:{type:String,default:""},arguments:{type:Object,default:()=>({})},referenceLimit:{type:Number,default:0},referenceInteractive:{type:Boolean,default:!0},referenceInteractiveOptIn:{type:Boolean,default:!1},references:{type:Array,default:null},useMarkdown:{type:Boolean,default:!1},useExtendedMarkdown:{type:Boolean,default:!1},interactive:{type:Boolean,default:!1},autolink:{type:Boolean,default:!0}},emits:["interact-todo","interact:todo"],data(){return{parentId:Et(5)}},methods:{renderPlaintext(e){const n=this.text.split(/(\{[a-z\-_.0-9]+\})/ig).map(t=>{const r=t.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!r)return Mp({h:e,context:this},t);const i=r[1],o=this.arguments[i];if(typeof o=="object"){const{component:l,props:s}=o;return e(l,{props:s,class:"rich-text--component"})}return o?e("span",{class:"rich-text--fallback"},o):t});return e("div",{class:"rich-text--wrapper"},[e("div",{},n.flat()),this.referenceLimit>0?e("div",{class:"rich-text--reference-widget"},[e(Wt,{props:{text:this.text,referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn}})]):null])},renderMarkdown(e){const n=kr().use(cr).use(ao,{autolink:this.autolink,useMarkdown:this.useMarkdown,useExtendedMarkdown:this.useExtendedMarkdown}).use(Rp).use(this.useExtendedMarkdown?Ep:void 0).use(Tl).use(gc,{except:Np}).use(hc,{handlers:{component(t,r){return t(r,r.component,{value:r.value})}}}).use(this.useExtendedMarkdown?cn.value:void 0).use(Op).use(jo,{target:"_blank",rel:["noopener noreferrer"]}).use(kl,{createElement:(t,r,i)=>{if(!t.startsWith("#")){if(["h1","h2","h3","h4","h5","h6"].includes(t)&&(t=`h${Math.min(+String(t)[1]+3,6)}`),this.useExtendedMarkdown){if(t==="code"&&!cn.value&&r?.attrs?.class?.includes("language")&&jp(),t==="pre"&&Array.isArray(i)&&i[0].tag==="code"){const s=this.parentId+"-code-block-"+Et(5);return e("p",{class:"rich-text__code-block"},[e(t,{attrs:{...r,id:s}},i),e(Pp,{props:{contentId:s},class:"rich-text__code-block-button"})])}let l=null;if(t==="li"&&Array.isArray(i)&&i[0].tag==="input"&&i[0].data.attrs.type==="checkbox"){const[s,...a]=i,c=a.findIndex(h=>["ul","ol","li","blockquote","pre"].includes(h.tag));c!==-1&&(l=a[c],a.splice(c));const f=this.parentId+"-markdown-input-"+Et(5),u=e(ko,{attrs:{...s.data.attrs,id:f,disabled:!this.interactive},on:{"update:checked":()=>{this.$emit("interact-todo",f),this.$emit("interact:todo",f)}}},a);return e(t,r,[u,l])}}if(t==="a"){const l=Rr(this.$router,r.attrs.href);return l?(delete r.attrs.href,delete r.attrs.target,e(jr,{...r,props:{to:l}},i)):/^(https?:\/\/|tel:|mailto:)/.test(r.attrs.href)?(r.attrs.href=r.attrs.href.trim(),e(co,r,i)):(delete r.attrs.href,delete r.attrs.target,e("span",r,i))}return e(t,r,i)}const o=this.arguments[t.slice(1)];return o?o.component?e(o.component,{attrs:r,props:o.props,class:"rich-text--component"},i):e("span",r,[o]):e("span",{attrs:r,class:"rich-text--fallback"},[`{${t.slice(1)}}`])},prefix:!1}).processSync(this.text.replace(/<[^>]+>/g,t=>t.replace(/")).result;return e("div",{class:"rich-text--wrapper rich-text--wrapper-markdown"},[n,this.referenceLimit>0?e("div",{class:"rich-text--reference-widget"},[e(Wt,{props:{text:this.prepareReferenceSource(this.text),referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn}})]):null])},prepareReferenceSource(e){if(!this.useMarkdown&&!this.useExtendedMarkdown)return e;const n=kr();return n.compiler=t=>kt(t),n.use(cr).use(Fp).processSync(e.replace(/\s/g," ")).value}},render(e){return this.useMarkdown||this.useExtendedMarkdown?this.renderMarkdown(e):this.renderPlaintext(e)}},Hp=null,Up=null;var Vp=be(Bp,Hp,Up,!1,null,"e55203a2");const Wp=Vp.exports,$p={name:"BriefcaseOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var qp=function(){var e=this,n=e._self._c;return n("span",e._b({staticClass:"material-design-icon briefcase-outline-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[n("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[e.title?n("title",[e._v(e._s(e.title))]):e._e(),n("path",{attrs:{d:"M20,6C20.58,6 21.05,6.2 21.42,6.59C21.8,7 22,7.45 22,8V19C22,19.55 21.8,20 21.42,20.41C21.05,20.8 20.58,21 20,21H4C3.42,21 2.95,20.8 2.58,20.41C2.2,20 2,19.55 2,19V8C2,7.45 2.2,7 2.58,6.59C2.95,6.2 3.42,6 4,6H8V4C8,3.42 8.2,2.95 8.58,2.58C8.95,2.2 9.42,2 10,2H14C14.58,2 15.05,2.2 15.42,2.58C15.8,2.95 16,3.42 16,4V6H20M4,8V19H20V8H4M14,6V4H10V6H14Z"}})])])},Yp=[],Zp=be($p,qp,Yp,!1,null,null);const Xp=Zp.exports,Qp={name:"ClockOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Kp=function(){var e=this,n=e._self._c;return n("span",e._b({staticClass:"material-design-icon clock-outline-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[n("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[e.title?n("title",[e._v(e._s(e.title))]):e._e(),n("path",{attrs:{d:"M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C6.47,22 2,17.5 2,12A10,10 0 0,1 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z"}})])])},Gp=[],Jp=be(Qp,Kp,Gp,!1,null,null);const eh=Jp.exports,th={name:"MapMarkerOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var nh=function(){var e=this,n=e._self._c;return n("span",e._b({staticClass:"material-design-icon map-marker-outline-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[n("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[e.title?n("title",[e._v(e._s(e.title))]):e._e(),n("path",{attrs:{d:"M12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5M12,2A7,7 0 0,1 19,9C19,14.25 12,22 12,22C12,22 5,14.25 5,9A7,7 0 0,1 12,2M12,4A5,5 0 0,0 7,9C7,10 7,12 12,18.71C17,12 17,10 17,9A5,5 0 0,0 12,4Z"}})])])},rh=[],ih=be(th,nh,rh,!1,null,null);const oh=ih.exports,lh={name:"PencilOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var sh=function(){var e=this,n=e._self._c;return n("span",e._b({staticClass:"material-design-icon pencil-outline-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[n("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[e.title?n("title",[e._v(e._s(e.title))]):e._e(),n("path",{attrs:{d:"M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,3 17.15,3.1 16.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18.17,3.09 17.92,3 17.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z"}})])])},ah=[],ch=be(lh,sh,ah,!1,null,null);const uh=ch.exports;hn(to);const Ni=1800*1e3,un=new Map,Xt=new Map;function ji(e){const n=un.get(e);return n?Date.now()>=n.expiresAt?(un.delete(e),null):n.data:null}function gt(e,n,t=Ni){un.set(e,{data:n,expiresAt:Date.now()+t})}async function fh(e,n,t=Ni){const r=ji(e);if(r)return r;const i=Xt.get(e);if(i)return i;const o=(async()=>{try{const l=await n();return l&>(e,l,t),l}finally{Xt.delete(e)}})();return Xt.set(e,o),o}const ph=Dr({__name:"NcProfileHoverCard",props:{user:{default:null},displayName:{default:null},profile:{default:null},preloadedUserStatus:{default:null},open:{type:Boolean,default:!1},actions:{default:null},actionsLoading:{type:Boolean,default:!1}},setup(e){const n=e,t=ce(!1),r=ce(!1),i=ce(n.profile),o=ce(n.preloadedUserStatus??{}),l=ce(!!n.profile),s=ce(n.preloadedUserStatus!==null),a=eo(),c=re(()=>t.value||!!i.value&&!r.value&&!s.value);n.user&&n.profile&>(n.user,n.profile);const f=re(()=>!!n.user&&Qt()?.uid===n.user),u=It("/settings/user"),h=re(()=>{if(!l.value)return null;const w=i.value?.userId||n.user;return w?It("/u/{userId}",{userId:w}):null}),p=re(()=>i.value?.displayname||n.displayName||i.value?.userId||n.user||""),m=re(()=>h.value?{href:h.value,"aria-label":_e("View profile")}:{});function x(w){return w.appId!=="timezone"&&w.appId!=="profile"&&w.id!=="profile"}function k(w){return f.value?w.text:w.id==="talk-call"||y(w)?_e("Start call"):w.id==="talk"||w.appId==="spreed"?_e("Send message"):w.text}function y(w){if(w.appId!=="spreed")return!1;const U=w.href??(typeof w.to=="string"?w.to:"");return typeof U=="string"&&U.includes("#direct-call")}const _=re(()=>n.actions&&n.actions.length>0?n.actions.filter(x):(i.value?.actions??[]).filter(x).map(w=>({id:w.id,appId:w.appId,text:w.title,href:w.target||void 0,icon:w.icon,target:w.id==="phone"?"_self":"_blank",rel:w.id==="fediverse"?"me":void 0}))),E=re(()=>{const w=B(new Date);return w?_e("Local time: {time}",{time:w}):null}),A=re(()=>_.value[0]),N=re(()=>_.value.slice(1)),C=re(()=>{const w=A.value;return w?w.to?{to:w.to}:w.href?{href:w.href,target:w.target??(w.href.startsWith("tel:")?"_self":"_blank"),rel:w.rel}:{}:{}}),F=re(()=>({status:o.value.status??null,icon:o.value.icon??null,message:o.value.message??null}));function B(w){const U=i.value?.timezone;if(U)try{return new Intl.DateTimeFormat(Mn(),{timeZone:U,hour:"2-digit",minute:"2-digit"}).format(w)}catch{}if(typeof i.value?.timezoneOffset=="number"){const X=new Date(w.getTime()+i.value.timezoneOffset*1e3);return new Intl.DateTimeFormat(Mn(),{timeZone:"UTC",hour:"2-digit",minute:"2-digit"}).format(X)}return null}function j(w){return!!w&&(/^(https?:)?\/\//.test(w)||w.startsWith("/")||w.startsWith("data:"))}function v(w){return w.to?ho:w.onClick&&!w.href?lo:go}function z(w){return w.to?{to:w.to,closeAfterClick:!0}:w.onClick&&!w.href?{closeAfterClick:!0}:{href:w.href,target:w.target??(w.href?.startsWith("tel:")?"_self":"_blank"),rel:w.rel,closeAfterClick:!0}}Xe(()=>n.profile,w=>{w&&(i.value=w,l.value=!0,n.user&>(n.user,w),r.value=!1)}),Xe(()=>n.preloadedUserStatus,w=>{w&&(o.value=w,s.value=!0)}),Xe(()=>n.displayName,w=>{w&&i.value&&!l.value&&(i.value={...i.value,displayname:w})}),Xe(()=>n.user,()=>{i.value=n.profile,o.value=n.preloadedUserStatus??{},s.value=n.preloadedUserStatus!==null,l.value=!!n.profile,r.value=!1,n.user&&n.profile&>(n.user,n.profile),n.open&&O()}),Xe(()=>n.open,w=>{w&&O()}),Ki(()=>{n.open&&O()});async function L(w){if(n.displayName)return n.displayName;try{const{data:U}=await Te.post(It("/displaynames"),{users:[w]});return U?.users?.[w]||w}catch(U){return He.debug("Failed to load display name for hovercard",{error:U,userId:w}),w}}async function P(w){return{userId:w,displayname:await L(w),actions:[],isUserAvatarVisible:!0}}async function T(w){s.value||(o.value=await Y(w),s.value=!0)}async function O(){if(!n.user||t.value)return;const w=n.user;if(!i.value){const X=ji(w);X&&(i.value=X,l.value=!0)}if(i.value&&l.value){if(!s.value){t.value=!0;try{await T(w)}finally{t.value=!1}}return}t.value=!0,r.value=!1;const U=s.value?Promise.resolve(o.value):Y(w);try{const X=await fh(w,async()=>{const{data:d}=await Te.get(je("/profile/{userId}",{userId:w}));return d.ocs?.data??null});X?(i.value=X,l.value=!0):(i.value=await P(w),l.value=!1)}catch(X){He.debug("Failed to load profile for hovercard, showing limited info",{error:X,user:w}),i.value=await P(w),l.value=!1}try{o.value=await U,s.value=!0}finally{t.value=!1}}async function Y(w){try{if(!no()?.user_status?.enabled||!Qt())return{};const{data:U}=await Te.get(je("/apps/user_status/api/v1/statuses/{userId}",{userId:w}));return U.ocs?.data??{}}catch(U){return He.debug("Failed to load user status for hovercard",{error:U,userId:w}),{}}}return{__sfc:!0,props:n,loading:t,error:r,profileData:i,userStatus:o,profileEnabled:l,userStatusReady:s,isMobile:a,showLoading:c,isCurrentUser:f,settingsUrl:u,profileUrl:h,resolvedDisplayName:p,profileLinkProps:m,isSidebarAction:x,actionDisplayText:k,isSpreedDirectCallAction:y,resolvedActions:_,localTimeLabel:E,primaryAction:A,otherActions:N,primaryActionButtonProps:C,avatarUserStatus:F,formatProfileLocalTime:B,isIconUrl:j,otherActionComponent:v,otherActionProps:z,resolveDisplayName:L,createLimitedProfile:P,ensureUserStatus:T,loadProfile:O,fetchUserStatus:Y,BriefcaseIcon:Xp,ClockIcon:eh,MapMarkerIcon:oh,PencilIcon:uh,NcActions:oo,NcAvatar:po,NcButton:pn,NcLoadingIcon:yo,NcRichText:Wp,t:_e,NcIconSvgWrapper:Fr}}});var hh=function(){var e=this,n=e._self._c,t=e._self._setupProxy;return n("div",{staticClass:"profile-hover-card",class:{"profile-hover-card--limited":!t.showLoading&&!!t.profileData&&!t.error&&!t.profileEnabled},attrs:{role:"dialog","aria-label":t.t("Profile of {user}",{user:t.resolvedDisplayName})}},[t.showLoading?n("div",{staticClass:"profile-hover-card__loading"},[n(t.NcLoadingIcon,{attrs:{size:32,name:t.t("Loading profile")}})],1):t.profileData&&!t.error?[n("div",{staticClass:"profile-hover-card__header"},[t.isCurrentUser?n(t.NcButton,{staticClass:"profile-hover-card__header__edit",attrs:{variant:"tertiary","aria-label":t.t("Edit profile"),title:t.t("Edit profile"),href:t.settingsUrl,target:"_blank"},scopedSlots:e._u([{key:"icon",fn:function(){return[n(t.PencilIcon,{attrs:{size:20}})]},proxy:!0}],null,!1,3660207582)}):e._e(),n("div",{staticClass:"profile-hover-card__header__container"},[t.isMobile?n(t.profileUrl?"a":"div",e._b({tag:"component",staticClass:"profile-hover-card__header__container__avatar",class:{"profile-hover-card__profile-link":!!t.profileUrl}},"component",t.profileLinkProps,!1),[n(t.NcAvatar,{staticClass:"avatar",attrs:{user:t.profileData.userId,displayName:t.resolvedDisplayName,size:96,disableMenu:"",disableTooltip:"",preloadedUserStatus:t.avatarUserStatus,isNoUser:!t.profileData.isUserAvatarVisible}})],1):n("div",{staticClass:"profile-hover-card__header__container__placeholder"}),n("div",{staticClass:"profile-hover-card__header__container__identity"},[n("div",{staticClass:"profile-hover-card__header__container__displayname"},[t.profileUrl?n("a",{staticClass:"profile-hover-card__profile-link",attrs:{href:t.profileUrl}},[n("h2",[e._v(e._s(t.resolvedDisplayName))])]):n("h2",[e._v(e._s(t.resolvedDisplayName))]),t.profileData.pronouns?n("span",{staticClass:"profile-hover-card__header__container__pronoun-separator"},[e._v("·")]):e._e(),t.profileData.pronouns?n("span",{staticClass:"profile-hover-card__header__container__pronouns"},[e._v(e._s(t.profileData.pronouns))]):e._e()]),t.userStatus.icon||t.userStatus.message?n("div",{staticClass:"profile-hover-card__header__container__status"},[n("span",{staticClass:"profile-hover-card__header__container__status-content"},[n("span",[e._v(e._s(t.userStatus.icon)+" "+e._s(t.userStatus.message))])])]):e._e()])],1)],1),n("div",{staticClass:"profile-hover-card__body"},[n("div",{staticClass:"profile-hover-card__content"},[n("div",{staticClass:"profile-hover-card__sidebar"},[t.isMobile?e._e():n(t.profileUrl?"a":"div",e._b({tag:"component",class:{"profile-hover-card__profile-link":!!t.profileUrl}},"component",t.profileLinkProps,!1),[n(t.NcAvatar,{staticClass:"avatar",attrs:{user:t.profileData.userId,displayName:t.resolvedDisplayName,size:135,disableMenu:"",disableTooltip:"",preloadedUserStatus:t.avatarUserStatus,isNoUser:!t.profileData.isUserAvatarVisible}})],1),n("div",{staticClass:"user-actions"},[e.actionsLoading&&t.resolvedActions.length===0?n("div",{staticClass:"user-actions__loading"},[n(t.NcLoadingIcon,{attrs:{size:20,name:t.t("Loading actions")}})],1):[t.primaryAction?n(t.NcButton,e._b({staticClass:"user-actions__primary",attrs:{variant:"primary"},on:{click:t.primaryAction.onClick},scopedSlots:e._u([t.primaryAction.iconSvg||t.primaryAction.icon?{key:"icon",fn:function(){return[t.primaryAction.iconSvg?n(t.NcIconSvgWrapper,{attrs:{svg:t.primaryAction.iconSvg}}):t.isIconUrl(t.primaryAction.icon)?n("img",{staticClass:"user-actions__primary__icon",attrs:{src:t.primaryAction.icon,alt:""}}):n("span",{staticClass:"user-actions__primary__icon-class",class:t.primaryAction.icon,attrs:{"aria-hidden":"true"}})]},proxy:!0}:null],null,!0)},"NcButton",t.primaryActionButtonProps,!1),[e._v(" "+e._s(t.actionDisplayText(t.primaryAction))+" ")]):e._e(),t.otherActions.length>0?n(t.NcActions,{staticClass:"user-actions__other",attrs:{inline:t.isMobile?5:4}},e._l(t.otherActions,function(r,i){return n(t.otherActionComponent(r),e._b({key:r.id||r.href||i,tag:"component",on:{click:r.onClick},scopedSlots:e._u([r.iconSvg||r.icon?{key:"icon",fn:function(){return[r.iconSvg?n(t.NcIconSvgWrapper,{attrs:{svg:r.iconSvg}}):t.isIconUrl(r.icon)?n("img",{staticClass:"user-actions__other__icon",attrs:{src:r.icon,alt:""}}):n("span",{staticClass:"user-actions__other__icon-class",class:r.icon,attrs:{"aria-hidden":"true"}})]},proxy:!0}:null],null,!0)},"component",t.otherActionProps(r),!1),[e._v(" "+e._s(t.actionDisplayText(r))+" ")])}),1):e._e()]],2)],1),t.profileEnabled?n("div",{staticClass:"profile-hover-card__blocks"},[t.profileData.organisation||t.profileData.role||t.profileData.address||t.localTimeLabel?n("div",{staticClass:"profile-hover-card__blocks-details"},[t.profileData.organisation||t.profileData.role?n("div",{staticClass:"detail"},[n("p",[n(t.BriefcaseIcon,{staticClass:"detail-icon",attrs:{size:16,title:""}}),e._v(" "+e._s(t.profileData.organisation)+" "),t.profileData.organisation&&t.profileData.role?n("span",[e._v("•")]):e._e(),e._v(" "+e._s(t.profileData.role)+" ")],1)]):e._e(),t.profileData.address?n("div",{staticClass:"detail"},[n("p",[n(t.MapMarkerIcon,{staticClass:"detail-icon",attrs:{size:16,title:""}}),e._v(" "+e._s(t.profileData.address)+" ")],1)]):e._e(),t.localTimeLabel?n("div",{staticClass:"detail"},[n("p",[n(t.ClockIcon,{staticClass:"detail-icon",attrs:{size:16,title:""}}),e._v(" "+e._s(t.localTimeLabel)+" ")],1)]):e._e()]):e._e(),t.profileData.headline||t.profileData.biography?[t.profileData.headline?n("h3",{staticClass:"profile-hover-card__blocks-headline"},[e._v(" "+e._s(t.profileData.headline)+" ")]):e._e(),t.profileData.biography?n("div",{staticClass:"profile-hover-card__blocks-biography"},[n(t.NcRichText,{attrs:{text:t.profileData.biography,useExtendedMarkdown:""}})],1):e._e()]:e._e()],2):e._e()])])]:e._e()],2)},dh=[],gh=be(ph,hh,dh,!1,null,"b8355b88");const mh=gh.exports,Ih=Object.freeze(Object.defineProperty({__proto__:null,default:mh},Symbol.toStringTag,{value:"Module"}));export{Ih as N,Wr as c,tt as v};
-//# sourceMappingURL=NcProfileHoverCard-nmkKoCB1-CFFOOBIB.chunk.mjs.map
+`))}function a(p,m,x,k){const y=x.enter("tableCell"),_=x.enter("phrasing"),E=x.containerPhrasing(p,{...k,before:o,after:o});return _(),y(),E}function c(p,m){return qu(p,{align:m,alignDelimiters:r,padding:t,stringLength:i})}function f(p,m,x){const k=p.children;let y=-1;const _=[],E=m.enter("table");for(;++yi?0:i+n:n=n>i?i:n,t=t>0?t:0,r.length<1e4)l=Array.from(r),l.unshift(n,t),e.splice(...l);else for(t&&e.splice(n,t);o0&&!t&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),t}function np(e,n,t){const r=[];let i=-1;for(;++i999||u===93&&!l||u===null||u===91||ee(u))return t(u);if(u===93){e.exit("chunkString");const h=e.exit("gfmFootnoteCallString");return i.includes(ot(r.sliceSerialize(h)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),n):t(u)}return ee(u)||(l=!0),o++,e.consume(u),u===92?f:c}function f(u){return u===91||u===92||u===93?(e.consume(u),o++,c):c(u)}}function up(e,n,t){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o,l=0,s;return a;function a(m){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),c}function c(m){return m===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",f):t(m)}function f(m){if(l>999||m===93&&!s||m===null||m===91||ee(m))return t(m);if(m===93){e.exit("chunkString");const x=e.exit("gfmFootnoteDefinitionLabelString");return o=ot(r.sliceSerialize(x)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),h}return ee(m)||(s=!0),l++,e.consume(m),m===92?u:f}function u(m){return m===91||m===92||m===93?(e.consume(m),l++,f):f(m)}function h(m){return m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),i.includes(o)||i.push(o),ke(e,p,"gfmFootnoteDefinitionWhitespace")):t(m)}function p(m){return n(m)}}function fp(e,n,t){return e.check(rp,n,e.attempt(op,n,t))}function pp(e){e.exit("gfmFootnoteDefinition")}function hp(e,n,t){const r=this;return ke(e,i,"gfmFootnoteDefinitionIndent",5);function i(o){const l=r.events[r.events.length-1];return l&&l[1].type==="gfmFootnoteDefinitionIndent"&&l[2].sliceSerialize(l[1],!0).length===4?n(o):t(o)}}function dp(e){let n=(e||{}).singleTilde;const t={tokenize:i,resolveAll:r};return n==null&&(n=!0),{text:{126:t},insideSpan:{null:[t]},attentionMarkers:{null:[126]}};function r(o,l){let s=-1;for(;++s