quasar
Version:
Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time
6 lines • 560 kB
JavaScript
/*!
* Quasar Framework v1.15.16
* (c) 2015-present Razvan Stoenescu
* Released under the MIT License.
*/
import Vue from"vue";var version="1.15.16";const isSSR="undefined"==typeof window;let iosCorrection,fromSSR=!1,onSSR=isSSR,iosEmulated=!1;function getMatch(t,e){const i=/(edge|edga|edgios)\/([\w.]+)/.exec(t)||/(opr)[\/]([\w.]+)/.exec(t)||/(vivaldi)[\/]([\w.]+)/.exec(t)||/(chrome|crios)[\/]([\w.]+)/.exec(t)||/(iemobile)[\/]([\w.]+)/.exec(t)||/(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(t)||/(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(t)||/(firefox|fxios)[\/]([\w.]+)/.exec(t)||/(webkit)[\/]([\w.]+)/.exec(t)||/(opera)(?:.*version|)[\/]([\w.]+)/.exec(t)||/(msie) ([\w.]+)/.exec(t)||t.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(t)||t.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(t)||[];return{browser:i[5]||i[3]||i[1]||"",version:i[2]||i[4]||"0",versionNumber:i[4]||i[2]||"0",platform:e[0]||""}}function getPlatformMatch(t){return/(ipad)/.exec(t)||/(ipod)/.exec(t)||/(windows phone)/.exec(t)||/(iphone)/.exec(t)||/(kindle)/.exec(t)||/(silk)/.exec(t)||/(android)/.exec(t)||/(win)/.exec(t)||/(mac)/.exec(t)||/(linux)/.exec(t)||/(cros)/.exec(t)||/(playbook)/.exec(t)||/(bb)/.exec(t)||/(blackberry)/.exec(t)||[]}const hasTouch=!1===isSSR&&("ontouchstart"in window||window.navigator.maxTouchPoints>0);function applyIosCorrection(t){iosCorrection={is:{...t}},delete t.mac,delete t.desktop;const e=Math.min(window.innerHeight,window.innerWidth)>414?"ipad":"iphone";Object.assign(t,{mobile:!0,ios:!0,platform:e,[e]:!0})}function getPlatform(t){const e=t.toLowerCase(),i=getMatch(e,getPlatformMatch(e)),s={};i.browser&&(s[i.browser]=!0,s.version=i.version,s.versionNumber=parseInt(i.versionNumber,10)),i.platform&&(s[i.platform]=!0);const o=s.android||s.ios||s.bb||s.blackberry||s.ipad||s.iphone||s.ipod||s.kindle||s.playbook||s.silk||s["windows phone"];return!0===o||e.indexOf("mobile")>-1?(s.mobile=!0,s.edga||s.edgios?(s.edge=!0,i.browser="edge"):s.crios?(s.chrome=!0,i.browser="chrome"):s.fxios&&(s.firefox=!0,i.browser="firefox")):s.desktop=!0,(s.ipod||s.ipad||s.iphone)&&(s.ios=!0),s["windows phone"]&&(s.winphone=!0,delete s["windows phone"]),(s.chrome||s.opr||s.safari||s.vivaldi||!0===s.mobile&&!0!==s.ios&&!0!==o)&&(s.webkit=!0),(s.rv||s.iemobile)&&(i.browser="ie",s.ie=!0),(s.safari&&s.blackberry||s.bb)&&(i.browser="blackberry",s.blackberry=!0),s.safari&&s.playbook&&(i.browser="playbook",s.playbook=!0),s.opr&&(i.browser="opera",s.opera=!0),s.safari&&s.android&&(i.browser="android",s.android=!0),s.safari&&s.kindle&&(i.browser="kindle",s.kindle=!0),s.safari&&s.silk&&(i.browser="silk",s.silk=!0),s.vivaldi&&(i.browser="vivaldi",s.vivaldi=!0),s.name=i.browser,s.platform=i.platform,!1===isSSR&&(e.indexOf("electron")>-1?s.electron=!0:document.location.href.indexOf("-extension://")>-1?s.bex=!0:(void 0!==window.Capacitor?(s.capacitor=!0,s.nativeMobile=!0,s.nativeMobileWrapper="capacitor"):void 0===window._cordovaNative&&void 0===window.cordova||(s.cordova=!0,s.nativeMobile=!0,s.nativeMobileWrapper="cordova"),!0===hasTouch&&!0===s.mac&&(!0===s.desktop&&!0===s.safari||!0===s.nativeMobile&&!0!==s.android&&!0!==s.ios&&!0!==s.ipad)&&applyIosCorrection(s)),!0===(fromSSR=void 0===s.nativeMobile&&void 0===s.electron&&null!==document.querySelector("[data-server-rendered]"))&&(onSSR=!0)),s}const userAgent=!0!==isSSR?navigator.userAgent||navigator.vendor||window.opera:"",ssrClient={has:{touch:!1,webStorage:!1},within:{iframe:!1}},client=!1===isSSR?{userAgent:userAgent,is:getPlatform(userAgent),has:{touch:hasTouch,webStorage:(()=>{try{if(window.localStorage)return!0}catch(t){}return!1})()},within:{iframe:window.self!==window.top}}:ssrClient,Platform={install(t,e){!0===isSSR?e.server.push((t,e)=>{t.platform=this.parseSSR(e.ssr)}):!0===fromSSR?(Object.assign(this,client,iosCorrection,ssrClient),e.takeover.push(t=>{onSSR=fromSSR=!1,Object.assign(t.platform,client),iosCorrection=void 0}),Vue.util.defineReactive(t,"platform",this)):(Object.assign(this,client),t.platform=this)}};!0===isSSR?Platform.parseSSR=(t=>{const e=t.req.headers["user-agent"]||t.req.headers["User-Agent"]||"";return{...client,userAgent:e,is:getPlatform(e)}}):iosEmulated=!0===client.is.ios&&-1===window.navigator.vendor.toLowerCase().indexOf("apple");const listenOpts={hasPassive:!1,passiveCapture:!0,notPassiveCapture:!0};try{var opts=Object.defineProperty({},"passive",{get(){Object.assign(listenOpts,{hasPassive:!0,passive:{passive:!0},notPassive:{passive:!1},passiveCapture:{passive:!0,capture:!0},notPassiveCapture:{passive:!1,capture:!0}})}});window.addEventListener("qtest",null,opts),window.removeEventListener("qtest",null,opts)}catch(t){}function noop(){}function leftClick(t){return 0===t.button}function middleClick(t){return 1===t.button}function rightClick(t){return 2===t.button}function position(t){return t.touches&&t.touches[0]?t=t.touches[0]:t.changedTouches&&t.changedTouches[0]?t=t.changedTouches[0]:t.targetTouches&&t.targetTouches[0]&&(t=t.targetTouches[0]),{top:t.clientY,left:t.clientX}}function getEventPath(t){if(t.path)return t.path;if(t.composedPath)return t.composedPath();const e=[];let i=t.target;for(;i;){if(e.push(i),"HTML"===i.tagName)return e.push(document),e.push(window),e;i=i.parentElement}}const LINE_HEIGHT=40,PAGE_HEIGHT=800;function getMouseWheelDistance(t){let e=t.deltaX,i=t.deltaY;if((e||i)&&t.deltaMode){const s=1===t.deltaMode?LINE_HEIGHT:PAGE_HEIGHT;e*=s,i*=s}return t.shiftKey&&!e&&([i,e]=[e,i]),{x:e,y:i}}function stop(t){t.stopPropagation()}function prevent(t){!1!==t.cancelable&&t.preventDefault()}function stopAndPrevent(t){!1!==t.cancelable&&t.preventDefault(),t.stopPropagation()}function stopAndPreventClick(t){if(stopAndPrevent(t),"mousedown"===t.type){const e=i=>{i.target===t.target&&stopAndPrevent(i),document.removeEventListener("click",e,listenOpts.notPassiveCapture)};document.addEventListener("click",e,listenOpts.notPassiveCapture)}}function preventDraggable(t,e){if(void 0===t||!0===e&&!0===t.__dragPrevented)return;const i=!0===e?t=>{t.__dragPrevented=!0,t.addEventListener("dragstart",prevent,listenOpts.notPassiveCapture)}:t=>{delete t.__dragPrevented,t.removeEventListener("dragstart",prevent,listenOpts.notPassiveCapture)};t.querySelectorAll("a, img").forEach(i)}function create(t,{bubbles:e=!1,cancelable:i=!1}={}){try{return new CustomEvent(t,{bubbles:e,cancelable:i})}catch(s){const o=document.createEvent("Event");return o.initEvent(t,e,i),o}}function addEvt(t,e,i){const s=`__q_${e}_evt`;t[s]=void 0!==t[s]?t[s].concat(i):i,i.forEach(e=>{e[0].addEventListener(e[1],t[e[2]],listenOpts[e[3]])})}function cleanEvt(t,e){const i=`__q_${e}_evt`;void 0!==t[i]&&(t[i].forEach(e=>{e[0].removeEventListener(e[1],t[e[2]],listenOpts[e[3]])}),t[i]=void 0)}var event={listenOpts:listenOpts,leftClick:leftClick,middleClick:middleClick,rightClick:rightClick,position:position,getEventPath:getEventPath,getMouseWheelDistance:getMouseWheelDistance,stop:stop,prevent:prevent,stopAndPrevent:stopAndPrevent,preventDraggable:preventDraggable,create:create};function debounce(t,e=250,i){let s;function o(){const o=arguments;clearTimeout(s),!0===i&&void 0===s&&t.apply(this,o),s=setTimeout(()=>{s=void 0,!0!==i&&t.apply(this,o)},e)}return o.cancel=(()=>{clearTimeout(s)}),o}const SIZE_LIST=["sm","md","lg","xl"],{passive:passive}=listenOpts;var Screen={width:0,height:0,name:"xs",sizes:{sm:600,md:1024,lg:1440,xl:1920},lt:{sm:!0,md:!0,lg:!0,xl:!0},gt:{xs:!1,sm:!1,md:!1,lg:!1},xs:!0,sm:!1,md:!1,lg:!1,xl:!1,setSizes:noop,setDebounce:noop,install(t,e,i){if(!0===isSSR)return void(t.screen=this);const s=void 0!==i.screen&&!0===i.screen.bodyClasses,o=t=>{const e=window.innerWidth,i=window.innerHeight;if(i!==this.height&&(this.height=i),e!==this.width)this.width=e;else if(!0!==t)return;let o=this.sizes;this.gt.xs=e>=o.sm,this.gt.sm=e>=o.md,this.gt.md=e>=o.lg,this.gt.lg=e>=o.xl,this.lt.sm=e<o.sm,this.lt.md=e<o.md,this.lt.lg=e<o.lg,this.lt.xl=e<o.xl,this.xs=this.lt.sm,this.sm=!0===this.gt.xs&&!0===this.lt.md,this.md=!0===this.gt.sm&&!0===this.lt.lg,this.lg=!0===this.gt.md&&!0===this.lt.xl,this.xl=this.gt.lg,(o=(!0===this.xs?"xs":!0===this.sm&&"sm")||!0===this.md&&"md"||!0===this.lg&&"lg"||"xl")!==this.name&&(!0===s&&(document.body.classList.remove(`screen--${this.name}`),document.body.classList.add(`screen--${o}`)),this.name=o)};let n,r={},a=16;this.setSizes=(t=>{SIZE_LIST.forEach(e=>{void 0!==t[e]&&(r[e]=t[e])})}),this.setDebounce=(t=>{a=t});const l=()=>{const t=getComputedStyle(document.body),e=void 0!==window.visualViewport?window.visualViewport:window;t.getPropertyValue("--q-size-sm")&&SIZE_LIST.forEach(e=>{this.sizes[e]=parseInt(t.getPropertyValue(`--q-size-${e}`),10)}),this.setSizes=(t=>{SIZE_LIST.forEach(e=>{t[e]&&(this.sizes[e]=t[e])}),o(!0)}),this.setDebounce=(t=>{void 0!==n&&e.removeEventListener("resize",n,passive),n=t>0?debounce(o,t):o,e.addEventListener("resize",n,passive)}),this.setDebounce(a),Object.keys(r).length>0?(this.setSizes(r),r=void 0):o(),!0===s&&"xs"===this.name&&document.body.classList.add("screen--xs")};!0===fromSSR?e.takeover.push(l):l(),Vue.util.defineReactive(t,"screen",this)}};const Dark={isActive:!1,mode:!1,install(t,e,{dark:i}){if(this.isActive=!0===i,!0===isSSR)return e.server.push((t,e)=>{t.dark={isActive:!1,mode:!1,set:i=>{e.ssr.Q_BODY_CLASSES=e.ssr.Q_BODY_CLASSES.replace(" body--light","").replace(" body--dark","")+` body--${!0===i?"dark":"light"}`,t.dark.isActive=!0===i,t.dark.mode=i},toggle:()=>{t.dark.set(!1===t.dark.isActive)}},t.dark.set(i)}),void(this.set=noop);const s=void 0!==i&&i;if(!0===fromSSR){const t=t=>{this.__fromSSR=t},i=this.set;this.set=t,t(s),e.takeover.push(()=>{this.set=i,this.set(this.__fromSSR)})}else this.set(s);Vue.util.defineReactive(this,"isActive",this.isActive),Vue.util.defineReactive(t,"dark",this)},set(t){this.mode=t,"auto"===t?(void 0===this.__media&&(this.__media=window.matchMedia("(prefers-color-scheme: dark)"),this.__updateMedia=(()=>{this.set("auto")}),this.__media.addListener(this.__updateMedia)),t=this.__media.matches):void 0!==this.__media&&(this.__media.removeListener(this.__updateMedia),this.__media=void 0),this.isActive=!0===t,document.body.classList.remove(`body--${!0===t?"light":"dark"}`),document.body.classList.add(`body--${!0===t?"dark":"light"}`)},toggle(){Dark.set(!1===Dark.isActive)},__media:void 0},getTrue=()=>!0;function filterInvalidPath(t){return"string"==typeof t&&""!==t&&"/"!==t&&"#/"!==t}function normalizeExitPath(t){return!0===t.startsWith("#")&&(t=t.substr(1)),!1===t.startsWith("/")&&(t="/"+t),!0===t.endsWith("/")&&(t=t.substr(0,t.length-1)),"#"+t}function getShouldExitFn(t){if(!1===t.backButtonExit)return()=>!1;if("*"===t.backButtonExit)return getTrue;const e=["#/"];return!0===Array.isArray(t.backButtonExit)&&e.push(...t.backButtonExit.filter(filterInvalidPath).map(normalizeExitPath)),()=>e.includes(window.location.hash)}var History={__history:[],add:noop,remove:noop,install(t){if(!0===isSSR)return;const{cordova:e,capacitor:i}=client.is;if(!0!==e&&!0!==i)return;const s=t[!0===e?"cordova":"capacitor"];if(void 0!==s&&!1===s.backButton)return;if(!0===i&&(void 0===window.Capacitor||void 0===window.Capacitor.Plugins.App))return;this.add=(t=>{void 0===t.condition&&(t.condition=getTrue),this.__history.push(t)}),this.remove=(t=>{const e=this.__history.indexOf(t);e>=0&&this.__history.splice(e,1)});const o=getShouldExitFn(Object.assign({backButtonExit:!0},s)),n=()=>{if(this.__history.length){const t=this.__history[this.__history.length-1];!0===t.condition()&&(this.__history.pop(),t.handler())}else!0===o()?navigator.app.exitApp():window.history.back()};!0===e?document.addEventListener("deviceready",()=>{document.addEventListener("backbutton",n,!1)}):window.Capacitor.Plugins.App.addListener("backButton",n)}},langEn={isoName:"en-us",nativeName:"English (US)",label:{clear:"Clear",ok:"OK",cancel:"Cancel",close:"Close",set:"Set",select:"Select",reset:"Reset",remove:"Remove",update:"Update",create:"Create",search:"Search",filter:"Filter",refresh:"Refresh"},date:{days:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),daysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),firstDayOfWeek:0,format24h:!1,pluralDay:"days"},table:{noData:"No data available",noResults:"No matching records found",loading:"Loading...",selectedRecords:function(t){return 1===t?"1 record selected.":(0===t?"No":t)+" records selected."},recordsPerPage:"Records per page:",allRows:"All",pagination:function(t,e,i){return t+"-"+e+" of "+i},columns:"Columns"},editor:{url:"URL",bold:"Bold",italic:"Italic",strikethrough:"Strikethrough",underline:"Underline",unorderedList:"Unordered List",orderedList:"Ordered List",subscript:"Subscript",superscript:"Superscript",hyperlink:"Hyperlink",toggleFullscreen:"Toggle Fullscreen",quote:"Quote",left:"Left align",center:"Center align",right:"Right align",justify:"Justify align",print:"Print",outdent:"Decrease indentation",indent:"Increase indentation",removeFormat:"Remove formatting",formatting:"Formatting",fontSize:"Font Size",align:"Align",hr:"Insert Horizontal Rule",undo:"Undo",redo:"Redo",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",heading4:"Heading 4",heading5:"Heading 5",heading6:"Heading 6",paragraph:"Paragraph",code:"Code",size1:"Very small",size2:"A bit small",size3:"Normal",size4:"Medium-large",size5:"Big",size6:"Very big",size7:"Maximum",defaultFont:"Default Font",viewSource:"View Source"},tree:{noNodes:"No nodes available",noResults:"No matching nodes found"}};function getLocale(){if(!0===isSSR)return;const t=navigator.language||navigator.languages[0]||navigator.browserLanguage||navigator.userLanguage||navigator.systemLanguage;return t?t.toLowerCase():void 0}var lang={getLocale:getLocale,install(t,e,i){const s=i||langEn;this.set=((e=langEn,i)=>{const s={...e,rtl:!0===e.rtl,getLocale:getLocale};if(!0===isSSR){if(void 0===i)return void console.error("SSR ERROR: second param required: Quasar.lang.set(lang, ssrContext)");const t=!0===s.rtl?"rtl":"ltr",e=`lang=${s.isoName} dir=${t}`;s.set=i.$q.lang.set,i.Q_HTML_ATTRS=void 0!==i.Q_PREV_LANG?i.Q_HTML_ATTRS.replace(i.Q_PREV_LANG,e):e,i.Q_PREV_LANG=e,i.$q.lang=s}else{if(!1===fromSSR){const t=document.documentElement;t.setAttribute("dir",!0===s.rtl?"rtl":"ltr"),t.setAttribute("lang",s.isoName)}s.set=this.set,t.lang=this.props=s,this.isoName=s.isoName,this.nativeName=s.nativeName}}),!0===isSSR?(e.server.push((t,e)=>{t.lang={},t.lang.set=(t=>{this.set(t,e.ssr)}),t.lang.set(s)}),this.isoName=s.isoName,this.nativeName=s.nativeName,this.props=s):(Vue.util.defineReactive(t,"lang",{}),this.set(s))}};const reRGBA=/^rgb(a)?\((\d{1,3}),(\d{1,3}),(\d{1,3}),?([01]?\.?\d*?)?\)$/;function rgbToHex({r:t,g:e,b:i,a:s}){const o=void 0!==s;if(t=Math.round(t),e=Math.round(e),i=Math.round(i),t>255||e>255||i>255||o&&s>100)throw new TypeError("Expected 3 numbers below 256 (and optionally one below 100)");return s=o?(256|Math.round(255*s/100)).toString(16).slice(1):"","#"+(i|e<<8|t<<16|1<<24).toString(16).slice(1)+s}function rgbToString({r:t,g:e,b:i,a:s}){return`rgb${void 0!==s?"a":""}(${t},${e},${i}${void 0!==s?","+s/100:""})`}function hexToRgb(t){if("string"!=typeof t)throw new TypeError("Expected a string");3===(t=t.replace(/^#/,"")).length?t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]:4===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]);const e=parseInt(t,16);return t.length>6?{r:e>>24&255,g:e>>16&255,b:e>>8&255,a:Math.round((255&e)/2.55)}:{r:e>>16,g:e>>8&255,b:255&e}}function hsvToRgb({h:t,s:e,v:i,a:s}){let o,n,r;e/=100,i/=100,t/=360;const a=Math.floor(6*t),l=6*t-a,h=i*(1-e),d=i*(1-l*e),c=i*(1-(1-l)*e);switch(a%6){case 0:o=i,n=c,r=h;break;case 1:o=d,n=i,r=h;break;case 2:o=h,n=i,r=c;break;case 3:o=h,n=d,r=i;break;case 4:o=c,n=h,r=i;break;case 5:o=i,n=h,r=d}return{r:Math.round(255*o),g:Math.round(255*n),b:Math.round(255*r),a:s}}function rgbToHsv({r:t,g:e,b:i,a:s}){const o=Math.max(t,e,i),n=Math.min(t,e,i),r=o-n,a=0===o?0:r/o,l=o/255;let h;switch(o){case n:h=0;break;case t:h=e-i+r*(e<i?6:0),h/=6*r;break;case e:h=i-t+2*r,h/=6*r;break;case i:h=t-e+4*r,h/=6*r}return{h:Math.round(360*h),s:Math.round(100*a),v:Math.round(100*l),a:s}}function textToRgb(t){if("string"!=typeof t)throw new TypeError("Expected a string");const e=t.replace(/ /g,""),i=reRGBA.exec(e);if(null===i)return hexToRgb(e);const s={r:Math.min(255,parseInt(i[2],10)),g:Math.min(255,parseInt(i[3],10)),b:Math.min(255,parseInt(i[4],10))};if(i[1]){const t=parseFloat(i[5]);s.a=100*Math.min(1,!0===isNaN(t)?1:t)}return s}function lighten(t,e){if("string"!=typeof t)throw new TypeError("Expected a string as color");if("number"!=typeof e)throw new TypeError("Expected a numeric percent");const i=textToRgb(t),s=e<0?0:255,o=Math.abs(e)/100,n=i.r,r=i.g,a=i.b;return"#"+(16777216+65536*(Math.round((s-n)*o)+n)+256*(Math.round((s-r)*o)+r)+(Math.round((s-a)*o)+a)).toString(16).slice(1)}function luminosity(t){if("string"!=typeof t&&(!t||void 0===t.r))throw new TypeError("Expected a string or a {r, g, b} object as color");const e="string"==typeof t?textToRgb(t):t,i=e.r/255,s=e.g/255,o=e.b/255;return.2126*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.7152*(s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4))+.0722*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))}function brightness(t){if("string"!=typeof t&&(!t||void 0===t.r))throw new TypeError("Expected a string or a {r, g, b} object as color");const e="string"==typeof t?textToRgb(t):t;return(299*e.r+587*e.g+114*e.b)/1e3}function blend(t,e){if("string"!=typeof t&&(!t||void 0===t.r))throw new TypeError("Expected a string or a {r, g, b[, a]} object as fgColor");if("string"!=typeof e&&(!e||void 0===e.r))throw new TypeError("Expected a string or a {r, g, b[, a]} object as bgColor");const i="string"==typeof t?textToRgb(t):t,s=i.r/255,o=i.g/255,n=i.b/255,r=void 0!==i.a?i.a/100:1,a="string"==typeof e?textToRgb(e):e,l=a.r/255,h=a.g/255,d=a.b/255,c=void 0!==a.a?a.a/100:1,u=r+c*(1-r),p={r:Math.round((s*r+l*c*(1-r))/u*255),g:Math.round((o*r+h*c*(1-r))/u*255),b:Math.round((n*r+d*c*(1-r))/u*255),a:Math.round(100*u)};return"string"==typeof t?rgbToHex(p):p}function changeAlpha(t,e){if("string"!=typeof t)throw new TypeError("Expected a string as color");if(void 0===e||e<-1||e>1)throw new TypeError("Expected offset to be between -1 and 1");const{r:i,g:s,b:o,a:n}=textToRgb(t),r=void 0!==n?n/100:0;return rgbToHex({r:i,g:s,b:o,a:Math.round(100*Math.min(1,Math.max(0,r+e)))})}function setBrand(t,e,i=document.body){if("string"!=typeof t)throw new TypeError("Expected a string as color");if("string"!=typeof e)throw new TypeError("Expected a string as value");if(!(i instanceof Element))throw new TypeError("Expected a DOM element");i.style.setProperty(`--q-color-${t}`,e)}function getBrand(t,e=document.body){if("string"!=typeof t)throw new TypeError("Expected a string as color");if(!(e instanceof Element))throw new TypeError("Expected a DOM element");return getComputedStyle(e).getPropertyValue(`--q-color-${t}`).trim()||null}function getPaletteColor(t){if("string"!=typeof t)throw new TypeError("Expected a string as color");const e=document.createElement("div");e.className=`text-${t} invisible fixed no-pointer-events`,document.body.appendChild(e);const i=getComputedStyle(e).getPropertyValue("color");return e.remove(),rgbToHex(textToRgb(i))}var colors={rgbToHex:rgbToHex,hexToRgb:hexToRgb,hsvToRgb:hsvToRgb,rgbToHsv:rgbToHsv,textToRgb:textToRgb,lighten:lighten,luminosity:luminosity,brightness:brightness,blend:blend,changeAlpha:changeAlpha,setBrand:setBrand,getBrand:getBrand,getPaletteColor:getPaletteColor};let lastKeyCompositionStatus=!1;function onKeyDownComposition(t){lastKeyCompositionStatus=!0===t.isComposing}function shouldIgnoreKey(t){return!0===lastKeyCompositionStatus||t!==Object(t)||!0===t.isComposing||!0===t.qKeyEvent}function isKeyCode(t,e){return!0!==shouldIgnoreKey(t)&&[].concat(e).includes(t.keyCode)}function getMobilePlatform(t){return!0===t.ios?"ios":!0===t.android?"android":void 0}function getBodyClasses({is:t,has:e,within:i},s){const o=[!0===t.desktop?"desktop":"mobile",`${!1===e.touch?"no-":""}touch`];if(!0===t.mobile){const e=getMobilePlatform(t);void 0!==e&&o.push("platform-"+e)}if(!0===t.nativeMobile){const e=t.nativeMobileWrapper;o.push(e),o.push("native-mobile"),!0!==t.ios||void 0!==s[e]&&!1===s[e].iosStatusBarPadding||o.push("q-ios-padding")}else!0===t.electron?o.push("electron"):!0===t.bex&&o.push("bex");return!0===i.iframe&&o.push("within-iframe"),o}function clientUpdate(){const t=document.body.className;let e=t;void 0!==iosCorrection&&(e=e.replace("desktop","platform-ios mobile")),!0===client.has.touch&&(e=e.replace("no-touch","touch")),!0===client.within.iframe&&(e+=" within-iframe"),t!==e&&(document.body.className=e)}function setColors(t){for(const e in t)setBrand(e,t[e])}var Body={install(t,e){if(!0!==isSSR){if(!0===fromSSR)clientUpdate();else{const t=getBodyClasses(client,e);!0===client.is.ie&&11===client.is.versionNumber?t.forEach(t=>document.body.classList.add(t)):document.body.classList.add.apply(document.body.classList,t)}void 0!==e.brand&&setColors(e.brand),!0===client.is.ios&&document.body.addEventListener("touchstart",noop),window.addEventListener("keydown",onKeyDownComposition,!0)}else t.server.push((t,i)=>{const s=getBodyClasses(t.platform,e),o=i.ssr.setBodyClasses;void 0!==e.screen&&!0===e.screen.bodyClass&&s.push("screen--xs"),"function"==typeof o?o(s):i.ssr.Q_BODY_CLASSES=s.join(" ")})}},materialIcons={name:"material-icons",type:{positive:"check_circle",negative:"warning",info:"info",warning:"priority_high"},arrow:{up:"arrow_upward",right:"arrow_forward",down:"arrow_downward",left:"arrow_back",dropdown:"arrow_drop_down"},chevron:{left:"chevron_left",right:"chevron_right"},colorPicker:{spectrum:"gradient",tune:"tune",palette:"style"},pullToRefresh:{icon:"refresh"},carousel:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down",navigationIcon:"lens"},chip:{remove:"cancel",selected:"check"},datetime:{arrowLeft:"chevron_left",arrowRight:"chevron_right",now:"access_time",today:"today"},editor:{bold:"format_bold",italic:"format_italic",strikethrough:"strikethrough_s",underline:"format_underlined",unorderedList:"format_list_bulleted",orderedList:"format_list_numbered",subscript:"vertical_align_bottom",superscript:"vertical_align_top",hyperlink:"link",toggleFullscreen:"fullscreen",quote:"format_quote",left:"format_align_left",center:"format_align_center",right:"format_align_right",justify:"format_align_justify",print:"print",outdent:"format_indent_decrease",indent:"format_indent_increase",removeFormat:"format_clear",formatting:"text_format",fontSize:"format_size",align:"format_align_left",hr:"remove",undo:"undo",redo:"redo",heading:"format_size",code:"code",size:"format_size",font:"font_download",viewSource:"code"},expansionItem:{icon:"keyboard_arrow_down",denseIcon:"arrow_drop_down"},fab:{icon:"add",activeIcon:"close"},field:{clear:"cancel",error:"error"},pagination:{first:"first_page",prev:"keyboard_arrow_left",next:"keyboard_arrow_right",last:"last_page"},rating:{icon:"grade"},stepper:{done:"check",active:"edit",error:"warning"},tabs:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down"},table:{arrowUp:"arrow_upward",warning:"warning",firstPage:"first_page",prevPage:"chevron_left",nextPage:"chevron_right",lastPage:"last_page"},tree:{icon:"play_arrow"},uploader:{done:"done",clear:"clear",add:"add_box",upload:"cloud_upload",removeQueue:"clear_all",removeUploaded:"done_all"}},iconSet={install(t,e,i){const s=i||materialIcons;this.set=((e,i)=>{const s={...e};if(!0===isSSR){if(void 0===i)return void console.error("SSR ERROR: second param required: Quasar.iconSet.set(iconSet, ssrContext)");s.set=i.$q.iconSet.set,i.$q.iconSet=s}else s.set=this.set,t.iconSet=s}),!0===isSSR?e.server.push((t,e)=>{t.iconSet={},t.iconSet.set=(t=>{this.set(t,e.ssr)}),t.iconSet.set(s)}):(Vue.util.defineReactive(t,"iconMapFn",void 0),Vue.util.defineReactive(t,"iconSet",{}),this.set(s))}};const autoInstalled=[Platform,Screen,Dark],queues={server:[],takeover:[]},$q={version:version,config:{}};function install(t,e={}){if(!0===this.__qInstalled)return;this.__qInstalled=!0;const i=$q.config=Object.freeze(e.config||{});if(Platform.install($q,queues),Body.install(queues,i),Dark.install($q,queues,i),Screen.install($q,queues,i),History.install(i),lang.install($q,queues,e.lang),iconSet.install($q,queues,e.iconSet),!0===isSSR?t.mixin({beforeCreate(){this.$q=this.$root.$options.$q}}):t.prototype.$q=$q,e.components&&Object.keys(e.components).forEach(i=>{const s=e.components[i];"function"==typeof s&&t.component(s.options.name,s)}),e.directives&&Object.keys(e.directives).forEach(i=>{const s=e.directives[i];void 0!==s.name&&void 0!==s.unbind&&t.directive(s.name,s)}),e.plugins){const t={$q:$q,queues:queues,cfg:i};Object.keys(e.plugins).forEach(i=>{const s=e.plugins[i];"function"==typeof s.install&&!1===autoInstalled.includes(s)&&s.install(t)})}}const mixin={mounted(){queues.takeover.forEach(t=>{t(this.$q)})}};function ssrUpdate(t){if(t.ssr){const e={...$q,ssrContext:t.ssr};Object.assign(t.ssr,{Q_HEAD_TAGS:"",Q_BODY_ATTRS:"",Q_BODY_TAGS:""}),t.app.$q=t.ssr.$q=e,queues.server.forEach(i=>{i(e,t)})}else{const e=t.app.mixins||[];!1===e.includes(mixin)&&(t.app.mixins=e.concat(mixin))}}var VuePlugin={version:version,install:install,lang:lang,iconSet:iconSet,ssrUpdate:ssrUpdate};const units=["B","KB","MB","GB","TB","PB"];function humanStorageSize(t){let e=0;for(;parseInt(t,10)>=1024&&e<units.length-1;)t/=1024,++e;return`${t.toFixed(1)}${units[e]}`}function capitalize(t){return t.charAt(0).toUpperCase()+t.slice(1)}function between(t,e,i){return i<=e?e:Math.min(i,Math.max(e,t))}function normalizeToInterval(t,e,i){if(i<=e)return e;const s=i-e+1;let o=e+(t-e)%s;return o<e&&(o=s+o),0===o?0:o}function pad(t,e=2,i="0"){if(void 0===t||null===t)return t;const s=""+t;return s.length>=e?s:new Array(e-s.length+1).join(i)+s}var format={humanStorageSize:humanStorageSize,capitalize:capitalize,between:between,normalizeToInterval:normalizeToInterval,pad:pad};function cache(t,e,i){if(!0===isSSR)return i;const s=`__qcache_${e}`;return void 0===t[s]?t[s]=i:t[s]}function cacheWithFn(t,e,i){if(!0===isSSR)return i();const s=`__qcache_${e}`;return void 0===t[s]?t[s]=i():t[s]}function getPropCacheMixin(t,e){return{data(){const i={},s=this[t];for(const t in s)i[t]=s[t];return{[e]:i}},watch:{[t](t,i){const s=this[e];if(void 0!==i)for(const e in i)void 0===t[e]&&this.$delete(s,e);for(const e in t)s[e]!==t[e]&&this.$set(s,e,t[e])}}}}const ariaHidden={"aria-hidden":"true"};var AttrsMixin=getPropCacheMixin("$attrs","qAttrs");const xhr=isSSR?null:XMLHttpRequest,send=isSSR?null:xhr.prototype.send,stackStart=[],stackStop=[];let highjackCount=0;function translate({p:t,pos:e,active:i,horiz:s,reverse:o,dir:n}){let r=1,a=1;return s?(o&&(r=-1),"bottom"===e&&(a=-1),{transform:`translate3d(${r*(t-100)}%,${i?0:-200*a}%,0)`}):(o&&(a=-1),"right"===e&&(r=-1),{transform:`translate3d(${i?0:n*r*-200}%,${a*(t-100)}%,0)`})}function inc(t,e){return"number"!=typeof e&&(e=t<25?3*Math.random()+3:t<65?3*Math.random():t<85?2*Math.random():t<99?.6:0),between(t+e,0,100)}function highjackAjax(t,e){function i(){stackStop.forEach(t=>{t()})}stackStart.push(t),stackStop.push(e),++highjackCount>1||(xhr.prototype.send=function(){stackStart.forEach(t=>{t()}),this.addEventListener("loadend",i,!1),send.apply(this,arguments)})}function restoreAjax(t,e){stackStart.splice(stackStart.indexOf(t),1),stackStop.splice(stackStop.indexOf(e),1),(highjackCount=Math.max(0,highjackCount-1))||(xhr.prototype.send=send)}var QAjaxBar=Vue.extend({name:"QAjaxBar",props:{position:{type:String,default:"top",validator:t=>["top","right","bottom","left"].includes(t)},size:{type:String,default:"2px"},color:String,skipHijack:Boolean,reverse:Boolean},data:()=>({calls:0,progress:0,onScreen:!1,animate:!0}),computed:{classes(){return`q-loading-bar q-loading-bar--${this.position}`+(void 0!==this.color?` bg-${this.color}`:"")+(!0===this.animate?"":" no-transition")},style(){const t=this.onScreen,e=translate({p:this.progress,pos:this.position,active:t,horiz:this.horizontal,reverse:!0===this.$q.lang.rtl&&["top","bottom"].includes(this.position)?!this.reverse:this.reverse,dir:!0===this.$q.lang.rtl?-1:1});return e[this.sizeProp]=this.size,e.opacity=t?1:0,e},horizontal(){return"top"===this.position||"bottom"===this.position},sizeProp(){return this.horizontal?"height":"width"},attrs(){return!0===this.onScreen?{role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":this.progress}:ariaHidden}},methods:{start(t=300){const e=this.speed;this.speed=Math.max(0,t)||0,this.calls++,this.calls>1?0===e&&t>0?this.__work():e>0&&t<=0&&clearTimeout(this.timer):(clearTimeout(this.timer),this.$emit("start"),this.progress=0,!0!==this.onScreen&&(this.onScreen=!0,this.animate=!1,this.timer=setTimeout(()=>{this.animate=!0,t>0&&this.__work()},100)))},increment(t){this.calls>0&&(this.progress=inc(this.progress,t))},stop(){if(this.calls=Math.max(0,this.calls-1),this.calls>0)return;clearTimeout(this.timer),this.$emit("stop");const t=()=>{this.animate=!0,this.progress=100,this.timer=setTimeout(()=>{this.onScreen=!1},1e3)};0===this.progress?this.timer=setTimeout(t,1):t()},__work(){this.progress<100&&(this.timer=setTimeout(()=>{this.increment(),this.__work()},this.speed))}},mounted(){!0!==this.skipHijack&&(this.hijacked=!0,highjackAjax(this.start,this.stop))},beforeDestroy(){clearTimeout(this.timer),!0===this.hijacked&&restoreAjax(this.start,this.stop)},render(t){return t("div",{class:this.classes,style:this.style,attrs:this.attrs})}});const sizes={xs:18,sm:24,md:32,lg:38,xl:46};function getSizeMixin(t){return{props:{size:String},computed:{sizeStyle(){if(void 0!==this.size)return{fontSize:this.size in t?`${t[this.size]}px`:this.size}}}}}var SizeMixin=getSizeMixin(sizes),TagMixin={props:{tag:{type:String,default:"div"}}},ListenersMixin=getPropCacheMixin("$listeners","qListeners");function slot(t,e,i){return void 0!==t.$scopedSlots[e]?t.$scopedSlots[e]():i}function uniqueSlot(t,e,i){return void 0!==t.$scopedSlots[e]?t.$scopedSlots[e]().slice():i}function mergeSlot(t,e,i){return void 0!==e.$scopedSlots[i]?t.concat(e.$scopedSlots[i]()):t}function mergeSlotSafely(t,e,i){if(void 0===e.$scopedSlots[i])return t;const s=e.$scopedSlots[i]();return void 0!==t?t.concat(s):s}var QIcon=Vue.extend({name:"QIcon",mixins:[ListenersMixin,SizeMixin,TagMixin],props:{tag:{default:"i"},name:String,color:String,left:Boolean,right:Boolean},computed:{classes(){return"q-icon notranslate"+(!0===this.left?" on-left":"")+(!0===this.right?" on-right":"")+(void 0!==this.color?` text-${this.color}`:"")},type(){let t,e=this.name;if(!e)return{none:!0,cls:this.classes};if(void 0!==this.$q.iconMapFn){const t=this.$q.iconMapFn(e);if(void 0!==t){if(void 0===t.icon)return{cls:t.cls+" "+this.classes,content:void 0!==t.content?t.content:" "};e=t.icon}}if(!0===e.startsWith("M")){const[t,i]=e.split("|");return{svg:!0,cls:this.classes,nodes:t.split("&&").map(t=>{const[e,i,s]=t.split("@@");return this.$createElement("path",{attrs:{d:e,transform:s},style:i})}),viewBox:void 0!==i?i:"0 0 24 24"}}if(!0===e.startsWith("img:"))return{img:!0,cls:this.classes,src:e.substring(4)};if(!0===e.startsWith("svguse:")){const[t,i]=e.split("|");return{svguse:!0,cls:this.classes,src:t.substring(7),viewBox:void 0!==i?i:"0 0 24 24"}}let i=" ";return/^[l|f]a[s|r|l|b|d]{0,1} /.test(e)||!0===e.startsWith("icon-")?t=e:!0===e.startsWith("bt-")?t=`bt ${e}`:!0===e.startsWith("eva-")?t=`eva ${e}`:!0===/^ion-(md|ios|logo)/.test(e)?t=`ionicons ${e}`:!0===e.startsWith("ion-")?t=`ionicons ion-${!0===this.$q.platform.is.ios?"ios":"md"}${e.substr(3)}`:!0===e.startsWith("mdi-")?t=`mdi ${e}`:!0===e.startsWith("iconfont ")?t=`${e}`:!0===e.startsWith("ti-")?t=`themify-icon ${e}`:!0===e.startsWith("bi-")?t=`bootstrap-icons ${e}`:(t="material-icons",!0===e.startsWith("o_")?(e=e.substring(2),t+="-outlined"):!0===e.startsWith("r_")?(e=e.substring(2),t+="-round"):!0===e.startsWith("s_")&&(e=e.substring(2),t+="-sharp"),i=e),{cls:t+" "+this.classes,content:i}}},render(t){const e={class:this.type.cls,style:this.sizeStyle,on:{...this.qListeners},attrs:{"aria-hidden":"true",role:"presentation"}};return!0===this.type.none?t(this.tag,e,slot(this,"default")):!0===this.type.img?(e.attrs.src=this.type.src,t("img",e)):!0===this.type.svg?(e.attrs.focusable="false",e.attrs.viewBox=this.type.viewBox,t("svg",e,mergeSlot(this.type.nodes,this,"default"))):!0===this.type.svguse?(e.attrs.focusable="false",e.attrs.viewBox=this.type.viewBox,t("svg",e,[t("use",{attrs:{"xlink:href":this.type.src}}),mergeSlot(this.type.nodes,this,"default")])):t(this.tag,e,mergeSlot([this.type.content],this,"default"))}}),QAvatar=Vue.extend({name:"QAvatar",mixins:[ListenersMixin,SizeMixin],props:{fontSize:String,color:String,textColor:String,icon:String,square:Boolean,rounded:Boolean},computed:{classes(){return{[`bg-${this.color}`]:this.color,[`text-${this.textColor} q-chip--colored`]:this.textColor,"q-avatar--square":this.square,"rounded-borders":this.rounded}},contentStyle(){if(this.fontSize)return{fontSize:this.fontSize}}},render(t){const e=void 0!==this.icon?[t(QIcon,{props:{name:this.icon}})]:void 0;return t("div",{staticClass:"q-avatar",style:this.sizeStyle,class:this.classes,on:{...this.qListeners}},[t("div",{staticClass:"q-avatar__content row flex-center overflow-hidden",style:this.contentStyle},mergeSlotSafely(e,this,"default"))])}}),QBadge=Vue.extend({name:"QBadge",mixins:[ListenersMixin],props:{color:String,textColor:String,floating:Boolean,transparent:Boolean,multiLine:Boolean,outline:Boolean,rounded:Boolean,label:[Number,String],align:{type:String,validator:t=>["top","middle","bottom"].includes(t)}},computed:{style(){if(void 0!==this.align)return{verticalAlign:this.align}},classes(){const t=!0===this.outline&&this.color||this.textColor;return"q-badge flex inline items-center no-wrap"+` q-badge--${!0===this.multiLine?"multi":"single"}-line`+(!0===this.outline?" q-badge--outline":void 0!==this.color?` bg-${this.color}`:"")+(void 0!==t?` text-${t}`:"")+(!0===this.floating?" q-badge--floating":"")+(!0===this.rounded?" q-badge--rounded":"")+(!0===this.transparent?" q-badge--transparent":"")},attrs(){return{role:"alert","aria-label":this.label}}},render(t){return t("div",{style:this.style,class:this.classes,attrs:this.attrs,on:{...this.qListeners}},void 0!==this.label?[this.label]:slot(this,"default"))}}),DarkMixin={props:{dark:{type:Boolean,default:null}},computed:{isDark(){return null===this.dark?this.$q.dark.isActive:this.dark}}};const attrs={role:"alert"};var QBanner=Vue.extend({name:"QBanner",mixins:[ListenersMixin,DarkMixin],props:{inlineActions:Boolean,dense:Boolean,rounded:Boolean},render(t){const e=slot(this,"action"),i=[t("div",{staticClass:"q-banner__avatar col-auto row items-center self-start"},slot(this,"avatar")),t("div",{staticClass:"q-banner__content col text-body2"},slot(this,"default"))];return void 0!==e&&i.push(t("div",{staticClass:"q-banner__actions row items-center justify-end",class:`col-${!0===this.inlineActions?"auto":"all"}`},e)),t("div",{staticClass:"q-banner row items-center",class:{"q-banner--top-padding":void 0!==e&&!this.inlineActions,"q-banner--dense":this.dense,"q-banner--dark q-dark":this.isDark,"rounded-borders":this.rounded},attrs:attrs,on:{...this.qListeners}},i)}});const attrs$1={role:"toolbar"};var QBar=Vue.extend({name:"QBar",mixins:[ListenersMixin,DarkMixin],props:{dense:Boolean},computed:{classes(){return`q-bar--${!0===this.dense?"dense":"standard"} `+`q-bar--${!0===this.isDark?"dark":"light"}`}},render(t){return t("div",{staticClass:"q-bar row no-wrap items-center",class:this.classes,attrs:attrs$1,on:{...this.qListeners}},slot(this,"default"))}});const alignMap={left:"start",center:"center",right:"end",between:"between",around:"around",evenly:"evenly",stretch:"stretch"},alignValues=Object.keys(alignMap);var AlignMixin={props:{align:{type:String,validator:t=>alignValues.includes(t)}},computed:{alignClass(){const t=void 0===this.align?!0===this.vertical?"stretch":"left":this.align;return`${!0===this.vertical?"items":"justify"}-${alignMap[t]}`}}},QBreadcrumbs=Vue.extend({name:"QBreadcrumbs",mixins:[ListenersMixin,AlignMixin],props:{separator:{type:String,default:"/"},separatorColor:String,activeColor:{type:String,default:"primary"},gutter:{type:String,validator:t=>["none","xs","sm","md","lg","xl"].includes(t),default:"sm"}},computed:{classes(){return`${this.alignClass}${"none"===this.gutter?"":` q-gutter-${this.gutter}`}`},sepClass(){if(this.separatorColor)return`text-${this.separatorColor}`},activeClass(){return`text-${this.activeColor}`}},render(t){const e=slot(this,"default");if(void 0===e)return;let i=1;const s=[],o=e.filter(t=>void 0!==t.tag&&t.tag.endsWith("-QBreadcrumbsEl")).length,n=void 0!==this.$scopedSlots.separator?this.$scopedSlots.separator:()=>this.separator;return e.forEach(e=>{if(void 0!==e.tag&&e.tag.endsWith("-QBreadcrumbsEl")){const r=i<o;i++,s.push(t("div",{staticClass:"flex items-center",class:r?this.activeClass:"q-breadcrumbs--last"},[e])),r&&s.push(t("div",{staticClass:"q-breadcrumbs__separator",class:this.sepClass},n()))}else s.push(e)}),t("div",{staticClass:"q-breadcrumbs",on:{...this.qListeners}},[t("div",{staticClass:"flex items-center",class:this.classes},s)])}});const routerLinkProps={to:[String,Object],exact:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,disable:Boolean},RouterLinkMixin={props:routerLinkProps,computed:{hasRouterLink(){return!0!==this.disable&&void 0!==this.to&&null!==this.to&&""!==this.to},routerLinkProps(){return{to:this.to,exact:this.exact,append:this.append,replace:this.replace,activeClass:this.activeClass||"q-router-link--active",exactActiveClass:this.exactActiveClass||"q-router-link--exact-active",event:!0===this.disable?[]:void 0}}}};var QBreadcrumbsEl=Vue.extend({name:"QBreadcrumbsEl",mixins:[ListenersMixin,RouterLinkMixin],props:{label:String,icon:String},render(t){const e=[];return void 0!==this.icon&&e.push(t(QIcon,{staticClass:"q-breadcrumbs__el-icon",class:void 0!==this.label?"q-breadcrumbs__el-icon--with-label":null,props:{name:this.icon}})),this.label&&e.push(this.label),t(!0===this.hasRouterLink?"router-link":"span",{staticClass:"q-breadcrumbs__el q-link flex inline items-center relative-position",props:!0===this.hasRouterLink?this.routerLinkProps:null,[!0===this.hasRouterLink?"nativeOn":"on"]:{...this.qListeners}},mergeSlot(e,this,"default"))}}),mixin$1={mixins:[ListenersMixin],props:{color:String,size:{type:[Number,String],default:"1em"}},computed:{cSize(){return this.size in sizes?`${sizes[this.size]}px`:this.size},classes(){if(this.color)return`text-${this.color}`}}},QSpinner=Vue.extend({name:"QSpinner",mixins:[mixin$1],props:{thickness:{type:Number,default:5}},render(t){return t("svg",{staticClass:"q-spinner q-spinner-mat",class:this.classes,on:{...this.qListeners},attrs:{focusable:"false",width:this.cSize,height:this.cSize,viewBox:"25 25 50 50"}},[t("circle",{staticClass:"path",attrs:{cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":this.thickness,"stroke-miterlimit":"10"}})])}});function offset(t){if(t===window)return{top:0,left:0};const{top:e,left:i}=t.getBoundingClientRect();return{top:e,left:i}}function style(t,e){return window.getComputedStyle(t).getPropertyValue(e)}function height(t){return t===window?window.innerHeight:t.getBoundingClientRect().height}function width(t){return t===window?window.innerWidth:t.getBoundingClientRect().width}function css(t,e){const i=t.style;Object.keys(e).forEach(t=>{i[t]=e[t]})}function cssBatch(t,e){t.forEach(t=>css(t,e))}function ready(t){if("function"==typeof t)return"loading"!==document.readyState?t():void document.addEventListener("DOMContentLoaded",t,!1)}function childHasFocus(t,e){if(void 0===t||!0===t.contains(e))return!0;for(let i=t.nextElementSibling;null!==i;i=i.nextElementSibling)if(i.contains(e))return!0;return!1}function getBodyFullscreenElement(t,e){return!0===t?e===document.documentElement||null===e?document.body:e:document.body}var dom={offset:offset,style:style,height:height,width:width,css:css,cssBatch:cssBatch,ready:ready};function throttle(t,e=250){let i,s=!1;return function(){return!1===s&&(s=!0,setTimeout(()=>{s=!1},e),i=t.apply(this,arguments)),i}}function showRipple(t,e,i,s){!0===i.modifiers.stop&&stop(t);const o=i.modifiers.color;let n=i.modifiers.center;n=!0===n||!0===s;const r=document.createElement("span"),a=document.createElement("span"),l=position(t),{left:h,top:d,width:c,height:u}=e.getBoundingClientRect(),p=Math.sqrt(c*c+u*u),m=p/2,g=`${(c-p)/2}px`,f=n?g:`${l.left-h-m}px`,v=`${(u-p)/2}px`,_=n?v:`${l.top-d-m}px`;a.className="q-ripple__inner",css(a,{height:`${p}px`,width:`${p}px`,transform:`translate3d(${f},${_},0) scale3d(.2,.2,1)`,opacity:0}),r.className=`q-ripple${o?" text-"+o:""}`,r.setAttribute("dir","ltr"),r.appendChild(a),e.appendChild(r);const b=()=>{r.remove(),clearTimeout(y)};i.abort.push(b);let y=setTimeout(()=>{a.classList.add("q-ripple__inner--enter"),a.style.transform=`translate3d(${g},${v},0) scale3d(1,1,1)`,a.style.opacity=.2,y=setTimeout(()=>{a.classList.remove("q-ripple__inner--enter"),a.classList.add("q-ripple__inner--leave"),a.style.opacity=0,y=setTimeout(()=>{r.remove(),i.abort.splice(i.abort.indexOf(b),1)},275)},250)},50)}function updateModifiers(t,{modifiers:e,value:i,arg:s}){const o=Object.assign({},$q.config.ripple,e,i);t.modifiers={early:!0===o.early,stop:!0===o.stop,center:!0===o.center,color:o.color||s,keyCodes:[].concat(o.keyCodes||13)}}function destroy(t){const e=t.__qripple;void 0!==e&&(e.abort.forEach(t=>{t()}),cleanEvt(e,"main"),delete t._qripple)}var Ripple={name:"ripple",inserted(t,e){void 0!==t.__qripple&&(destroy(t),t.__qripple_destroyed=!0);const i={enabled:!1!==e.value,modifiers:{},abort:[],start(e){!0===i.enabled&&!0!==e.qSkipRipple&&(!0!==client.is.ie||e.clientX>=0)&&(!0===i.modifiers.early?!0===["mousedown","touchstart"].includes(e.type):"click"===e.type)&&showRipple(e,t,i,!0===e.qKeyEvent)},keystart:throttle(e=>{!0===i.enabled&&!0!==e.qSkipRipple&&!0===isKeyCode(e,i.modifiers.keyCodes)&&e.type===`key${!0===i.modifiers.early?"down":"up"}`&&showRipple(e,t,i,!0)},300)};updateModifiers(i,e),t.__qripple=i,addEvt(i,"main",[[t,"mousedown","start","passive"],[t,"touchstart","start","passive"],[t,"click","start","passive"],[t,"keydown","keystart","passive"],[t,"keyup","keystart","passive"]])},update(t,e){const i=t.__qripple;void 0!==i&&e.oldValue!==e.value&&(i.enabled=!1!==e.value,!0===i.enabled&&Object(e.value)===e.value&&updateModifiers(i,e))},unbind(t){void 0===t.__qripple_destroyed?destroy(t):delete t.__qripple_destroyed}},RippleMixin={directives:{Ripple:Ripple},props:{ripple:{type:[Boolean,Object],default:!0}}};const padding={none:0,xs:4,sm:8,md:16,lg:24,xl:32};var BtnMixin={mixins:[ListenersMixin,RippleMixin,AlignMixin,getSizeMixin({xs:8,sm:10,md:14,lg:20,xl:24})],props:{type:String,to:[Object,String],replace:Boolean,append:Boolean,label:[Number,String],icon:String,iconRight:String,round:Boolean,outline:Boolean,flat:Boolean,unelevated:Boolean,rounded:Boolean,push:Boolean,glossy:Boolean,size:String,fab:Boolean,fabMini:Boolean,padding:String,color:String,textColor:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,tabindex:[Number,String],align:{default:"center"},stack:Boolean,stretch:Boolean,loading:{type:Boolean,default:null},disable:Boolean},computed:{style(){if(!1===this.fab&&!1===this.fabMini)return this.sizeStyle},isRounded(){return!0===this.rounded||!0===this.fab||!0===this.fabMini},isActionable(){return!0!==this.disable&&!0!==this.loading},computedTabIndex(){return!0===this.isActionable?this.tabindex||0:-1},hasRouterLink(){return!0!==this.disable&&void 0!==this.to&&null!==this.to&&""!==this.to},isLink(){return"a"===this.type||!0===this.hasRouterLink},design(){return!0===this.flat?"flat":!0===this.outline?"outline":!0===this.push?"push":!0===this.unelevated?"unelevated":"standard"},currentLocation(){if(!0===this.hasRouterLink)return!0===this.append?this.$router.resolve(this.to,this.$route,!0):this.$router.resolve(this.to)},attrs(){const t={tabindex:this.computedTabIndex};return"a"!==this.type&&(t.type=this.type||"button"),!0===this.hasRouterLink?(t.href=this.currentLocation.href,t.role="link"):t.role="a"===this.type?"link":"button",!0===this.loading&&void 0!==this.percentage&&(t.role="progressbar",t["aria-valuemin"]=0,t["aria-valuemax"]=100,t["aria-valuenow"]=this.percentage),!0===this.disable&&(t.disabled="",t["aria-disabled"]="true"),t},classes(){let t;return void 0!==this.color?t=!0===this.flat||!0===this.outline?`text-${this.textColor||this.color}`:`bg-${this.color} text-${this.textColor||"white"}`:this.textColor&&(t=`text-${this.textColor}`),`q-btn--${this.design} `+`q-btn--${!0===this.round?"round":`rectangle${!0===this.isRounded?" q-btn--rounded":""}`}`+(void 0!==t?" "+t:"")+(!0===this.isActionable?" q-btn--actionable q-focusable q-hoverable":!0===this.disable?" disabled":"")+(!0===this.fab?" q-btn--fab":!0===this.fabMini?" q-btn--fab-mini":"")+(!0===this.noCaps?" q-btn--no-uppercase":"")+(!0===this.noWrap?"":" q-btn--wrap")+(!0===this.dense?" q-btn--dense":"")+(!0===this.stretch?" no-border-radius self-stretch":"")+(!0===this.glossy?" glossy":"")},innerClasses(){return this.alignClass+(!0===this.stack?" column":" row")+(!0===this.noWrap?" no-wrap text-no-wrap":"")+(!0===this.loading?" q-btn__content--hidden":"")},wrapperStyle(){if(void 0!==this.padding)return{padding:this.padding.split(/\s+/).map(t=>t in padding?padding[t]+"px":t).join(" "),minWidth:"0",minHeight:"0"}}}};const directions=["left","right","up","down","horizontal","vertical"],modifiersAll={left:!0,right:!0,up:!0,down:!0,horizontal:!0,vertical:!0,all:!0};function getModifierDirections(t){const e={};return directions.forEach(i=>{t[i]&&(e[i]=!0)}),0===Object.keys(e).length?modifiersAll:(!0===e.horizontal&&(e.left=e.right=!0),!0===e.vertical&&(e.up=e.down=!0),!0===e.left&&!0===e.right&&(e.horizontal=!0),!0===e.up&&!0===e.down&&(e.vertical=!0),!0===e.horizontal&&!0===e.vertical&&(e.all=!0),e)}const getTouchTarget=!1===isSSR&&!0!==iosEmulated&&(!0===client.is.ios||window.navigator.vendor.toLowerCase().indexOf("apple")>-1)?()=>document:t=>t;function shouldStart(t,e){return void 0===e.event&&void 0!==t.target&&!0!==t.target.draggable&&"function"==typeof e.handler&&"INPUT"!==t.target.nodeName.toUpperCase()&&(void 0===t.qClonedBy||-1===t.qClonedBy.indexOf(e.uid))}const{passiveCapture:passiveCapture}=listenOpts;let touchTarget=void 0,keyboardTarget=void 0,mouseTarget=void 0;const iconAttrs={role:"img","aria-hidden":"true"};var QBtn=Vue.extend({name:"QBtn",mixins:[BtnMixin],props:{percentage:Number,darkPercentage:Boolean},computed:{hasLabel(){return void 0!==this.label&&null!==this.label&&""!==this.label},computedRipple(){return!1!==this.ripple&&{keyCodes:!0===this.isLink?[13,32]:[13],...!0===this.ripple?{}:this.ripple}},percentageStyle(){const t=Math.max(0,Math.min(100,this.percentage));if(t>0)return{transition:"transform 0.6s",transform:`translateX(${t-100}%)`}},onEvents(){if(!0===this.loading)return{mousedown:this.__onLoadingEvt,touchstart:this.__onLoadingEvt,click:this.__onLoadingEvt,keydown:this.__onLoadingEvt,keyup:this.__onLoadingEvt};if(!0===this.isActionable){const t={...this.qListeners,click:this.click,keydown:this.__onKeydown,mousedown:this.__onMousedown};return!0===this.$q.platform.has.touch&&(t.touchstart=this.__onTouchstart),t}return{click:stopAndPrevent}},directives(){if(!0!==this.disable&&!1!==this.ripple)return[{name:"ripple",value:this.computedRipple,modifiers:{center:this.round}}]}},methods:{click(t){if(void 0!==t){if(!0===t.defaultPrevented)return;const e=document.activeElement;if("submit"===this.type&&(!0===this.$q.platform.is.ie&&(t.clientX<0||t.clientY<0)||e!==document.body&&!1===this.$el.contains(e)&&!1===e.contains(this.$el))){this.$el.focus();const t=()=>{document.removeEventListener("keydown",stopAndPrevent,!0),document.removeEventListener("keyup",t,passiveCapture),void 0!==this.$el&&this.$el.removeEventListener("blur",t,passiveCapture)};document.addEventListener("keydown",stopAndPrevent,!0),document.addEventListener("keyup",t,passiveCapture),this.$el.addEventListener("blur",t,passiveCapture)}if(!0===this.hasRouterLink){if(!0===t.ctrlKey||!0===t.shiftKey||!0===t.altKey||!0===t.metaKey)return;stopAndPrevent(t)}}const e=()=>{this.$router[!0===this.replace?"replace":"push"](this.currentLocation.route,void 0,noop)};this.$emit("click",t,e),!0===this.hasRouterLink&&!1!==t.navigate&&e()},__onKeydown(t){!0===isKeyCode(t,[13,32])&&(stopAndPrevent(t),keyboardTarget!==this.$el&&(void 0!==keyboardTarget&&this.__cleanup(),this.$el.focus(),keyboardTarget=this.$el,this.$el.classList.add("q-btn--active"),document.addEventListener("keyup",this.__onPressEnd,!0),this.$el.addEventListener("blur",this.__onPressEnd,passiveCapture))),this.$emit("keydown",t)},__onTouchstart(t){if(touchTarget!==this.$el){void 0!==touchTarget&&this.__cleanup(),touchTarget=this.$el;const e=this.touchTargetEl=getTouchTarget(t.target);e.addEventListener("touchcancel",this.__onPressEnd,passiveCapture),e.addEventListener("touchend",this.__onPressEnd,passiveCapture)}this.avoidMouseRipple=!0,clearTimeout(this.mouseTimer),this.mouseTimer=setTimeout(()=>{this.avoidMouseRipple=!1},200),this.$emit("touchstart",t)},__onMousedown(t){mouseTarget!==this.$el&&(void 0!==mouseTarget&&this.__cleanup(),mouseTarget=this.$el,this.$el.classList.add("q-btn--active"),document.addEventListener("mouseup",this.__onPressEnd,passiveCapture)),t.qSkipRipple=!0===this.avoidMouseRipple,this.$emit("mousedown",t)},__onPressEnd(t){if(void 0===t||"blur"!==t.type||document.activeElement!==this.$el){if(void 0!==t&&"keyup"===t.type){if(keyboardTarget===this.$el&&!0===isKeyCode(t,[13,32])){const e=