quasar
Version:
Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time
6 lines • 497 kB
JavaScript
/*!
* Quasar Framework v2.11.9
* (c) 2015-present Razvan Stoenescu
* Released under the MIT License.
*/
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var vue=require("vue");function injectProp(e,t,o,n){return Object.defineProperty(e,t,{get:o,set:n,enumerable:!0}),e}function injectMultipleProps(e,t){for(const o in t)injectProp(e,o,t[o]);return e}const isRuntimeSsrPreHydration={value:!0};function getMatch(e,t){const o=/(edg|edge|edga|edgios)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(vivaldi)[\/]([\w.]+)/.exec(e)||/(chrome|crios)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(firefox|fxios)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[\/]([\w.]+)/.exec(e)||[];return{browser:o[5]||o[3]||o[1]||"",version:o[2]||o[4]||"0",versionNumber:o[4]||o[2]||"0",platform:t[0]||""}}function getPlatformMatch(e){return/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(silk)/.exec(e)||/(android)/.exec(e)||/(win)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||/(playbook)/.exec(e)||/(bb)/.exec(e)||/(blackberry)/.exec(e)||[]}function getPlatform(e){const t=e.toLowerCase(),o=getPlatformMatch(t),n=getMatch(t,o),a={};n.browser&&(a[n.browser]=!0,a.version=n.version,a.versionNumber=parseInt(n.versionNumber,10)),n.platform&&(a[n.platform]=!0);const l=a.android||a.ios||a.bb||a.blackberry||a.ipad||a.iphone||a.ipod||a.kindle||a.playbook||a.silk||a["windows phone"];return!0===l||t.indexOf("mobile")>-1?(a.mobile=!0,a.edga||a.edgios?(a.edge=!0,n.browser="edge"):a.crios?(a.chrome=!0,n.browser="chrome"):a.fxios&&(a.firefox=!0,n.browser="firefox")):a.desktop=!0,(a.ipod||a.ipad||a.iphone)&&(a.ios=!0),a["windows phone"]&&(a.winphone=!0,delete a["windows phone"]),(a.chrome||a.opr||a.safari||a.vivaldi||!0===a.mobile&&!0!==a.ios&&!0!==l)&&(a.webkit=!0),a.edg&&(n.browser="edgechromium",a.edgeChromium=!0),(a.safari&&a.blackberry||a.bb)&&(n.browser="blackberry",a.blackberry=!0),a.safari&&a.playbook&&(n.browser="playbook",a.playbook=!0),a.opr&&(n.browser="opera",a.opera=!0),a.safari&&a.android&&(n.browser="android",a.android=!0),a.safari&&a.kindle&&(n.browser="kindle",a.kindle=!0),a.safari&&a.silk&&(n.browser="silk",a.silk=!0),a.vivaldi&&(n.browser="vivaldi",a.vivaldi=!0),a.name=n.browser,a.platform=n.platform,a}const ssrClient={has:{touch:!1,webStorage:!1},within:{iframe:!1}},client=ssrClient,Platform={install(e){const{$q:t}=e;t.platform=this.parseSSR(e.ssrContext)},parseSSR:e=>{const t=e.req.headers["user-agent"]||e.req.headers["User-Agent"]||"";return{...client,userAgent:t,is:getPlatform(t)}}};var defineReactivePlugin=(e,t)=>{return Object.assign(t,e),t};const listenOpts={hasPassive:!1,passiveCapture:!0,notPassiveCapture:!0};try{const e=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,e),window.removeEventListener("qtest",null,e)}catch(e){}function noop(){}function leftClick(e){return 0===e.button}function middleClick(e){return 1===e.button}function rightClick(e){return 2===e.button}function position(e){return e.touches&&e.touches[0]?e=e.touches[0]:e.changedTouches&&e.changedTouches[0]?e=e.changedTouches[0]:e.targetTouches&&e.targetTouches[0]&&(e=e.targetTouches[0]),{top:e.clientY,left:e.clientX}}function getEventPath(e){if(e.path)return e.path;if(e.composedPath)return e.composedPath();const t=[];let o=e.target;while(o){if(t.push(o),"HTML"===o.tagName)return t.push(document),t.push(window),t;o=o.parentElement}}const LINE_HEIGHT=40,PAGE_HEIGHT=800;function getMouseWheelDistance(e){let t=e.deltaX,o=e.deltaY;if((t||o)&&e.deltaMode){const n=1===e.deltaMode?LINE_HEIGHT:PAGE_HEIGHT;t*=n,o*=n}return e.shiftKey&&!t&&([o,t]=[t,o]),{x:t,y:o}}function stop(e){e.stopPropagation()}function prevent(e){!1!==e.cancelable&&e.preventDefault()}function stopAndPrevent(e){!1!==e.cancelable&&e.preventDefault(),e.stopPropagation()}function preventDraggable(e,t){if(void 0===e||!0===t&&!0===e.__dragPrevented)return;const o=!0===t?e=>{e.__dragPrevented=!0,e.addEventListener("dragstart",prevent,listenOpts.notPassiveCapture)}:e=>{delete e.__dragPrevented,e.removeEventListener("dragstart",prevent,listenOpts.notPassiveCapture)};e.querySelectorAll("a, img").forEach(o)}function addEvt(e,t,o){const n=`__q_${t}_evt`;e[n]=void 0!==e[n]?e[n].concat(o):o,o.forEach(t=>{t[0].addEventListener(t[1],e[t[2]],listenOpts[t[3]])})}function cleanEvt(e,t){const o=`__q_${t}_evt`;void 0!==e[o]&&(e[o].forEach(t=>{t[0].removeEventListener(t[1],e[t[2]],listenOpts[t[3]])}),e[o]=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};function debounce(e,t=250,o){let n=null;function a(){const a=arguments,l=()=>{n=null,!0!==o&&e.apply(this,a)};null!==n?clearTimeout(n):!0===o&&e.apply(this,a),n=setTimeout(l,t)}return a.cancel=(()=>{null!==n&&clearTimeout(n)}),a}var Screen=defineReactivePlugin({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({$q:e,onSSRHydrated:t}){e.screen=this}});const Plugin$9=defineReactivePlugin({isActive:!1,mode:!1},{__media:void 0,set(e){},toggle(){},install({$q:e,onSSRHydrated:t,ssrContext:o}){const{dark:n}=e.config;return this.isActive=!0===n,e.dark={isActive:!1,mode:!1,set:t=>{o._meta.bodyClasses=o._meta.bodyClasses.replace(" body--light","").replace(" body--dark","")+` body--${!0===t?"dark":"light"}`,e.dark.isActive=!0===t,e.dark.mode=t},toggle:()=>{e.dark.set(!1===e.dark.isActive)}},void e.dark.set(n)}});var History={__history:[],add:noop,remove:noop,install({$q:e}){}},defaultLang={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",expand:e=>e?`Expand "${e}"`:"Expand",collapse:e=>e?`Collapse "${e}"`:"Collapse"},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:e=>1===e?"1 record selected.":(0===e?"No":e)+" records selected.",recordsPerPage:"Records per page:",allRows:"All",pagination:(e,t,o)=>e+"-"+t+" of "+o,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(){}const Plugin$8=defineReactivePlugin({__langPack:{}},{getLocale:getLocale,set(e=defaultLang,t){const o={...e,rtl:!0===e.rtl,getLocale:getLocale};if(void 0!==t){if(o.set=t.$q.lang.set,void 0===t.$q.config.lang||!0!==t.$q.config.lang.noHtmlAttrs){const e=!0===o.rtl?"rtl":"ltr",n=`lang=${o.isoName} dir=${e}`;t._meta.htmlAttrs=void 0!==t.__qPrevLang?t._meta.htmlAttrs.replace(t.__qPrevLang,n):n,t.__qPrevLang=n}t.$q.lang=o}else console.error("SSR ERROR: second param required: Quasar.lang.set(lang, ssrContext)")},install({$q:e,lang:t,ssrContext:o}){{const n=t||defaultLang;e.lang={},e.lang.set=(e=>{this.set(e,o)}),e.lang.set(n),this.isoName!==n.isoName&&(this.isoName=n.isoName,this.nativeName=n.nativeName,this.props=n)}}});function setCssVar(e,t,o=document.body){if("string"!==typeof e)throw new TypeError("Expected a string as propName");if("string"!==typeof t)throw new TypeError("Expected a string as value");if(!(o instanceof Element))throw new TypeError("Expected a DOM element");o.style.setProperty(`--q-${e}`,t)}function shouldIgnoreKey(e){return e!==Object(e)||!0===e.isComposing||!0===e.qKeyEvent}function isKeyCode(e,t){return!0!==shouldIgnoreKey(e)&&[].concat(t).includes(e.keyCode)}function getMobilePlatform(e){return!0===e.ios?"ios":!0===e.android?"android":void 0}function getBodyClasses({is:e,has:t,within:o},n){const a=[!0===e.desktop?"desktop":"mobile",`${!1===t.touch?"no-":""}touch`];if(!0===e.mobile){const t=getMobilePlatform(e);void 0!==t&&a.push("platform-"+t)}if(!0===e.nativeMobile){const t=e.nativeMobileWrapper;a.push(t),a.push("native-mobile"),!0!==e.ios||void 0!==n[t]&&!1===n[t].iosStatusBarPadding||a.push("q-ios-padding")}else!0===e.electron?a.push("electron"):!0===e.bex&&a.push("bex");return!0===o.iframe&&a.push("within-iframe"),a}var Body={install(e){{const{$q:t,ssrContext:o}=e,n=getBodyClasses(t.platform,t.config);void 0!==t.config.screen&&!0===t.config.screen.bodyClass&&n.push("screen--xs"),o._meta.bodyClasses+=n.join(" ");const a=t.config.brand;if(void 0!==a){const e=Object.keys(a).map(e=>`--q-${e}:${a[e]};`).join("");o._meta.endingHeadTags+=`<style>:root{${e}}</style>`}return}}},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"}};const Plugin$7=defineReactivePlugin({iconMapFn:null,__icons:{}},{set(e,t){const o={...e,rtl:!0===e.rtl};void 0!==t?(o.set=t.$q.iconSet.set,Object.assign(t.$q.iconSet,o)):console.error("SSR ERROR: second param required: Quasar.iconSet.set(iconSet, ssrContext)")},install({$q:e,iconSet:t,ssrContext:o}){{const n=t||materialIcons;e.iconMapFn=o.$q.config.iconMapFn||this.iconMapFn||null,e.iconSet={},e.iconSet.set=(e=>{this.set(e,o)}),e.iconSet.set(n)}}}),quasarKey="_q_",timelineKey="_q_t_",stepperKey="_q_s_",layoutKey="_q_l_",pageContainerKey="_q_pc_",fabKey="_q_f_",formKey="_q_fo_",tabsKey="_q_tabs_",uploaderKey="_q_u_",emptyRenderFn=()=>{};function isDeepEqual(e,t){if(e===t)return!0;if(null!==e&&null!==t&&"object"===typeof e&&"object"===typeof t){if(e.constructor!==t.constructor)return!1;let o,n;if(e.constructor===Array){if(o=e.length,o!==t.length)return!1;for(n=o;0!==n--;)if(!0!==isDeepEqual(e[n],t[n]))return!1;return!0}if(e.constructor===Map){if(e.size!==t.size)return!1;let o=e.entries();n=o.next();while(!0!==n.done){if(!0!==t.has(n.value[0]))return!1;n=o.next()}o=e.entries(),n=o.next();while(!0!==n.done){if(!0!==isDeepEqual(n.value[1],t.get(n.value[0])))return!1;n=o.next()}return!0}if(e.constructor===Set){if(e.size!==t.size)return!1;const o=e.entries();n=o.next();while(!0!==n.done){if(!0!==t.has(n.value[0]))return!1;n=o.next()}return!0}if(null!=e.buffer&&e.buffer.constructor===ArrayBuffer){if(o=e.length,o!==t.length)return!1;for(n=o;0!==n--;)if(e[n]!==t[n])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();const a=Object.keys(e).filter(t=>void 0!==e[t]);if(o=a.length,o!==Object.keys(t).filter(e=>void 0!==t[e]).length)return!1;for(n=o;0!==n--;){const o=a[n];if(!0!==isDeepEqual(e[o],t[o]))return!1}return!0}return e!==e&&t!==t}function isObject(e){return null!==e&&"object"===typeof e&&!0!==Array.isArray(e)}function isDate(e){return"[object Date]"===Object.prototype.toString.call(e)}function isRegexp(e){return"[object RegExp]"===Object.prototype.toString.call(e)}function isNumber(e){return"number"===typeof e&&isFinite(e)}var is={deepEqual:isDeepEqual,object:isObject,date:isDate,regexp:isRegexp,number:isNumber};const autoInstalledPlugins=[Platform,Body,Plugin$9,Screen,History,Plugin$8,Plugin$7];function installPlugins(e,t){t.forEach(t=>{t.install(e),t.__installed=!0})}function prepareApp(e,t,o){e.config.globalProperties.$q=o.$q,e.provide(quasarKey,o.$q),installPlugins(o,autoInstalledPlugins),void 0!==t.components&&Object.values(t.components).forEach(t=>{!0===isObject(t)&&void 0!==t.name&&e.component(t.name,t)}),void 0!==t.directives&&Object.values(t.directives).forEach(t=>{!0===isObject(t)&&void 0!==t.name&&e.directive(t.name,t)}),void 0!==t.plugins&&installPlugins(o,Object.values(t.plugins).filter(e=>"function"===typeof e.install&&!1===autoInstalledPlugins.includes(e))),!0===isRuntimeSsrPreHydration.value&&(o.$q.onSSRHydrated=(()=>{o.onSSRHydrated.forEach(e=>{e()}),o.$q.onSSRHydrated=(()=>{})}))}var installQuasar=function(e,t={},o){const n={version:"2.11.9",config:t.config||{}};Object.assign(o,{$q:n,_meta:{htmlAttrs:"",headTags:"",endingHeadTags:"",bodyClasses:"",bodyAttrs:"data-server-rendered",bodyTags:""}}),void 0===o._modules&&(o._modules=[]),void 0===o.onRendered&&(o.onRendered=(()=>{})),e.config.globalProperties.ssrContext=o,prepareApp(e,t,{parentApp:e,$q:n,lang:t.lang,iconSet:t.iconSet,ssrContext:o})};const createComponent=e=>vue.markRaw(vue.defineComponent(e)),createDirective=e=>vue.markRaw(e),units=["B","KB","MB","GB","TB","PB"];function humanStorageSize(e){let t=0;while(parseInt(e,10)>=1024&&t<units.length-1)e/=1024,++t;return`${e.toFixed(1)}${units[t]}`}function capitalize(e){return e.charAt(0).toUpperCase()+e.slice(1)}function between(e,t,o){return o<=t?t:Math.min(o,Math.max(t,e))}function normalizeToInterval(e,t,o){if(o<=t)return t;const n=o-t+1;let a=t+(e-t)%n;return a<t&&(a=n+a),0===a?0:a}function pad(e,t=2,o="0"){if(void 0===e||null===e)return e;const n=""+e;return n.length>=t?n:new Array(t-n.length+1).join(o)+n}var format={humanStorageSize:humanStorageSize,capitalize:capitalize,between:between,normalizeToInterval:normalizeToInterval,pad:pad};const xhr=null,open=null,positionValues=["top","right","bottom","left"];let stack=[],highjackCount=0;function translate({p:e,pos:t,active:o,horiz:n,reverse:a,dir:l}){let r=1,i=1;return!0===n?(!0===a&&(r=-1),"bottom"===t&&(i=-1),{transform:`translate3d(${r*(e-100)}%,${o?0:-200*i}%,0)`}):(!0===a&&(i=-1),"right"===t&&(r=-1),{transform:`translate3d(${o?0:l*r*-200}%,${i*(e-100)}%,0)`})}function inc(e,t){return"number"!==typeof t&&(t=e<25?3*Math.random()+3:e<65?3*Math.random():e<85?2*Math.random():e<99?.6:0),between(e+t,0,100)}function highjackAjax(e){highjackCount++,stack.push(e),highjackCount>1||(xhr.prototype.open=function(e,t){const o=[],n=()=>{stack.forEach(e=>{null!==e.hijackFilter.value&&!0!==e.hijackFilter.value(t)||(e.start(),o.push(e.stop))})},a=()=>{o.forEach(e=>{e()})};this.addEventListener("loadstart",n,{once:!0}),this.addEventListener("loadend",a,{once:!0}),open.apply(this,arguments)})}function restoreAjax(e){stack=stack.filter(t=>t.start!==e),highjackCount=Math.max(0,highjackCount-1),0===highjackCount&&(xhr.prototype.open=open)}var QAjaxBar=createComponent({name:"QAjaxBar",props:{position:{type:String,default:"top",validator:e=>positionValues.includes(e)},size:{type:String,default:"2px"},color:String,skipHijack:Boolean,reverse:Boolean,hijackFilter:Function},emits:["start","stop"],setup(e,{emit:t}){const{proxy:o}=vue.getCurrentInstance(),n=vue.ref(0),a=vue.ref(!1),l=vue.ref(!0);let r,i=0,u=null;const s=vue.computed(()=>`q-loading-bar q-loading-bar--${e.position}`+(void 0!==e.color?` bg-${e.color}`:"")+(!0===l.value?"":" no-transition")),c=vue.computed(()=>"top"===e.position||"bottom"===e.position),d=vue.computed(()=>!0===c.value?"height":"width"),v=vue.computed(()=>{const t=a.value,l=translate({p:n.value,pos:e.position,active:t,horiz:c.value,reverse:!0===o.$q.lang.rtl&&["top","bottom"].includes(e.position)?!1===e.reverse:e.reverse,dir:!0===o.$q.lang.rtl?-1:1});return l[d.value]=e.size,l.opacity=t?1:0,l}),p=vue.computed(()=>!0===a.value?{role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n.value}:{"aria-hidden":"true"});function m(e=300){const o=r;return r=Math.max(0,e)||0,i++,i>1?(0===o&&e>0?g():null!==u&&o>0&&e<=0&&(clearTimeout(u),u=null),i):(null!==u&&clearTimeout(u),t("start"),n.value=0,u=setTimeout(()=>{u=null,l.value=!0,e>0&&g()},!0===a.value?500:1),!0!==a.value&&(a.value=!0,l.value=!1),i)}function f(e){return i>0&&(n.value=inc(n.value,e)),i}function h(){if(i=Math.max(0,i-1),i>0)return i;null!==u&&(clearTimeout(u),u=null),t("stop");const e=()=>{l.value=!0,n.value=100,u=setTimeout(()=>{u=null,a.value=!1},1e3)};return 0===n.value?u=setTimeout(e,1):e(),i}function g(){n.value<100&&(u=setTimeout(()=>{u=null,f(),g()},r))}let b;return vue.onMounted(()=>{!0!==e.skipHijack&&(b=!0,highjackAjax({start:m,stop:h,hijackFilter:vue.computed(()=>e.hijackFilter||null)}))}),vue.onBeforeUnmount(()=>{null!==u&&clearTimeout(u),!0===b&&restoreAjax(m)}),Object.assign(o,{start:m,stop:h,increment:f}),()=>vue.h("div",{class:s.value,style:v.value,...p.value})}});const useSizeDefaults={xs:18,sm:24,md:32,lg:38,xl:46},useSizeProps={size:String};function useSize(e,t=useSizeDefaults){return vue.computed(()=>void 0!==e.size?{fontSize:e.size in t?`${t[e.size]}px`:e.size}:null)}function hSlot(e,t){return void 0!==e&&e()||t}function hUniqueSlot(e,t){if(void 0!==e){const t=e();if(void 0!==t&&null!==t)return t.slice()}return t}function hMergeSlot(e,t){return void 0!==e?t.concat(e()):t}function hMergeSlotSafely(e,t){return void 0===e?t:void 0!==t?t.concat(e()):e()}function hDir(e,t,o,n,a,l){t.key=n+a;const r=vue.h(e,t,o);return!0===a?vue.withDirectives(r,l()):r}const defaultViewBox="0 0 24 24",sameFn=e=>e,ionFn=e=>`ionicons ${e}`,libMap={"mdi-":e=>`mdi ${e}`,"icon-":sameFn,"bt-":e=>`bt ${e}`,"eva-":e=>`eva ${e}`,"ion-md":ionFn,"ion-ios":ionFn,"ion-logo":ionFn,"iconfont ":sameFn,"ti-":e=>`themify-icon ${e}`,"bi-":e=>`bootstrap-icons ${e}`},matMap={o_:"-outlined",r_:"-round",s_:"-sharp"},symMap={sym_o_:"-outlined",sym_r_:"-rounded",sym_s_:"-sharp"},libRE=new RegExp("^("+Object.keys(libMap).join("|")+")"),matRE=new RegExp("^("+Object.keys(matMap).join("|")+")"),symRE=new RegExp("^("+Object.keys(symMap).join("|")+")"),mRE=/^[Mm]\s?[-+]?\.?\d/,imgRE=/^img:/,svgUseRE=/^svguse:/,ionRE=/^ion-/,faRE=/^(fa-(solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /;var QIcon=createComponent({name:"QIcon",props:{...useSizeProps,tag:{type:String,default:"i"},name:String,color:String,left:Boolean,right:Boolean},setup(e,{slots:t}){const{proxy:{$q:o}}=vue.getCurrentInstance(),n=useSize(e),a=vue.computed(()=>"q-icon"+(!0===e.left?" on-left":"")+(!0===e.right?" on-right":"")+(void 0!==e.color?` text-${e.color}`:"")),l=vue.computed(()=>{let t,n=e.name;if("none"===n||!n)return{none:!0};if(null!==o.iconMapFn){const e=o.iconMapFn(n);if(void 0!==e){if(void 0===e.icon)return{cls:e.cls,content:void 0!==e.content?e.content:" "};if(n=e.icon,"none"===n||!n)return{none:!0}}}if(!0===mRE.test(n)){const[e,t=defaultViewBox]=n.split("|");return{svg:!0,viewBox:t,nodes:e.split("&&").map(e=>{const[t,o,n]=e.split("@@");return vue.h("path",{style:o,d:t,transform:n})})}}if(!0===imgRE.test(n))return{img:!0,src:n.substring(4)};if(!0===svgUseRE.test(n)){const[e,t=defaultViewBox]=n.split("|");return{svguse:!0,src:e.substring(7),viewBox:t}}let a=" ";const l=n.match(libRE);if(null!==l)t=libMap[l[1]](n);else if(!0===faRE.test(n))t=n;else if(!0===ionRE.test(n))t=`ionicons ion-${!0===o.platform.is.ios?"ios":"md"}${n.substring(3)}`;else if(!0===symRE.test(n)){t="notranslate material-symbols";const e=n.match(symRE);null!==e&&(n=n.substring(6),t+=symMap[e[1]]),a=n}else{t="notranslate material-icons";const e=n.match(matRE);null!==e&&(n=n.substring(2),t+=matMap[e[1]]),a=n}return{cls:t,content:a}});return()=>{const o={class:a.value,style:n.value,"aria-hidden":"true",role:"presentation"};return!0===l.value.none?vue.h(e.tag,o,hSlot(t.default)):!0===l.value.img?vue.h("span",o,hMergeSlot(t.default,[vue.h("img",{src:l.value.src})])):!0===l.value.svg?vue.h("span",o,hMergeSlot(t.default,[vue.h("svg",{viewBox:l.value.viewBox||"0 0 24 24"},l.value.nodes)])):!0===l.value.svguse?vue.h("span",o,hMergeSlot(t.default,[vue.h("svg",{viewBox:l.value.viewBox},[vue.h("use",{"xlink:href":l.value.src})])])):(void 0!==l.value.cls&&(o.class+=" "+l.value.cls),vue.h(e.tag,o,hMergeSlot(t.default,[l.value.content])))}}}),QAvatar=createComponent({name:"QAvatar",props:{...useSizeProps,fontSize:String,color:String,textColor:String,icon:String,square:Boolean,rounded:Boolean},setup(e,{slots:t}){const o=useSize(e),n=vue.computed(()=>"q-avatar"+(e.color?` bg-${e.color}`:"")+(e.textColor?` text-${e.textColor} q-chip--colored`:"")+(!0===e.square?" q-avatar--square":!0===e.rounded?" rounded-borders":"")),a=vue.computed(()=>e.fontSize?{fontSize:e.fontSize}:null);return()=>{const l=void 0!==e.icon?[vue.h(QIcon,{name:e.icon})]:void 0;return vue.h("div",{class:n.value,style:o.value},[vue.h("div",{class:"q-avatar__content row flex-center overflow-hidden",style:a.value},hMergeSlotSafely(t.default,l))])}}});const alignValues$3=["top","middle","bottom"];var QBadge=createComponent({name:"QBadge",props:{color:String,textColor:String,floating:Boolean,transparent:Boolean,multiLine:Boolean,outline:Boolean,rounded:Boolean,label:[Number,String],align:{type:String,validator:e=>alignValues$3.includes(e)}},setup(e,{slots:t}){const o=vue.computed(()=>{return void 0!==e.align?{verticalAlign:e.align}:null}),n=vue.computed(()=>{const t=!0===e.outline&&e.color||e.textColor;return"q-badge flex inline items-center no-wrap"+` q-badge--${!0===e.multiLine?"multi":"single"}-line`+(!0===e.outline?" q-badge--outline":void 0!==e.color?` bg-${e.color}`:"")+(void 0!==t?` text-${t}`:"")+(!0===e.floating?" q-badge--floating":"")+(!0===e.rounded?" q-badge--rounded":"")+(!0===e.transparent?" q-badge--transparent":"")});return()=>vue.h("div",{class:n.value,style:o.value,role:"status","aria-label":e.label},hMergeSlot(t.default,void 0!==e.label?[e.label]:[]))}});const useDarkProps={dark:{type:Boolean,default:null}};function useDark(e,t){return vue.computed(()=>null===e.dark?t.dark.isActive:e.dark)}var QBanner=createComponent({name:"QBanner",props:{...useDarkProps,inlineActions:Boolean,dense:Boolean,rounded:Boolean},setup(e,{slots:t}){const{proxy:{$q:o}}=vue.getCurrentInstance(),n=useDark(e,o),a=vue.computed(()=>"q-banner row items-center"+(!0===e.dense?" q-banner--dense":"")+(!0===n.value?" q-banner--dark q-dark":"")+(!0===e.rounded?" rounded-borders":"")),l=vue.computed(()=>"q-banner__actions row items-center justify-end"+` col-${!0===e.inlineActions?"auto":"all"}`);return()=>{const o=[vue.h("div",{class:"q-banner__avatar col-auto row items-center self-start"},hSlot(t.avatar)),vue.h("div",{class:"q-banner__content col text-body2"},hSlot(t.default))],n=hSlot(t.action);return void 0!==n&&o.push(vue.h("div",{class:l.value},n)),vue.h("div",{class:a.value+(!1===e.inlineActions&&void 0!==n?" q-banner--top-padding":""),role:"alert"},o)}}}),QBar=createComponent({name:"QBar",props:{...useDarkProps,dense:Boolean},setup(e,{slots:t}){const{proxy:{$q:o}}=vue.getCurrentInstance(),n=useDark(e,o),a=vue.computed(()=>"q-bar row no-wrap items-center"+` q-bar--${!0===e.dense?"dense":"standard"} `+` q-bar--${!0===n.value?"dark":"light"}`);return()=>vue.h("div",{class:a.value,role:"toolbar"},hSlot(t.default))}});const alignMap={left:"start",center:"center",right:"end",between:"between",around:"around",evenly:"evenly",stretch:"stretch"},alignValues$2=Object.keys(alignMap),useAlignProps={align:{type:String,validator:e=>alignValues$2.includes(e)}};function useAlign(e){return vue.computed(()=>{const t=void 0===e.align?!0===e.vertical?"stretch":"left":e.align;return`${!0===e.vertical?"items":"justify"}-${alignMap[t]}`})}function getParentProxy(e){if(Object(e.$parent)===e.$parent)return e.$parent;let{parent:t}=e.$;while(Object(t)===t){if(Object(t.proxy)===t.proxy)return t.proxy;t=t.parent}}function fillNormalizedVNodes(e,t){"symbol"===typeof t.type?!0===Array.isArray(t.children)&&t.children.forEach(t=>{fillNormalizedVNodes(e,t)}):e.add(t)}function getNormalizedVNodes(e){const t=new Set;return e.forEach(e=>{fillNormalizedVNodes(t,e)}),Array.from(t)}function vmHasRouter(e){return void 0!==e.appContext.config.globalProperties.$router}function vmIsDestroyed(e){return!0===e.isUnmounted||!0===e.isDeactivated}const disabledValues=["",!0];var QBreadcrumbs=createComponent({name:"QBreadcrumbs",props:{...useAlignProps,separator:{type:String,default:"/"},separatorColor:String,activeColor:{type:String,default:"primary"},gutter:{type:String,validator:e=>["none","xs","sm","md","lg","xl"].includes(e),default:"sm"}},setup(e,{slots:t}){const o=useAlign(e),n=vue.computed(()=>`flex items-center ${o.value}${"none"===e.gutter?"":` q-gutter-${e.gutter}`}`),a=vue.computed(()=>e.separatorColor?` text-${e.separatorColor}`:""),l=vue.computed(()=>` text-${e.activeColor}`);return()=>{const o=getNormalizedVNodes(hSlot(t.default));if(0===o.length)return;let r=1;const i=[],u=o.filter(e=>void 0!==e.type&&"QBreadcrumbsEl"===e.type.name).length,s=void 0!==t.separator?t.separator:()=>e.separator;return o.forEach(e=>{if(void 0!==e.type&&"QBreadcrumbsEl"===e.type.name){const t=r<u,o=null!==e.props&&disabledValues.includes(e.props.disable),n=(!0===t?"":" q-breadcrumbs--last")+(!0!==o&&!0===t?l.value:"");r++,i.push(vue.h("div",{class:`flex items-center${n}`},[e])),!0===t&&i.push(vue.h("div",{class:"q-breadcrumbs__separator"+a.value},s()))}else i.push(e)}),vue.h("div",{class:"q-breadcrumbs"},[vue.h("div",{class:n.value},i)])}}});function getOriginalPath(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}function isSameRouteRecord(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function includesParams(e,t){for(const o in t){const n=t[o],a=e[o];if("string"===typeof n){if(n!==a)return!1}else if(!1===Array.isArray(a)||a.length!==n.length||n.some((e,t)=>e!==a[t]))return!1}return!0}function isEquivalentArray(e,t){return!0===Array.isArray(t)?e.length===t.length&&e.every((e,o)=>e===t[o]):1===e.length&&e[0]===t}function isSameRouteLocationParamsValue(e,t){return!0===Array.isArray(e)?isEquivalentArray(e,t):!0===Array.isArray(t)?isEquivalentArray(t,e):e===t}function isSameRouteLocationParams(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const o in e)if(!1===isSameRouteLocationParamsValue(e[o],t[o]))return!1;return!0}const useRouterLinkProps={to:[String,Object],replace:Boolean,exact:Boolean,activeClass:{type:String,default:"q-router-link--active"},exactActiveClass:{type:String,default:"q-router-link--exact-active"},href:String,target:String,disable:Boolean};function useRouterLink({fallbackTag:e,useDisableForRouterLinkProps:t=!0}={}){const o=vue.getCurrentInstance(),{props:n,proxy:a,emit:l}=o,r=vmHasRouter(o),i=vue.computed(()=>!0!==n.disable&&void 0!==n.href),u=!0===t?vue.computed(()=>!0===r&&!0!==n.disable&&!0!==i.value&&void 0!==n.to&&null!==n.to&&""!==n.to):vue.computed(()=>!0===r&&!0!==i.value&&void 0!==n.to&&null!==n.to&&""!==n.to),s=vue.computed(()=>!0===u.value?b(n.to):null),c=vue.computed(()=>null!==s.value),d=vue.computed(()=>!0===i.value||!0===c.value),v=vue.computed(()=>"a"===n.type||!0===d.value?"a":n.tag||e||"div"),p=vue.computed(()=>!0===i.value?{href:n.href,target:n.target}:!0===c.value?{href:s.value.href,target:n.target}:{}),m=vue.computed(()=>{if(!1===c.value)return-1;const{matched:e}=s.value,{length:t}=e,o=e[t-1];if(void 0===o)return-1;const n=a.$route.matched;if(0===n.length)return-1;const l=n.findIndex(isSameRouteRecord.bind(null,o));if(l>-1)return l;const r=getOriginalPath(e[t-2]);return t>1&&getOriginalPath(o)===r&&n[n.length-1].path!==r?n.findIndex(isSameRouteRecord.bind(null,e[t-2])):l}),f=vue.computed(()=>!0===c.value&&-1!==m.value&&includesParams(a.$route.params,s.value.params)),h=vue.computed(()=>!0===f.value&&m.value===a.$route.matched.length-1&&isSameRouteLocationParams(a.$route.params,s.value.params)),g=vue.computed(()=>!0===c.value?!0===h.value?` ${n.exactActiveClass} ${n.activeClass}`:!0===n.exact?"":!0===f.value?` ${n.activeClass}`:"":"");function b(e){try{return a.$router.resolve(e)}catch(e){}return null}function y(e,{returnRouterError:t,to:o=n.to,replace:l=n.replace}={}){if(!0===n.disable)return e.preventDefault(),Promise.resolve(!1);if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||void 0!==e.button&&0!==e.button||"_blank"===n.target)return Promise.resolve(!1);e.preventDefault();const r=a.$router[!0===l?"replace":"push"](o);return!0===t?r:r.then(()=>{}).catch(()=>{})}function S(e){if(!0===c.value){const t=t=>y(e,t);l("click",e,t),!0!==e.defaultPrevented&&t()}else l("click",e)}return{hasRouterLink:c,hasHrefLink:i,hasLink:d,linkTag:v,resolvedLink:s,linkIsActive:f,linkIsExactActive:h,linkClass:g,linkAttrs:p,getLink:b,navigateToRouterLink:y,navigateOnClick:S}}var QBreadcrumbsEl=createComponent({name:"QBreadcrumbsEl",props:{...useRouterLinkProps,label:String,icon:String,tag:{type:String,default:"span"}},emits:["click"],setup(e,{slots:t}){const{linkTag:o,linkAttrs:n,linkClass:a,navigateOnClick:l}=useRouterLink(),r=vue.computed(()=>{return{class:"q-breadcrumbs__el q-link flex inline items-center relative-position "+(!0!==e.disable?"q-link--focusable"+a.value:"q-breadcrumbs__el--disable"),...n.value,onClick:l}}),i=vue.computed(()=>"q-breadcrumbs__el-icon"+(void 0!==e.label?" q-breadcrumbs__el-icon--with-label":""));return()=>{const n=[];return void 0!==e.icon&&n.push(vue.h(QIcon,{class:i.value,name:e.icon})),void 0!==e.label&&n.push(e.label),vue.h(o.value,{...r.value},hMergeSlot(t.default,n))}}});const useSpinnerProps={size:{type:[Number,String],default:"1em"},color:String};function useSpinner(e){return{cSize:vue.computed(()=>e.size in useSizeDefaults?`${useSizeDefaults[e.size]}px`:e.size),classes:vue.computed(()=>"q-spinner"+(e.color?` text-${e.color}`:""))}}var QSpinner=createComponent({name:"QSpinner",props:{...useSpinnerProps,thickness:{type:Number,default:5}},setup(e){const{cSize:t,classes:o}=useSpinner(e);return()=>vue.h("svg",{class:o.value+" q-spinner-mat",width:t.value,height:t.value,viewBox:"25 25 50 50"},[vue.h("circle",{class:"path",cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":e.thickness,"stroke-miterlimit":"10"})])}});function offset(e){if(e===window)return{top:0,left:0};const{top:t,left:o}=e.getBoundingClientRect();return{top:t,left:o}}function style(e,t){return window.getComputedStyle(e).getPropertyValue(t)}function height(e){return e===window?window.innerHeight:e.getBoundingClientRect().height}function width$1(e){return e===window?window.innerWidth:e.getBoundingClientRect().width}function css(e,t){const o=e.style;for(const n in t)o[n]=t[n]}function cssBatch(e,t){e.forEach(e=>css(e,t))}function ready(e){if("function"===typeof e)return"loading"!==document.readyState?e():void document.addEventListener("DOMContentLoaded",e,!1)}function getElement$1(e){if(void 0===e||null===e)return;if("string"===typeof e)try{return document.querySelector(e)||void 0}catch(e){return}const t=vue.unref(e);return t?t.$el||t:void 0}function childHasFocus(e,t){if(void 0===e||null===e||!0===e.contains(t))return!0;for(let o=e.nextElementSibling;null!==o;o=o.nextElementSibling)if(o.contains(t))return!0;return!1}var dom={offset:offset,style:style,height:height,width:width$1,css:css,cssBatch:cssBatch,ready:ready};function throttle(e,t=250){let o,n=!1;return function(){return!1===n&&(n=!0,setTimeout(()=>{n=!1},t),o=e.apply(this,arguments)),o}}var getSSRProps=()=>({}),Ripple=createDirective({name:"ripple",getSSRProps:getSSRProps});const btnPadding={none:0,xs:4,sm:8,md:16,lg:24,xl:32},defaultSizes$2={xs:8,sm:10,md:14,lg:20,xl:24},formTypes=["button","submit","reset"],mediaTypeRE=/[^\s]\/[^\s]/,btnDesignOptions=["flat","outline","push","unelevated"],getBtnDesign=(e,t)=>{return!0===e.flat?"flat":!0===e.outline?"outline":!0===e.push?"push":!0===e.unelevated?"unelevated":t},getBtnDesignAttr=e=>{const t=getBtnDesign(e);return void 0!==t?{[t]:!0}:{}},useBtnProps={...useSizeProps,...useRouterLinkProps,type:{type:String,default:"button"},label:[Number,String],icon:String,iconRight:String,...btnDesignOptions.reduce((e,t)=>(e[t]=Boolean)&&e,{}),square:Boolean,round:Boolean,rounded:Boolean,glossy:Boolean,size:String,fab:Boolean,fabMini:Boolean,padding:String,color:String,textColor:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,tabindex:[Number,String],ripple:{type:[Boolean,Object],default:!0},align:{...useAlignProps.align,default:"center"},stack:Boolean,stretch:Boolean,loading:{type:Boolean,default:null},disable:Boolean};function useBtn(e){const t=useSize(e,defaultSizes$2),o=useAlign(e),{hasRouterLink:n,hasLink:a,linkTag:l,linkAttrs:r,navigateOnClick:i}=useRouterLink({fallbackTag:"button"}),u=vue.computed(()=>{const o=!1===e.fab&&!1===e.fabMini?t.value:{};return void 0!==e.padding?Object.assign({},o,{padding:e.padding.split(/\s+/).map(e=>e in btnPadding?btnPadding[e]+"px":e).join(" "),minWidth:"0",minHeight:"0"}):o}),s=vue.computed(()=>!0===e.rounded||!0===e.fab||!0===e.fabMini),c=vue.computed(()=>!0!==e.disable&&!0!==e.loading),d=vue.computed(()=>!0===c.value?e.tabindex||0:-1),v=vue.computed(()=>getBtnDesign(e,"standard")),p=vue.computed(()=>{const t={tabindex:d.value};return!0===a.value?Object.assign(t,r.value):!0===formTypes.includes(e.type)&&(t.type=e.type),"a"===l.value?(!0===e.disable?t["aria-disabled"]="true":void 0===t.href&&(t.role="button"),!0!==n.value&&!0===mediaTypeRE.test(e.type)&&(t.type=e.type)):!0===e.disable&&(t.disabled="",t["aria-disabled"]="true"),!0===e.loading&&void 0!==e.percentage&&Object.assign(t,{role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e.percentage}),t}),m=vue.computed(()=>{let t;void 0!==e.color?t=!0===e.flat||!0===e.outline?`text-${e.textColor||e.color}`:`bg-${e.color} text-${e.textColor||"white"}`:e.textColor&&(t=`text-${e.textColor}`);const o=!0===e.round?"round":`rectangle${!0===s.value?" q-btn--rounded":!0===e.square?" q-btn--square":""}`;return`q-btn--${v.value} q-btn--${o}`+(void 0!==t?" "+t:"")+(!0===c.value?" q-btn--actionable q-focusable q-hoverable":!0===e.disable?" disabled":"")+(!0===e.fab?" q-btn--fab":!0===e.fabMini?" q-btn--fab-mini":"")+(!0===e.noCaps?" q-btn--no-uppercase":"")+(!0===e.dense?" q-btn--dense":"")+(!0===e.stretch?" no-border-radius self-stretch":"")+(!0===e.glossy?" glossy":"")+(e.square?" q-btn--square":"")}),f=vue.computed(()=>o.value+(!0===e.stack?" column":" row")+(!0===e.noWrap?" no-wrap text-no-wrap":"")+(!0===e.loading?" q-btn__content--hidden":""));return{classes:m,style:u,innerClasses:f,attributes:p,hasLink:a,linkTag:l,navigateOnClick:i,isActionable:c}}const{passiveCapture:passiveCapture}=listenOpts;let touchTarget=null,keyboardTarget=null,mouseTarget=null;var QBtn=createComponent({name:"QBtn",props:{...useBtnProps,percentage:Number,darkPercentage:Boolean,onTouchstart:[Function,Array]},emits:["click","keydown","mousedown","keyup"],setup(e,{slots:t,emit:o}){const{proxy:n}=vue.getCurrentInstance(),{classes:a,style:l,innerClasses:r,attributes:i,hasLink:u,linkTag:s,navigateOnClick:c,isActionable:d}=useBtn(e),v=vue.ref(null),p=vue.ref(null);let m,f=null,h=null;const g=vue.computed(()=>void 0!==e.label&&null!==e.label&&""!==e.label),b=vue.computed(()=>!0!==e.disable&&!1!==e.ripple&&{keyCodes:!0===u.value?[13,32]:[13],...!0===e.ripple?{}:e.ripple}),y=vue.computed(()=>({center:e.round})),S=vue.computed(()=>{const t=Math.max(0,Math.min(100,e.percentage));return t>0?{transition:"transform 0.6s",transform:`translateX(${t-100}%)`}:{}}),x=vue.computed(()=>{if(!0===e.loading)return{onMousedown:M,onTouchstart:M,onClick:M,onKeydown:M,onKeyup:M};if(!0===d.value){const t={onClick:C,onKeydown:k,onMousedown:q};if(!0===n.$q.platform.has.touch){const o=void 0!==e.onTouchstart?"":"Passive";t[`onTouchstart${o}`]=_}return t}return{onClick:stopAndPrevent}}),w=vue.computed(()=>({ref:v,class:"q-btn q-btn-item non-selectable no-outline "+a.value,style:l.value,...i.value,...x.value}));function C(t){if(null!==v.value){if(void 0!==t){if(!0===t.defaultPrevented)return;const o=document.activeElement;if("submit"===e.type&&o!==document.body&&!1===v.value.contains(o)&&!1===o.contains(v.value)){v.value.focus();const e=()=>{document.removeEventListener("keydown",stopAndPrevent,!0),document.removeEventListener("keyup",e,passiveCapture),null!==v.value&&v.value.removeEventListener("blur",e,passiveCapture)};document.addEventListener("keydown",stopAndPrevent,!0),document.addEventListener("keyup",e,passiveCapture),v.value.addEventListener("blur",e,passiveCapture)}}c(t)}}function k(e){null!==v.value&&(o("keydown",e),!0===isKeyCode(e,[13,32])&&keyboardTarget!==v.value&&(null!==keyboardTarget&&P(),!0!==e.defaultPrevented&&(v.value.focus(),keyboardTarget=v.value,v.value.classList.add("q-btn--active"),document.addEventListener("keyup",T,!0),v.value.addEventListener("blur",T,passiveCapture)),stopAndPrevent(e)))}function _(e){null!==v.value&&(o("touchstart",e),!0!==e.defaultPrevented&&(touchTarget!==v.value&&(null!==touchTarget&&P(),touchTarget=v.value,f=e.target,f.addEventListener("touchcancel",T,passiveCapture),f.addEventListener("touchend",T,passiveCapture)),m=!0,null!==h&&clearTimeout(h),h=setTimeout(()=>{h=null,m=!1},200)))}function q(e){null!==v.value&&(e.qSkipRipple=!0===m,o("mousedown",e),!0!==e.defaultPrevented&&mouseTarget!==v.value&&(null!==mouseTarget&&P(),mouseTarget=v.value,v.value.classList.add("q-btn--active"),document.addEventListener("mouseup",T,passiveCapture)))}function T(e){if(null!==v.value&&(void 0===e||"blur"!==e.type||document.activeElement!==v.value)){if(void 0!==e&&"keyup"===e.type){if(keyboardTarget===v.value&&!0===isKeyCode(e,[13,32])){const t=new MouseEvent("click",e);t.qKeyEvent=!0,!0===e.defaultPrevented&&prevent(t),!0===e.cancelBubble&&stop(t),v.value.dispatchEvent(t),stopAndPrevent(e),e.qKeyEvent=!0}o("keyup",e)}P()}}function P(e){const t=p.value;!0===e||touchTarget!==v.value&&mouseTarget!==v.value||null===t||t===document.activeElement||(t.setAttribute("tabindex",-1),t.focus()),touchTarget===v.value&&(null!==f&&(f.removeEventListener("touchcancel",T,passiveCapture),f.removeEventListener("touchend",T,passiveCapture)),touchTarget=f=null),mouseTarget===v.value&&(document.removeEventListener("mouseup",T,passiveCapture),mouseTarget=null),keyboardTarget===v.value&&(document.removeEventListener("keyup",T,!0),null!==v.value&&v.value.removeEventListener("blur",T,passiveCapture),keyboardTarget=null),null!==v.value&&v.value.classList.remove("q-btn--active")}function M(e){stopAndPrevent(e),e.qSkipRipple=!0}return vue.onBeforeUnmount(()=>{P(!0)}),Object.assign(n,{click:C}),()=>{let o=[];void 0!==e.icon&&o.push(vue.h(QIcon,{name:e.icon,left:!1===e.stack&&!0===g.value,role:"img","aria-hidden":"true"})),!0===g.value&&o.push(vue.h("span",{class:"block"},[e.label])),o=hMergeSlot(t.default,o),void 0!==e.iconRight&&!1===e.round&&o.push(vue.h(QIcon,{name:e.iconRight,right:!1===e.stack&&!0===g.value,role:"img","aria-hidden":"true"}));const n=[vue.h("span",{class:"q-focus-helper",ref:p})];return!0===e.loading&&void 0!==e.percentage&&n.push(vue.h("span",{class:"q-btn__progress absolute-full overflow-hidden"+(!0===e.darkPercentage?" q-btn__progress--dark":"")},[vue.h("span",{class:"q-btn__progress-indicator fit block",style:S.value})])),n.push(vue.h("span",{class:"q-btn__content text-center col items-center q-anchor--skip "+r.value},o)),null!==e.loading&&n.push(vue.h(vue.Transition,{name:"q-transition--fade"},()=>!0===e.loading?[vue.h("span",{key:"loading",class:"absolute-full flex flex-center"},void 0!==t.loading?t.loading():[vue.h(QSpinner)])]:null)),vue.withDirectives(vue.h(s.value,w.value,n),[[Ripple,b.value,void 0,y.value]])}}}),QBtnGroup=createComponent({name:"QBtnGroup",props:{unelevated:Boolean,outline:Boolean,flat:Boolean,rounded:Boolean,square:Boolean,push:Boolean,stretch:Boolean,glossy:Boolean,spread:Boolean},setup(e,{slots:t}){const o=vue.computed(()=>{const t=["unelevated","outline","flat","rounded","square","push","stretch","glossy"].filter(t=>!0===e[t]).map(e=>`q-btn-group--${e}`).join(" ");return`q-btn-group row no-wrap${t.length>0?" "+t:""}`+(!0===e.spread?" q-btn-group--spread":" inline")});return()=>vue.h("div",{class:o.value},hSlot(t.default))}});function clearSelection(){if(void 0!==window.getSelection){const e=window.getSelection();void 0!==e.empty?e.empty():void 0!==e.removeAllRanges&&(e.removeAllRanges(),!0!==Platform.is.mobile&&e.addRange(document.createRange()))}else void 0!==document.selection&&document.selection.empty()}const useAnchorProps={target:{default:!0},noParentEvent:Boolean,contextMenu:Boolean};function useAnchor({showing:e,avoidEmit:t,configureAnchorEl:o}){const{props:n,proxy:a,emit:l}=vue.getCurrentInstance(),r=vue.ref(null);let i=null;function u(e){return null!==r.value&&(void 0===e||void 0===e.touches||e.touches.length<=1)}const s={};function c(){cleanEvt(s,"anchor")}function d(e){r.value=e;while(r.value.classList.contains("q-anchor--skip"))r.value=r.value.parentNode;o()}function v(){if(!1===n.target||""===n.target||null===a.$el.parentNode)r.value=null;else if(!0===n.target)d(a.$el.parentNode);else{let e=n.target;if("string"===typeof n.target)try{e=document.querySelector(n.target)}catch(t){e=void 0}void 0!==e&&null!==e?(r.value=e.$el||e,o()):(r.value=null,console.error(`Anchor: target "${n.target}" not found`))}}return void 0===o&&(Object.assign(s,{hide(e){a.hide(e)},toggle(e){a.toggle(e),e.qAnchorHandled=!0},toggleKey(e){!0===isKeyCode(e,13)&&s.toggle(e)},contextClick(e){a.hide(e),prevent(e),vue.nextTick(()=>{a.show(e),e.qAnchorHandled=!0})},prevent:prevent,mobileTouch(e){if(s.mobileCleanup(e),!0!==u(e))return;a.hide(e),r.value.classList.add("non-selectable");const t=e.target;addEvt(s,"anchor",[[t,"touchmove","mobileCleanup","passive"],[t,"touchend","mobileCleanup","passive"],[t,"touchcancel","mobileCleanup","passive"],[r.value,"contextmenu","prevent","notPassive"]]),i=setTimeout(()=>{i=null,a.show(e),e.qAnchorHandled=!0},300)},mobileCleanup(t){r.value.classList.remove("non-selectable"),null!==i&&(clearTimeout(i),i=null),!0===e.value&&void 0!==t&&clearSelection()}}),o=function(e=n.contextMenu){if(!0===n.noParentEvent||null===r.value)return;let t;t=!0===e?!0===a.$q.platform.is.mobile?[[r.value,"touchstart","mobileTouch","passive"]]:[[r.value,"mousedown","hide","passive"],[r.value,"contextmenu","contextClick","notPassive"]]:[[r.value,"click","toggle","passive"],[r.value,"keyup","toggleKey","passive"]],addEvt(s,"anchor",t)}),vue.watch(()=>n.contextMenu,e=>{null!==r.value&&(c(),o(e))}),vue.watch(()=>n.target,()=>{null!==r.value&&c(),v()}),vue.watch(()=>n.noParentEvent,e=>{null!==r.value&&(!0===e?c():o())}),vue.onMounted(()=>{v(),!0!==t&&!0===n.modelValue&&null===r.value&&l("update:modelValue",!1)}),vue.onBeforeUnmount(()=>{null!==i&&clearTimeout(i),c()}),{anchorEl:r,canShow:u,anchorEvents:s}}function useScrollTarget(e,t){const o=vue.ref(null);let n;function a(e,t){const o=`${void 0!==t?"add":"remove"}EventListener`,a=void 0!==t?t:n;e!==window&&e[o]("scroll",a,listenOpts.passive),window[o]("scroll",a,listenOpts.passive),n=t}function l(){null!==o.value&&(a(o.value),o.value=null)}const r=vue.watch(()=>e.noParentEvent,()=>{null!==o.value&&(l(),t())});return vue.onBeforeUnmount(r),{localScrollTarget:o,unconfigureScrollTarget:l,changeScrollEvent:a}}const useModelToggleProps={modelValue:{type:Boolean,default:null},"onUpdate:modelValue":[Function,Array]},useModelToggleEmits=["beforeShow","show","beforeHide","hide"];function useModelToggle({showing:e,canShow:t,hideOnRouteChange:o,handleShow:n,handleHide:a,processOnMount:l}){const r=vue.getCurrentInstance(),{props:i,emit:u,proxy:s}=r;let c;function d(t){!0===e.value||v(t)}function v(e){if(!0===i.disable||void 0!==e&&!0===e.qAnchorHandled||void 0!==t&&!0!==t(e))return;i["onUpdate:modelValue"];i.modelValue,p(e)}function p(t){!0!==e.value&&(e.value=!0,u("beforeShow",t),void 0!==n?n(t):u("show",t))}function m(e){}function f(t){!1!==e.value&&(e.value=!1,u("beforeHide",t),void 0!==a?a(t):u("hide",t))}function h(t){if(!0===i.disable&&!0===t)void 0!==i["onUpdate:modelValue"]&&u("update:modelValue",!1);else if(!0===t!==e.value){const e=!0===t?p:f;e(c)}}vue.watch(()=>i.modelValue,h),void 0!==o&&!0===vmHasRouter(r)&&vue.watch(()=>s.$route.fullPath,()=>{!0===o.value&&e.value}),!0===l&&vue.onMounted(()=>{h(i.modelValue)});const g={show:v,hide:m,toggle:d};return Object.assign(s,g),g}let queue=[],waitFlags=[];function addFocusFn(e){0===waitFlags.length?e():queue.push(e)}function removeFocusFn(e){queue=queue.filter(t=>t!==e)}const portalProxyList=[];function closePortalMenus(e,t){do{if("QMenu"===e.$options.name){if(e.hide(t),!0===e.$props.separateClosePopup)return getParentProxy(e)}else if(!0===e.__qPortal){const o=getParentProxy(e);return void 0!==o&&"QPopupProxy"===o.$options.name?(e.hide(t),o):e}e=getParentProxy(e)}while(void 0!==e&&null!==e)}function usePortal(e,t,o,n){const a=vue.ref(!1),l=vue.ref(!1);return{portalIsActive:a,portalIsAccessible:l,showPortal:noop,hidePortal:noop,renderPortal:noop}}const useTransitionProps={transitionShow:{type:String,default:"fade"},transitionHide:{type:String,default:"fade"},transitionDuration:{type:[String,Number],default:300}};function useTransition(e,t=(()=>{}),o=(()=>{})){return{transitionProps:vue.computed(()=>{const n=`q-transition--${e.transitionShow||t()}`,a=`q-transition--${e.transitionHide||o()}`;return{appear:!0,enterFromClass:`${n}-enter-from`,enterActiveClass:`${n}-enter-active`,enterToClass:`${n}-enter-to`,leaveFromClass:`${a}-leave-from`,leaveActiveClass:`${a}-leave-active`,leaveToClass:`${a}-leave-to`}}),transitionStyle:vue.computed(()=>`--q-transition-duration: ${e.transitionDuration}ms`)}}function useTick(){let e;const t=vue.getCurrentInstance();function o(){e=void 0}return vue.onDeactivated(o),vue.onBeforeUnmount(o),{removeTick:o,registerTick(o){e=o,vue.nextTick(()=>{e===o&&(!1===vmIsDestroyed(t)&&e(),e=void 0)})}}}function useTimeout(){let e=null;const t=vue.getCurrentInstance();function o(){null!==e&&(clearTimeout(e),e=null)}return vue.onDeactivated(o),vue.onBeforeUnmount(o),{removeTimeout:o,registerTimeout(n,a){o(),!1===vmIsDestroyed(t)&&(e=setTimeout(n,a))}}}const scrollTargets=[];function getScrollTarget(e,t){let o=getElement$1(t);if(void 0===o){if(void 0===e||null===e)return window;o=e.closest(".scroll,.scroll-y,.overflow-auto")}return scrollTargets.includes(o)?window:o}function getScrollHeight(e){return(e===window?document.body:e).scrollHeight}function getScrollWidth(e){return(e===window?document.body:e).scrollWidth}function getVerticalScrollPosition(e){return e===window?window.pageYOffset||window.scrollY||document.body.scrollTop||0:e.scrollTop}function getHorizontalScrollPosition(e){return e===window?window.pageXOffset||window.scrollX||document.body.scrollLeft||0:e.scrollLeft}function animVerticalScrollTo(e,t,o=0){const n=void 0===arguments[3]?performance.now():arguments[3],a=getVerticalScrollPosition(e);o<=0?a!==t&&setScroll$1(e,t):requestAnimationFrame(l=>{const r=l-n,i=a+(t-a)/Math.max(r,o)*r;setScroll$1(e,i),i!==t&&animVerticalScrollTo(e,t,o-r,l)})}function animHorizontalScrollTo(e,t,o=0){const n=void 0===arguments[3]?performance.now():arguments[3],a=getHorizontalScrollPosition(e);o<=0?a!==t&&setHorizontalScroll(e,t):requestAnimationFrame(l=>{const r=l-n,i=a+(t-a)/Math.max(r,o)*r;setHorizontalScroll(e,i),i!==t&&animHorizontalScrollTo(e,t,o-r,l)})}function setScroll$1(e,t){e!==window?e