diff --git a/js/BrowserStorage-DTJIC0X8.chunk.mjs b/js/BrowserStorage-BggJixvR.chunk.mjs similarity index 99% rename from js/BrowserStorage-DTJIC0X8.chunk.mjs rename to js/BrowserStorage-BggJixvR.chunk.mjs index 8d525f818..173dd25a8 100644 --- a/js/BrowserStorage-DTJIC0X8.chunk.mjs +++ b/js/BrowserStorage-BggJixvR.chunk.mjs @@ -1,5 +1,5 @@ /*! third party licenses: js/vendor.LICENSE.txt */ -import{b as oe,aj as V,ak as Te,al as Q,am as N,an as ee,ao as ze,ap as he,aq as He,ar as We,as as Ke,at as qe,r as Je,au as Ue,d as Z,w as ye,a8 as Xe,ad as Ye}from"./_plugin-vue_export-helper-C2oKGxcF.chunk.mjs";import{f,o as u,b as x,g as P,t as z,p as E,Q as Qe,n as b,e as q,V as w,W as S,F as be,i as ue,j as te,a as j,J as re,X as Fe,h as ae,I as we,w as F,H as ve,x as Oe,T as Ze,m as Ge,L as G,r as K,R as et}from"./style-BWtpXOPA.chunk.mjs";const tt={name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ot=["aria-hidden","aria-label"],nt=["fill","width","height"],it={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"},st={key:0};function lt(e,t,o,n,s,i){return u(),f("span",E(e.$attrs,{"aria-hidden":o.title?null:"true","aria-label":o.title,class:"material-design-icon close-icon",role:"img",onClick:t[0]||(t[0]=r=>e.$emit("click",r))}),[(u(),f("svg",{fill:o.fillColor,class:"material-design-icon__svg",width:o.size,height:o.size,viewBox:"0 0 24 24"},[x("path",it,[o.title?(u(),f("title",st,z(o.title),1)):P("",!0)])],8,nt))],16,ot)}const rt=oe(tt,[["render",lt]]);function ne(){return typeof window<"u"}function W(e){return ke(e)?(e.nodeName||"").toLowerCase():"#document"}function v(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function T(e){var t;return(t=(ke(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function ke(e){return ne()?e instanceof Node||e instanceof v(e).Node:!1}function _(e){return ne()?e instanceof Element||e instanceof v(e).Element:!1}function B(e){return ne()?e instanceof HTMLElement||e instanceof v(e).HTMLElement:!1}function Se(e){return!ne()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof v(e).ShadowRoot}const at=new Set(["inline","contents"]);function U(e){const{overflow:t,overflowX:o,overflowY:n,display:s}=$(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+o)&&!at.has(s)}const ct=new Set(["table","td","th"]);function ht(e){return ct.has(W(e))}const ut=[":popover-open",":modal"];function ie(e){return ut.some(t=>{try{return e.matches(t)}catch{return!1}})}const dt=["transform","translate","scale","rotate","perspective"],pt=["transform","translate","scale","rotate","perspective","filter"],ft=["paint","layout","strict","content"];function pe(e){const t=fe(),o=_(e)?$(e):e;return dt.some(n=>o[n]?o[n]!=="none":!1)||(o.containerType?o.containerType!=="normal":!1)||!t&&(o.backdropFilter?o.backdropFilter!=="none":!1)||!t&&(o.filter?o.filter!=="none":!1)||pt.some(n=>(o.willChange||"").includes(n))||ft.some(n=>(o.contain||"").includes(n))}function gt(e){let t=k(e);for(;B(t)&&!H(t);){if(pe(t))return t;if(ie(t))return null;t=k(t)}return null}function fe(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const mt=new Set(["html","body","#document"]);function H(e){return mt.has(W(e))}function $(e){return v(e).getComputedStyle(e)}function se(e){return _(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function k(e){if(W(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Se(e)&&e.host||T(e);return Se(t)?t.host:t}function De(e){const t=k(e);return H(t)?e.ownerDocument?e.ownerDocument.body:e.body:B(t)&&U(t)?t:De(t)}function J(e,t,o){var n;t===void 0&&(t=[]),o===void 0&&(o=!0);const s=De(e),i=s===((n=e.ownerDocument)==null?void 0:n.body),r=v(s);if(i){const l=de(r);return t.concat(r,r.visualViewport||[],U(s)?s:[],l&&o?J(l):[])}return t.concat(s,J(s,[],o))}function de(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ae(e){const t=$(e);let o=parseFloat(t.width)||0,n=parseFloat(t.height)||0;const s=B(e),i=s?e.offsetWidth:o,r=s?e.offsetHeight:n,l=ee(o)!==i||ee(n)!==r;return l&&(o=i,n=r),{width:o,height:n,$:l}}function ge(e){return _(e)?e:e.contextElement}function I(e){const t=ge(e);if(!B(t))return V(1);const o=t.getBoundingClientRect(),{width:n,height:s,$:i}=Ae(t);let r=(i?ee(o.width):o.width)/n,l=(i?ee(o.height):o.height)/s;return(!r||!Number.isFinite(r))&&(r=1),(!l||!Number.isFinite(l))&&(l=1),{x:r,y:l}}const yt=V(0);function Pe(e){const t=v(e);return!fe()||!t.visualViewport?yt:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function bt(e,t,o){return t===void 0&&(t=!1),!o||t&&o!==v(e)?!1:t}function R(e,t,o,n){t===void 0&&(t=!1),o===void 0&&(o=!1);const s=e.getBoundingClientRect(),i=ge(e);let r=V(1);t&&(n?_(n)&&(r=I(n)):r=I(e));const l=bt(i,o,n)?Pe(i):V(0);let a=(s.left+l.x)/r.x,h=(s.top+l.y)/r.y,c=s.width/r.x,d=s.height/r.y;if(i){const g=v(i),p=n&&_(n)?v(n):n;let O=g,y=de(O);for(;y&&n&&p!==O;){const L=I(y),m=y.getBoundingClientRect(),C=$(y),D=m.left+(y.clientLeft+parseFloat(C.paddingLeft))*L.x,X=m.top+(y.clientTop+parseFloat(C.paddingTop))*L.y;a*=L.x,h*=L.y,c*=L.x,d*=L.y,a+=D,h+=X,O=v(y),y=de(O)}}return Te({width:c,height:d,x:a,y:h})}function le(e,t){const o=se(e).scrollLeft;return t?t.left+o:R(T(e)).left+o}function Ee(e,t){const o=e.getBoundingClientRect(),n=o.left+t.scrollLeft-le(e,o),s=o.top+t.scrollTop;return{x:n,y:s}}function wt(e){let{elements:t,rect:o,offsetParent:n,strategy:s}=e;const i=s==="fixed",r=T(n),l=t?ie(t.floating):!1;if(n===r||l&&i)return o;let a={scrollLeft:0,scrollTop:0},h=V(1);const c=V(0),d=B(n);if((d||!d&&!i)&&((W(n)!=="body"||U(r))&&(a=se(n)),B(n))){const p=R(n);h=I(n),c.x=p.x+n.clientLeft,c.y=p.y+n.clientTop}const g=r&&!d&&!i?Ee(r,a):V(0);return{width:o.width*h.x,height:o.height*h.y,x:o.x*h.x-a.scrollLeft*h.x+c.x+g.x,y:o.y*h.y-a.scrollTop*h.y+c.y+g.y}}function vt(e){return Array.from(e.getClientRects())}function Ot(e){const t=T(e),o=se(e),n=e.ownerDocument.body,s=N(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),i=N(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight);let r=-o.scrollLeft+le(e);const l=-o.scrollTop;return $(n).direction==="rtl"&&(r+=N(t.clientWidth,n.clientWidth)-s),{width:s,height:i,x:r,y:l}}const xe=25;function St(e,t){const o=v(e),n=T(e),s=o.visualViewport;let i=n.clientWidth,r=n.clientHeight,l=0,a=0;if(s){i=s.width,r=s.height;const c=fe();(!c||c&&t==="fixed")&&(l=s.offsetLeft,a=s.offsetTop)}const h=le(n);if(h<=0){const c=n.ownerDocument,d=c.body,g=getComputedStyle(d),p=c.compatMode==="CSS1Compat"&&parseFloat(g.marginLeft)+parseFloat(g.marginRight)||0,O=Math.abs(n.clientWidth-d.clientWidth-p);O<=xe&&(i-=O)}else h<=xe&&(i+=h);return{width:i,height:r,x:l,y:a}}const xt=new Set(["absolute","fixed"]);function Lt(e,t){const o=R(e,!0,t==="fixed"),n=o.top+e.clientTop,s=o.left+e.clientLeft,i=B(e)?I(e):V(1),r=e.clientWidth*i.x,l=e.clientHeight*i.y,a=s*i.x,h=n*i.y;return{width:r,height:l,x:a,y:h}}function Le(e,t,o){let n;if(t==="viewport")n=St(e,o);else if(t==="document")n=Ot(T(e));else if(_(t))n=Lt(t,o);else{const s=Pe(e);n={x:t.x-s.x,y:t.y-s.y,width:t.width,height:t.height}}return Te(n)}function Re(e,t){const o=k(e);return o===t||!_(o)||H(o)?!1:$(o).position==="fixed"||Re(o,t)}function Ct(e,t){const o=t.get(e);if(o)return o;let n=J(e,[],!1).filter(l=>_(l)&&W(l)!=="body"),s=null;const i=$(e).position==="fixed";let r=i?k(e):e;for(;_(r)&&!H(r);){const l=$(r),a=pe(r);!a&&l.position==="fixed"&&(s=null),(i?!a&&!s:!a&&l.position==="static"&&s&&xt.has(s.position)||U(r)&&!a&&Re(e,r))?n=n.filter(h=>h!==r):s=l,r=k(r)}return t.set(e,n),n}function _t(e){let{element:t,boundary:o,rootBoundary:n,strategy:s}=e;const i=[...o==="clippingAncestors"?ie(t)?[]:Ct(t,this._c):[].concat(o),n],r=i[0],l=i.reduce((a,h)=>{const c=Le(t,h,s);return a.top=N(c.top,a.top),a.right=he(c.right,a.right),a.bottom=he(c.bottom,a.bottom),a.left=N(c.left,a.left),a},Le(t,r,s));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function $t(e){const{width:t,height:o}=Ae(e);return{width:t,height:o}}function Vt(e,t,o){const n=B(t),s=T(t),i=o==="fixed",r=R(e,!0,i,t);let l={scrollLeft:0,scrollTop:0};const a=V(0);function h(){a.x=le(s)}if(n||!n&&!i)if((W(t)!=="body"||U(s))&&(l=se(t)),n){const p=R(t,!0,i,t);a.x=p.x+t.clientLeft,a.y=p.y+t.clientTop}else s&&h();i&&!n&&s&&h();const c=s&&!n&&!i?Ee(s,l):V(0),d=r.left+l.scrollLeft-a.x-c.x,g=r.top+l.scrollTop-a.y-c.y;return{x:d,y:g,width:r.width,height:r.height}}function ce(e){return $(e).position==="static"}function Ce(e,t){if(!B(e)||$(e).position==="fixed")return null;if(t)return t(e);let o=e.offsetParent;return T(e)===o&&(o=o.ownerDocument.body),o}function Me(e,t){const o=v(e);if(ie(e))return o;if(!B(e)){let s=k(e);for(;s&&!H(s);){if(_(s)&&!ce(s))return s;s=k(s)}return o}let n=Ce(e,t);for(;n&&ht(n)&&ce(n);)n=Ce(n,t);return n&&H(n)&&ce(n)&&!pe(n)?o:n||gt(e)||o}const Bt=async function(e){const t=this.getOffsetParent||Me,o=this.getDimensions,n=await o(e.floating);return{reference:Vt(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function Tt(e){return $(e).direction==="rtl"}const Ft={convertOffsetParentRelativeRectToViewportRelativeRect:wt,getDocumentElement:T,getClippingRect:_t,getOffsetParent:Me,getElementRects:Bt,getClientRects:vt,getDimensions:$t,getScale:I,isElement:_,isRTL:Tt};function Ne(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function kt(e,t){let o=null,n;const s=T(e);function i(){var l;clearTimeout(n),(l=o)==null||l.disconnect(),o=null}function r(l,a){l===void 0&&(l=!1),a===void 0&&(a=1),i();const h=e.getBoundingClientRect(),{left:c,top:d,width:g,height:p}=h;if(l||t(),!g||!p)return;const O=Q(d),y=Q(s.clientWidth-(c+g)),L=Q(s.clientHeight-(d+p)),m=Q(c),C={rootMargin:-O+"px "+-y+"px "+-L+"px "+-m+"px",threshold:N(0,he(1,a))||1};let D=!0;function X(Ie){const Y=Ie[0].intersectionRatio;if(Y!==a){if(!D)return r();Y?r(!1,Y):n=setTimeout(()=>{r(!1,1e-7)},1e3)}Y===1&&!Ne(h,e.getBoundingClientRect())&&r(),D=!1}try{o=new IntersectionObserver(X,{...C,root:s.ownerDocument})}catch{o=new IntersectionObserver(X,C)}o.observe(e)}return r(!0),i}function Dt(e,t,o,n){n===void 0&&(n={});const{ancestorScroll:s=!0,ancestorResize:i=!0,elementResize:r=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:a=!1}=n,h=ge(e),c=s||i?[...h?J(h):[],...J(t)]:[];c.forEach(m=>{s&&m.addEventListener("scroll",o,{passive:!0}),i&&m.addEventListener("resize",o)});const d=h&&l?kt(h,o):null;let g=-1,p=null;r&&(p=new ResizeObserver(m=>{let[C]=m;C&&C.target===h&&p&&(p.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var D;(D=p)==null||D.observe(t)})),o()}),h&&!a&&p.observe(h),p.observe(t));let O,y=a?R(e):null;a&&L();function L(){const m=R(e);y&&!Ne(y,m)&&o(),y=m,O=requestAnimationFrame(L)}return o(),()=>{var m;c.forEach(C=>{s&&C.removeEventListener("scroll",o),i&&C.removeEventListener("resize",o)}),d?.(),(m=p)==null||m.disconnect(),p=null,a&&cancelAnimationFrame(O)}}const At=He,Pt=Ke,Et=We,Rt=qe,Mt=(e,t,o)=>{const n=new Map,s={platform:Ft,...o},i={...s.platform,_c:n};return ze(e,t,{...s,platform:i})};var Nt=Object.defineProperty,jt=Object.defineProperties,It=Object.getOwnPropertyDescriptors,_e=Object.getOwnPropertySymbols,zt=Object.prototype.hasOwnProperty,Ht=Object.prototype.propertyIsEnumerable,$e=(e,t,o)=>t in e?Nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,M=(e,t)=>{for(var o in t||(t={}))zt.call(t,o)&&$e(e,o,t[o]);if(_e)for(var o of _e(t))Ht.call(t,o)&&$e(e,o,t[o]);return e},Ve=(e,t)=>jt(e,It(t));const Wt={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer(){this.autoscroll&&this.maybeAdjustScroll()},open(e){this.autoscroll&&e&&this.$nextTick(()=>this.maybeAdjustScroll())}},methods:{maybeAdjustScroll(){var e;const t=((e=this.$refs.dropdownMenu)==null?void 0:e.children[this.typeAheadPointer])||!1;if(t){const o=this.getDropdownViewport(),{top:n,bottom:s,height:i}=t.getBoundingClientRect();if(no.bottom)return this.$refs.dropdownMenu.scrollTop=t.offsetTop-(o.height-i)}},getDropdownViewport(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},Kt={data(){return{typeAheadPointer:-1}},watch:{filteredOptions(){for(let e=0;e=0;e--)if(this.selectable(this.filteredOptions[e])){this.typeAheadPointer=e;break}},typeAheadDown(){for(let e=this.typeAheadPointer+1;e{const o=e.__vccOpts||e;for(const[n,s]of t)o[n]=s;return o},Jt={},Ut={xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"},Xt=x("path",{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"},null,-1),Yt=[Xt];function Qt(e,t){return u(),f("svg",Ut,Yt)}const Zt=me(Jt,[["render",Qt]]),Gt={},eo={xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"},to=x("path",{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"},null,-1),oo=[to];function no(e,t){return u(),f("svg",eo,oo)}const io=me(Gt,[["render",no]]),Be={Deselect:Zt,OpenIndicator:io},so={mounted(e,{instance:t}){if(t.appendToBody){const{height:o,top:n,left:s,width:i}=t.$refs.toggle.getBoundingClientRect();let r=window.scrollX||window.pageXOffset,l=window.scrollY||window.pageYOffset;e.unbindPosition=t.calculatePosition(e,t,{width:i+"px",left:r+s+"px",top:l+n+o+"px"}),document.body.appendChild(e)}},unmounted(e,{instance:t}){t.appendToBody&&(e.unbindPosition&&typeof e.unbindPosition=="function"&&e.unbindPosition(),e.parentNode&&e.parentNode.removeChild(e))}};function lo(e){const t={};return Object.keys(e).sort().forEach(o=>{t[o]=e[o]}),JSON.stringify(t)}let ro=0;function ao(){return++ro}const co={components:M({},Be),directives:{appendToBody:so},mixins:[Wt,Kt,qt],compatConfig:{MODE:3},emits:["open","close","update:modelValue","search","search:compositionstart","search:compositionend","search:keydown","search:blur","search:focus","search:input","option:created","option:selecting","option:selected","option:deselecting","option:deselected"],props:{modelValue:{},components:{type:Object,default:()=>({})},options:{type:Array,default(){return[]}},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},deselectFromDropdown:{type:Boolean,default:!1},searchable:{type:Boolean,default:!0},multiple:{type:Boolean,default:!1},placeholder:{type:String,default:""},transition:{type:String,default:"vs__fade"},clearSearchOnSelect:{type:Boolean,default:!0},closeOnSelect:{type:Boolean,default:!0},label:{type:String,default:"label"},autocomplete:{type:String,default:"off"},reduce:{type:Function,default:e=>e},selectable:{type:Function,default:e=>!0},getOptionLabel:{type:Function,default(e){return typeof e=="object"?e.hasOwnProperty(this.label)?e[this.label]:console.warn(`[vue-select warn]: Label key "option.${this.label}" does not exist in options object ${JSON.stringify(e)}. +import{b as oe,aj as V,ak as Te,al as Q,am as N,an as ee,ao as ze,ap as he,aq as He,ar as We,as as Ke,at as qe,r as Je,au as Ue,d as Z,w as ye,a8 as Xe,ad as Ye}from"./_plugin-vue_export-helper-BaJlQS7I.chunk.mjs";import{f,o as u,b as x,g as P,t as z,p as E,Q as Qe,n as b,e as q,V as w,W as S,F as be,i as ue,j as te,a as j,J as re,X as Fe,h as ae,I as we,w as F,H as ve,x as Oe,T as Ze,m as Ge,L as G,r as K,R as et}from"./style-BWtpXOPA.chunk.mjs";const tt={name:"CloseIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ot=["aria-hidden","aria-label"],nt=["fill","width","height"],it={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"},st={key:0};function lt(e,t,o,n,s,i){return u(),f("span",E(e.$attrs,{"aria-hidden":o.title?null:"true","aria-label":o.title,class:"material-design-icon close-icon",role:"img",onClick:t[0]||(t[0]=r=>e.$emit("click",r))}),[(u(),f("svg",{fill:o.fillColor,class:"material-design-icon__svg",width:o.size,height:o.size,viewBox:"0 0 24 24"},[x("path",it,[o.title?(u(),f("title",st,z(o.title),1)):P("",!0)])],8,nt))],16,ot)}const rt=oe(tt,[["render",lt]]);function ne(){return typeof window<"u"}function W(e){return ke(e)?(e.nodeName||"").toLowerCase():"#document"}function v(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function T(e){var t;return(t=(ke(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function ke(e){return ne()?e instanceof Node||e instanceof v(e).Node:!1}function _(e){return ne()?e instanceof Element||e instanceof v(e).Element:!1}function B(e){return ne()?e instanceof HTMLElement||e instanceof v(e).HTMLElement:!1}function Se(e){return!ne()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof v(e).ShadowRoot}const at=new Set(["inline","contents"]);function U(e){const{overflow:t,overflowX:o,overflowY:n,display:s}=$(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+o)&&!at.has(s)}const ct=new Set(["table","td","th"]);function ht(e){return ct.has(W(e))}const ut=[":popover-open",":modal"];function ie(e){return ut.some(t=>{try{return e.matches(t)}catch{return!1}})}const dt=["transform","translate","scale","rotate","perspective"],pt=["transform","translate","scale","rotate","perspective","filter"],ft=["paint","layout","strict","content"];function pe(e){const t=fe(),o=_(e)?$(e):e;return dt.some(n=>o[n]?o[n]!=="none":!1)||(o.containerType?o.containerType!=="normal":!1)||!t&&(o.backdropFilter?o.backdropFilter!=="none":!1)||!t&&(o.filter?o.filter!=="none":!1)||pt.some(n=>(o.willChange||"").includes(n))||ft.some(n=>(o.contain||"").includes(n))}function gt(e){let t=k(e);for(;B(t)&&!H(t);){if(pe(t))return t;if(ie(t))return null;t=k(t)}return null}function fe(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const mt=new Set(["html","body","#document"]);function H(e){return mt.has(W(e))}function $(e){return v(e).getComputedStyle(e)}function se(e){return _(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function k(e){if(W(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Se(e)&&e.host||T(e);return Se(t)?t.host:t}function De(e){const t=k(e);return H(t)?e.ownerDocument?e.ownerDocument.body:e.body:B(t)&&U(t)?t:De(t)}function J(e,t,o){var n;t===void 0&&(t=[]),o===void 0&&(o=!0);const s=De(e),i=s===((n=e.ownerDocument)==null?void 0:n.body),r=v(s);if(i){const l=de(r);return t.concat(r,r.visualViewport||[],U(s)?s:[],l&&o?J(l):[])}return t.concat(s,J(s,[],o))}function de(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ae(e){const t=$(e);let o=parseFloat(t.width)||0,n=parseFloat(t.height)||0;const s=B(e),i=s?e.offsetWidth:o,r=s?e.offsetHeight:n,l=ee(o)!==i||ee(n)!==r;return l&&(o=i,n=r),{width:o,height:n,$:l}}function ge(e){return _(e)?e:e.contextElement}function I(e){const t=ge(e);if(!B(t))return V(1);const o=t.getBoundingClientRect(),{width:n,height:s,$:i}=Ae(t);let r=(i?ee(o.width):o.width)/n,l=(i?ee(o.height):o.height)/s;return(!r||!Number.isFinite(r))&&(r=1),(!l||!Number.isFinite(l))&&(l=1),{x:r,y:l}}const yt=V(0);function Pe(e){const t=v(e);return!fe()||!t.visualViewport?yt:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function bt(e,t,o){return t===void 0&&(t=!1),!o||t&&o!==v(e)?!1:t}function R(e,t,o,n){t===void 0&&(t=!1),o===void 0&&(o=!1);const s=e.getBoundingClientRect(),i=ge(e);let r=V(1);t&&(n?_(n)&&(r=I(n)):r=I(e));const l=bt(i,o,n)?Pe(i):V(0);let a=(s.left+l.x)/r.x,h=(s.top+l.y)/r.y,c=s.width/r.x,d=s.height/r.y;if(i){const g=v(i),p=n&&_(n)?v(n):n;let O=g,y=de(O);for(;y&&n&&p!==O;){const L=I(y),m=y.getBoundingClientRect(),C=$(y),D=m.left+(y.clientLeft+parseFloat(C.paddingLeft))*L.x,X=m.top+(y.clientTop+parseFloat(C.paddingTop))*L.y;a*=L.x,h*=L.y,c*=L.x,d*=L.y,a+=D,h+=X,O=v(y),y=de(O)}}return Te({width:c,height:d,x:a,y:h})}function le(e,t){const o=se(e).scrollLeft;return t?t.left+o:R(T(e)).left+o}function Ee(e,t){const o=e.getBoundingClientRect(),n=o.left+t.scrollLeft-le(e,o),s=o.top+t.scrollTop;return{x:n,y:s}}function wt(e){let{elements:t,rect:o,offsetParent:n,strategy:s}=e;const i=s==="fixed",r=T(n),l=t?ie(t.floating):!1;if(n===r||l&&i)return o;let a={scrollLeft:0,scrollTop:0},h=V(1);const c=V(0),d=B(n);if((d||!d&&!i)&&((W(n)!=="body"||U(r))&&(a=se(n)),B(n))){const p=R(n);h=I(n),c.x=p.x+n.clientLeft,c.y=p.y+n.clientTop}const g=r&&!d&&!i?Ee(r,a):V(0);return{width:o.width*h.x,height:o.height*h.y,x:o.x*h.x-a.scrollLeft*h.x+c.x+g.x,y:o.y*h.y-a.scrollTop*h.y+c.y+g.y}}function vt(e){return Array.from(e.getClientRects())}function Ot(e){const t=T(e),o=se(e),n=e.ownerDocument.body,s=N(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),i=N(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight);let r=-o.scrollLeft+le(e);const l=-o.scrollTop;return $(n).direction==="rtl"&&(r+=N(t.clientWidth,n.clientWidth)-s),{width:s,height:i,x:r,y:l}}const xe=25;function St(e,t){const o=v(e),n=T(e),s=o.visualViewport;let i=n.clientWidth,r=n.clientHeight,l=0,a=0;if(s){i=s.width,r=s.height;const c=fe();(!c||c&&t==="fixed")&&(l=s.offsetLeft,a=s.offsetTop)}const h=le(n);if(h<=0){const c=n.ownerDocument,d=c.body,g=getComputedStyle(d),p=c.compatMode==="CSS1Compat"&&parseFloat(g.marginLeft)+parseFloat(g.marginRight)||0,O=Math.abs(n.clientWidth-d.clientWidth-p);O<=xe&&(i-=O)}else h<=xe&&(i+=h);return{width:i,height:r,x:l,y:a}}const xt=new Set(["absolute","fixed"]);function Lt(e,t){const o=R(e,!0,t==="fixed"),n=o.top+e.clientTop,s=o.left+e.clientLeft,i=B(e)?I(e):V(1),r=e.clientWidth*i.x,l=e.clientHeight*i.y,a=s*i.x,h=n*i.y;return{width:r,height:l,x:a,y:h}}function Le(e,t,o){let n;if(t==="viewport")n=St(e,o);else if(t==="document")n=Ot(T(e));else if(_(t))n=Lt(t,o);else{const s=Pe(e);n={x:t.x-s.x,y:t.y-s.y,width:t.width,height:t.height}}return Te(n)}function Re(e,t){const o=k(e);return o===t||!_(o)||H(o)?!1:$(o).position==="fixed"||Re(o,t)}function Ct(e,t){const o=t.get(e);if(o)return o;let n=J(e,[],!1).filter(l=>_(l)&&W(l)!=="body"),s=null;const i=$(e).position==="fixed";let r=i?k(e):e;for(;_(r)&&!H(r);){const l=$(r),a=pe(r);!a&&l.position==="fixed"&&(s=null),(i?!a&&!s:!a&&l.position==="static"&&s&&xt.has(s.position)||U(r)&&!a&&Re(e,r))?n=n.filter(h=>h!==r):s=l,r=k(r)}return t.set(e,n),n}function _t(e){let{element:t,boundary:o,rootBoundary:n,strategy:s}=e;const i=[...o==="clippingAncestors"?ie(t)?[]:Ct(t,this._c):[].concat(o),n],r=i[0],l=i.reduce((a,h)=>{const c=Le(t,h,s);return a.top=N(c.top,a.top),a.right=he(c.right,a.right),a.bottom=he(c.bottom,a.bottom),a.left=N(c.left,a.left),a},Le(t,r,s));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function $t(e){const{width:t,height:o}=Ae(e);return{width:t,height:o}}function Vt(e,t,o){const n=B(t),s=T(t),i=o==="fixed",r=R(e,!0,i,t);let l={scrollLeft:0,scrollTop:0};const a=V(0);function h(){a.x=le(s)}if(n||!n&&!i)if((W(t)!=="body"||U(s))&&(l=se(t)),n){const p=R(t,!0,i,t);a.x=p.x+t.clientLeft,a.y=p.y+t.clientTop}else s&&h();i&&!n&&s&&h();const c=s&&!n&&!i?Ee(s,l):V(0),d=r.left+l.scrollLeft-a.x-c.x,g=r.top+l.scrollTop-a.y-c.y;return{x:d,y:g,width:r.width,height:r.height}}function ce(e){return $(e).position==="static"}function Ce(e,t){if(!B(e)||$(e).position==="fixed")return null;if(t)return t(e);let o=e.offsetParent;return T(e)===o&&(o=o.ownerDocument.body),o}function Me(e,t){const o=v(e);if(ie(e))return o;if(!B(e)){let s=k(e);for(;s&&!H(s);){if(_(s)&&!ce(s))return s;s=k(s)}return o}let n=Ce(e,t);for(;n&&ht(n)&&ce(n);)n=Ce(n,t);return n&&H(n)&&ce(n)&&!pe(n)?o:n||gt(e)||o}const Bt=async function(e){const t=this.getOffsetParent||Me,o=this.getDimensions,n=await o(e.floating);return{reference:Vt(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function Tt(e){return $(e).direction==="rtl"}const Ft={convertOffsetParentRelativeRectToViewportRelativeRect:wt,getDocumentElement:T,getClippingRect:_t,getOffsetParent:Me,getElementRects:Bt,getClientRects:vt,getDimensions:$t,getScale:I,isElement:_,isRTL:Tt};function Ne(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function kt(e,t){let o=null,n;const s=T(e);function i(){var l;clearTimeout(n),(l=o)==null||l.disconnect(),o=null}function r(l,a){l===void 0&&(l=!1),a===void 0&&(a=1),i();const h=e.getBoundingClientRect(),{left:c,top:d,width:g,height:p}=h;if(l||t(),!g||!p)return;const O=Q(d),y=Q(s.clientWidth-(c+g)),L=Q(s.clientHeight-(d+p)),m=Q(c),C={rootMargin:-O+"px "+-y+"px "+-L+"px "+-m+"px",threshold:N(0,he(1,a))||1};let D=!0;function X(Ie){const Y=Ie[0].intersectionRatio;if(Y!==a){if(!D)return r();Y?r(!1,Y):n=setTimeout(()=>{r(!1,1e-7)},1e3)}Y===1&&!Ne(h,e.getBoundingClientRect())&&r(),D=!1}try{o=new IntersectionObserver(X,{...C,root:s.ownerDocument})}catch{o=new IntersectionObserver(X,C)}o.observe(e)}return r(!0),i}function Dt(e,t,o,n){n===void 0&&(n={});const{ancestorScroll:s=!0,ancestorResize:i=!0,elementResize:r=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:a=!1}=n,h=ge(e),c=s||i?[...h?J(h):[],...J(t)]:[];c.forEach(m=>{s&&m.addEventListener("scroll",o,{passive:!0}),i&&m.addEventListener("resize",o)});const d=h&&l?kt(h,o):null;let g=-1,p=null;r&&(p=new ResizeObserver(m=>{let[C]=m;C&&C.target===h&&p&&(p.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var D;(D=p)==null||D.observe(t)})),o()}),h&&!a&&p.observe(h),p.observe(t));let O,y=a?R(e):null;a&&L();function L(){const m=R(e);y&&!Ne(y,m)&&o(),y=m,O=requestAnimationFrame(L)}return o(),()=>{var m;c.forEach(C=>{s&&C.removeEventListener("scroll",o),i&&C.removeEventListener("resize",o)}),d?.(),(m=p)==null||m.disconnect(),p=null,a&&cancelAnimationFrame(O)}}const At=He,Pt=Ke,Et=We,Rt=qe,Mt=(e,t,o)=>{const n=new Map,s={platform:Ft,...o},i={...s.platform,_c:n};return ze(e,t,{...s,platform:i})};var Nt=Object.defineProperty,jt=Object.defineProperties,It=Object.getOwnPropertyDescriptors,_e=Object.getOwnPropertySymbols,zt=Object.prototype.hasOwnProperty,Ht=Object.prototype.propertyIsEnumerable,$e=(e,t,o)=>t in e?Nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,M=(e,t)=>{for(var o in t||(t={}))zt.call(t,o)&&$e(e,o,t[o]);if(_e)for(var o of _e(t))Ht.call(t,o)&&$e(e,o,t[o]);return e},Ve=(e,t)=>jt(e,It(t));const Wt={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer(){this.autoscroll&&this.maybeAdjustScroll()},open(e){this.autoscroll&&e&&this.$nextTick(()=>this.maybeAdjustScroll())}},methods:{maybeAdjustScroll(){var e;const t=((e=this.$refs.dropdownMenu)==null?void 0:e.children[this.typeAheadPointer])||!1;if(t){const o=this.getDropdownViewport(),{top:n,bottom:s,height:i}=t.getBoundingClientRect();if(no.bottom)return this.$refs.dropdownMenu.scrollTop=t.offsetTop-(o.height-i)}},getDropdownViewport(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},Kt={data(){return{typeAheadPointer:-1}},watch:{filteredOptions(){for(let e=0;e=0;e--)if(this.selectable(this.filteredOptions[e])){this.typeAheadPointer=e;break}},typeAheadDown(){for(let e=this.typeAheadPointer+1;e{const o=e.__vccOpts||e;for(const[n,s]of t)o[n]=s;return o},Jt={},Ut={xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"},Xt=x("path",{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"},null,-1),Yt=[Xt];function Qt(e,t){return u(),f("svg",Ut,Yt)}const Zt=me(Jt,[["render",Qt]]),Gt={},eo={xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"},to=x("path",{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"},null,-1),oo=[to];function no(e,t){return u(),f("svg",eo,oo)}const io=me(Gt,[["render",no]]),Be={Deselect:Zt,OpenIndicator:io},so={mounted(e,{instance:t}){if(t.appendToBody){const{height:o,top:n,left:s,width:i}=t.$refs.toggle.getBoundingClientRect();let r=window.scrollX||window.pageXOffset,l=window.scrollY||window.pageYOffset;e.unbindPosition=t.calculatePosition(e,t,{width:i+"px",left:r+s+"px",top:l+n+o+"px"}),document.body.appendChild(e)}},unmounted(e,{instance:t}){t.appendToBody&&(e.unbindPosition&&typeof e.unbindPosition=="function"&&e.unbindPosition(),e.parentNode&&e.parentNode.removeChild(e))}};function lo(e){const t={};return Object.keys(e).sort().forEach(o=>{t[o]=e[o]}),JSON.stringify(t)}let ro=0;function ao(){return++ro}const co={components:M({},Be),directives:{appendToBody:so},mixins:[Wt,Kt,qt],compatConfig:{MODE:3},emits:["open","close","update:modelValue","search","search:compositionstart","search:compositionend","search:keydown","search:blur","search:focus","search:input","option:created","option:selecting","option:selected","option:deselecting","option:deselected"],props:{modelValue:{},components:{type:Object,default:()=>({})},options:{type:Array,default(){return[]}},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},deselectFromDropdown:{type:Boolean,default:!1},searchable:{type:Boolean,default:!0},multiple:{type:Boolean,default:!1},placeholder:{type:String,default:""},transition:{type:String,default:"vs__fade"},clearSearchOnSelect:{type:Boolean,default:!0},closeOnSelect:{type:Boolean,default:!0},label:{type:String,default:"label"},autocomplete:{type:String,default:"off"},reduce:{type:Function,default:e=>e},selectable:{type:Function,default:e=>!0},getOptionLabel:{type:Function,default(e){return typeof e=="object"?e.hasOwnProperty(this.label)?e[this.label]:console.warn(`[vue-select warn]: Label key "option.${this.label}" does not exist in options object ${JSON.stringify(e)}. https://vue-select.org/api/props.html#getoptionlabel`):e}},getOptionKey:{type:Function,default(e){if(typeof e!="object")return e;try{return e.hasOwnProperty("id")?e.id:lo(e)}catch(t){return console.warn(`[vue-select warn]: Could not stringify this option to generate unique key. Please provide'getOptionKey' prop to return a unique key for each option. https://vue-select.org/api/props.html#getoptionkey`,e,t)}}},onTab:{type:Function,default:function(){this.selectOnTab&&!this.isComposing&&this.typeAheadSelect()}},taggable:{type:Boolean,default:!1},tabindex:{type:Number,default:null},pushTags:{type:Boolean,default:!1},filterable:{type:Boolean,default:!0},filterBy:{type:Function,default(e,t,o){return(t||"").toLocaleLowerCase().indexOf(o.toLocaleLowerCase())>-1}},filter:{type:Function,default(e,t){return e.filter(o=>{let n=this.getOptionLabel(o);return typeof n=="number"&&(n=n.toString()),this.filterBy(o,n,t)})}},createOption:{type:Function,default(e){return typeof this.optionList[0]=="object"?{[this.label]:e}:e}},resetOnOptionsChange:{default:!1,validator:e=>["function","boolean"].includes(typeof e)},clearSearchOnBlur:{type:Function,default:function({clearSearchOnSelect:e,multiple:t}){return e&&!t}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:"auto"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:()=>[13]},searchInputQuerySelector:{type:String,default:"[type=search]"},mapKeydown:{type:Function,default:(e,t)=>e},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default(e,t,{width:o,top:n,left:s}){e.style.top=n,e.style.left=s,e.style.width=o}},dropdownShouldOpen:{type:Function,default({noDrop:e,open:t,mutableLoading:o}){return e?!1:t&&!o}},uid:{type:[String,Number],default:()=>ao()}},data(){return{search:"",open:!1,isComposing:!1,pushedTags:[],_value:[],deselectButtons:[]}},computed:{isReducingValues(){return this.$props.reduce!==this.$options.props.reduce.default},isTrackingValues(){return typeof this.modelValue>"u"||this.isReducingValues},selectedValue(){let e=this.modelValue;return this.isTrackingValues&&(e=this.$data._value),e!=null&&e!==""?[].concat(e):[]},optionList(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl(){return this.$slots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope(){const e={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:M({disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,id:this.inputId,"aria-autocomplete":"list","aria-labelledby":`vs${this.uid}__combobox`,"aria-controls":`vs${this.uid}__listbox`,ref:"search",type:"search",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{"aria-activedescendant":`vs${this.uid}__option-${this.typeAheadPointer}`}:{}),events:{compositionstart:()=>this.isComposing=!0,compositionend:()=>this.isComposing=!1,keydown:this.onSearchKeyDown,blur:this.onSearchBlur,focus:this.onSearchFocus,input:t=>this.search=t.target.value}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:"openIndicator",role:"presentation",class:"vs__open-indicator"}},listHeader:e,listFooter:e,header:Ve(M({},e),{deselect:this.deselect}),footer:Ve(M({},e),{deselect:this.deselect})}},childComponents(){return M(M({},Be),this.components)},stateClasses(){return{"vs--open":this.dropdownOpen,"vs--single":!this.multiple,"vs--multiple":this.multiple,"vs--searching":this.searching&&!this.noDrop,"vs--searchable":this.searchable&&!this.noDrop,"vs--unsearchable":!this.searchable,"vs--loading":this.mutableLoading,"vs--disabled":this.disabled}},searching(){return!!this.search},dropdownOpen(){return this.dropdownShouldOpen(this)},searchPlaceholder(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions(){const e=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return e;const t=this.search.length?this.filter(e,this.search,this):e;if(this.taggable&&this.search.length){const o=this.createOption(this.search);this.optionExists(o)||t.unshift(o)}return t},isValueEmpty(){return this.selectedValue.length===0},showClearButton(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options(e,t){const o=()=>typeof this.resetOnOptionsChange=="function"?this.resetOnOptionsChange(e,t,this.selectedValue):this.resetOnOptionsChange;!this.taggable&&o()&&this.clearSelection(),this.modelValue&&this.isTrackingValues&&this.setInternalValueFromOptions(this.modelValue)},modelValue:{immediate:!0,handler(e){this.isTrackingValues&&this.setInternalValueFromOptions(e)}},multiple(){this.clearSelection()},open(e){this.$emit(e?"open":"close")}},created(){this.mutableLoading=this.loading},methods:{setInternalValueFromOptions(e){Array.isArray(e)?this.$data._value=e.map(t=>this.findOptionFromReducedValue(t)):this.$data._value=this.findOptionFromReducedValue(e)},select(e){this.$emit("option:selecting",e),this.isOptionSelected(e)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(e):(this.taggable&&!this.optionExists(e)&&(this.$emit("option:created",e),this.pushTag(e)),this.multiple&&(e=this.selectedValue.concat(e)),this.updateValue(e),this.$emit("option:selected",e)),this.onAfterSelect(e)},deselect(e){this.$emit("option:deselecting",e),this.updateValue(this.selectedValue.filter(t=>!this.optionComparator(t,e))),this.$emit("option:deselected",e)},clearSelection(){this.updateValue(this.multiple?[]:null)},onAfterSelect(e){this.closeOnSelect&&(this.open=!this.open,this.searchEl.blur()),this.clearSearchOnSelect&&(this.search="")},updateValue(e){typeof this.modelValue>"u"&&(this.$data._value=e),e!==null&&(Array.isArray(e)?e=e.map(t=>this.reduce(t)):e=this.reduce(e)),this.$emit("update:modelValue",e)},toggleDropdown(e){const t=e.target!==this.searchEl;t&&e.preventDefault();const o=[...this.deselectButtons||[],this.$refs.clearButton];if(this.searchEl===void 0||o.filter(Boolean).some(n=>n.contains(e.target)||n===e.target)){e.preventDefault();return}this.open&&t?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected(e){return this.selectedValue.some(t=>this.optionComparator(t,e))},isOptionDeselectable(e){return this.isOptionSelected(e)&&this.deselectFromDropdown},optionComparator(e,t){return this.getOptionKey(e)===this.getOptionKey(t)},findOptionFromReducedValue(e){const t=n=>JSON.stringify(this.reduce(n))===JSON.stringify(e),o=[...this.options,...this.pushedTags].filter(t);return o.length===1?o[0]:o.find(n=>this.optionComparator(n,this.$data._value))||e},closeSearchOptions(){this.open=!1,this.$emit("search:blur")},maybeDeleteValue(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){let e=null;this.multiple&&(e=[...this.selectedValue.slice(0,this.selectedValue.length-1)]),this.updateValue(e)}},optionExists(e){return this.optionList.some(t=>this.optionComparator(t,e))},normalizeOptionForSlot(e){return typeof e=="object"?e:{[this.label]:e}},pushTag(e){this.pushedTags.push(e)},onEscape(){this.search.length?this.search="":this.searchEl.blur()},onSearchBlur(){if(this.mousedown&&!this.searching)this.mousedown=!1;else{const{clearSearchOnSelect:e,multiple:t}=this;this.clearSearchOnBlur({clearSearchOnSelect:e,multiple:t})&&(this.search=""),this.closeSearchOptions();return}if(this.search.length===0&&this.options.length===0){this.closeSearchOptions();return}},onSearchFocus(){this.open=!0,this.$emit("search:focus")},onMousedown(){this.mousedown=!0},onMouseUp(){this.mousedown=!1},onSearchKeyDown(e){const t=s=>(s.preventDefault(),!this.isComposing&&this.typeAheadSelect()),o={8:s=>this.maybeDeleteValue(),9:s=>this.onTab(),27:s=>this.onEscape(),38:s=>(s.preventDefault(),this.typeAheadUp()),40:s=>(s.preventDefault(),this.typeAheadDown())};this.selectOnKeyCodes.forEach(s=>o[s]=t);const n=this.mapKeydown(o,this);if(typeof n[e.keyCode]=="function")return n[e.keyCode](e)}}},ho=["dir"],uo=["id","aria-expanded","aria-owns"],po={ref:"selectedOptions",class:"vs__selected-options"},fo=["disabled","title","aria-label","onClick"],go={ref:"actions",class:"vs__actions"},mo=["disabled"],yo={class:"vs__spinner"},bo=["id"],wo=["id","aria-selected","onMouseover","onClick"],vo={key:0,class:"vs__no-options"},Oo=te(" Sorry, no matching options. "),So=["id"];function xo(e,t,o,n,s,i){const r=Qe("append-to-body");return u(),f("div",{dir:o.dir,class:Oe(["v-select",i.stateClasses])},[b(e.$slots,"header",w(S(i.scope.header))),x("div",{id:`vs${o.uid}__combobox`,ref:"toggle",class:"vs__dropdown-toggle",role:"combobox","aria-expanded":i.dropdownOpen.toString(),"aria-owns":`vs${o.uid}__listbox`,"aria-label":"Search for option",onMousedown:t[1]||(t[1]=l=>i.toggleDropdown(l))},[x("div",po,[(u(!0),f(be,null,ue(i.selectedValue,(l,a)=>b(e.$slots,"selected-option-container",{option:i.normalizeOptionForSlot(l),deselect:i.deselect,multiple:o.multiple,disabled:o.disabled},()=>[(u(),f("span",{key:o.getOptionKey(l),class:"vs__selected"},[b(e.$slots,"selected-option",w(S(i.normalizeOptionForSlot(l))),()=>[te(z(o.getOptionLabel(l)),1)]),o.multiple?(u(),f("button",{key:0,ref_for:!0,ref:h=>s.deselectButtons[a]=h,disabled:o.disabled,type:"button",class:"vs__deselect",title:`Deselect ${o.getOptionLabel(l)}`,"aria-label":`Deselect ${o.getOptionLabel(l)}`,onClick:h=>i.deselect(l)},[(u(),j(re(i.childComponents.Deselect)))],8,fo)):P("",!0)]))])),256)),b(e.$slots,"search",w(S(i.scope.search)),()=>[x("input",E({class:"vs__search"},i.scope.search.attributes,Fe(i.scope.search.events)),null,16)])],512),x("div",go,[ae(x("button",{ref:"clearButton",disabled:o.disabled,type:"button",class:"vs__clear",title:"Clear Selected","aria-label":"Clear Selected",onClick:t[0]||(t[0]=(...l)=>i.clearSelection&&i.clearSelection(...l))},[(u(),j(re(i.childComponents.Deselect)))],8,mo),[[we,i.showClearButton]]),b(e.$slots,"open-indicator",w(S(i.scope.openIndicator)),()=>[o.noDrop?P("",!0):(u(),j(re(i.childComponents.OpenIndicator),w(E({key:0},i.scope.openIndicator.attributes)),null,16))]),b(e.$slots,"spinner",w(S(i.scope.spinner)),()=>[ae(x("div",yo,"Loading...",512),[[we,e.mutableLoading]])])],512)],40,uo),q(Ze,{name:o.transition},{default:F(()=>[i.dropdownOpen?ae((u(),f("ul",{id:`vs${o.uid}__listbox`,ref:"dropdownMenu",key:`vs${o.uid}__listbox`,class:"vs__dropdown-menu",role:"listbox",tabindex:"-1",onMousedown:t[2]||(t[2]=ve((...l)=>i.onMousedown&&i.onMousedown(...l),["prevent"])),onMouseup:t[3]||(t[3]=(...l)=>i.onMouseUp&&i.onMouseUp(...l))},[b(e.$slots,"list-header",w(S(i.scope.listHeader))),(u(!0),f(be,null,ue(i.filteredOptions,(l,a)=>(u(),f("li",{id:`vs${o.uid}__option-${a}`,key:o.getOptionKey(l),role:"option",class:Oe(["vs__dropdown-option",{"vs__dropdown-option--deselect":i.isOptionDeselectable(l)&&a===e.typeAheadPointer,"vs__dropdown-option--selected":i.isOptionSelected(l),"vs__dropdown-option--highlight":a===e.typeAheadPointer,"vs__dropdown-option--disabled":!o.selectable(l)}]),"aria-selected":a===e.typeAheadPointer?!0:null,onMouseover:h=>o.selectable(l)?e.typeAheadPointer=a:null,onClick:ve(h=>o.selectable(l)?i.select(l):null,["prevent","stop"])},[b(e.$slots,"option",w(S(i.normalizeOptionForSlot(l))),()=>[te(z(o.getOptionLabel(l)),1)])],42,wo))),128)),i.filteredOptions.length===0?(u(),f("li",vo,[b(e.$slots,"no-options",w(S(i.scope.noOptions)),()=>[Oo])])):P("",!0),b(e.$slots,"list-footer",w(S(i.scope.listFooter)))],40,bo)),[[r]]):(u(),f("ul",{key:1,id:`vs${o.uid}__listbox`,role:"listbox",style:{display:"none",visibility:"hidden"}},null,8,So))]),_:3},8,["name"]),b(e.$slots,"footer",w(S(i.scope.footer)))],10,ho)}const A=me(co,[["render",xo]]),Lo={name:"ChevronDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Co=["aria-hidden","aria-label"],_o=["fill","width","height"],$o={d:"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z"},Vo={key:0};function Bo(e,t,o,n,s,i){return u(),f("span",E(e.$attrs,{"aria-hidden":o.title?null:"true","aria-label":o.title,class:"material-design-icon chevron-down-icon",role:"img",onClick:t[0]||(t[0]=r=>e.$emit("click",r))}),[(u(),f("svg",{fill:o.fillColor,class:"material-design-icon__svg",width:o.size,height:o.size,viewBox:"0 0 24 24"},[x("path",$o,[o.title?(u(),f("title",Vo,z(o.title),1)):P("",!0)])],8,_o))],16,Co)}const To=oe(Lo,[["render",Bo]]);function je(e,t){const o=[];let n=0,s=e.toLowerCase().indexOf(t.toLowerCase(),n),i=0;for(;s>-1&&i++[]}},computed:{ranges(){let e=[];return!this.search&&this.highlight.length===0||(this.highlight.length>0?e=this.highlight:e=je(this.text,this.search),e.forEach((t,o)=>{t.end(o.start0&&t.push({start:o.start<0?0:o.start,end:o.end>this.text.length?this.text.length:o.end}),t),[]),e.sort((t,o)=>t.start-o.start),e=e.reduce((t,o)=>{if(!t.length)t.push(o);else{const n=t.length-1;t[n].end>=o.start?t[n]={start:t[n].start,end:Math.max(t[n].end,o.end)}:t.push(o)}return t},[])),e},chunks(){if(this.ranges.length===0)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];const e=[];let t=0,o=0;for(;t=this.ranges.length&&te.highlight?G("strong",{},e.text):e.text)):G("span",{},this.text)}}),ko={name:"NcEllipsisedOption",components:{NcHighlight:Fo},props:{name:{type:String,default:""},search:{type:String,default:""}},computed:{needsTruncate(){return this.name&&this.name.length>=10},split(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1(){return this.needsTruncate?this.name.slice(0,this.split):this.name},part2(){return this.needsTruncate?this.name.slice(this.split):""},highlight1(){return this.search?je(this.name,this.search):[]},highlight2(){return this.highlight1.map(e=>({start:e.start-this.split,end:e.end-this.split}))}}},Do=["title"];function Ao(e,t,o,n,s,i){const r=K("NcHighlight");return u(),f("span",{dir:"auto",class:"name-parts",title:o.name},[q(r,{class:"name-parts__first",text:i.part1,search:o.search,highlight:i.highlight1},null,8,["text","search","highlight"]),i.part2?(u(),j(r,{key:0,class:"name-parts__last",text:i.part2,search:o.search,highlight:i.highlight2},null,8,["text","search","highlight"])):P("",!0)],8,Do)}const Po=oe(ko,[["render",Ao],["__scopeId","data-v-a612f185"]]);Je(Ue);const Eo={name:"NcSelect",components:{ChevronDown:To,NcEllipsisedOption:Po,NcLoadingIcon:Xe,VueSelect:A},props:{...A.props,...A.mixins.reduce((e,t)=>({...e,...t.props}),{}),ariaLabelClearSelected:{type:String,default:Z("Clear selected")},ariaLabelCombobox:{type:String,default:null},ariaLabelListbox:{type:String,default:Z("Options")},ariaLabelDeselectOption:{type:Function,default:e=>Z("Deselect {option}",{option:e})},appendToBody:{type:Boolean,default:!0},calculatePosition:{type:Function,default:null},keepOpen:{type:Boolean,default:!1},components:{type:Object,default:()=>({Deselect:{render:()=>G(rt,{size:20,fillColor:"var(--vs-controls-color)",style:[{cursor:"pointer"}]})}})},limit:{type:Number,default:null},disabled:{type:Boolean,default:!1},dropdownShouldOpen:{type:Function,default:({noDrop:e,open:t})=>e?!1:t},filterBy:{type:Function,default:null},inputClass:{type:[String,Object],default:null},inputId:{type:String,default:()=>ye()},inputLabel:{type:String,default:null},labelOutside:{type:Boolean,default:!1},keyboardFocusBorder:{type:Boolean,default:!0},label:{type:String,default:null},loading:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},noWrap:{type:Boolean,default:!1},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},mapKeydown:{type:Function,default(e,t){return{...e,27:o=>{t.open&&o.stopPropagation(),e[27](o)}}}},uid:{type:String,default:()=>ye()},placement:{type:String,default:"bottom"},resetFocusOnOptionsChange:{type:Boolean,default:!0},modelValue:{type:[String,Number,Object,Array],default:null},required:{type:Boolean,default:!1}," ":{}},emits:[" ","update:modelValue"],setup(){const e=Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-clickable-area")),t=Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-grid-baseline"));return{avatarSize:e-2*t}},data(){return{search:""}},computed:{inputRequired(){return this.required?this.modelValue===null||Array.isArray(this.modelValue)&&this.modelValue.length===0:null},localCalculatePosition(){return this.calculatePosition!==null?this.calculatePosition:(e,t,{width:o})=>{e.style.width=o;const n={name:"addClass",fn(){return e.classList.add("vs__dropdown-menu--floating"),{}}},s={name:"togglePlacementClass",fn({placement:r}){return t.$el.classList.toggle("select--drop-up",r==="top"),e.classList.toggle("vs__dropdown-menu--floating-placement-top",r==="top"),{}}},i=()=>{Mt(t.$refs.toggle,e,{placement:this.placement,middleware:[At(-1),n,s,Et(),Pt({limiter:Rt()})]}).then(({x:r,y:l})=>{Object.assign(e.style,{left:`${r}px`,top:`${l}px`,width:`${t.$refs.toggle.getBoundingClientRect().width}px`})})};return Dt(t.$refs.toggle,e,i)}},localFilterBy(){return this.filterBy??A.props.filterBy.default},localLabel(){return this.label??A.props.label.default},propsToForward(){const e=[...Object.keys(A.props),...A.mixins.flatMap(t=>Object.keys(t.props??{}))];return{...Object.fromEntries(Object.entries(this.$props).filter(([t,o])=>e.includes(t))),calculatePosition:this.localCalculatePosition,closeOnSelect:!this.keepOpen,filterBy:this.localFilterBy,label:this.localLabel}}},mounted(){!this.labelOutside&&!this.inputLabel&&this.ariaLabelCombobox,this.inputLabel&&this.ariaLabelCombobox},methods:{t:Z}},Ro=["for"],Mo=["required"];function No(e,t,o,n,s,i){const r=K("ChevronDown"),l=K("NcEllipsisedOption"),a=K("NcLoadingIcon"),h=K("VueSelect");return u(),j(h,E({class:["select",{"select--no-wrap":o.noWrap}]},i.propsToForward,{onSearch:t[0]||(t[0]=c=>s.search=c),"onUpdate:modelValue":t[1]||(t[1]=c=>e.$emit("update:modelValue",c))}),et({search:F(({attributes:c,events:d})=>[x("input",E({class:["vs__search",[o.inputClass]]},c,{required:i.inputRequired,dir:"auto"},Fe(d,!0)),null,16,Mo)]),"open-indicator":F(({attributes:c})=>[q(r,E(c,{"fill-color":"var(--vs-controls-color)",style:{cursor:o.disabled?null:"pointer"},size:26}),null,16,["style"])]),option:F(c=>[b(e.$slots,"option",w(S(c)),()=>[q(l,{name:String(c[i.localLabel]),search:s.search},null,8,["name","search"])])]),"selected-option":F(c=>[b(e.$slots,"selected-option",{vBind:c},()=>[q(l,{name:String(c[i.localLabel]),search:s.search},null,8,["name","search"])])]),spinner:F(c=>[c.loading?(u(),j(a,{key:0})):P("",!0)]),"no-options":F(()=>[te(z(i.t("No results")),1)]),_:2},[!o.labelOutside&&o.inputLabel?{name:"header",fn:F(()=>[x("label",{for:o.inputId,class:"select__label"},z(o.inputLabel),9,Ro)]),key:"0"}:void 0,ue(e.$slots,(c,d)=>({name:d,fn:F(g=>[b(e.$slots,d,w(S(g)))])}))]),1040,["class"])}const zo=oe(Eo,[["render",No]]),Ho=Ye.getBuilder("notifications").clearOnLogout().persist().build();export{Ho as B,zo as N}; -//# sourceMappingURL=BrowserStorage-DTJIC0X8.chunk.mjs.map +//# sourceMappingURL=BrowserStorage-BggJixvR.chunk.mjs.map diff --git a/js/BrowserStorage-DTJIC0X8.chunk.mjs.license b/js/BrowserStorage-BggJixvR.chunk.mjs.license similarity index 100% rename from js/BrowserStorage-DTJIC0X8.chunk.mjs.license rename to js/BrowserStorage-BggJixvR.chunk.mjs.license diff --git a/js/BrowserStorage-DTJIC0X8.chunk.mjs.map b/js/BrowserStorage-BggJixvR.chunk.mjs.map similarity index 99% rename from js/BrowserStorage-DTJIC0X8.chunk.mjs.map rename to js/BrowserStorage-BggJixvR.chunk.mjs.map index 7cf32b31a..31da30928 100644 --- a/js/BrowserStorage-DTJIC0X8.chunk.mjs.map +++ b/js/BrowserStorage-BggJixvR.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"BrowserStorage-DTJIC0X8.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/Close-D6ngJ4t9.mjs","../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../node_modules/vue-select/dist/vue-select.es.js","../node_modules/@nextcloud/vue/dist/chunks/ChevronDown-FiGpp0KT.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcHighlight.vue_vue_type_script_lang-DnWQDM_2.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcEllipsisedOption-dT-CtXYp.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcSelect-CqmU4nl3.mjs","../src/services/BrowserStorage.js"],"sourcesContent":["import { createElementBlock, openBlock, mergeProps, createElementVNode, createCommentVNode, toDisplayString } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.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};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { 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\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon close-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconClose = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n IconClose as I\n};\n//# sourceMappingURL=Close-D6ngJ4t9.mjs.map\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n return topLayerSelectors.some(selector => {\n try {\n return element.matches(selector);\n } catch (_e) {\n return false;\n }\n });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n // `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the but this is not considered in the size\n // of `html.clientWidth`.\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n // If the scrollbar is on the left, the width needs to be extended\n // by the scrollbar amount so there isn't extra space on the right.\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the element as the offsetParent if it's non-static,\n // while Chrome and Safari return the element. The element must\n // be used to perform the correct calculations even if the element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle