Skip to content

Instantly share code, notes, and snippets.

@fajaryanw
Created March 10, 2017 10:30
Show Gist options
  • Save fajaryanw/84a618a10ef3a7e6a6f89a6ca3280b50 to your computer and use it in GitHub Desktop.
Save fajaryanw/84a618a10ef3a7e6a6f89a6ca3280b50 to your computer and use it in GitHub Desktop.
Quasar Standalone min js map
{"version":3,"sources":["quasar.standalone.js"],"names":["global","factory","exports","module","require","define","amd","Quasar","moment","FastClick","this","getUserAgent","navigator","userAgent","vendor","window","opera","toLowerCase","getMatch","platformMatch","match","exec","indexOf","browser","version","versionNumber","platform","getPlatformMatch","getPlatform","matched","parseInt","android","bb","blackberry","ipad","iphone","ipod","kindle","playbook","silk","mobile","ios","winphone","cros","mac","linux","win","desktop","chrome","opr","safari","vivaldi","webkit","rv","iemobile","ie","edge","name","process","versions","electron","_cordovaNative","document","location","href","cordova","install$1","_Vue","bus","s4","Math","floor","random","toString","substring","animate","_ref","id","finalPos","pos","threshold","factor","done","apply","ids","requestAnimationFrame","diff","abs","newPos","start","_ref2","_ref2$threshold","undefined","_ref2$factor","stop","uid","rgbToHex","red","green","blue","res","map","Number","TypeError","slice","hexToRgb","hex","replace","length","num","offset","el","top","left","_el$getBoundingClient","getBoundingClientRect","style","property","getComputedStyle","getPropertyValue","height","viewport","parseFloat","width","css","element","Object","keys","forEach","prop","e","a","documentElement","body","ready","fn","readyState","addEventListener","getScrollTarget","closest","getScrollPosition","scrollTarget","pageYOffset","scrollY","scrollTop","animScrollTo","to","duration","setScroll","setScrollPosition","cssTransform","val","o","transform","prefix","p","getEvent","event","rightClick","which","button","position","posx","posy","touches","changedTouches","clientX","clientY","pageX","pageY","scrollLeft","targetElement","target","srcElement","nodeType","parentNode","getMouseWheelDirection","max","min","wheelDelta","detail","type","obj","String","class2type","call","isPlainObject","constructor","hasOwn","prototype","key","extend","options","src","copy","copyIsArray","clone","arguments","i","deep","_typeof","humanStorageSize","bytes","u","units","toFixed","between","getAnchorPosition","right","bottom","offsetWidth","offsetHeight","middle","center","getTargetPosition","getOverlapMode","anchor","median","getPositions","t","positions","x","filter","horizontal","y","vertical","overlap","splice","anchorPos","applyAutoPositionIfNeeded","selfOrigin","anchorOrigin","targetPosition","_getPositions","innerHeight","newTop","innerWidth","newLeft","parseHorizTransformOrigin","getTransformProperties","transform-origin","setPosition","anchorEl","maxHeight","anchorClick","touchPosition","_eventPosition","positionValidator","parts","split","includes","console","error","offsetValidator","parsePosition","width$1","size","inner","createElement","outer","visibility","overflow","appendChild","w1","w2","clientWidth","removeChild","add","ctx","dataset","data","get$1","remove","parseOptions","opts","defaults","Error","Utils","html","create","toast","toastStack","push","install$2","dom","node","Toast$1","$mount","setDefaults","set$1","theme","currentTheme","current","classList","getHeight","style$$1","initial","height$$1","parsePadding","padding","unit","toggleSlide","showing","_done","anim","store","join","overflowY","updateBinding","value","modifiers","update","equal","b","updateBinding$1","binding","removeEventListener","scroll","handler","oldValue","updateBinding$2","updateBinding$3","arg","getDirection","mod","dir","direction","updateClasses","processChanges","evt","isFinal","distX","distY","absDistX","absDistY","isFirst","Boolean","Date","getTime","time","distance","delta","lastX","lastY","shouldTrigger","changes","getDirection$1","up","down","updateClasses$1","translate","active","horiz","reverse","inc","amount","format","highjackAjax","startHandler","endHandler","xhr","send","_this","_len","args","Array","_key","restoreAjax","prevent","preventDefault","stopPropagation","parseOptions$1","label","concat","opt","getRowSelection","rows","selection","multiple","nextDirection","getSortFn","sort","sortMethod","convertToAmPm","hour","iosFixNeeded","Platform","is","additionalCSS","maxWidth","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","width$2","registerDirectives","dBackToTop","dGoBack","dLink","dScrollFire","dScroll","dTouchHold","dTouchPan","dTouchSwipe","d","directive","registerComponents","component","Spinner","Transition","AjaxBar","Autocomplete","Checkbox","Chips","Collapsible","ContextMenuDesktop","ContextMenuMobile","DataTable","InlineDatetimeIOS","InlineDatetimeMaterial","Datetime","DatetimeRange","Drawer","DrawerLink","Fab","SmallFab","Gallery","GallerySlider","InfiniteScroll","Knob","Layout","ListItem","ToolbarTitle","Modal","Numeric","Pagination$1","Parallax","PickerTextfield","Popover","Progress","ProgressButton","PullToRefresh","Radio","Range","DoubleRange","Rating","Search","Select","DialogSelect","Slider","State","Stepper","Step","Tab","Tabs","Toggle","Tooltip","Tree","Uploader","Video","c","addClass","className","isActive","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","request","requestFullscreen","msRequestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","Element","ALLOW_KEYBOARD_INPUT","exit","exitFullscreen","msExitFullscreen","mozCancelFullScreen","webkitExitFullscreen","toggle","onchange","v","h","state","evtMap","focus","focusin","pageshow","blur","focusout","pagehide","hidden","appVisibility","Events","$emit","encode","string","encodeURIComponent","decode","decodeURIComponent","stringifyCookieValue","JSON","stringify","read","parse","set$2","days","expires","setMilliseconds","getMilliseconds","cookie","toUTCString","path","domain","secure","get$2","result","cookies","l","shift","remove$1","has","isActive$1","appIsInProgress","show","_ref$delay","delay","_ref$spinner","spinner","_ref$message","message","spinnerSize","spinnerColor","messageColor","props","vm","$forceUpdate","timeout","setTimeout","Vue","render","Loading$1","hide","clearTimeout","$destroy","$el","encode$1","source","decode$1","substr","RegExp","generateFunctions","local","session","touch","msMaxTouchPoints","within","iframe","self","popstate","$on","_bus","$once","_bus2","_bus3","$off","_bus4","timer","cancelAnimationFrame","colors","freeze","now","debounce","wait","immediate","params","context","timestamp","later","last","callNow","Symbol","iterator","hasOwnProperty","terms","field","list","token","item","startsWith","ModalGenerator","VueComponent","close","quasarClose","Dialog$1","_vm","_h","$createElement","_c","_self","ref","staticClass","attrs","no-backdrop-dismiss","noBackdropDismiss","no-esc-dismiss","noEscDismiss","on","$event","__dismiss","domProps","innerHTML","_s","title","_e","form","_l","staticStyle","margin-bottom","directives","rawName","model","expression","placeholder","required","tabindex","input","composing","step","callback","$$v","items","radio","disable","disabled","checkbox","fontSize","icon","progress","class","indeterminate","percentage","_v","buttons","row","stackButtons","column","classes","click","trigger","preventClose","nobuttons","staticRenderFns","onDismiss","Function","computed","opened","$refs","dialog","methods","getFormData","_this2","$root","mounted","_this3","open","$q","getElementsByTagName","Dialog","openURL","url","app","loadUrl","openExternal","popup","scrollbar","get","throttle","limit","noop","stack","color","background","bgColor","image","dismiss","inTransition","__show","transitionDuration","Toast","install","__THEME","set","slide","enter","leave","transitions","functional","default","validator","appear","config","mode","children","bind","visible","goToTop","inserted","unbind","vnode","history","single","goBack","$router","go","route","updateClass","$route","router","exact","resolve","resolved","r","destroyWatcher","$watch","containerBottom","elementBottom","fire","mouseAbort","mouseStart","abort","mouseMove","mouseEnd","detected","move","end","XMLHttpRequest","containerStyle","innerStyle","speed","calls","sizeProp","closing","increment","_this4","beforeDestroy","_t","anchor-click","item-delimiter","delimiter","computedWidth","computedResults","index","link","selectedIndex","nativeOn","setValue","minCharacters","maxResults","staticData","searchId","results","avoidTrigger","activeElement","inputEl","__delayTrigger","minWidth","searching","popover","querySelector","isArray","removeAttribute","setCurrentSelection","__handleKeypress","keyCode","__moveCursor","$nextTick","checked","_i","change","__change","__c","$$a","$$el","$$c","$$i","readonly","keyup","_k","invisible","eventName","__toggleItem","textContent","img","avatar","rotate-180","group","iconToggle","watch","__eventHandler","comp","created","__open","touchStartHandler","touchTimer","cleanup","ColumnSelection","columnSelection","columns","col","config.columnPicker","cols","columnSelectionOptions","TableFilter","labels","search","filtering","filterFields","allCols","Filter","filtering.terms","resetBody","filteringCols","some","components","_labels","selected","singular","plural","clear","all","I18n","messages","noDataAfterFiltering","noData","TablePagination","pagination","resetPage","rowsPerPage","entries","page","ceil","defaultOptions","Pagination","_pagination","cfg","$data","pagination.page","paginate","number","Responsive","responsive","handleResponsive","config.responsive","RowSelection","rowSelection","multipleSelection","config.selection","rowsSelected","toolbar","selectedRows","__index","clearSelection","Scroll","vert","scrollHandler","currentTarget","head","updateStickyScroll","mouseWheel","clientHeight","scrollHeight","resize","scrollWidth","stickyLeft","stickyRight","bodyStyle","rowStyle","rightStickyColumns","_this5","leftStickyColumns","_this6","_this7","localeCompare","date","boolean","Sort","sorting","sorting.dir","setSortField","sortFn","SortIcon","TableSticky","noHeader","sortable","stickyCols","StickyColumns","regularCols","leftCols","n","rightCols","TableContent","tableStyle","hasToolbar","refresh","refreshing","columnPicker","margin-left","static-label","$$exp","$$idx","formatClass","formatStyle","data-th","mousewheel","dommousescroll","hasHeader","marginRight","colspan","no-header","sticky-cols","mixins","rowHeight","noClear","clearLabel","okLabel","cancelLabel","defaultSelection","staticLabel","inline","contentCSS","boxShadow","backgroundColor","mat","actualValue","keydown","__setModel","__update","classNames","transition","position-classes","content-css","__normalizeAndEmit","__normalizeValue","default-selection","no-clear","clear-label","ok-label","cancel-label","from","typeHasDate","weekDayString","view","monthString","dayString","year","typeHasTime","__pad","opacity","minute","am","toggleAmPm","yearInterval","yearMin","setYear","monthInterval","month","monthMin","setMonth","monthsList","monthStamp","daysList","day","fillerDays","fillerDay","beforeMinDays","daysInterval","monthDay","setDay","aferMaxDays","maxDay","mousedown","__dragStart","mousemove","__dragMove","mouseup","__dragStop","touchstart","touchmove","touchend","clockPointerStyle","dragging","centerClockPosition","firstDayOfWeek","localeData","weekdaysShort","months","__updateModel","selector","pmin","pmax","isSame","daysInMonth","divider","degrees","round","-webkit-transform","-ms-transform","editable","__parseTypeValue","force","setHour","setMinute","filler","ev","clock","clockOffset","__updateClock","sqrt","pow","angle","asin","PI","toISOString","__monthStyle","__dayStyle","dayMin","__yearStyle","__hourStyle","hourInterval","hourMin","_m","__minuteStyle","minuteInterval","minuteMin","q-datetime-no-selection","monthDragOffset","dateDragOffset","yearDragOffset","hourDragOffset","minuteDragOffset","__updateAllPositions","dayMax","__colStyle","__updatePositions","root","__itemStyle","translation","rotation","__dragCleanup","__dragPosition","newValue","actualType","charAt","toUpperCase","left-side","rightSide","right-side","swipe-only","swipeOnly","__openByTouch","fixed-left","fixed-right","__closeByTouch","backdropStyle","setState","nodeStyle","backdropOpacity","nodePosition","backPosition","nodeAnimUid","backAnimUid","layoutContainer","__animate","complete","__quasar_drawer","replaceState","pushState","__popState","content","initialPosition","getElementById","getElementsByClassName","backdropPosition","activeIcon","backdrop","__repositionBackdrop","fromBackdrop","_Utils$dom$offset","$parent","arrows","fullscreen","__updateCurrentSlide","slot","quickView","toggleQuickView","currentSlide","__selectImage","goToSlide","noAnimation","slider","fetching","working","poll","containerHeight","scrollContainer","loadMore","stopLoading","reset","resume","cursor-pointer","viewBox","stroke","trackColor","stroke-width","lineWidth","fill-opacity","svgStyle","stroke-linecap","stroke-dasharray","stroke-dashoffset","_value","knobOffset","centerPosition","__onInput","modulo","transparent","itemClass","has-secondary","secondIcon","secondImg","stamp","secondLabel","item-link","multiple-lines","multiline","two-lines","handlers","EscapeKey","register","pop","positionCSS","openedModalNumber","modalTransition","modalClasses","contentClasses","modalCss","positionClasses","contentCss","onShow","minimized","maximized","__popstate","modalId","__modalId","__onClose","onClose","onClick","has-error","hasError","__setByOffset","pattern","__updateValue","_n","maxDecimals","hasMin","hasMax","__normalize","setByOffset","newPage","lazy","inputPlaceholder","parsed","imageHasBeenLoaded","load","__processImage","__updatePosition","__processResize","imageHeight","containerTop","container","percentScrolled","imageOffset","resizeHandler","with-label","transformCSS","fit","__debouncedPositionUpdate","reposition","contains","trackStyle","buffer","bufferStyle","modelStyle","bufferModel","q-progress-button-dark-filler","darkFiller","computedPercentage","stateClass","errorIcon","successIcon","__pull","refreshIcon","pullMessage","releaseMessage","refreshMessage","pullPosition","animating","pulling","scrolling","__animateTo","previousCall","animationId","select","_q","__pan","__click","markers","no-transition","handle-at-minimum","labelAlways","label-always","snap","currentPercentage","__validateProps","__end","__setActive","handle","track-draggable","dragRange","percentageMin","activeTrackWidth","undraggable","disableMin","handle-at-maximum","disableMax","percentageMax","currentMinPercentage","currentMaxPercentage","sensitivity","value.min","value.max","____update","valueMin","percentageMinLimit","minPercentageOffset","valueMax","maxPercentageOffset","percentageMaxLimit","__cancelDrag","byPosition","valueRange","__updateInput","_ref$min","_ref$max","dekstop","mouseModel","exselected","hovered","mouseover","__setHoverValue","mouseout","q-search-centered","centered","isEmpty","numeric","arabic","focused","min-width","__setAndClose","optModel","toggleValue","option","find","pick","inFullscreen","with-arrows","with-toolbar","trackPosition","slidesNumber","dots","toggleFullscreen","actions","animUid","stopAnimation","track","__setFullscreen","replaceChild","fillerNode","beforeUpdate","$slots","SAudio","fill","xmlns","rx","attributeName","begin","dur","values","calcMode","repeatCount","SBall","fill-rule","cx","cy","SBars","SCircles","SDots","SFacebook","preserveAspectRatio","keySplines","keyTimes","SGears","SGrid","SHearts","SHourglass","stroke-miterlimit","vlaues","clip-path","SInfinity","SIos","ry","SOval","stroke-opacity","SPie","SPuff","SRadio","SRings","STail","x1","y1","x2","y2","stop-color","stop-opacity","tag","beforeCreate","warn","backLabel","nextLabel","finishLabel","steps","currentStep","nextStep","previousStep","finish","$children","child","incomplete","stepper","margin-top","beforeNext","hideIcon","hideLabel","append","activate","activeTab","refs","setTargetVisibility","__selectTabIfRouteMatches","routerLink","setActiveTab","deactivate","display","defaultTab","innerValue","usingModel","__findTabAndScroll","redraw","scrollTimer","scrollable","__redraw","__updateScrollIndicator","scroller","scrollEvents","leftScroll","__animScrollTo","rightScroll","clearInterval","action","tabElement","__scrollToSelectedIfNeeded","debounceDelay","tab","contentRect","tabRect","tabWidth","__scrollTowards","setInterval","scrollPosition","__swipe","__debouncedUpdatePosition","QTreeItem","q-tree-expandable-item","isExpandable","q-tree-link","expanded","contractHtml","expandHtml","contract-html","expand-html","accept","extensions","__add","uploading","computedLabel","buttonClass","addButtonDisabled","file","hideUploadButton","files","upload","images","__file","__size","__remove","__progress","__failed","failed","otherFiles","headers","additionalFields","method","uploadedSize","totalSize","f","__uploaded","reader","FileReader","onload","Image","readAsDataURL","__getUploadPromise","FormData","Promise","reject","percent","total","loaded","uploaded","onreadystatechange","status","onerror","setRequestHeader","filesDone","reduce","solved","promise","then","catch","frameborder","allowfullscreen","install$$1","installed","events","start$1","standaloneInstall","use","searchEl","startFrom","O","len","k","curEl","str","endsWith","subjectString","isFinite","lastIndex","matches","msMatchesSelector","mozMatchesSelector","webkitMatchesSelector","elements","ownerDocument","querySelectorAll","defineProperty","predicate","thisArg","lineno","colno","attach","tempDiv","primaryColor","rgb","metaTag","setAttribute","ActionSheets","gallery","actionButtons","dismissButton","hasFn","__runCancelHandler","ActionSheet","AppFullscreen","onfocusin","onfocusout","onpageshow","onpagehide","onfocus","onblur","AppVisibility","isVisible","Cookies","Loading","hasStorageItem","getItem","getStorageLength","getStorageItem","storage","getStorageAtIndex","lengthFn","getItemFn","getAllStorageItems","setStorageItem","setItem","removeStorageItem","removeItem","clearStorage","storageIsEmpty","getLengthFn","LocalStorage","SessionStorage"],"mappings":"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","file":"quasar.standalone.min.js","sourcesContent":["/*!\n * Quasar Framework v0.13.3\n * (c) 2017 Razvan Stoenescu\n * Released under the MIT License.\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('moment'), require('fastclick')) :\n\ttypeof define === 'function' && define.amd ? define(['moment', 'fastclick'], factory) :\n\t(global.Quasar = factory(global.moment,global.FastClick));\n}(this, (function (moment,FastClick) {\n\nmoment = 'default' in moment ? moment['default'] : moment;\nFastClick = 'default' in FastClick ? FastClick['default'] : FastClick;\n\nfunction getUserAgent() {\n return (navigator.userAgent || navigator.vendor || window.opera).toLowerCase();\n}\n\nfunction getMatch(userAgent, platformMatch) {\n var match = /(edge)\\/([\\w.]+)/.exec(userAgent) || /(opr)[\\/]([\\w.]+)/.exec(userAgent) || /(vivaldi)[\\/]([\\w.]+)/.exec(userAgent) || /(chrome)[\\/]([\\w.]+)/.exec(userAgent) || /(iemobile)[\\/]([\\w.]+)/.exec(userAgent) || /(version)(applewebkit)[\\/]([\\w.]+).*(safari)[\\/]([\\w.]+)/.exec(userAgent) || /(webkit)[\\/]([\\w.]+).*(version)[\\/]([\\w.]+).*(safari)[\\/]([\\w.]+)/.exec(userAgent) || /(webkit)[\\/]([\\w.]+)/.exec(userAgent) || /(opera)(?:.*version|)[\\/]([\\w.]+)/.exec(userAgent) || /(msie) ([\\w.]+)/.exec(userAgent) || userAgent.indexOf('trident') >= 0 && /(rv)(?::| )([\\w.]+)/.exec(userAgent) || userAgent.indexOf('compatible') < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(userAgent) || [];\n\n return {\n browser: match[5] || match[3] || match[1] || '',\n version: match[2] || match[4] || '0',\n versionNumber: match[4] || match[2] || '0',\n platform: platformMatch[0] || ''\n };\n}\n\nfunction getPlatformMatch(userAgent) {\n return (/(ipad)/.exec(userAgent) || /(ipod)/.exec(userAgent) || /(windows phone)/.exec(userAgent) || /(iphone)/.exec(userAgent) || /(kindle)/.exec(userAgent) || /(silk)/.exec(userAgent) || /(android)/.exec(userAgent) || /(win)/.exec(userAgent) || /(mac)/.exec(userAgent) || /(linux)/.exec(userAgent) || /(cros)/.exec(userAgent) || /(playbook)/.exec(userAgent) || /(bb)/.exec(userAgent) || /(blackberry)/.exec(userAgent) || []\n );\n}\n\nfunction getPlatform() {\n var userAgent = getUserAgent(),\n platformMatch = getPlatformMatch(userAgent),\n matched = getMatch(userAgent, platformMatch),\n browser = {};\n\n if (matched.browser) {\n browser[matched.browser] = true;\n browser.version = matched.version;\n browser.versionNumber = parseInt(matched.versionNumber, 10);\n }\n\n if (matched.platform) {\n browser[matched.platform] = true;\n }\n\n if (browser.android || browser.bb || browser.blackberry || browser.ipad || browser.iphone || browser.ipod || browser.kindle || browser.playbook || browser.silk || browser['windows phone']) {\n browser.mobile = true;\n }\n\n if (browser.ipod || browser.ipad || browser.iphone) {\n browser.ios = true;\n }\n\n if (browser['windows phone']) {\n browser.winphone = true;\n delete browser['windows phone'];\n }\n\n if (browser.cros || browser.mac || browser.linux || browser.win) {\n browser.desktop = true;\n }\n\n if (browser.chrome || browser.opr || browser.safari || browser.vivaldi) {\n browser.webkit = true;\n }\n\n if (browser.rv || browser.iemobile) {\n matched.browser = 'ie';\n browser.ie = true;\n }\n\n if (browser.edge) {\n matched.browser = 'edge';\n browser.edge = true;\n }\n\n if (browser.safari && browser.blackberry || browser.bb) {\n matched.browser = 'blackberry';\n browser.blackberry = true;\n }\n\n if (browser.safari && browser.playbook) {\n matched.browser = 'playbook';\n browser.playbook = true;\n }\n\n if (browser.opr) {\n matched.browser = 'opera';\n browser.opera = true;\n }\n\n if (browser.safari && browser.android) {\n matched.browser = 'android';\n browser.android = true;\n }\n\n if (browser.safari && browser.kindle) {\n matched.browser = 'kindle';\n browser.kindle = true;\n }\n\n if (browser.safari && browser.silk) {\n matched.browser = 'silk';\n browser.silk = true;\n }\n\n if (browser.vivaldi) {\n matched.browser = 'vivaldi';\n browser.vivaldi = true;\n }\n\n browser.name = matched.browser;\n browser.platform = matched.platform;\n\n if (window && window.process && window.process.versions && window.process.versions.electron) {\n browser.electron = true;\n } else if (window._cordovaNative || document.location.href.indexOf('http') !== 0) {\n browser.cordova = true;\n }\n\n return browser;\n}\n\nvar Platform = {\n is: getPlatform(),\n has: {\n touch: function () {\n return !!('ontouchstart' in document.documentElement) || window.navigator.msMaxTouchPoints > 0;\n }()\n },\n within: {\n iframe: window.self !== window.top\n }\n};\n\nPlatform.has.popstate = !Platform.within.iframe && !Platform.is.electron;\n\nvar bus = void 0;\n\nfunction install$1(_Vue) {\n bus = new _Vue();\n}\n\nvar Events = {\n $on: function $on() {\n var _bus;\n\n bus && (_bus = bus).$on.apply(_bus, arguments);\n },\n $once: function $once() {\n var _bus2;\n\n bus && (_bus2 = bus).$once.apply(_bus2, arguments);\n },\n $emit: function $emit() {\n var _bus3;\n\n bus && (_bus3 = bus).$emit.apply(_bus3, arguments);\n },\n $off: function $off() {\n var _bus4;\n\n bus && (_bus4 = bus).$off.apply(_bus4, arguments);\n }\n};\n\nfunction s4() {\n return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);\n}\n\nvar uid = function () {\n return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();\n};\n\nvar ids = {};\n\nfunction animate(_ref) {\n var id = _ref.id,\n finalPos = _ref.finalPos,\n pos = _ref.pos,\n threshold = _ref.threshold,\n factor = _ref.factor,\n done = _ref.done,\n apply = _ref.apply;\n\n ids[id] = requestAnimationFrame(function () {\n var diff = finalPos - pos;\n if (Math.abs(diff) < threshold) {\n delete ids[id];\n apply(finalPos);\n done && done(finalPos);\n return;\n }\n var newPos = pos + (finalPos - pos) / factor;\n apply(newPos);\n animate({ id: id, finalPos: finalPos, pos: newPos, threshold: threshold, done: done, factor: factor, apply: apply });\n });\n}\n\nfunction start(_ref2) {\n var name = _ref2.name,\n finalPos = _ref2.finalPos,\n pos = _ref2.pos,\n _ref2$threshold = _ref2.threshold,\n threshold = _ref2$threshold === undefined ? 1 : _ref2$threshold,\n _ref2$factor = _ref2.factor,\n factor = _ref2$factor === undefined ? 5 : _ref2$factor,\n done = _ref2.done,\n apply = _ref2.apply;\n\n var id = name;\n if (id) {\n start.stop(id);\n } else {\n id = uid();\n }\n animate({ id: id, finalPos: finalPos, pos: pos, threshold: threshold, factor: factor, done: done, apply: apply });\n return id;\n}\n\nstart.stop = function (id) {\n var timer = ids[id];\n if (timer) {\n cancelAnimationFrame(timer);\n delete ids[id];\n }\n};\n\nvar clone = function (data) {\n return JSON.parse(JSON.stringify(data));\n};\n\nfunction rgbToHex(red, green, blue) {\n if (typeof red === 'string') {\n var res = red.match(/\\b\\d{1,3}\\b/g).map(Number);\n red = res[0];\n green = res[1];\n blue = res[2];\n }\n\n if (typeof red !== 'number' || typeof green !== 'number' || typeof blue !== 'number' || red > 255 || green > 255 || blue > 255) {\n throw new TypeError('Expected three numbers below 256');\n }\n\n return (blue | green << 8 | red << 16 | 1 << 24).toString(16).slice(1);\n}\n\nfunction hexToRgb(hex) {\n if (typeof hex !== 'string') {\n throw new TypeError('Expected a string');\n }\n\n hex = hex.replace(/^#/, '');\n\n if (hex.length === 3) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n }\n\n var num = parseInt(hex, 16);\n\n return [num >> 16, num >> 8 & 255, num & 255];\n}\n\nvar colors = Object.freeze({\n\trgbToHex: rgbToHex,\n\thexToRgb: hexToRgb\n});\n\nvar now = Date.now;\n\nvar debounce = function (fn) {\n var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 250;\n var immediate = arguments[2];\n\n var timeout = void 0,\n params = void 0,\n context = void 0,\n timestamp = void 0,\n result = void 0,\n later = function later() {\n var last = now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = fn.apply(context, params);\n if (!timeout) {\n context = params = null;\n }\n }\n }\n };\n\n return function () {\n var callNow = immediate && !timeout;\n\n context = this;\n timestamp = now();\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n params = args;\n\n if (!timeout) {\n timeout = setTimeout(later, wait);\n }\n if (callNow) {\n result = fn.apply(context, args);\n context = params = null;\n }\n\n return result;\n };\n};\n\nfunction offset(el) {\n if (el === window) {\n return { top: 0, left: 0 };\n }\n\n var _el$getBoundingClient = el.getBoundingClientRect(),\n top = _el$getBoundingClient.top,\n left = _el$getBoundingClient.left;\n\n return { top: top, left: left };\n}\n\nfunction style(el, property) {\n return window.getComputedStyle(el).getPropertyValue(property);\n}\n\nfunction height(el) {\n if (el === window) {\n return viewport().height;\n }\n return parseFloat(window.getComputedStyle(el).getPropertyValue('height'), 10);\n}\n\nfunction width(el) {\n if (el === window) {\n return viewport().width;\n }\n return parseFloat(window.getComputedStyle(el).getPropertyValue('width'), 10);\n}\n\nfunction css(element, css) {\n var style = element.style;\n\n Object.keys(css).forEach(function (prop) {\n style[prop] = css[prop];\n });\n}\n\nfunction viewport() {\n var e = window,\n a = 'inner';\n\n if (!('innerWidth' in window)) {\n a = 'client';\n e = document.documentElement || document.body;\n }\n\n return {\n width: e[a + 'Width'],\n height: e[a + 'Height']\n };\n}\n\nfunction ready(fn) {\n if (typeof fn !== 'function') {\n return;\n }\n\n if (document.readyState === 'complete') {\n return fn();\n }\n\n document.addEventListener('DOMContentLoaded', fn, false);\n}\n\nfunction getScrollTarget(el) {\n return el.closest('.layout-view,.scroll') || window;\n}\n\nfunction getScrollPosition(scrollTarget) {\n if (scrollTarget === window) {\n return window.pageYOffset || window.scrollY || document.body.scrollTop || 0;\n }\n return scrollTarget.scrollTop;\n}\n\nfunction animScrollTo(el, to, duration) {\n if (duration <= 0) {\n return;\n }\n\n var pos = getScrollPosition(el);\n\n requestAnimationFrame(function () {\n setScroll(el, pos + (to - pos) / duration * 16);\n if (el.scrollTop !== to) {\n animScrollTo(el, to, duration - 16);\n }\n });\n}\n\nfunction setScroll(scrollTarget, offset) {\n if (scrollTarget === window) {\n document.documentElement.scrollTop = offset;\n document.body.scrollTop = offset;\n return;\n }\n scrollTarget.scrollTop = offset;\n}\n\nfunction setScrollPosition(scrollTarget, offset, duration) {\n if (duration) {\n animScrollTo(scrollTarget, offset, duration);\n return;\n }\n setScroll(scrollTarget, offset);\n}\n\nvar prefix = ['-webkit-', '-moz-', '-ms-', '-o-'];\nfunction cssTransform(val) {\n var o = { transform: val };\n prefix.forEach(function (p) {\n o[p + 'transform'] = val;\n });\n return o;\n}\n\nvar dom = Object.freeze({\n\toffset: offset,\n\tstyle: style,\n\theight: height,\n\twidth: width,\n\tcss: css,\n\tviewport: viewport,\n\tready: ready,\n\tgetScrollTarget: getScrollTarget,\n\tgetScrollPosition: getScrollPosition,\n\tsetScrollPosition: setScrollPosition,\n\tcssTransform: cssTransform\n});\n\nfunction getEvent(e) {\n return !e ? window.event : e;\n}\n\nfunction rightClick(e) {\n e = getEvent(e);\n\n if (e.which) {\n return e.which == 3;\n }\n if (e.button) {\n return e.button == 2;\n }\n\n return false;\n}\n\nfunction position(e) {\n var posx = void 0,\n posy = void 0;\n e = getEvent(e);\n\n if (e.touches && e.touches[0]) {\n e = e.touches[0];\n } else if (e.changedTouches && e.changedTouches[0]) {\n e = e.changedTouches[0];\n }\n\n if (e.clientX || e.clientY) {\n posx = e.clientX;\n posy = e.clientY;\n } else if (e.pageX || e.pageY) {\n posx = e.pageX - document.body.scrollLeft - document.documentElement.scrollLeft;\n posy = e.pageY - document.body.scrollTop - document.documentElement.scrollTop;\n }\n\n return {\n top: posy,\n left: posx\n };\n}\n\nfunction targetElement(e) {\n var target = void 0;\n e = getEvent(e);\n\n if (e.target) {\n target = e.target;\n } else if (e.srcElement) {\n target = e.srcElement;\n }\n\n if (target.nodeType === 3) {\n target = target.parentNode;\n }\n\n return target;\n}\n\nfunction getMouseWheelDirection(e) {\n e = getEvent(e);\n return Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));\n}\n\nvar event = Object.freeze({\n\trightClick: rightClick,\n\tposition: position,\n\ttargetElement: targetElement,\n\tgetMouseWheelDirection: getMouseWheelDirection\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar toString = Object.prototype.toString;\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar class2type = {};\n\n'Boolean Number String Function Array Date RegExp Object'.split(' ').forEach(function (name) {\n class2type['[object ' + name + ']'] = name.toLowerCase();\n});\n\nfunction type(obj) {\n return obj == null ? String(obj) : class2type[toString.call(obj)] || 'object';\n}\n\nfunction isPlainObject(obj) {\n if (!obj || type(obj) !== 'object') {\n return false;\n }\n\n if (obj.constructor && !hasOwn.call(obj, 'constructor') && !hasOwn.call(obj.constructor.prototype, 'isPrototypeOf')) {\n return false;\n }\n\n var key = void 0;\n for (key in obj) {}\n\n return key === undefined || hasOwn.call(obj, key);\n}\n\nfunction extend() {\n var options = void 0,\n name = void 0,\n src = void 0,\n copy = void 0,\n copyIsArray = void 0,\n clone = void 0,\n target = arguments[0] || {},\n i = 1,\n length = arguments.length,\n deep = false;\n\n if (typeof target === 'boolean') {\n deep = target;\n target = arguments[1] || {};\n i = 2;\n }\n\n if ((typeof target === 'undefined' ? 'undefined' : _typeof(target)) !== 'object' && type(target) !== 'function') {\n target = {};\n }\n\n if (length === i) {\n target = this;\n i--;\n }\n\n for (; i < length; i++) {\n if ((options = arguments[i]) != null) {\n for (name in options) {\n src = target[name];\n copy = options[name];\n\n if (target === copy) {\n continue;\n }\n\n if (deep && copy && (isPlainObject(copy) || (copyIsArray = type(copy) === 'array'))) {\n if (copyIsArray) {\n copyIsArray = false;\n clone = src && type(src) === 'array' ? src : [];\n } else {\n clone = src && isPlainObject(src) ? src : {};\n }\n\n target[name] = extend(deep, clone, copy);\n } else if (copy !== undefined) {\n target[name] = copy;\n }\n }\n }\n }\n\n return target;\n}\n\nvar filter = function (terms, _ref) {\n var field = _ref.field,\n list = _ref.list;\n\n var token = terms.toLowerCase();\n return list.filter(function (item) {\n return ('' + item[field]).toLowerCase().startsWith(token);\n });\n};\n\nvar units = ['B', 'kB', 'MB', 'GB', 'TB', 'PB'];\n\nfunction humanStorageSize(bytes) {\n var u = 0;\n\n while (Math.abs(bytes) >= 1024 && u < units.length - 1) {\n bytes /= 1024;\n ++u;\n }\n\n return bytes.toFixed(1) + ' ' + units[u];\n}\n\nfunction between(val, min, max) {\n return Math.min(max, Math.max(min, val));\n}\n\nvar format = Object.freeze({\n\thumanStorageSize: humanStorageSize,\n\tbetween: between\n});\n\nvar ModalGenerator = function (VueComponent) {\n return {\n create: function create(props) {\n var node = document.createElement('div');\n document.body.appendChild(node);\n\n var vm = new Vue({\n el: node,\n data: function data() {\n return { props: props };\n },\n\n render: function render(h) {\n return h(VueComponent, { props: props });\n }\n });\n\n return {\n close: function close(fn) {\n vm.quasarClose(fn);\n }\n };\n }\n };\n};\n\nvar Dialog$1 = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('q-modal', { ref: \"dialog\", staticClass: \"minimized\", attrs: { \"no-backdrop-dismiss\": _vm.noBackdropDismiss, \"no-esc-dismiss\": _vm.noEscDismiss }, on: { \"close\": function close($event) {\n _vm.__dismiss();\n } } }, [_c('div', { staticClass: \"modal-header\", domProps: { \"innerHTML\": _vm._s(_vm.title || '') } }), _vm.message ? _c('div', { staticClass: \"modal-body modal-scroll\", domProps: { \"innerHTML\": _vm._s(_vm.message) } }) : _vm._e(), _vm.form ? _c('div', { staticClass: \"modal-body modal-scroll\" }, [_vm._l(_vm.form, function (el) {\n return [el.type === 'heading' ? _c('h6', { domProps: { \"innerHTML\": _vm._s(el.label) } }) : _vm._e(), el.type === 'textbox' ? _c('div', { staticClass: \"floating-label\", staticStyle: { \"margin-bottom\": \"10px\" } }, [_c('input', { directives: [{ name: \"model\", rawName: \"v-model\", value: el.model, expression: \"el.model\" }], staticClass: \"full-width\", attrs: { \"type\": \"text\", \"placeholder\": el.placeholder, \"required\": \"\", \"tabindex\": \"0\" }, domProps: { \"value\": el.model }, on: { \"input\": function input($event) {\n if ($event.target.composing) {\n return;\n }el.model = $event.target.value;\n } } }), _c('label', { domProps: { \"innerHTML\": _vm._s(el.label) } })]) : _vm._e(), el.type === 'password' ? _c('div', { staticClass: \"floating-label\", staticStyle: { \"margin-bottom\": \"10px\" } }, [_c('input', { directives: [{ name: \"model\", rawName: \"v-model\", value: el.model, expression: \"el.model\" }], staticClass: \"full-width\", attrs: { \"type\": \"password\", \"placeholder\": el.placeholder, \"required\": \"\", \"tabindex\": \"0\" }, domProps: { \"value\": el.model }, on: { \"input\": function input($event) {\n if ($event.target.composing) {\n return;\n }el.model = $event.target.value;\n } } }), _c('label', { domProps: { \"innerHTML\": _vm._s(el.label) } })]) : _vm._e(), el.type === 'textarea' ? _c('div', { staticClass: \"floating-label\", staticStyle: { \"margin-bottom\": \"10px\" } }, [_c('textarea', { directives: [{ name: \"model\", rawName: \"v-model\", value: el.model, expression: \"el.model\" }], staticClass: \"full-width\", attrs: { \"type\": \"text\", \"placeholder\": el.placeholder, \"required\": \"\", \"tabindex\": \"0\" }, domProps: { \"value\": el.model }, on: { \"input\": function input($event) {\n if ($event.target.composing) {\n return;\n }el.model = $event.target.value;\n } } }), _c('label', { domProps: { \"innerHTML\": _vm._s(el.label) } })]) : _vm._e(), el.type === 'numeric' ? _c('div', { staticStyle: { \"margin-bottom\": \"10px\" } }, [_c('label', { domProps: { \"innerHTML\": _vm._s(el.label) } }), _c('q-numeric', { attrs: { \"min\": el.min, \"max\": el.max, \"step\": el.step, \"tabindex\": \"0\" }, model: { value: el.model, callback: function callback($$v) {\n el.model = $$v;\n } } })], 1) : _vm._e(), el.type === 'chips' ? _c('div', { staticStyle: { \"margin-bottom\": \"10px\" } }, [_c('label', { domProps: { \"innerHTML\": _vm._s(el.label) } }), _c('q-chips', { model: { value: el.model, callback: function callback($$v) {\n el.model = $$v;\n } } })], 1) : _vm._e(), _vm._l(el.items, function (radio) {\n return el.type === 'radio' ? _c('label', { staticClass: \"item\" }, [_c('div', { staticClass: \"item-primary\" }, [_c('q-radio', { attrs: { \"val\": radio.value, \"disable\": radio.disabled }, model: { value: el.model, callback: function callback($$v) {\n el.model = $$v;\n } } })], 1), _c('div', { staticClass: \"item-content\", domProps: { \"innerHTML\": _vm._s(radio.label) } })]) : _vm._e();\n }), _vm._l(el.items, function (checkbox) {\n return el.type === 'checkbox' ? _c('label', { staticClass: \"item\" }, [_c('div', { staticClass: \"item-primary\" }, [_c('q-checkbox', { attrs: { \"disable\": checkbox.disabled }, model: { value: checkbox.model, callback: function callback($$v) {\n checkbox.model = $$v;\n } } })], 1), _c('div', { staticClass: \"item-content\", domProps: { \"innerHTML\": _vm._s(checkbox.label) } })]) : _vm._e();\n }), _vm._l(el.items, function (toggle) {\n return el.type === 'toggle' ? _c('label', { staticClass: \"item\" }, [_c('div', { staticClass: \"item-content has-secondary\", domProps: { \"innerHTML\": _vm._s(toggle.label) } }), _c('div', { staticClass: \"item-secondary\" }, [_c('q-toggle', { attrs: { \"disable\": toggle.disabled }, model: { value: toggle.model, callback: function callback($$v) {\n toggle.model = $$v;\n } } })], 1)]) : _vm._e();\n }), el.type === 'rating' ? _c('div', { staticStyle: { \"margin-bottom\": \"10px\" } }, [_c('label', { domProps: { \"innerHTML\": _vm._s(el.label) } }), _c('q-rating', { style: { fontSize: el.size || '2rem' }, attrs: { \"max\": el.max, \"icon\": el.icon }, model: { value: el.model, callback: function callback($$v) {\n el.model = $$v;\n } } })], 1) : _vm._e()];\n })], 2) : _vm._e(), _vm.progress ? _c('div', { staticClass: \"modal-body\" }, [_c('q-progress', { staticClass: \"primary stripe animate\", class: { indeterminate: _vm.progress.indeterminate }, attrs: { \"percentage\": _vm.progress.model } }), !_vm.progress.indeterminate ? _c('span', [_vm._v(_vm._s(_vm.progress.model) + \" %\")]) : _vm._e()], 1) : _vm._e(), _vm.buttons ? _c('div', { staticClass: \"modal-buttons\", class: { row: !_vm.stackButtons, column: _vm.stackButtons } }, _vm._l(_vm.buttons, function (button) {\n return _c('button', { class: button.classes || 'primary clear', style: button.style, attrs: { \"tabindex\": \"0\" }, domProps: { \"innerHTML\": _vm._s(typeof button === 'string' ? button : button.label) }, on: { \"click\": function click($event) {\n _vm.trigger(button.handler, button.preventClose);\n } } });\n })) : _vm._e(), !_vm.buttons && !_vm.nobuttons ? _c('div', { staticClass: \"modal-buttons row\" }, [_c('button', { staticClass: \"primary clear\", attrs: { \"tabindex\": \"0\" }, on: { \"click\": function click($event) {\n _vm.close();\n } } }, [_vm._v(\"OK\")])]) : _vm._e()]);\n }, staticRenderFns: [],\n props: {\n title: String,\n message: String,\n form: Object,\n stackButtons: Boolean,\n buttons: Array,\n nobuttons: Boolean,\n progress: Object,\n onDismiss: Function,\n noBackdropDismiss: Boolean,\n noEscDismiss: Boolean\n },\n computed: {\n opened: function opened() {\n if (this.$refs.dialog) {\n return this.$refs.dialog.active;\n }\n }\n },\n methods: {\n trigger: function trigger(handler, preventClose) {\n var _this = this;\n\n var handlerFn = typeof handler === 'function';\n if (!handlerFn) {\n this.close();\n return;\n }\n\n if (preventClose) {\n handler(this.getFormData(), this.close);\n } else {\n this.close(function () {\n handler(_this.getFormData());\n });\n }\n },\n getFormData: function getFormData() {\n var _this2 = this;\n\n if (!this.form) {\n return;\n }\n\n var data = {};\n\n Object.keys(this.form).forEach(function (name) {\n var el = _this2.form[name];\n if (['checkbox', 'toggle'].includes(el.type)) {\n data[name] = el.items.filter(function (item) {\n return item.model;\n }).map(function (item) {\n return item.value;\n });\n } else if (el.type !== 'heading') {\n data[name] = el.model;\n }\n });\n\n return data;\n },\n close: function close(fn) {\n if (!this.opened) {\n return;\n }\n this.$refs.dialog.close(function () {\n if (typeof fn === 'function') {\n fn();\n }\n });\n },\n __dismiss: function __dismiss() {\n this.$root.$destroy();\n if (typeof this.onDismiss === 'function') {\n this.onDismiss();\n }\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.$refs.dialog.open(function () {\n if (!_this3.$q.platform.is.desktop) {\n return;\n }\n\n var node = _this3.$refs.dialog.$el.getElementsByTagName(_this3.form ? 'INPUT' : 'BUTTON');\n if (!node.length) {\n return;\n }\n\n if (_this3.form) {\n node[0].focus();\n } else {\n node[node.length - 1].focus();\n }\n });\n this.$root.quasarClose = this.close;\n }\n};\n\nvar Dialog = ModalGenerator(Dialog$1);\n\nvar openURL = (function (url) {\n if (Platform.is.cordova) {\n navigator.app.loadUrl(url, {\n openExternal: true\n });\n\n return;\n }\n\n var win = window.open(url, '_blank');\n\n if (win) {\n win.focus();\n } else {\n Dialog.create({\n title: 'Cannot Open Window',\n message: 'Please allow popups first, then please try again.'\n }).show();\n }\n});\n\nfunction getAnchorPosition(el, offset) {\n var _el$getBoundingClient = el.getBoundingClientRect(),\n top = _el$getBoundingClient.top,\n left = _el$getBoundingClient.left,\n right = _el$getBoundingClient.right,\n bottom = _el$getBoundingClient.bottom,\n a = {\n top: top,\n left: left,\n width: el.offsetWidth,\n height: el.offsetHeight\n };\n\n if (offset) {\n a.top += offset[1];\n a.left += offset[0];\n if (bottom) {\n bottom += offset[1];\n }\n if (right) {\n right += offset[0];\n }\n }\n\n a.right = right || a.left + a.width;\n a.bottom = bottom || a.top + a.height;\n a.middle = a.left + (a.right - a.left) / 2;\n a.center = a.top + (a.bottom - a.top) / 2;\n\n return a;\n}\n\nfunction getTargetPosition(el) {\n return {\n top: 0,\n center: el.offsetHeight / 2,\n bottom: el.offsetHeight,\n left: 0,\n middle: el.offsetWidth / 2,\n right: el.offsetWidth\n };\n}\n\nfunction getOverlapMode(anchor, target, median) {\n if ([anchor, target].indexOf(median) >= 0) return 'auto';\n if (anchor === target) return 'inclusive';\n return 'exclusive';\n}\n\nfunction getPositions(anchor, target) {\n var a = extend({}, anchor),\n t = extend({}, target);\n\n var positions = {\n x: ['left', 'right'].filter(function (p) {\n return p !== t.horizontal;\n }),\n y: ['top', 'bottom'].filter(function (p) {\n return p !== t.vertical;\n })\n };\n\n var overlap = {\n x: getOverlapMode(a.horizontal, t.horizontal, 'middle'),\n y: getOverlapMode(a.vertical, t.vertical, 'center')\n };\n\n positions.x.splice(overlap.x === 'auto' ? 0 : 1, 0, 'middle');\n positions.y.splice(overlap.y === 'auto' ? 0 : 1, 0, 'center');\n\n if (overlap.y !== 'auto') {\n a.vertical = a.vertical === 'top' ? 'bottom' : 'top';\n if (overlap.y === 'inclusive') {\n t.vertical = t.vertical;\n }\n }\n\n if (overlap.x !== 'auto') {\n a.horizontal = a.horizontal === 'left' ? 'right' : 'left';\n if (overlap.y === 'inclusive') {\n t.horizontal = t.horizontal;\n }\n }\n\n return {\n positions: positions,\n anchorPos: a\n };\n}\n\nfunction applyAutoPositionIfNeeded(anchor, target, selfOrigin, anchorOrigin, targetPosition) {\n var _getPositions = getPositions(anchorOrigin, selfOrigin),\n positions = _getPositions.positions,\n anchorPos = _getPositions.anchorPos;\n\n if (targetPosition.top < 0 || targetPosition.top + target.bottom > window.innerHeight) {\n var newTop = anchor[anchorPos.vertical] - target[positions.y[0]];\n if (newTop + target.bottom <= window.innerHeight) {\n targetPosition.top = Math.max(0, newTop);\n } else {\n newTop = anchor[anchorPos.vertical] - target[positions.y[1]];\n if (newTop + target.bottom <= window.innerHeight) {\n targetPosition.top = Math.max(0, newTop);\n }\n }\n }\n if (targetPosition.left < 0 || targetPosition.left + target.right > window.innerWidth) {\n var newLeft = anchor[anchorPos.horizontal] - target[positions.x[0]];\n if (newLeft + target.right <= window.innerWidth) {\n targetPosition.left = Math.max(0, newLeft);\n } else {\n newLeft = anchor[anchorPos.horizontal] - target[positions.x[1]];\n if (newLeft + target.right <= window.innerWidth) {\n targetPosition.left = Math.max(0, newLeft);\n }\n }\n }\n return targetPosition;\n}\n\nfunction parseHorizTransformOrigin(pos) {\n return pos === 'middle' ? 'center' : pos;\n}\n\nfunction getTransformProperties(_ref) {\n var selfOrigin = _ref.selfOrigin;\n\n var vert = selfOrigin.vertical,\n horiz = parseHorizTransformOrigin(selfOrigin.horizontal);\n\n return {\n 'transform-origin': vert + ' ' + horiz + ' 0px'\n };\n}\n\nfunction setPosition(_ref2) {\n var el = _ref2.el,\n anchorEl = _ref2.anchorEl,\n anchorOrigin = _ref2.anchorOrigin,\n selfOrigin = _ref2.selfOrigin,\n maxHeight = _ref2.maxHeight,\n event = _ref2.event,\n anchorClick = _ref2.anchorClick,\n touchPosition = _ref2.touchPosition,\n offset = _ref2.offset;\n\n var anchor = void 0;\n el.style.maxHeight = this.maxHeight || '65vh';\n\n if (event && (!anchorClick || touchPosition)) {\n var _eventPosition = position(event),\n top = _eventPosition.top,\n left = _eventPosition.left;\n\n anchor = { top: top, left: left, width: 1, height: 1, right: left + 1, center: top, middle: left, bottom: top + 1 };\n } else {\n anchor = getAnchorPosition(anchorEl, offset);\n }\n\n var target = getTargetPosition(el);\n var targetPosition = {\n top: anchor[anchorOrigin.vertical] - target[selfOrigin.vertical],\n left: anchor[anchorOrigin.horizontal] - target[selfOrigin.horizontal]\n };\n\n targetPosition = applyAutoPositionIfNeeded(anchor, target, selfOrigin, anchorOrigin, targetPosition);\n\n el.style.top = Math.max(0, targetPosition.top) + 'px';\n el.style.left = Math.max(0, targetPosition.left) + 'px';\n}\n\nfunction positionValidator(pos) {\n var parts = pos.split(' ');\n if (parts.length !== 2) {\n return false;\n }\n if (!['top', 'center', 'bottom'].includes(parts[0])) {\n console.error('Anchor/Self position must start with one of top/center/bottom');\n return false;\n }\n if (!['left', 'middle', 'right'].includes(parts[1])) {\n console.error('Anchor/Self position must end with one of left/middle/right');\n return false;\n }\n return true;\n}\n\nfunction offsetValidator(val) {\n if (!val) {\n return true;\n }\n if (val.length !== 2) {\n return false;\n }\n if (typeof val[0] !== 'number' || typeof val[1] !== 'number') {\n return false;\n }\n return true;\n}\n\nfunction parsePosition(pos) {\n var parts = pos.split(' ');\n return { vertical: parts[0], horizontal: parts[1] };\n}\n\nvar popup = Object.freeze({\n\tgetAnchorPosition: getAnchorPosition,\n\tgetTargetPosition: getTargetPosition,\n\tgetOverlapMode: getOverlapMode,\n\tgetPositions: getPositions,\n\tapplyAutoPositionIfNeeded: applyAutoPositionIfNeeded,\n\tparseHorizTransformOrigin: parseHorizTransformOrigin,\n\tgetTransformProperties: getTransformProperties,\n\tsetPosition: setPosition,\n\tpositionValidator: positionValidator,\n\toffsetValidator: offsetValidator,\n\tparsePosition: parsePosition\n});\n\nvar size = void 0;\n\nfunction width$1() {\n if (size) {\n return size;\n }\n\n var inner = document.createElement('p'),\n outer = document.createElement('div');\n\n css(inner, {\n width: '100%',\n height: '200px'\n });\n css(outer, {\n position: 'absolute',\n top: '0px',\n left: '0px',\n visibility: 'hidden',\n width: '200px',\n height: '150px',\n overflow: 'hidden'\n });\n\n outer.appendChild(inner);\n\n document.body.appendChild(outer);\n\n var w1 = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n var w2 = inner.offsetWidth;\n\n if (w1 === w2) {\n w2 = outer.clientWidth;\n }\n\n document.body.removeChild(outer);\n size = w1 - w2;\n\n return size;\n}\n\nvar scrollbar = Object.freeze({\n\twidth: width$1\n});\n\nvar data = {};\n\nfunction add(name, el, ctx) {\n var id = uid();\n el.dataset['__' + name] = id;\n if (!data[name]) {\n data[name] = {};\n }\n data[name][id] = ctx;\n}\n\nfunction get$1(name, el) {\n var id = el.dataset['__' + name];\n if (!id) {\n return;\n }\n if (!data[name]) {\n return;\n }\n var ctx = data[name][id];\n if (!ctx) {\n return;\n }\n return ctx;\n}\n\nfunction remove(name, el) {\n var id = el.dataset['__' + name];\n if (!id) {\n return;\n }\n if (data[name] && data[name][id]) {\n delete data[name][id];\n }\n}\n\nvar store = Object.freeze({\n\tadd: add,\n\tget: get$1,\n\tremove: remove\n});\n\nvar throttle = function (fn) {\n var limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 250;\n\n var wait = false;\n\n return function () {\n if (wait) {\n return;\n }\n\n wait = true;\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n fn.apply(this, args);\n setTimeout(function () {\n wait = false;\n }, limit);\n };\n};\n\nvar Utils = {\n animate: start,\n clone: clone,\n colors: colors,\n debounce: debounce,\n dom: dom,\n event: event,\n extend: extend,\n filter: filter,\n format: format,\n noop: function noop() {},\n\n openURL: openURL,\n popup: popup,\n scrollbar: scrollbar,\n store: store,\n throttle: throttle,\n uid: uid\n};\n\nvar transitionDuration = 300;\nvar displayDuration = 2500;\n\nfunction parseOptions(opts, defaults) {\n if (!opts) {\n throw new Error('Missing toast options.');\n }\n\n var options = Utils.extend(true, {}, defaults, typeof opts === 'string' ? { html: opts } : opts);\n\n if (!options.html) {\n throw new Error('Missing toast content/HTML.');\n }\n\n return options;\n}\n\nvar Toast$1 = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-toast-container\", class: { active: _vm.active } }, [_vm.stack[0] ? _c('div', { staticClass: \"q-toast row no-wrap items-center non-selectable\", class: _vm.classes, style: { color: _vm.stack[0].color, background: _vm.stack[0].bgColor } }, [_vm.stack[0].icon ? _c('i', [_vm._v(_vm._s(_vm.stack[0].icon))]) : _vm._e(), _vm._v(\" \"), _vm.stack[0].image ? _c('img', { attrs: { \"src\": _vm.stack[0].image } }) : _vm._e(), _c('div', { staticClass: \"q-toast-message auto\", domProps: { \"innerHTML\": _vm._s(_vm.stack[0].html) } }), _vm.stack[0].button && _vm.stack[0].button.label ? _c('a', { style: { color: _vm.stack[0].button.color }, on: { \"click\": function click($event) {\n _vm.dismiss(_vm.stack[0].button.handler);\n } } }, [_vm._v(_vm._s(_vm.stack[0].button.label) + \" \")]) : _vm._e(), _c('a', { style: { color: _vm.stack[0].button.color }, on: { \"click\": function click($event) {\n _vm.dismiss();\n } } }, [_c('i', [_vm._v(\"close\")])])]) : _vm._e()]);\n }, staticRenderFns: [],\n data: function data() {\n return {\n active: false,\n inTransition: false,\n stack: [],\n timer: null,\n defaults: {\n color: 'white',\n bgColor: '#323232',\n button: {\n color: 'yellow'\n }\n }\n };\n },\n\n computed: {\n classes: function classes() {\n if (!this.stack.length || !this.stack[0].classes) {\n return {};\n }\n\n return this.stack[0].classes.split(' ');\n }\n },\n methods: {\n create: function create(options) {\n this.stack.push(parseOptions(options, this.defaults));\n\n if (this.active || this.inTransition) {\n return;\n }\n\n this.active = true;\n this.inTransition = true;\n\n this.__show();\n },\n __show: function __show() {\n var _this = this;\n\n Events.$emit('app:toast', this.stack[0].html);\n\n this.timer = setTimeout(function () {\n if (_this.stack.length > 0) {\n _this.dismiss();\n } else {\n _this.inTransition = false;\n }\n }, transitionDuration + (this.stack[0].timeout || displayDuration));\n },\n dismiss: function dismiss(done) {\n var _this2 = this;\n\n this.active = false;\n clearTimeout(this.timer);\n this.timer = null;\n\n setTimeout(function () {\n if (typeof _this2.stack[0].onDismiss === 'function') {\n _this2.stack[0].onDismiss();\n }\n\n _this2.stack.shift();\n done && done();\n\n if (_this2.stack.length > 0) {\n _this2.active = true;\n _this2.__show();\n return;\n }\n\n _this2.inTransition = false;\n }, transitionDuration + 50);\n },\n setDefaults: function setDefaults(opts) {\n Utils.extend(true, this.defaults, opts);\n }\n }\n};\n\nvar toast = void 0;\nvar defaults = void 0;\nvar toastStack = [];\nvar types = [{\n name: 'positive',\n defaults: { icon: 'check', classes: 'bg-positive' }\n}, {\n name: 'negative',\n defaults: { icon: 'error', classes: 'bg-negative' }\n}, {\n name: 'info',\n defaults: { icon: 'info', classes: 'bg-info' }\n}, {\n name: 'warning',\n defaults: { icon: 'warning', classes: 'bg-warning' }\n}];\n\nfunction create(opts, defaults) {\n if (!opts) {\n throw new Error('Missing toast options.');\n }\n\n if (defaults) {\n opts = Utils.extend(true, typeof opts === 'string' ? { html: opts } : opts, defaults);\n }\n\n if (!toast) {\n toastStack.push(opts);\n return;\n }\n\n toast.create(opts);\n}\n\ntypes.forEach(function (type) {\n create[type.name] = function (opts) {\n return create(opts, type.defaults);\n };\n});\n\nfunction install$2(_Vue) {\n Utils.dom.ready(function () {\n var node = document.createElement('div');\n document.body.appendChild(node);\n toast = new _Vue(Toast$1).$mount(node);\n if (defaults) {\n toast.setDefaults(defaults);\n }\n if (toastStack.length) {\n toastStack.forEach(function (opts) {\n toast.create(opts);\n });\n }\n });\n}\n\nvar Toast = {\n create: create,\n setDefaults: function setDefaults(opts) {\n if (toast) {\n toast.setDefaults(opts);\n } else {\n defaults = opts;\n }\n },\n\n install: install$2\n};\n\nfunction set$1(theme) {\n var currentTheme = current;\n current = theme;\n\n Utils.dom.ready(function () {\n if (currentTheme) {\n document.body.classList.remove(current);\n }\n document.body.classList.add(theme);\n });\n}\n\nvar current;\n\nif (typeof __THEME !== 'undefined') {\n set$1(__THEME);\n}\n\nvar theme = Object.freeze({\n\tset: set$1,\n\tget current () { return current; }\n});\n\nvar version = \"0.13.3\";\n\nfunction getHeight(el, style$$1) {\n var initial = {\n visibility: el.style.visibility,\n maxHeight: el.style.maxHeight\n };\n\n css(el, {\n visibility: 'hidden',\n maxHeight: ''\n });\n var height$$1 = style$$1.height;\n css(el, initial);\n\n return parseFloat(height$$1, 10);\n}\n\nfunction parsePadding(padding) {\n return padding.split(' ').map(function (t) {\n var unit = t.match(/[a-zA-Z]+/) || '';\n if (unit) {\n unit = unit[0];\n }\n return [parseFloat(t, 10), unit];\n });\n}\n\nfunction toggleSlide(el, showing, _done) {\n var store = get$1('slidetoggle', el) || {};\n function anim() {\n store.uid = start({\n finalPos: showing ? 100 : 0,\n pos: store.pos !== null ? store.pos : showing ? 0 : 100,\n factor: 10,\n threshold: 0.5,\n apply: function apply(pos) {\n store.pos = pos;\n css(el, {\n maxHeight: store.height * pos / 100 + 'px',\n padding: store.padding ? store.padding.map(function (t) {\n return t[0] * pos / 100 + t[1];\n }).join(' ') : ''\n });\n },\n done: function done() {\n store.uid = null;\n store.pos = null;\n _done();\n css(el, store.css);\n }\n });\n add('slidetoggle', el, store);\n }\n\n if (store.uid) {\n start.stop(store.uid);\n return anim();\n }\n\n store.css = {\n overflowY: el.style.overflowY,\n maxHeight: el.style.maxHeight,\n padding: el.style.padding\n };\n var style$$1 = window.getComputedStyle(el);\n if (style$$1.padding && style$$1.padding !== '0px') {\n store.padding = parsePadding(style$$1.padding);\n }\n store.height = getHeight(el, style$$1);\n store.pos = null;\n el.style.overflowY = 'hidden';\n anim();\n}\n\nvar slide = {\n enter: function enter(el, done) {\n toggleSlide(el, true, done);\n },\n leave: function leave(el, done) {\n toggleSlide(el, false, done);\n }\n};\n\nvar transitions = { slide: slide };\n\nvar Transition = {\n functional: true,\n props: {\n name: {\n type: String,\n default: 'slide',\n validator: function validator(value) {\n if (!transitions[value]) {\n console.error('Quasar Transition unknown: ' + value);\n return false;\n }\n return true;\n }\n },\n appear: Boolean\n },\n render: function render(h, context) {\n var config = transitions[context.props.name];\n if (!config) {\n throw new Error('Quasar Transition ' + context.props.name + ' is unknown.');\n }\n var data = {\n props: {\n name: 'q-transition',\n mode: 'out-in',\n css: false,\n appear: context.props.appear\n },\n on: config\n };\n return h('transition', data, context.children);\n }\n};\n\nfunction updateBinding(el, _ref, ctx) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n\n if (!value) {\n ctx.update();\n return;\n }\n\n if (typeof value === 'number') {\n ctx.offset = value;\n ctx.update();\n return;\n }\n\n if (value && Object(value) !== value) {\n console.error('v-back-to-top requires an object {offset, duration} as parameter', el);\n return;\n }\n\n if (value.offset) {\n if (typeof value.offset !== 'number') {\n console.error('v-back-to-top requires a number as offset', el);\n return;\n }\n ctx.offset = value.offset;\n }\n if (value.duration) {\n if (typeof value.duration !== 'number') {\n console.error('v-back-to-top requires a number as duration', el);\n return;\n }\n ctx.duration = value.duration;\n }\n\n ctx.update();\n}\n\nvar dBackToTop = {\n bind: function bind(el) {\n var ctx = {\n offset: 200,\n duration: 300,\n update: Utils.debounce(function () {\n var trigger = Utils.dom.getScrollPosition(ctx.scrollTarget) > ctx.offset;\n if (ctx.visible !== trigger) {\n ctx.visible = trigger;\n el.classList[trigger ? 'remove' : 'add']('hidden');\n }\n }, 25),\n goToTop: function goToTop() {\n Utils.dom.setScrollPosition(ctx.scrollTarget, 0, ctx.animate ? ctx.duration : 0);\n }\n };\n el.classList.add('hidden');\n Utils.store.add('backtotop', el, ctx);\n },\n inserted: function inserted(el, binding) {\n var ctx = Utils.store.get('backtotop', el);\n ctx.scrollTarget = Utils.dom.getScrollTarget(el);\n ctx.animate = binding.modifiers.animate;\n updateBinding(el, binding, ctx);\n ctx.scrollTarget.addEventListener('scroll', ctx.update);\n window.addEventListener('resize', ctx.update);\n el.addEventListener('click', ctx.goToTop);\n },\n update: function update(el, binding) {\n if (binding.oldValue !== binding.value) {\n updateBinding(el, binding, Utils.store.get('backtotop', el));\n }\n },\n unbind: function unbind(el) {\n var ctx = Utils.store.get('backtotop', el);\n ctx.scrollTarget.removeEventListener('scroll', ctx.update);\n window.removeEventListener('resize', ctx.update);\n el.removeEventListener('click', ctx.goToTop);\n Utils.store.remove('backtotop', el);\n }\n};\n\nvar dGoBack = {\n bind: function bind(el, _ref, vnode) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n\n var ctx = { value: value, position: window.history.length - 1, single: modifiers.single };\n\n if (Platform.is.cordova) {\n ctx.goBack = function () {\n vnode.context.$router.go(ctx.single ? -1 : ctx.position - window.history.length);\n };\n } else {\n ctx.goBack = function () {\n vnode.context.$router.replace(ctx.value);\n };\n }\n\n Utils.store.add('goback', el, ctx);\n el.addEventListener('click', ctx.goBack);\n },\n update: function update(el, binding) {\n if (binding.oldValue !== binding.value) {\n var ctx = Utils.store.get('goback', el);\n ctx.value = binding.value;\n }\n },\n unbind: function unbind(el) {\n el.removeEventListener('click', Utils.store.get('goback', el).goBack);\n Utils.store.remove('goback', el);\n }\n};\n\nfunction equal(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n for (var i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n\nvar dLink = {\n bind: function bind(el, binding, vnode) {\n var ctx = {\n route: binding.value,\n delay: binding.modifiers.delay,\n active: false,\n go: function go() {\n var fn = function fn() {\n vnode.context.$router[ctx.route.replace ? 'replace' : 'push'](ctx.route);\n };\n if (ctx.delay) {\n setTimeout(fn, 100);\n return;\n }\n fn();\n },\n updateClass: function updateClass() {\n var matched = void 0;\n var route = vnode.context.$route,\n router = vnode.context.$router,\n prop = ctx.route.name ? 'name' : 'path';\n\n if (ctx.route.exact) {\n matched = route[prop] === (typeof ctx.route === 'string' ? ctx.route : ctx.route[prop]);\n } else {\n matched = equal(router.resolve(ctx.route, route).resolved.matched.map(function (r) {\n return r[prop];\n }), route.matched.map(function (r) {\n return r[prop];\n }));\n }\n\n if (ctx.active !== matched) {\n el.classList[matched ? 'add' : 'remove']('router-link-active');\n ctx.active = matched;\n }\n }\n };\n\n ctx.destroyWatcher = vnode.context.$watch('$route', ctx.updateClass);\n ctx.updateClass();\n Utils.store.add('link', el, ctx);\n el.addEventListener('click', ctx.go);\n },\n update: function update(el, binding) {\n if (binding.oldValue !== binding.value) {\n var ctx = Utils.store.get('link', el);\n ctx.route = binding.value;\n ctx.updateClass();\n }\n },\n unbind: function unbind(el) {\n var ctx = Utils.store.get('link', el);\n ctx.destroyWatcher();\n el.removeEventListener('click', ctx.go);\n Utils.store.remove('link', el);\n }\n};\n\nfunction updateBinding$1(el, binding, ctx) {\n if (typeof binding.value !== 'function') {\n ctx.scrollTarget.removeEventListener('scroll', ctx.scroll);\n console.error('v-scroll-fire requires a function as parameter', el);\n return;\n }\n\n ctx.handler = binding.value;\n if (typeof binding.oldValue !== 'function') {\n ctx.scrollTarget.addEventListener('scroll', ctx.scroll);\n ctx.scroll();\n }\n}\n\nvar dScrollFire = {\n bind: function bind(el, binding) {\n var ctx = {\n scroll: Utils.debounce(function () {\n var containerBottom = void 0,\n elementBottom = void 0,\n fire = void 0;\n\n if (ctx.scrollTarget === window) {\n elementBottom = el.getBoundingClientRect().bottom;\n fire = elementBottom < Utils.dom.viewport().height;\n } else {\n containerBottom = Utils.dom.offset(ctx.scrollTarget).top + Utils.dom.height(ctx.scrollTarget);\n elementBottom = Utils.dom.offset(el).top + Utils.dom.height(el);\n fire = elementBottom < containerBottom;\n }\n\n if (fire) {\n ctx.scrollTarget.removeEventListener('scroll', ctx.scroll);\n ctx.handler(el);\n }\n }, 25)\n };\n\n Utils.store.add('scrollfire', el, ctx);\n },\n inserted: function inserted(el, binding) {\n var ctx = Utils.store.get('scrollfire', el);\n ctx.scrollTarget = Utils.dom.getScrollTarget(el);\n updateBinding$1(el, binding, ctx);\n },\n update: function update(el, binding) {\n if (binding.value !== binding.oldValue) {\n updateBinding$1(el, binding, Utils.store.get('scrollfire', el));\n }\n },\n unbind: function unbind(el) {\n var ctx = Utils.store.get('scrollfire', el);\n ctx.scrollTarget.removeEventListener('scroll', ctx.scroll);\n Utils.store.remove('scrollfire', el);\n }\n};\n\nfunction updateBinding$2(el, binding, ctx) {\n if (typeof binding.value !== 'function') {\n ctx.scrollTarget.removeEventListener('scroll', ctx.scroll);\n console.error('v-scroll requires a function as parameter', el);\n return;\n }\n\n ctx.handler = binding.value;\n if (typeof binding.oldValue !== 'function') {\n ctx.scrollTarget.addEventListener('scroll', ctx.scroll);\n }\n}\n\nvar dScroll = {\n bind: function bind(el, binding) {\n var ctx = {\n scroll: function scroll() {\n ctx.handler(Utils.dom.getScrollPosition(ctx.scrollTarget));\n }\n };\n Utils.store.add('scroll', el, ctx);\n },\n inserted: function inserted(el, binding) {\n var ctx = Utils.store.get('scroll', el);\n ctx.scrollTarget = Utils.dom.getScrollTarget(el);\n updateBinding$2(el, binding, ctx);\n },\n update: function update(el, binding) {\n if (binding.oldValue !== binding.value) {\n updateBinding$2(el, binding, Utils.store.get('scroll', el));\n }\n },\n unbind: function unbind(el) {\n var ctx = Utils.store.get('scroll', el);\n ctx.scrollTarget.removeEventListener('scroll', ctx.scroll);\n Utils.store.remove('scroll', el);\n }\n};\n\nvar defaultDuration = 800;\n\nfunction updateBinding$3(el, binding, ctx) {\n ctx.duration = parseInt(binding.arg, 10) || defaultDuration;\n if (binding.oldValue !== binding.value) {\n ctx.handler = binding.value;\n }\n}\n\nvar dTouchHold = {\n bind: function bind(el, binding) {\n var ctx = {\n start: function start(evt) {\n ctx.timer = setTimeout(function () {\n document.removeEventListener('mousemove', ctx.mouseAbort);\n document.removeEventListener('mouseup', ctx.mouseAbort);\n ctx.handler();\n }, ctx.duration);\n },\n mouseStart: function mouseStart(evt) {\n document.addEventListener('mousemove', ctx.mouseAbort);\n document.addEventListener('mouseup', ctx.mouseAbort);\n ctx.start(evt);\n },\n abort: function abort(evt) {\n clearTimeout(ctx.timer);\n ctx.timer = null;\n },\n mouseAbort: function mouseAbort(evt) {\n document.removeEventListener('mousemove', ctx.mouseAbort);\n document.removeEventListener('mouseup', ctx.mouseAbort);\n ctx.abort(evt);\n }\n };\n\n Utils.store.add('touchhold', el, ctx);\n updateBinding$3(el, binding, ctx);\n el.addEventListener('touchstart', ctx.start);\n el.addEventListener('touchmove', ctx.abort);\n el.addEventListener('touchend', ctx.abort);\n el.addEventListener('mousedown', ctx.mouseStart);\n },\n update: function update(el, binding) {\n updateBinding$3(el, binding, Utils.store.get('touchhold', el));\n },\n unbind: function unbind(el, binding) {\n var ctx = Utils.store.get('touchhold', el);\n el.removeEventListener('touchstart', ctx.start);\n el.removeEventListener('touchmove', ctx.abort);\n el.removeEventListener('touchend', ctx.abort);\n el.removeEventListener('mousedown', ctx.mouseStart);\n document.removeEventListener('mousemove', ctx.mouseAbort);\n document.removeEventListener('mouseup', ctx.mouseAbort);\n Utils.store.remove('touchhold', el);\n }\n};\n\nfunction getDirection(mod) {\n if (Object.keys(mod).length === 0) {\n return {\n horizontal: true,\n vertical: true\n };\n }\n\n var dir = {};['horizontal', 'vertical'].forEach(function (direction) {\n if (mod[direction]) {\n dir[direction] = true;\n }\n });\n\n return dir;\n}\n\nfunction updateClasses(el, dir, scroll) {\n el.classList.add('q-touch');\n\n if (!scroll) {\n if (dir.horizontal && !dir.vertical) {\n el.classList.add('q-touch-y');\n el.classList.remove('q-touch-x');\n } else if (!dir.horizontal && dir.vertical) {\n el.classList.add('q-touch-x');\n el.classList.remove('q-touch-y');\n }\n }\n}\n\nfunction processChanges(evt, ctx, isFinal) {\n var direction = void 0,\n position = Utils.event.position(evt),\n distX = position.left - ctx.event.x,\n distY = position.top - ctx.event.y,\n absDistX = Math.abs(distX),\n absDistY = Math.abs(distY);\n\n if (ctx.direction.horizontal && !ctx.direction.vertical) {\n direction = distX < 0 ? 'left' : 'right';\n } else if (!ctx.direction.horizontal && ctx.direction.vertical) {\n direction = distY < 0 ? 'up' : 'down';\n } else if (absDistX >= absDistY) {\n direction = distX < 0 ? 'left' : 'right';\n } else {\n direction = distY < 0 ? 'up' : 'down';\n }\n\n return {\n evt: evt,\n position: position,\n direction: direction,\n isFirst: ctx.event.isFirst,\n isFinal: Boolean(isFinal),\n duration: new Date().getTime() - ctx.event.time,\n distance: {\n x: absDistX,\n y: absDistY\n },\n delta: {\n x: position.left - ctx.event.lastX,\n y: position.top - ctx.event.lastY\n }\n };\n}\n\nfunction shouldTrigger(ctx, changes) {\n if (ctx.direction.horizontal && ctx.direction.vertical) {\n return true;\n }\n if (ctx.direction.horizontal && !ctx.direction.vertical) {\n return Math.abs(changes.delta.x) > 0;\n }\n if (!ctx.direction.horizontal && ctx.direction.vertical) {\n return Math.abs(changes.delta.y) > 0;\n }\n}\n\nvar dTouchPan = {\n bind: function bind(el, binding) {\n var ctx = {\n handler: binding.value,\n scroll: binding.modifiers.scroll,\n direction: getDirection(binding.modifiers),\n\n mouseStart: function mouseStart(evt) {\n document.addEventListener('mousemove', ctx.mouseMove);\n document.addEventListener('mouseup', ctx.mouseEnd);\n ctx.start(evt);\n },\n start: function start(evt) {\n var position = Utils.event.position(evt);\n ctx.event = {\n x: position.left,\n y: position.top,\n time: new Date().getTime(),\n detected: false,\n prevent: ctx.direction.horizontal && ctx.direction.vertical,\n isFirst: true,\n lastX: position.left,\n lastY: position.top\n };\n },\n mouseMove: function mouseMove(evt) {\n ctx.event.prevent = true;\n ctx.move(evt);\n },\n move: function move(evt) {\n if (ctx.event.prevent) {\n if (!ctx.scroll) {\n evt.preventDefault();\n }\n var changes = processChanges(evt, ctx, false);\n if (shouldTrigger(ctx, changes)) {\n ctx.handler(changes);\n ctx.event.lastX = changes.position.left;\n ctx.event.lastY = changes.position.top;\n ctx.event.isFirst = false;\n }\n return;\n }\n if (ctx.event.detected) {\n return;\n }\n\n ctx.event.detected = true;\n var position = Utils.event.position(evt),\n distX = position.left - ctx.event.x,\n distY = position.top - ctx.event.y;\n\n if (ctx.direction.horizontal && !ctx.direction.vertical) {\n if (Math.abs(distX) > Math.abs(distY)) {\n evt.preventDefault();\n ctx.event.prevent = true;\n }\n } else if (Math.abs(distX) < Math.abs(distY)) {\n ctx.event.prevent = true;\n }\n },\n mouseEnd: function mouseEnd(evt) {\n document.removeEventListener('mousemove', ctx.mouseMove);\n document.removeEventListener('mouseup', ctx.mouseEnd);\n ctx.end(evt);\n },\n end: function end(evt) {\n if (!ctx.event.prevent || ctx.event.isFirst) {\n return;\n }\n\n ctx.handler(processChanges(evt, ctx, true));\n }\n };\n\n Utils.store.add('touchpan', el, ctx);\n updateClasses(el, ctx.direction, ctx.scroll);\n el.addEventListener('touchstart', ctx.start);\n el.addEventListener('mousedown', ctx.mouseStart);\n el.addEventListener('touchmove', ctx.move);\n el.addEventListener('touchend', ctx.end);\n },\n update: function update(el, binding) {\n if (binding.oldValue !== binding.value) {\n Utils.store.get('touchpan', el).handler = binding.value;\n }\n },\n unbind: function unbind(el, binding) {\n var ctx = Utils.store.get('touchpan', el);\n el.removeEventListener('touchstart', ctx.start);\n el.removeEventListener('mousedown', ctx.mouseStart);\n el.removeEventListener('touchmove', ctx.move);\n el.removeEventListener('touchend', ctx.end);\n Utils.store.remove('touchpan', el);\n }\n};\n\nfunction getDirection$1(mod) {\n if (Object.keys(mod).length === 0) {\n return {\n left: true, right: true, up: true, down: true, horizontal: true, vertical: true\n };\n }\n\n var dir = {};['left', 'right', 'up', 'down', 'horizontal', 'vertical'].forEach(function (direction) {\n if (mod[direction]) {\n dir[direction] = true;\n }\n });\n if (dir.horizontal) {\n dir.left = dir.right = true;\n }\n if (dir.vertical) {\n dir.up = dir.down = true;\n }\n if (dir.left || dir.right) {\n dir.horizontal = true;\n }\n if (dir.up || dir.down) {\n dir.vertical = true;\n }\n\n return dir;\n}\n\nfunction updateClasses$1(el, dir) {\n el.classList.add('q-touch');\n\n if (dir.horizontal && !dir.vertical) {\n el.classList.add('q-touch-y');\n el.classList.remove('q-touch-x');\n } else if (!dir.horizontal && dir.vertical) {\n el.classList.add('q-touch-x');\n el.classList.remove('q-touch-y');\n }\n}\n\nvar dTouchSwipe = {\n bind: function bind(el, binding) {\n var ctx = {\n handler: binding.value,\n direction: getDirection$1(binding.modifiers),\n\n start: function start(evt) {\n var position = Utils.event.position(evt);\n ctx.event = {\n x: position.left,\n y: position.top,\n time: new Date().getTime(),\n detected: false,\n prevent: ctx.direction.horizontal && ctx.direction.vertical\n };\n document.addEventListener('mousemove', ctx.move);\n document.addEventListener('mouseup', ctx.end);\n },\n move: function move(evt) {\n var position = Utils.event.position(evt),\n distX = position.left - ctx.event.x,\n distY = position.top - ctx.event.y;\n\n if (ctx.event.prevent) {\n evt.preventDefault();\n return;\n }\n if (ctx.event.detected) {\n return;\n }\n\n ctx.event.detected = true;\n if (ctx.direction.horizontal && !ctx.direction.vertical) {\n if (Math.abs(distX) > Math.abs(distY)) {\n evt.preventDefault();\n ctx.event.prevent = true;\n }\n } else {\n if (Math.abs(distX) < Math.abs(distY)) {\n evt.preventDefault();\n ctx.event.prevent = true;\n }\n }\n },\n end: function end(evt) {\n document.removeEventListener('mousemove', ctx.move);\n document.removeEventListener('mouseup', ctx.end);\n\n var direction = void 0,\n position = Utils.event.position(evt),\n distX = position.left - ctx.event.x,\n distY = position.top - ctx.event.y;\n\n if (distX !== 0 || distY !== 0) {\n if (Math.abs(distX) >= Math.abs(distY)) {\n direction = distX < 0 ? 'left' : 'right';\n } else {\n direction = distY < 0 ? 'up' : 'down';\n }\n\n if (ctx.direction[direction]) {\n ctx.handler({\n evt: evt,\n direction: direction,\n duration: new Date().getTime() - ctx.event.time,\n distance: {\n x: Math.abs(distX),\n y: Math.abs(distY)\n }\n });\n }\n }\n }\n };\n\n Utils.store.add('touchswipe', el, ctx);\n updateClasses$1(el, ctx.direction);\n el.addEventListener('touchstart', ctx.start);\n el.addEventListener('mousedown', ctx.start);\n el.addEventListener('touchmove', ctx.move);\n el.addEventListener('touchend', ctx.end);\n },\n update: function update(el, binding) {\n if (binding.oldValue !== binding.value) {\n var ctx = Utils.store.get('touchswipe', el);\n ctx.handler = binding.value;\n }\n },\n unbind: function unbind(el, binding) {\n var ctx = Utils.store.get('touchswipe', el);\n el.removeEventListener('touchstart', ctx.start);\n el.removeEventListener('mousedown', ctx.start);\n el.removeEventListener('touchmove', ctx.move);\n el.removeEventListener('touchend', ctx.end);\n Utils.store.remove('touchswipe', el);\n }\n};\n\nvar xhr = XMLHttpRequest;\nvar send = xhr.prototype.send;\n\nfunction translate(_ref) {\n var p = _ref.p,\n pos = _ref.pos,\n active = _ref.active,\n horiz = _ref.horiz,\n reverse = _ref.reverse;\n\n var x = 1,\n y = 1;\n\n if (horiz) {\n if (reverse) {\n x = -1;\n }\n if (pos === 'bottom') {\n y = -1;\n }\n return Utils.dom.cssTransform('translate3d(' + x * (p - 100) + '%, ' + (active ? 0 : y * -200) + '%, 0)');\n }\n\n if (reverse) {\n y = -1;\n }\n if (pos === 'right') {\n x = -1;\n }\n return Utils.dom.cssTransform('translate3d(' + (active ? 0 : x * -200) + '%, ' + y * (p - 100) + '%, 0)');\n}\n\nfunction inc(p, amount) {\n if (typeof amount !== 'number') {\n if (p < 25) {\n amount = Math.random() * (5 - 3 + 1) + 3;\n } else if (p < 65) {\n amount = Math.random() * 3;\n } else if (p < 90) {\n amount = Math.random() * 2;\n } else if (p < 99) {\n amount = 0.5;\n } else {\n amount = 0;\n }\n }\n return Utils.format.between(p + amount, 0, 100);\n}\n\nfunction highjackAjax(startHandler, endHandler) {\n xhr.prototype.send = function () {\n var _this = this;\n\n startHandler();\n\n this.addEventListener('abort', endHandler, false);\n this.addEventListener('readystatechange', function () {\n if (_this.readyState === 4) {\n endHandler();\n }\n }, false);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n send.apply(this, args);\n };\n}\n\nfunction restoreAjax() {\n xhr.prototype.send = send;\n}\n\nvar AjaxBar = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-loading-bar shadow-1\", class: [_vm.position, _vm.animate ? '' : 'no-transition'], style: _vm.containerStyle }, [_c('div', { staticClass: \"q-loading-bar-inner\", style: _vm.innerStyle })]);\n }, staticRenderFns: [],\n props: {\n position: {\n type: String,\n default: 'top',\n validator: function validator(val) {\n return ['top', 'right', 'bottom', 'left'].includes(val);\n }\n },\n size: {\n type: String,\n default: '4px'\n },\n color: {\n type: String,\n default: '#e21b0c'\n },\n speed: {\n type: Number,\n default: 250\n },\n delay: {\n type: Number,\n default: 1000\n },\n reverse: Boolean\n },\n data: function data() {\n return {\n animate: false,\n active: false,\n progress: 0,\n calls: 0\n };\n },\n\n computed: {\n containerStyle: function containerStyle() {\n var o = translate({\n p: this.progress,\n pos: this.position,\n active: this.active,\n horiz: this.horizontal,\n reverse: this.reverse\n });\n o[this.sizeProp] = this.size;\n return o;\n },\n innerStyle: function innerStyle() {\n return { background: this.color };\n },\n horizontal: function horizontal() {\n return this.position === 'top' || this.position === 'bottom';\n },\n sizeProp: function sizeProp() {\n return this.horizontal ? 'height' : 'width';\n }\n },\n methods: {\n start: function start() {\n var _this2 = this;\n\n this.calls++;\n if (!this.active) {\n this.progress = 0;\n this.active = true;\n this.animate = false;\n this.$emit('start');\n this.timer = setTimeout(function () {\n _this2.animate = true;\n _this2.move();\n }, this.delay);\n } else if (this.closing) {\n this.closing = false;\n clearTimeout(this.timer);\n this.progress = 0;\n this.move();\n }\n },\n increment: function increment(amount) {\n if (this.active) {\n this.progress = inc(this.progress, amount);\n }\n },\n stop: function stop() {\n var _this3 = this;\n\n this.calls = Math.max(0, this.calls - 1);\n if (this.calls > 0) {\n return;\n }\n\n clearTimeout(this.timer);\n\n if (!this.animate) {\n this.active = false;\n return;\n }\n this.closing = true;\n this.progress = 100;\n this.$emit('stop');\n this.timer = setTimeout(function () {\n _this3.closing = false;\n _this3.active = false;\n }, 1050);\n },\n move: function move() {\n var _this4 = this;\n\n this.timer = setTimeout(function () {\n _this4.increment();\n _this4.move();\n }, this.speed);\n }\n },\n mounted: function mounted() {\n highjackAjax(this.start, this.stop);\n },\n beforeDestroy: function beforeDestroy() {\n clearTimeout(this.timer);\n restoreAjax();\n }\n};\n\nfunction prevent(e) {\n e.preventDefault();\n e.stopPropagation();\n}\n\nvar Autocomplete = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('span', [_vm._t(\"default\", [_c('input', { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.model, expression: \"model\" }], attrs: { \"type\": \"text\" }, domProps: { \"value\": _vm.model }, on: { \"input\": function input($event) {\n if ($event.target.composing) {\n return;\n }_vm.model = $event.target.value;\n } } })]), _c('q-popover', { ref: \"popover\", attrs: { \"anchor-click\": false } }, [_c('div', { staticClass: \"list no-border\", class: { 'item-delimiter': _vm.delimiter }, style: _vm.computedWidth }, _vm._l(_vm.computedResults, function (result, index) {\n return _c('q-list-item', { key: result, attrs: { \"item\": result, \"link\": \"\", \"active\": _vm.selectedIndex === index }, nativeOn: { \"click\": function click($event) {\n _vm.setValue(result);\n } } });\n }))])], 2);\n }, staticRenderFns: [],\n props: {\n value: {\n type: String,\n required: true\n },\n minCharacters: {\n type: Number,\n default: 1\n },\n maxResults: {\n type: Number,\n default: 6\n },\n delay: {\n type: Number,\n default: 500\n },\n staticData: Object,\n delimiter: Boolean\n },\n data: function data() {\n return {\n searchId: '',\n results: [],\n selectedIndex: -1,\n width: 0,\n timer: null,\n avoidTrigger: false\n };\n },\n\n computed: {\n model: {\n get: function get() {\n if (!this.avoidTrigger) {\n if (document.activeElement === this.inputEl) {\n this.__delayTrigger();\n }\n } else {\n this.avoidTrigger = false;\n }\n return this.value;\n },\n set: function set(val) {\n this.$emit('input', val);\n }\n },\n computedResults: function computedResults() {\n if (this.maxResults && this.results.length > 0) {\n return this.results.slice(0, this.maxResults);\n }\n },\n computedWidth: function computedWidth() {\n return { minWidth: this.width };\n },\n searching: function searching() {\n return this.searchId.length > 0;\n }\n },\n methods: {\n trigger: function trigger() {\n var _this = this;\n\n this.width = Utils.dom.width(this.inputEl) + 'px';\n var searchId = Utils.uid();\n this.searchId = searchId;\n\n if (this.model.length < this.minCharacters) {\n this.searchId = '';\n this.close();\n return;\n }\n\n if (this.staticData) {\n this.searchId = '';\n this.results = Utils.filter(this.model, this.staticData);\n if (this.$q.platform.is.desktop) {\n this.selectedIndex = 0;\n }\n this.$refs.popover.open();\n Utils.dom.css(document.querySelector('.q-search-input'), {\n borderBottomRightRadius: '0px',\n borderBottomLeftRadius: '0px'\n });\n return;\n }\n\n this.$emit('search', this.model, function (results) {\n if (!results || _this.searchId !== searchId) {\n return;\n }\n\n _this.searchId = '';\n if (_this.results === results) {\n return;\n }\n\n if (Array.isArray(results) && results.length > 0) {\n _this.results = results;\n if (_this.$refs && _this.$refs.popover) {\n if (_this.$q.platform.is.desktop) {\n _this.selectedIndex = 0;\n }\n _this.$refs.popover.open();\n Utils.dom.css(document.querySelector('.q-search-input'), {\n borderBottomRightRadius: '0px',\n borderBottomLeftRadius: '0px'\n });\n }\n return;\n }\n\n _this.close();\n });\n },\n close: function close() {\n this.$refs.popover.close();\n this.results = [];\n this.selectedIndex = -1;\n document.querySelector('.q-search-input').removeAttribute('style');\n },\n setValue: function setValue(result) {\n this.avoidTrigger = true;\n this.model = result.value;\n this.$emit('selected', result);\n this.close();\n },\n move: function move(offset) {\n var size = this.computedResults.length;\n var index = (this.selectedIndex + offset) % this.computedResults.length;\n if (index < 0) {\n index = size + index;\n }\n this.selectedIndex = index;\n },\n setCurrentSelection: function setCurrentSelection() {\n if (this.selectedIndex >= 0) {\n this.setValue(this.results[this.selectedIndex]);\n }\n },\n __delayTrigger: function __delayTrigger() {\n clearTimeout(this.timer);\n this.timer = setTimeout(this.trigger, this.staticData ? 0 : this.delay);\n },\n __handleKeypress: function __handleKeypress(e) {\n switch (e.keyCode || e.which) {\n case 38:\n this.__moveCursor(-1, e);\n break;\n case 40:\n this.__moveCursor(1, e);\n break;\n case 13:\n this.setCurrentSelection();\n prevent(e);\n break;\n default:\n this.close();\n }\n },\n __moveCursor: function __moveCursor(offset, e) {\n prevent(e);\n\n if (!this.$refs.popover.opened) {\n this.trigger();\n } else {\n this.move(offset);\n }\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.inputEl = _this2.$el.querySelector('input');\n if (!_this2.inputEl) {\n console.error('Autocomplete needs to contain one input field in its slot.');\n return;\n }\n _this2.inputEl.addEventListener('keydown', _this2.__handleKeypress);\n });\n },\n beforeDestroy: function beforeDestroy() {\n clearTimeout(this.timer);\n this.inputEl.removeEventListener('keydown', this.__handleKeypress);\n this.close();\n }\n};\n\nvar Checkbox = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('span', { staticClass: \"q-checkbox cursor-pointer\", class: { disabled: _vm.disable }, on: { \"click\": function click($event) {\n $event.stopPropagation();$event.preventDefault();_vm.toggle($event);\n } } }, [_c('input', { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.model, expression: \"model\" }], attrs: { \"type\": \"checkbox\", \"disabled\": _vm.disable }, domProps: { \"checked\": Array.isArray(_vm.model) ? _vm._i(_vm.model, null) > -1 : _vm.model }, on: { \"click\": function click($event) {\n $event.stopPropagation();\n }, \"change\": _vm.__change, \"__c\": function __c($event) {\n var $$a = _vm.model,\n $$el = $event.target,\n $$c = $$el.checked ? true : false;if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v);if ($$c) {\n $$i < 0 && (_vm.model = $$a.concat($$v));\n } else {\n $$i > -1 && (_vm.model = $$a.slice(0, $$i).concat($$a.slice($$i + 1)));\n }\n } else {\n _vm.model = $$c;\n }\n } } }), _c('div')]);\n }, staticRenderFns: [],\n props: {\n value: {\n type: Boolean,\n required: true\n },\n disable: Boolean\n },\n computed: {\n model: {\n get: function get() {\n return this.value;\n },\n set: function set(value) {\n this.$emit('input', value);\n }\n }\n },\n methods: {\n toggle: function toggle() {\n if (!this.disable) {\n this.model = !this.model;\n }\n },\n __change: function __change(e) {\n if (this.$q.platform.is.ios) {\n this.toggle();\n }\n }\n }\n};\n\nvar Chips = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-chips group textfield\", class: { active: _vm.active, disabled: _vm.disable, readonly: _vm.readonly }, on: { \"click\": _vm.focus } }, [_vm._l(_vm.value, function (label, index) {\n return _c('span', { key: index, staticClass: \"chip label bg-light text-grey-9\" }, [_vm._v(_vm._s(label) + \" \"), _c('i', { staticClass: \"on-right\", on: { \"click\": function click($event) {\n _vm.remove(index);\n } } }, [_vm._v(\"close\")])]);\n }), _c('div', { staticClass: \"q-chips-input chip label text-grey-9\" }, [_c('input', { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.input, expression: \"input\" }], ref: \"input\", staticClass: \"no-style\", attrs: { \"type\": \"text\", \"disabled\": _vm.disable, \"placeholder\": _vm.placeholder, \"tabindex\": \"0\" }, domProps: { \"value\": _vm.input }, on: { \"keyup\": function keyup($event) {\n if (_vm._k($event.keyCode, \"enter\", 13)) {\n return null;\n }_vm.add();\n }, \"focus\": function focus($event) {\n _vm.active = true;\n }, \"blur\": function blur($event) {\n _vm.active = false;\n }, \"input\": function input($event) {\n if ($event.target.composing) {\n return;\n }_vm.input = $event.target.value;\n } } }), _vm._v(\" \"), _c('button', { staticClass: \"small\", class: { invisible: !_vm.input.length }, on: { \"click\": function click($event) {\n _vm.add();\n } } }, [_c('i', [_vm._v(\"send\")])])])], 2);\n }, staticRenderFns: [],\n props: {\n value: {\n type: Array,\n required: true\n },\n disable: Boolean,\n readonly: Boolean,\n placeholder: String\n },\n data: function data() {\n return {\n active: false,\n input: ''\n };\n },\n\n methods: {\n add: function add() {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.input;\n\n if (!this.disable && !this.readonly && value) {\n this.$emit('input', this.value.concat([value]));\n this.input = '';\n }\n },\n remove: function remove(index) {\n if (!this.disable && !this.readonly && index >= 0 && index < this.value.length) {\n var value = this.value.slice(0);\n value.splice(index, 1);\n this.$emit('input', value);\n }\n },\n focus: function focus() {\n this.$refs.input.focus();\n }\n }\n};\n\nvar eventName = 'q:collapsible:close';\n\nvar Collapsible = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-collapsible\" }, [_c('div', { staticClass: \"item item-link non-selectable item-collapsible\", on: { \"click\": _vm.__toggleItem } }, [_vm.icon ? _c('i', { staticClass: \"item-primary\", domProps: { \"textContent\": _vm._s(_vm.icon) } }) : _vm._e(), _vm._v(\" \"), _vm.img ? _c('img', { staticClass: \"item-primary thumbnail\", attrs: { \"src\": _vm.img } }) : _vm._e(), _vm.avatar ? _c('img', { staticClass: \"item-primary\", attrs: { \"src\": _vm.avatar } }) : _vm._e(), _c('div', { staticClass: \"item-content has-secondary\" }, [_c('div', [_vm._v(_vm._s(_vm.label))])]), _c('i', { staticClass: \"item-secondary\", class: { 'rotate-180': _vm.active }, on: { \"click\": function click($event) {\n $event.stopPropagation();_vm.toggle($event);\n } } }, [_vm._v(\"keyboard_arrow_down\")])]), _c('q-transition', { attrs: { \"name\": \"slide\" } }, [_c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.active, expression: \"active\" }] }, [_c('div', { staticClass: \"q-collapsible-sub-item\" }, [_vm._t(\"default\")], 2)])])], 1);\n }, staticRenderFns: [],\n props: {\n opened: Boolean,\n icon: String,\n group: String,\n img: String,\n avatar: String,\n label: String,\n iconToggle: Boolean\n },\n data: function data() {\n return {\n active: this.opened\n };\n },\n\n watch: {\n opened: function opened(value) {\n this.active = value;\n },\n active: function active(value) {\n if (value && this.group) {\n Events.$emit(eventName, this);\n }\n }\n },\n methods: {\n toggle: function toggle() {\n this.active = !this.active;\n },\n open: function open() {\n this.active = true;\n },\n close: function close() {\n this.active = false;\n },\n __toggleItem: function __toggleItem() {\n if (!this.iconToggle) {\n this.toggle();\n }\n },\n __eventHandler: function __eventHandler(comp) {\n if (this.group && this !== comp && comp.group === this.group) {\n this.close();\n }\n }\n },\n created: function created() {\n Events.$on(eventName, this.__eventHandler);\n },\n beforeDestroy: function beforeDestroy() {\n Events.$off(eventName, this.__eventHandler);\n }\n};\n\nvar ContextMenuDesktop = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('q-popover', { ref: \"popover\", attrs: { \"anchor-click\": false } }, [_vm._t(\"default\")], 2);\n }, staticRenderFns: [],\n props: {\n disable: Boolean\n },\n methods: {\n close: function close() {\n this.$refs.popover.close();\n },\n __open: function __open(evt) {\n var _this = this;\n\n if (this.disable) {\n return;\n }\n this.close();\n evt.preventDefault();\n evt.stopPropagation();\n\n setTimeout(function () {\n _this.$refs.popover.open(evt);\n }, 100);\n }\n },\n mounted: function mounted() {\n this.target = this.$refs.popover.$el.parentNode;\n this.target.addEventListener('contextmenu', this.__open);\n },\n beforeDestroy: function beforeDestroy() {\n this.target.removeEventListener('contexmenu', this.__open);\n }\n};\n\nvar ContextMenuMobile = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('q-modal', { ref: \"dialog\", staticClass: \"minimized\" }, [_vm._t(\"default\")], 2);\n }, staticRenderFns: [],\n props: {\n disable: Boolean\n },\n methods: {\n open: function open() {\n this.handler();\n },\n close: function close() {\n this.target.classList.remove('non-selectable');\n this.$refs.dialog.close();\n },\n toggle: function toggle() {\n if (this.$refs.dialog.active) {\n this.close();\n } else {\n this.open();\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.target = _this.$el.parentNode;\n\n _this.handler = function () {\n if (!_this.disable) {\n _this.$refs.dialog.open();\n }\n };\n\n _this.touchStartHandler = function (event) {\n _this.target.classList.add('non-selectable');\n _this.touchTimer = setTimeout(function () {\n event.preventDefault();\n event.stopPropagation();\n _this.cleanup();\n setTimeout(function () {\n _this.handler();\n }, 10);\n }, 600);\n };\n _this.cleanup = function () {\n _this.target.classList.remove('non-selectable');\n clearTimeout(_this.touchTimer);\n _this.touchTimer = null;\n };\n _this.target.addEventListener('touchstart', _this.touchStartHandler);\n _this.target.addEventListener('touchcancel', _this.cleanup);\n _this.target.addEventListener('touchmove', _this.cleanup);\n _this.target.addEventListener('touchend', _this.cleanup);\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.target.removeEventListener('touchstart', this.touchStartHandler);\n this.target.removeEventListener('touchcancel', this.cleanup);\n this.target.removeEventListener('touchmove', this.cleanup);\n this.target.removeEventListener('touchend', this.cleanup);\n }\n};\n\nvar ColumnSelection = {\n data: function data() {\n return {\n columnSelection: this.columns.map(function (col) {\n return col.field;\n })\n };\n },\n\n watch: {\n 'config.columnPicker': function configColumnPicker(value) {\n if (!value) {\n this.columnSelection = this.columns.map(function (col) {\n return col.field;\n });\n }\n }\n },\n computed: {\n cols: function cols() {\n var _this = this;\n\n return this.columns.filter(function (col) {\n return _this.columnSelection.includes(col.field);\n });\n },\n columnSelectionOptions: function columnSelectionOptions() {\n return this.columns.map(function (col) {\n return {\n label: col.label,\n value: col.field\n };\n });\n }\n }\n};\n\nvar TableFilter = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-data-table-toolbar upper-toolbar row auto items-center\" }, [_c('q-search', { staticClass: \"auto\", attrs: { \"placeholder\": _vm.labels.search }, model: { value: _vm.filtering.terms, callback: function callback($$v) {\n _vm.filtering.terms = $$v;\n } } }), _c('q-select', { staticClass: \"text-right\", attrs: { \"type\": \"list\", \"options\": _vm.filterFields }, model: { value: _vm.filtering.field, callback: function callback($$v) {\n _vm.filtering.field = $$v;\n } } })], 1);\n }, staticRenderFns: [],\n props: ['filtering', 'columns', 'labels'],\n computed: {\n filterFields: function filterFields() {\n var cols = this.columns.map(function (col) {\n return {\n label: col.label,\n value: col.field\n };\n });\n\n return [{ label: this.labels.allCols, value: '' }].concat(cols);\n }\n }\n};\n\nvar Filter = {\n data: function data() {\n return {\n filtering: {\n field: '',\n terms: ''\n }\n };\n },\n\n watch: {\n 'filtering.terms': function filteringTerms() {\n this.resetBody();\n }\n },\n computed: {\n filteringCols: function filteringCols() {\n return this.cols.filter(function (col) {\n return col.filter;\n });\n }\n },\n methods: {\n filter: function filter(rows) {\n var _this = this;\n\n var field = this.filtering.field,\n terms = this.filtering.terms.toLowerCase();\n\n if (field) {\n return rows.filter(function (row) {\n return (row[field] + '').toLowerCase().indexOf(terms) > -1;\n });\n }\n\n return rows.filter(function (row) {\n return _this.filteringCols.some(function (col) {\n return (row[col.field] + '').toLowerCase().indexOf(terms) > -1;\n });\n });\n }\n },\n components: {\n TableFilter: TableFilter\n }\n};\n\nvar _labels = {\n columns: 'Columns',\n allCols: 'All Columns',\n rows: 'Rows',\n selected: {\n singular: 'item selected.',\n plural: 'items selected.'\n },\n clear: 'Clear',\n search: 'Search',\n all: 'All'\n};\n\nvar I18n = {\n computed: {\n labels: function labels() {\n if (this.config && this.config.labels) {\n return Utils.extend({}, _labels, this.config.labels);\n }\n return _labels;\n },\n message: function message() {\n if (this.rows.length) {\n return false;\n }\n\n if (this.filtering.terms) {\n return this.config.messages && this.config.messages.noDataAfterFiltering || '<i>warning</i> No results. Please refine your search terms.';\n }\n\n return this.config.messages && this.config.messages.noData || '<i>warning</i> No data available to show.';\n }\n }\n};\n\nvar TablePagination = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-data-table-toolbar bottom-toolbar row reverse-wrap items-baseline justify-end\" }, [_c('div', [_vm._v(_vm._s(_vm.labels.rows)), _c('q-select', { staticClass: \"text-right\", attrs: { \"type\": \"list\", \"options\": _vm.pagination.options }, on: { \"input\": _vm.resetPage }, model: { value: _vm.pagination.rowsPerPage, callback: function callback($$v) {\n _vm.pagination.rowsPerPage = $$v;\n } } })], 1), _vm.entries > 0 ? _c('div', [_vm._v(_vm._s(_vm.start) + \" - \" + _vm._s(_vm.end) + \" / \" + _vm._s(_vm.entries))]) : _vm._e(), _vm.pagination.rowsPerPage > 0 ? _c('q-pagination', { attrs: { \"max\": _vm.max }, model: { value: _vm.pagination.page, callback: function callback($$v) {\n _vm.pagination.page = $$v;\n } } }) : _vm._e()], 1);\n }, staticRenderFns: [],\n props: ['pagination', 'entries', 'labels'],\n watch: {\n entries: function entries() {\n this.resetPage();\n }\n },\n computed: {\n start: function start() {\n return (this.pagination.page - 1) * this.pagination.rowsPerPage + 1;\n },\n end: function end() {\n if (this.pagination.page === this.max || this.pagination.rowsPerPage === 0) {\n return this.entries;\n }\n return this.pagination.page * this.pagination.rowsPerPage;\n },\n max: function max() {\n return Math.max(1, Math.ceil(this.entries / this.pagination.rowsPerPage));\n }\n },\n methods: {\n resetPage: function resetPage() {\n this.pagination.page = 1;\n }\n }\n};\n\nvar defaultOptions = [{ label: 'All', value: 0 }, { label: '5', value: 5 }, { label: '10', value: 10 }, { label: '15', value: 15 }, { label: '20', value: 20 }, { label: '50', value: 50 }, { label: '100', value: 100 }];\n\nfunction parseOptions$1(opts) {\n return [{ label: 'All', value: 0 }].concat(opts.map(function (opt) {\n return {\n label: '' + opt,\n value: Number(opt)\n };\n }));\n}\n\nvar Pagination = {\n data: function data() {\n return {\n _pagination: {\n page: 1,\n entries: 0,\n rowsPerPage: null\n }\n };\n },\n\n computed: {\n pagination: function pagination() {\n var self = this,\n cfg = this.config.pagination,\n options = defaultOptions;\n\n if (cfg) {\n if (cfg.options) {\n options = parseOptions$1(cfg.options);\n }\n }\n\n options[0].label = this.labels.all;\n\n return {\n get page() {\n return self.$data._pagination.page;\n },\n set page(page) {\n self.$data._pagination.page = page;\n },\n get entries() {\n return self.$data._pagination.entries;\n },\n set entries(entries) {\n self.$data._pagination.entries = entries;\n },\n get rowsPerPage() {\n var rowsPerPage = self.$data._pagination.rowsPerPage;\n if (rowsPerPage == null) {\n if (cfg && typeof cfg.rowsPerPage !== 'undefined') {\n rowsPerPage = cfg.rowsPerPage;\n } else {\n rowsPerPage = 0;\n }\n }\n return rowsPerPage;\n },\n set rowsPerPage(rowsPerPage) {\n self.$data._pagination.rowsPerPage = rowsPerPage;\n },\n options: options\n };\n }\n },\n watch: {\n 'pagination.page': function paginationPage() {\n this.$refs.body.scrollTop = 0;\n }\n },\n methods: {\n paginate: function paginate(rows) {\n var page = this.pagination.page,\n number = this.pagination.rowsPerPage;\n\n if (number <= 0) {\n return rows;\n }\n return rows.slice((page - 1) * number, page * number);\n }\n },\n components: {\n TablePagination: TablePagination\n }\n};\n\nvar Responsive = {\n data: function data() {\n return {\n responsive: false\n };\n },\n\n methods: {\n handleResponsive: function handleResponsive() {\n if (typeof this.config.responsive !== 'undefined') {\n if (!this.config.responsive) {\n this.responsive = false;\n return;\n }\n }\n this.responsive = Utils.dom.viewport().width <= 600;\n }\n },\n watch: {\n 'config.responsive': function configResponsive() {\n this.$nextTick(this.handleResponsive);\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.handleResponsive();\n window.addEventListener('resize', _this.handleResponsive);\n });\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('resize', this.handleResponsive);\n }\n};\n\nfunction getRowSelection(rows, selection, multiple) {\n if (!selection) {\n return [];\n }\n return multiple ? rows.map(function () {\n return false;\n }) : [-1];\n}\n\nvar RowSelection = {\n data: function data() {\n return {\n rowSelection: []\n };\n },\n created: function created() {\n this.rowSelection = getRowSelection(this.rows, this.config.selection, this.multipleSelection);\n },\n\n watch: {\n 'config.selection': function configSelection(value) {\n this.rowSelection = getRowSelection(this.rows, value, value === 'multiple');\n },\n rows: function rows(r) {\n this.rowSelection = getRowSelection(r, this.config.selection, this.multipleSelection);\n },\n rowSelection: function rowSelection() {\n var _this = this;\n\n this.$nextTick(function () {\n if (_this.rowsSelected) {\n _this.toolbar = 'selection';\n return;\n }\n if (_this.toolbar === 'selection') {\n _this.toolbar = '';\n }\n });\n }\n },\n computed: {\n multipleSelection: function multipleSelection() {\n return this.config.selection && this.config.selection === 'multiple';\n },\n rowsSelected: function rowsSelected() {\n if (this.multipleSelection) {\n return this.rowSelection.filter(function (r) {\n return r;\n }).length;\n }\n return this.rowSelection.length && this.rowSelection[0] !== -1 ? 1 : 0;\n },\n selectedRows: function selectedRows() {\n var _this2 = this;\n\n if (this.multipleSelection) {\n return this.rowSelection.map(function (selected, index) {\n return [selected, _this2.rows[index].__index];\n }).filter(function (row) {\n return row[0];\n }).map(function (row) {\n return { index: row[1], data: _this2.data[row[1]] };\n });\n }\n\n if (!this.rowSelection.length || this.rowSelection[0] === -1) {\n return [];\n }\n var index = this.rows[this.rowSelection[0]].__index,\n row = this.data[index];\n\n return [{ index: index, data: row }];\n }\n },\n methods: {\n clearSelection: function clearSelection() {\n if (!this.multipleSelection) {\n this.rowSelection = [-1];\n return;\n }\n this.rowSelection = this.rows.map(function () {\n return false;\n });\n }\n }\n};\n\nvar wheelOffset = 40;\n\nvar Scroll = {\n data: function data() {\n return {\n scroll: {\n horiz: 0,\n vert: 0\n }\n };\n },\n\n methods: {\n scrollHandler: function scrollHandler(e) {\n var _this = this;\n\n var left = e.currentTarget.scrollLeft,\n top = e.currentTarget.scrollTop;\n\n requestAnimationFrame(function () {\n if (_this.$refs.head) {\n _this.$refs.head.scrollLeft = left;\n }\n _this.updateStickyScroll(top);\n });\n },\n mouseWheel: function mouseWheel(e) {\n if (!this.scroll.vert) {\n return;\n }\n\n var body = this.$refs.body;\n body.scrollTop -= Utils.event.getMouseWheelDirection(e) * wheelOffset;\n if (body.scrollTop > 0 && body.scrollTop + body.clientHeight < body.scrollHeight) {\n e.preventDefault();\n }\n },\n resize: function resize() {\n var _this2 = this;\n\n this.$nextTick(function () {\n requestAnimationFrame(function () {\n if (_this2.responsive) {\n return;\n }\n var body = _this2.$refs.body,\n size = Utils.scrollbar.width();\n\n _this2.scroll.horiz = size && body.clientWidth < body.scrollWidth ? size + 'px' : 0;\n _this2.scroll.vert = size && body.scrollHeight > body.clientHeight ? size + 'px' : 0;\n });\n });\n },\n updateStickyScroll: function updateStickyScroll(top) {\n if (this.$refs.stickyLeft) {\n this.$refs.stickyLeft.scrollTop = top;\n }\n if (this.$refs.stickyRight) {\n this.$refs.stickyRight.scrollTop = top;\n }\n }\n },\n watch: {\n $data: {\n deep: true,\n handler: function handler() {\n this.resize();\n }\n },\n bodyStyle: {\n deep: true,\n handler: function handler() {\n var _this3 = this;\n\n this.$nextTick(function () {\n _this3.resize();\n });\n }\n },\n rowStyle: {\n deep: true,\n handler: function handler() {\n var _this4 = this;\n\n this.$nextTick(function () {\n _this4.resize();\n });\n }\n },\n rightStickyColumns: function rightStickyColumns() {\n var _this5 = this;\n\n this.$nextTick(function () {\n _this5.updateStickyScroll(_this5.$refs.body.scrollTop);\n });\n },\n leftStickyColumns: function leftStickyColumns() {\n var _this6 = this;\n\n this.$nextTick(function () {\n _this6.updateStickyScroll(_this6.$refs.body.scrollTop);\n });\n }\n },\n mounted: function mounted() {\n var _this7 = this;\n\n this.$nextTick(function () {\n _this7.resize();\n window.addEventListener('resize', _this7.resize);\n });\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('resize', this.resize);\n }\n};\n\nvar sortMethod = {\n string: function string(a, b) {\n return a.localeCompare(b);\n },\n number: function number(a, b) {\n return a - b;\n },\n date: function date(a, b) {\n return new Date(a) - new Date(b);\n },\n moment: function moment$$1(a, b) {\n return moment(a) - moment(b);\n },\n boolean: function boolean(a, b) {\n if (a && !b) {\n return -1;\n }\n if (!a && b) {\n return 1;\n }\n return 0;\n }\n};\n\nfunction nextDirection(dir) {\n if (dir === 0) {\n return 1;\n }\n if (dir === 1) {\n return -1;\n }\n return 0;\n}\n\nfunction getSortFn(sort, type) {\n if (typeof sort === 'function') {\n return sort;\n }\n if (type && sortMethod[type]) {\n return sortMethod[type];\n }\n}\n\nvar Sort = {\n data: function data() {\n return {\n sorting: {\n field: '',\n dir: 0,\n fn: false\n }\n };\n },\n\n watch: {\n 'sorting.dir': function sortingDir() {\n this.resetBody();\n }\n },\n methods: {\n setSortField: function setSortField(col) {\n if (this.sorting.field === col.field) {\n this.sorting.dir = nextDirection(this.sorting.dir);\n if (this.sorting.dir === 0) {\n this.sorting.field = '';\n }\n return;\n }\n\n this.sorting.field = col.field;\n this.sorting.dir = 1;\n this.sorting.fn = getSortFn(col.sort, col.type);\n },\n sort: function sort(rows) {\n var sortFn = this.sorting.fn;\n var field = this.sorting.field,\n dir = this.sorting.dir;\n\n if (!sortFn) {\n sortFn = sortMethod[_typeof(rows[0][field])] || function (a, b) {\n return a - b;\n };\n }\n rows.sort(function (a, b) {\n return dir * sortFn(a[field], b[field]);\n });\n }\n }\n};\n\nvar SortIcon = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('i', { staticClass: \"cursor-pointer\" }, [_vm._v(_vm._s(_vm.icon))]);\n }, staticRenderFns: [],\n props: {\n field: String,\n sorting: Object\n },\n computed: {\n icon: function icon() {\n if (this.sorting.field !== this.field) {\n return 'import_export';\n }\n return this.sorting.dir === 1 ? 'arrow_downward' : 'arrow_upward';\n }\n }\n};\n\nvar TableSticky = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('table', { staticClass: \"q-table horizontal-delimiter\" }, [_c('colgroup', [_vm.selection ? _c('col', { staticStyle: { \"width\": \"45px\" } }) : _vm._e(), _vm._l(_vm.cols, function (col) {\n return _c('col', { style: { width: col.width } });\n })], 2), !_vm.noHeader ? _c('thead', [_c('tr', [_vm.selection ? _c('th', [_vm._v(\" \")]) : _vm._e(), _vm._l(_vm.cols, function (col, index) {\n return _c('th', { class: { invisible: _vm.hidden(index), sortable: col.sort }, on: { \"click\": function click($event) {\n _vm.sort(col);\n } } }, [!_vm.hidden(index) ? [col.sort ? _c('sort-icon', { attrs: { \"field\": col.field, \"sorting\": _vm.sorting } }) : _vm._e(), _c('span', { domProps: { \"innerHTML\": _vm._s(col.label) } })] : _vm._e()], 2);\n })], 2)]) : _vm._e(), !_vm.head ? _c('tbody', [_vm._t(\"default\")], 2) : _vm._e()]);\n }, staticRenderFns: [],\n props: {\n stickyCols: Number,\n cols: Array,\n head: Boolean,\n noHeader: Boolean,\n right: Boolean,\n sorting: Object,\n scroll: Object,\n selection: [String, Boolean]\n },\n data: function data() {\n return {\n selected: false\n };\n },\n\n methods: {\n hidden: function hidden(index) {\n if (this.right) {\n return this.cols.length - this.stickyCols > index;\n }\n return index >= this.stickyCols;\n },\n sort: function sort(col) {\n if (col.sort) {\n this.$emit('sort', col);\n }\n }\n },\n components: {\n SortIcon: SortIcon\n }\n};\n\nvar StickyColumns = {\n computed: {\n leftStickyColumns: function leftStickyColumns() {\n var number = this.config.leftStickyColumns || 0,\n cols = number;\n\n for (var i = 0; i < cols; i++) {\n if (!this.columnSelection.includes(this.columns[i].field)) {\n number--;\n }\n }\n return number;\n },\n rightStickyColumns: function rightStickyColumns() {\n var number = this.config.rightStickyColumns || 0,\n cols = number,\n length = this.columns.length;\n\n for (var i = 1; i <= cols; i++) {\n if (!this.columnSelection.includes(this.columns[length - i].field)) {\n number--;\n }\n }\n return number;\n },\n regularCols: function regularCols() {\n return this.cols.slice(this.leftStickyColumns, this.cols.length - this.rightStickyColumns);\n },\n leftCols: function leftCols() {\n var _this = this;\n\n return Array.apply(null, Array(this.leftStickyColumns)).map(function (col, n) {\n return _this.cols[n];\n });\n },\n rightCols: function rightCols() {\n var _this2 = this;\n\n return Array.apply(null, Array(this.rightStickyColumns)).map(function (col, n) {\n return _this2.cols[_this2.cols.length - _this2.rightStickyColumns + n];\n });\n }\n },\n components: {\n TableSticky: TableSticky\n }\n};\n\nvar TableContent = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('table', { staticClass: \"q-table horizontal-delimiter\", style: _vm.tableStyle }, [_c('colgroup', [_vm.selection ? _c('col', { staticStyle: { \"width\": \"45px\" } }) : _vm._e(), _vm._l(_vm.cols, function (col) {\n return _c('col', { style: { width: col.width } });\n }), _vm.head && _vm.scroll.horiz ? _c('col', { style: { width: _vm.scroll.horiz } }) : _vm._e()], 2), _vm.head ? _c('thead', [_c('tr', [_vm.selection ? _c('th', [_vm._v(\" \")]) : _vm._e(), _vm._l(_vm.cols, function (col) {\n return _c('th', { class: { sortable: col.sort }, on: { \"click\": function click($event) {\n _vm.sort(col);\n } } }, [col.sort ? _c('sort-icon', { attrs: { \"field\": col.field, \"sorting\": _vm.sorting } }) : _vm._e(), _c('span', { domProps: { \"innerHTML\": _vm._s(col.label) } })], 1);\n }), _vm.head && _vm.scroll.horiz ? _c('th') : _vm._e()], 2)]) : _c('tbody', [_vm._t(\"default\")], 2)]);\n }, staticRenderFns: [],\n props: {\n cols: Array,\n head: Boolean,\n sorting: Object,\n scroll: Object,\n selection: [String, Boolean]\n },\n computed: {\n tableStyle: function tableStyle() {\n return {\n width: this.head && this.vert ? 'calc(100% - ' + this.scroll.vert + ')' : '100%'\n };\n }\n },\n methods: {\n sort: function sort(col) {\n if (col.sort) {\n this.$emit('sort', col);\n }\n }\n },\n components: {\n SortIcon: SortIcon\n }\n};\n\nvar DataTable = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-data-table\" }, [_vm.hasToolbar && _vm.toolbar === '' ? [_c('div', { staticClass: \"q-data-table-toolbar upper-toolbar row reverse-wrap items-center justify-end\" }, [_vm.config.title ? _c('div', { staticClass: \"q-data-table-title ellipsis auto\", domProps: { \"innerHTML\": _vm._s(_vm.config.title) } }) : _vm._e(), _c('div', { staticClass: \"row items-end\" }, [_vm.config.refresh && !_vm.refreshing ? _c('button', { staticClass: \"primary clear\", on: { \"click\": _vm.refresh } }, [_c('i', [_vm._v(\"refresh\")])]) : _vm._e(), _vm._v(\" \"), _vm.refreshing ? _c('button', { staticClass: \"disabled\" }, [_c('i', { staticClass: \"animate-spin-reverse\" }, [_vm._v(\"cached\")])]) : _vm._e(), _vm.config.columnPicker ? _c('q-select', { staticClass: \"text-right\", staticStyle: { \"margin-left\": \"10px\" }, attrs: { \"type\": \"toggle\", \"options\": _vm.columnSelectionOptions, \"static-label\": _vm.labels.columns }, model: { value: _vm.columnSelection, callback: function callback($$v) {\n _vm.columnSelection = $$v;\n } } }) : _vm._e()], 1)])] : _vm._e(), _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.toolbar === 'selection', expression: \"toolbar === 'selection'\" }], staticClass: \"q-data-table-toolbar upper-toolbar row reverse-wrap items-center justify-end q-data-table-selection\" }, [_c('div', { staticClass: \"auto\" }, [_vm._v(_vm._s(_vm.rowsSelected) + \" \"), _vm.rowsSelected === 1 ? _c('span', [_vm._v(_vm._s(_vm.labels.selected.singular))]) : _c('span', [_vm._v(_vm._s(_vm.labels.selected.plural))]), _vm._v(\" \"), _c('button', { staticClass: \"primary clear small\", on: { \"click\": function click($event) {\n _vm.clearSelection();\n } } }, [_vm._v(_vm._s(_vm.labels.clear))])]), _c('div', [_vm._t(\"selection\", null, { rows: _vm.selectedRows })], 2)]), _vm.filteringCols.length ? _c('table-filter', { attrs: { \"filtering\": _vm.filtering, \"columns\": _vm.filteringCols, \"labels\": _vm.labels } }) : _vm._e(), _vm.responsive ? [_vm.message ? _c('div', { staticClass: \"q-data-table-message row items-center justify-center\", domProps: { \"innerHTML\": _vm._s(_vm.message) } }) : _c('div', { staticStyle: { \"overflow\": \"auto\" }, style: _vm.bodyStyle }, [_c('table', { ref: \"body\", staticClass: \"q-table horizontal-delimiter responsive\" }, [_c('tbody', _vm._l(_vm.rows, function (row, index) {\n return _c('tr', [_vm.config.selection ? _c('td', [_vm.config.selection === 'multiple' ? _c('q-checkbox', { model: { value: _vm.rowSelection[index], callback: function callback($$v) {\n var $$exp = _vm.rowSelection,\n $$idx = index;if (!Array.isArray($$exp)) {\n _vm.rowSelection[index] = $$v;\n } else {\n $$exp.splice($$idx, 1, $$v);\n }\n } } }) : _c('q-radio', { attrs: { \"val\": index }, model: { value: _vm.rowSelection[0], callback: function callback($$v) {\n var $$exp = _vm.rowSelection,\n $$idx = 0;if (!Array.isArray($$exp)) {\n _vm.rowSelection[0] = $$v;\n } else {\n $$exp.splice($$idx, 1, $$v);\n }\n } } })], 1) : _vm._e(), _vm._l(_vm.cols, function (col) {\n return _c('td', { class: _vm.formatClass(col, row[col.field]), style: _vm.formatStyle(col, row[col.field]), attrs: { \"data-th\": col.label } }, [_vm._t('col-' + col.field, [_c('span', { domProps: { \"innerHTML\": _vm._s(_vm.format(row, col)) } })], { row: row, col: col, data: row[col.field] })], 2);\n })], 2);\n }))])])] : _c('div', { staticClass: \"q-data-table-container\", on: { \"mousewheel\": _vm.mouseWheel, \"dommousescroll\": _vm.mouseWheel } }, [_vm.hasHeader ? _c('div', { ref: \"head\", staticClass: \"q-data-table-head\", style: { marginRight: _vm.scroll.vert } }, [_c('table-content', { attrs: { \"head\": \"\", \"cols\": _vm.cols, \"sorting\": _vm.sorting, \"scroll\": _vm.scroll, \"selection\": _vm.config.selection }, on: { \"sort\": _vm.setSortField } })], 1) : _vm._e(), _c('div', { ref: \"body\", staticClass: \"q-data-table-body\", style: _vm.bodyStyle, on: { \"scroll\": _vm.scrollHandler } }, [_vm.message ? _c('div', { staticClass: \"q-data-table-message row items-center justify-center\", domProps: { \"innerHTML\": _vm._s(_vm.message) } }) : _c('table-content', { attrs: { \"cols\": _vm.cols, \"selection\": _vm.config.selection } }, _vm._l(_vm.rows, function (row) {\n return _c('tr', { style: _vm.rowStyle }, [_vm.config.selection ? _c('td') : _vm._e(), _vm.leftStickyColumns ? _c('td', { attrs: { \"colspan\": _vm.leftStickyColumns } }) : _vm._e(), _vm._l(_vm.regularCols, function (col) {\n return _c('td', { class: _vm.formatClass(col, row[col.field]), style: _vm.formatStyle(col, row[col.field]) }, [_vm._t('col-' + col.field, [_c('span', { domProps: { \"innerHTML\": _vm._s(_vm.format(row, col)) } })], { row: row, col: col, data: row[col.field] })], 2);\n }), _vm.rightStickyColumns ? _c('td', { attrs: { \"colspan\": _vm.rightStickyColumns } }) : _vm._e()], 2);\n }))], 1), !_vm.message && (_vm.leftStickyColumns || _vm.config.selection) ? [_c('div', { ref: \"stickyLeft\", staticClass: \"q-data-table-sticky-left\", style: { bottom: _vm.scroll.horiz } }, [_c('table-sticky', { attrs: { \"no-header\": !_vm.hasHeader, \"sticky-cols\": _vm.leftStickyColumns, \"cols\": _vm.cols, \"sorting\": _vm.sorting, \"selection\": _vm.config.selection } }, _vm._l(_vm.rows, function (row, index) {\n return _c('tr', { style: _vm.rowStyle }, [_vm.config.selection ? _c('td', [_vm.config.selection === 'multiple' ? _c('q-checkbox', { model: { value: _vm.rowSelection[index], callback: function callback($$v) {\n var $$exp = _vm.rowSelection,\n $$idx = index;if (!Array.isArray($$exp)) {\n _vm.rowSelection[index] = $$v;\n } else {\n $$exp.splice($$idx, 1, $$v);\n }\n } } }) : _c('q-radio', { attrs: { \"val\": index }, model: { value: _vm.rowSelection[0], callback: function callback($$v) {\n var $$exp = _vm.rowSelection,\n $$idx = 0;if (!Array.isArray($$exp)) {\n _vm.rowSelection[0] = $$v;\n } else {\n $$exp.splice($$idx, 1, $$v);\n }\n } } })], 1) : _vm._e(), _vm._l(_vm.leftCols, function (col) {\n return _c('td', { class: _vm.formatClass(col, row[col.field]), style: _vm.formatStyle(col, row[col.field]) }, [_vm._t('col-' + col.field, [_c('span', { domProps: { \"innerHTML\": _vm._s(_vm.format(row, col)) } })], { row: row, col: col, data: row[col.field] })], 2);\n })], 2);\n }))], 1), _vm.hasHeader ? _c('div', { staticClass: \"q-data-table-sticky-left\", style: { bottom: _vm.scroll.horiz } }, [_c('table-sticky', { attrs: { \"head\": \"\", \"sticky-cols\": _vm.leftStickyColumns, \"scroll\": _vm.scroll, \"cols\": _vm.cols, \"sorting\": _vm.sorting, \"selection\": _vm.config.selection }, on: { \"sort\": _vm.setSortField } })], 1) : _vm._e()] : _vm._e(), !_vm.message && _vm.rightStickyColumns ? [_c('div', { ref: \"stickyRight\", staticClass: \"q-data-table-sticky-right\", style: { right: _vm.scroll.vert, bottom: _vm.scroll.horiz } }, [_c('table-sticky', { attrs: { \"no-header\": !_vm.hasHeader, \"right\": \"\", \"sticky-cols\": _vm.rightStickyColumns, \"cols\": _vm.cols, \"sorting\": _vm.sorting, \"selection\": _vm.config.selection } }, _vm._l(_vm.rows, function (row) {\n return _c('tr', { style: _vm.rowStyle }, [_vm.config.selection ? _c('td', { staticClass: \"invisible\" }) : _vm._e(), _c('td', { staticClass: \"invisible\", attrs: { \"colspan\": _vm.cols.length - _vm.rightStickyColumns } }), _vm._l(_vm.rightCols, function (col) {\n return _c('td', { class: _vm.formatClass(col, row[col.field]), style: _vm.formatStyle(col, row[col.field]) }, [_vm._t('col-' + col.field, [_c('span', { domProps: { \"innerHTML\": _vm._s(_vm.format(row, col)) } })], { row: row, col: col, data: row[col.field] })], 2);\n })], 2);\n }))], 1), _vm.hasHeader ? _c('div', { staticClass: \"q-data-table-sticky-right\", style: { right: _vm.scroll.vert } }, [_c('table-sticky', { attrs: { \"right\": \"\", \"head\": \"\", \"sticky-cols\": _vm.rightStickyColumns, \"scroll\": _vm.scroll, \"cols\": _vm.cols, \"sorting\": _vm.sorting, \"selection\": _vm.config.selection }, on: { \"sort\": _vm.setSortField } })], 1) : _vm._e()] : _vm._e()], 2), _vm.config.pagination ? _c('table-pagination', { attrs: { \"pagination\": _vm.pagination, \"entries\": _vm.pagination.entries, \"labels\": _vm.labels } }) : _vm._e()], 2);\n }, staticRenderFns: [],\n mixins: [ColumnSelection, Filter, I18n, Pagination, Responsive, RowSelection, Scroll, Sort, StickyColumns],\n props: {\n data: {\n type: Array,\n default: []\n },\n columns: {\n type: Array,\n required: true\n },\n config: {\n type: Object,\n default: function _default() {\n return {};\n }\n }\n },\n data: function data() {\n return {\n selected: false,\n toolbar: '',\n refreshing: false\n };\n },\n\n computed: {\n rows: function rows() {\n var length = this.data.length;\n\n if (!length) {\n return [];\n }\n\n var rows = Utils.clone(this.data);\n\n rows.forEach(function (row, i) {\n row.__index = i;\n });\n\n if (this.filtering.terms) {\n rows = this.filter(rows);\n }\n\n if (this.sorting.field) {\n this.sort(rows);\n }\n\n this.pagination.entries = rows.length;\n if (this.pagination.rowsPerPage > 0) {\n rows = this.paginate(rows);\n }\n\n return rows;\n },\n rowStyle: function rowStyle() {\n if (this.config.rowHeight) {\n return { height: this.config.rowHeight };\n }\n },\n bodyStyle: function bodyStyle() {\n return this.config.bodyStyle || {};\n },\n hasToolbar: function hasToolbar() {\n return this.config.title || this.filteringCols.length || this.config.columnPicker || this.config.refresh;\n },\n hasHeader: function hasHeader() {\n return !this.config.noHeader;\n }\n },\n methods: {\n resetBody: function resetBody() {\n var body = this.$refs.body;\n\n if (body) {\n body.scrollTop = 0;\n }\n this.pagination.page = 1;\n },\n format: function format(row, col) {\n return col.format ? col.format(row[col.field], row) : row[col.field];\n },\n refresh: function refresh(state) {\n var _this = this;\n\n if (state === false) {\n this.refreshing = false;\n } else if (state === true || !this.refreshing) {\n this.refreshing = true;\n this.$emit('refresh', function () {\n _this.refreshing = false;\n });\n }\n },\n formatStyle: function formatStyle(col, value) {\n return typeof col.style === 'function' ? col.style(value) : col.style;\n },\n formatClass: function formatClass(col, value) {\n return typeof col.classes === 'function' ? col.classes(value) : col.classes;\n }\n },\n components: {\n TableContent: TableContent\n }\n};\n\nvar input = {\n type: {\n type: String,\n default: 'date'\n },\n min: {\n type: String,\n default: ''\n },\n max: {\n type: String,\n default: ''\n },\n format: String,\n noClear: Boolean,\n clearLabel: {\n type: String,\n default: 'Clear'\n },\n okLabel: {\n type: String,\n default: 'Set'\n },\n cancelLabel: {\n type: String,\n default: 'Cancel'\n },\n defaultSelection: String,\n label: String,\n placeholder: String,\n staticLabel: String,\n readonly: Boolean,\n disable: Boolean\n};\n\nvar inline = {\n value: {\n type: String,\n required: true\n },\n type: {\n type: String,\n default: 'date',\n validator: function validator(value) {\n return ['date', 'time', 'datetime'].includes(value);\n }\n },\n min: {\n type: String,\n default: ''\n },\n max: {\n type: String,\n default: ''\n },\n readonly: Boolean,\n disable: Boolean\n};\n\nvar contentCSS = {\n ios: {\n maxHeight: '80vh',\n height: 'auto',\n boxShadow: 'none',\n backgroundColor: '#e4e4e4'\n },\n mat: {\n maxWidth: '95vw',\n maxHeight: '98vh'\n }\n};\n\nvar Datetime = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('q-picker-textfield', { attrs: { \"disable\": _vm.disable, \"readonly\": _vm.readonly, \"label\": _vm.label, \"placeholder\": _vm.placeholder, \"static-label\": _vm.staticLabel, \"value\": _vm.actualValue }, nativeOn: { \"click\": function click($event) {\n _vm.__open($event);\n }, \"keydown\": function keydown($event) {\n if (_vm._k($event.keyCode, \"enter\", 13)) {\n return null;\n }_vm.open($event);\n } } }, [_vm.desktop ? _c('q-popover', { ref: \"popup\", attrs: { \"disable\": _vm.disable || _vm.readonly }, on: { \"open\": function open($event) {\n _vm.__setModel();\n } } }, [_c('q-inline-datetime', { staticClass: \"no-border\", attrs: { \"type\": _vm.type, \"min\": _vm.min, \"max\": _vm.max }, model: { value: _vm.model, callback: function callback($$v) {\n _vm.model = $$v;\n } } }, [_c('div', { staticClass: \"modal-buttons row full-width\" }, [!_vm.noClear ? _c('button', { staticClass: \"primary clear\", domProps: { \"innerHTML\": _vm._s(_vm.clearLabel) }, on: { \"click\": function click($event) {\n _vm.clear();\n } } }) : _vm._e(), _c('div', { staticClass: \"auto\" }), _c('button', { staticClass: \"primary clear\", domProps: { \"innerHTML\": _vm._s(_vm.cancelLabel) }, on: { \"click\": function click($event) {\n _vm.close();\n } } }), _vm._v(\" \"), _c('button', { staticClass: \"primary clear\", domProps: { \"innerHTML\": _vm._s(_vm.okLabel) }, on: { \"click\": function click($event) {\n _vm.close(_vm.__update);\n } } })])])], 1) : _c('q-modal', { ref: \"popup\", staticClass: \"with-backdrop\", class: _vm.classNames, attrs: { \"transition\": _vm.transition, \"position-classes\": _vm.position, \"content-css\": _vm.css } }, [_c('q-inline-datetime', { staticClass: \"no-border full-width\", attrs: { \"type\": _vm.type, \"min\": _vm.min, \"max\": _vm.max }, model: { value: _vm.model, callback: function callback($$v) {\n _vm.model = $$v;\n } } }, [_c('div', { staticClass: \"modal-buttons row full-width\" }, [!_vm.noClear ? _c('button', { staticClass: \"primary clear\", domProps: { \"innerHTML\": _vm._s(_vm.clearLabel) }, on: { \"click\": function click($event) {\n _vm.clear();\n } } }) : _vm._e(), _c('div', { staticClass: \"auto\" }), _c('button', { staticClass: \"primary clear\", domProps: { \"innerHTML\": _vm._s(_vm.cancelLabel) }, on: { \"click\": function click($event) {\n _vm.close();\n } } }), _vm._v(\" \"), _c('button', { staticClass: \"primary clear\", domProps: { \"innerHTML\": _vm._s(_vm.okLabel) }, on: { \"click\": function click($event) {\n _vm.close(_vm.__update);\n } } })])])], 1)], 1);\n }, staticRenderFns: [],\n props: extend({\n value: {\n type: String,\n required: true\n }\n }, input),\n data: function data() {\n var data = Platform.is.desktop ? {} : {\n css: contentCSS[current],\n position: current === 'ios' ? 'items-end justify-center' : 'items-center justify-center',\n transition: current === 'ios' ? 'q-modal-bottom' : 'q-modal',\n classNames: current === 'ios' ? '' : 'minimized'\n };\n data.model = this.value;\n data.desktop = Platform.is.desktop;\n return data;\n },\n\n computed: {\n actualValue: function actualValue() {\n var format = void 0;\n\n if (this.format) {\n format = this.format;\n } else if (this.type === 'date') {\n format = 'YYYY-MM-DD';\n } else if (this.type === 'time') {\n format = 'HH:mm';\n } else {\n format = 'YYYY-MM-DD HH:mm:ss';\n }\n\n return this.value ? moment(this.value).format(format) : '';\n }\n },\n watch: {\n min: function min() {\n this.__normalizeAndEmit();\n },\n max: function max() {\n this.__normalizeAndEmit();\n }\n },\n methods: {\n open: function open() {\n if (!this.disable && !this.readonly) {\n this.__setModel();\n this.$refs.popup.open();\n }\n },\n close: function close(fn) {\n this.$refs.popup.close(fn);\n },\n clear: function clear() {\n this.$refs.popup.close();\n this.$emit('input', '');\n },\n __open: function __open() {\n if (!this.desktop) {\n this.open();\n }\n },\n __normalizeValue: function __normalizeValue(value) {\n if (this.min) {\n value = moment.max(moment(this.min).clone(), value);\n }\n if (this.max) {\n value = moment.min(moment(this.max).clone(), value);\n }\n return value;\n },\n __setModel: function __setModel() {\n this.model = this.value || this.__normalizeValue(moment(this.defaultSelection)).format();\n },\n __update: function __update() {\n this.$emit('input', this.model);\n },\n __normalizeAndEmit: function __normalizeAndEmit() {\n var _this = this;\n\n this.$nextTick(function () {\n if (_this.value) {\n _this.$emit('input', _this.__normalizeValue(moment(_this.value)).format(_this.format));\n }\n });\n }\n }\n};\n\nvar DatetimeRange = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-datetime-range\" }, [_c('q-datetime', { class: _vm.className, style: _vm.css, attrs: { \"default-selection\": _vm.defaultSelection, \"type\": _vm.type, \"min\": _vm.min, \"max\": _vm.model.to || _vm.max, \"format\": _vm.format, \"no-clear\": _vm.noClear, \"clear-label\": _vm.clearLabel, \"ok-label\": _vm.okLabel, \"cancel-label\": _vm.cancelLabel, \"label\": _vm.label, \"placeholder\": _vm.placeholder, \"static-label\": _vm.staticLabel, \"readonly\": _vm.readonly, \"disable\": _vm.disable }, model: { value: _vm.model.from, callback: function callback($$v) {\n _vm.model.from = $$v;\n } } }), _c('q-datetime', { class: _vm.className, style: _vm.css, attrs: { \"default-selection\": _vm.defaultSelection, \"type\": _vm.type, \"min\": _vm.model.from || _vm.min, \"max\": _vm.max, \"format\": _vm.format, \"no-clear\": _vm.noClear, \"clear-label\": _vm.clearLabel, \"ok-label\": _vm.okLabel, \"cancel-label\": _vm.cancelLabel, \"label\": _vm.label, \"placeholder\": _vm.placeholder, \"static-label\": _vm.staticLabel, \"readonly\": _vm.readonly, \"disable\": _vm.disable }, model: { value: _vm.model.to, callback: function callback($$v) {\n _vm.model.to = $$v;\n } } })], 1);\n }, staticRenderFns: [],\n props: extend({\n value: {\n type: Object,\n validator: function validator(val) {\n if (typeof val.from !== 'string' || typeof val.to !== 'string') {\n console.error('DatetimeRange requires a valid {from, to} model.');\n return false;\n }\n return true;\n },\n\n required: true\n },\n className: [String, Object],\n css: [String, Object]\n }, input),\n computed: {\n model: {\n get: function get() {\n return this.value;\n },\n set: function set(value) {\n this.$emit('input', value);\n }\n }\n }\n};\n\nfunction convertToAmPm(hour) {\n return hour === 0 ? 12 : hour >= 13 ? hour - 12 : hour;\n}\n\nvar InlineDatetimeMaterial = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-datetime inline column gt-md-row\", class: { disabled: _vm.disable, readonly: _vm.readonly } }, [!_vm.value ? _c('div', { staticClass: \"q-datetime-header column justify-center\" }, [_vm._v(\" \")]) : _c('div', { staticClass: \"q-datetime-header column justify-center\" }, [_vm.typeHasDate ? _c('div', [_c('div', { staticClass: \"q-datetime-weekdaystring\" }, [_vm._v(_vm._s(_vm.weekDayString))]), _c('div', { staticClass: \"q-datetime-datestring row gt-md-column items-center justify-center\" }, [_c('span', { staticClass: \"q-datetime-link small\", class: { active: _vm.view === 'month' }, on: { \"click\": function click($event) {\n _vm.view = 'month';\n } } }, [_vm._v(_vm._s(_vm.monthString) + \" \")]), _c('span', { staticClass: \"q-datetime-link\", class: { active: _vm.view === 'day' }, on: { \"click\": function click($event) {\n _vm.view = 'day';\n } } }, [_vm._v(_vm._s(_vm.dayString) + \" \")]), _c('span', { staticClass: \"q-datetime-link small\", class: { active: _vm.view === 'year' }, on: { \"click\": function click($event) {\n _vm.view = 'year';\n } } }, [_vm._v(_vm._s(_vm.year))])])]) : _vm._e(), _vm.typeHasTime ? _c('div', { staticClass: \"q-datetime-time row gt-md-column items-center justify-center\" }, [_c('div', { staticClass: \"q-datetime-clockstring\" }, [_c('span', { staticClass: \"q-datetime-link\", class: { active: _vm.view === 'hour' }, on: { \"click\": function click($event) {\n _vm.view = 'hour';\n } } }, [_vm._v(_vm._s(_vm.__pad(_vm.hour, '  ')) + \" \")]), _c('span', { staticStyle: { \"opacity\": \"0.6\" } }, [_vm._v(\":\")]), _vm._v(\" \"), _c('span', { staticClass: \"q-datetime-link\", class: { active: _vm.view === 'minute' }, on: { \"click\": function click($event) {\n _vm.view = 'minute';\n } } }, [_vm._v(_vm._s(_vm.__pad(_vm.minute)))])]), _c('div', { staticClass: \"q-datetime-ampm column justify-around\" }, [_c('div', { staticClass: \"q-datetime-link\", class: { active: _vm.am }, on: { \"click\": function click($event) {\n _vm.toggleAmPm();\n } } }, [_vm._v(\"AM\")]), _c('div', { staticClass: \"q-datetime-link\", class: { active: !_vm.am }, on: { \"click\": function click($event) {\n _vm.toggleAmPm();\n } } }, [_vm._v(\"PM\")])])]) : _vm._e()]), _c('div', { staticClass: \"q-datetime-content auto column\" }, [_c('div', { ref: \"selector\", staticClass: \"q-datetime-selector auto row items-center justify-center\" }, [_vm.view === 'year' ? _c('div', { staticClass: \"q-datetime-view-year full-width full-height\" }, _vm._l(_vm.yearInterval, function (n) {\n return _c('button', { staticClass: \"primary clear full-width\", class: { active: n + _vm.yearMin === _vm.year }, on: { \"click\": function click($event) {\n _vm.setYear(n + _vm.yearMin);\n } } }, [_vm._v(_vm._s(n + _vm.yearMin))]);\n })) : _vm._e(), _vm.view === 'month' ? _c('div', { staticClass: \"q-datetime-view-month full-width full-height\" }, _vm._l(_vm.monthInterval, function (index) {\n return _c('button', { staticClass: \"primary clear full-width\", class: { active: _vm.month === index + _vm.monthMin }, on: { \"click\": function click($event) {\n _vm.setMonth(index + _vm.monthMin, true);\n } } }, [_vm._v(_vm._s(_vm.monthsList[index + _vm.monthMin - 1]))]);\n })) : _vm._e(), _vm.view === 'day' ? _c('div', { staticClass: \"q-datetime-view-day q-datetime-animate\" }, [_c('div', { staticClass: \"row items-center content-center\" }, [_c('button', { staticClass: \"primary clear\", on: { \"click\": function click($event) {\n _vm.setMonth(_vm.month - 1, true);\n } } }, [_c('i', [_vm._v(\"keyboard_arrow_left\")])]), _c('div', { staticClass: \"auto\" }, [_vm._v(_vm._s(_vm.monthStamp))]), _c('button', { staticClass: \"primary clear\", on: { \"click\": function click($event) {\n _vm.setMonth(_vm.month + 1, true);\n } } }, [_c('i', [_vm._v(\"keyboard_arrow_right\")])])]), _c('div', { staticClass: \"q-datetime-weekdays row items-center justify-start\" }, _vm._l(_vm.daysList, function (day) {\n return _c('div', [_vm._v(_vm._s(day))]);\n })), _c('div', { staticClass: \"q-datetime-days row wrap items-center justify-start content-center\" }, [_vm._l(_vm.fillerDays, function (fillerDay) {\n return _c('div', { staticClass: \"q-datetime-fillerday\" });\n }), _vm._l(_vm.beforeMinDays, function (fillerDay) {\n return _vm.min ? _c('div', { staticClass: \"flex items-center content-center justify-center disabled\" }, [_vm._v(_vm._s(fillerDay))]) : _vm._e();\n }), _vm._l(_vm.daysInterval, function (monthDay) {\n return _c('div', { staticClass: \"flex items-center content-center justify-center cursor-pointer\", class: { active: _vm.value && monthDay === _vm.day }, on: { \"click\": function click($event) {\n _vm.setDay(monthDay);\n } } }, [_vm._v(_vm._s(monthDay))]);\n }), _vm._l(_vm.aferMaxDays, function (fillerDay) {\n return _vm.max ? _c('div', { staticClass: \"flex items-center content-center justify-center disabled\" }, [_vm._v(_vm._s(fillerDay + _vm.maxDay))]) : _vm._e();\n })], 2)]) : _vm._e(), _vm.view === 'hour' || _vm.view === 'minute' ? _c('div', { ref: \"clock\", staticClass: \"column items-center content-center justify-center\" }, [_vm.view === 'hour' ? _c('div', { staticClass: \"q-datetime-clock cursor-pointer\", on: { \"mousedown\": _vm.__dragStart, \"mousemove\": _vm.__dragMove, \"mouseup\": _vm.__dragStop, \"touchstart\": _vm.__dragStart, \"touchmove\": _vm.__dragMove, \"touchend\": _vm.__dragStop } }, [_c('div', { staticClass: \"q-datetime-clock-circle full-width full-height\" }, [_c('div', { staticClass: \"q-datetime-clock-center\" }), _c('div', { staticClass: \"q-datetime-clock-pointer\", class: { hidden: !_vm.value }, style: _vm.clockPointerStyle }, [_c('span')]), _vm._l(12, function (n) {\n return _c('div', { staticClass: \"q-datetime-clock-position\", class: ['q-datetime-clock-pos-' + n, _vm.value && n === _vm.hour ? 'active' : ''] }, [_vm._v(_vm._s(n))]);\n })], 2)]) : _vm._e(), _vm.view === 'minute' ? _c('div', { staticClass: \"q-datetime-clock cursor-pointer\", on: { \"mousedown\": _vm.__dragStart, \"mousemove\": _vm.__dragMove, \"mouseup\": _vm.__dragStop, \"touchstart\": _vm.__dragStart, \"touchmove\": _vm.__dragMove, \"touchend\": _vm.__dragStop } }, [_c('div', { staticClass: \"q-datetime-clock-circle full-width full-height\" }, [_c('div', { staticClass: \"q-datetime-clock-center\" }), _c('div', { staticClass: \"q-datetime-clock-pointer\", style: _vm.clockPointerStyle }, [_c('span')]), _vm._l(12, function (n) {\n return _c('div', { staticClass: \"q-datetime-clock-position\", class: ['q-datetime-clock-pos-' + (n - 1), (n - 1) * 5 === _vm.minute ? 'active' : ''] }, [_vm._v(_vm._s((n - 1) * 5))]);\n })], 2)]) : _vm._e()]) : _vm._e()]), _vm._t(\"default\")], 2)]);\n }, staticRenderFns: [],\n props: inline,\n data: function data() {\n var _this = this;\n\n var view = void 0;\n\n switch (this.type) {\n case 'time':\n view = 'hour';\n break;\n case 'date':\n default:\n view = 'day';\n break;\n }\n\n this.$nextTick(function () {\n _this.date = _this.__normalizeValue(_this.date);\n });\n return {\n view: view,\n date: moment(this.value || undefined),\n dragging: false,\n centerClockPosition: 0,\n firstDayOfWeek: moment.localeData().firstDayOfWeek(),\n daysList: moment.weekdaysShort(true),\n monthsList: moment.months()\n };\n },\n\n watch: {\n value: function value(val) {\n if (!val) {\n this.view = ['date', 'datetime'].includes(this.type) ? 'day' : 'hour';\n }\n },\n model: function model(value) {\n this.date = this.__normalizeValue(moment(value || undefined));\n },\n min: function min() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.__updateModel();\n });\n },\n max: function max() {\n var _this3 = this;\n\n this.$nextTick(function () {\n _this3.__updateModel();\n });\n },\n view: function view(value) {\n if (value !== 'year' && value !== 'month') {\n return;\n }\n\n var view = this.$refs.selector,\n rows = value === 'year' ? this.year - this.yearMin : this.month - this.monthMin;\n\n this.$nextTick(function () {\n view.scrollTop = rows * Utils.dom.height(view.children[0].children[0]) - Utils.dom.height(view) / 2.5;\n });\n }\n },\n computed: {\n model: {\n get: function get() {\n return this.value || undefined;\n },\n set: function set(value) {\n this.$emit('input', value);\n }\n },\n pmin: function pmin() {\n return this.min ? moment(this.min) : '';\n },\n pmax: function pmax() {\n return this.max ? moment(this.max) : '';\n },\n typeHasDate: function typeHasDate() {\n return this.type === 'date' || this.type === 'datetime';\n },\n typeHasTime: function typeHasTime() {\n return this.type === 'time' || this.type === 'datetime';\n },\n year: function year() {\n return this.date.year();\n },\n month: function month() {\n return this.date.month() + 1;\n },\n day: function day() {\n return this.date.date();\n },\n dayString: function dayString() {\n return this.date.format('Do');\n },\n monthString: function monthString() {\n return this.date.format('MMM');\n },\n monthStamp: function monthStamp() {\n return this.date.format('MMMM YYYY');\n },\n weekDayString: function weekDayString() {\n return this.date.format('dddd');\n },\n yearInterval: function yearInterval() {\n var min = this.pmin ? this.pmin.year() : 1950,\n max = this.pmax ? this.pmax.year() : 2050;\n return Math.max(1, max - min + 1);\n },\n yearMin: function yearMin() {\n return this.pmin ? this.pmin.year() - 1 : 1949;\n },\n monthInterval: function monthInterval() {\n var min = this.pmin && this.pmin.isSame(this.date, 'year') ? this.pmin.month() : 0,\n max = this.pmax && this.pmax.isSame(this.date, 'year') ? this.pmax.month() : 11;\n return Math.max(1, max - min + 1);\n },\n monthMin: function monthMin() {\n return this.pmin && this.pmin.isSame(this.date, 'year') ? this.pmin.month() : 0;\n },\n fillerDays: function fillerDays() {\n return Math.max(0, this.date.clone().date(1).day() - this.firstDayOfWeek);\n },\n beforeMinDays: function beforeMinDays() {\n if (!this.pmin || this.pmin.month() !== this.date.month() || this.pmin.year() !== this.date.year()) {\n return false;\n }\n return this.pmin.date() - 1;\n },\n aferMaxDays: function aferMaxDays() {\n if (!this.pmax || this.pmax.month() !== this.date.month() || this.pmax.year() !== this.date.year()) {\n return false;\n }\n return this.daysInMonth - this.maxDay;\n },\n maxDay: function maxDay() {\n return this.pmax ? this.pmax.date() : this.daysInMonth;\n },\n daysInterval: function daysInterval() {\n var max = !this.pmax || this.pmax.month() !== this.date.month() || this.pmax.year() !== this.date.year() ? 0 : this.daysInMonth - this.pmax.date();\n if (this.beforeMinDays || max) {\n var min = this.beforeMinDays ? this.beforeMinDays + 1 : 1;\n return Array.apply(null, { length: this.daysInMonth - min - max + 1 }).map(function (day, index) {\n return index + min;\n });\n }\n return this.daysInMonth;\n },\n daysInMonth: function daysInMonth() {\n return this.date.daysInMonth();\n },\n hour: function hour() {\n return convertToAmPm(this.date.hour());\n },\n minute: function minute() {\n return this.date.minute();\n },\n am: function am() {\n return this.date.hour() <= 11;\n },\n clockPointerStyle: function clockPointerStyle() {\n var divider = this.view === 'minute' ? 60 : 12,\n degrees = Math.round((this.view === 'minute' ? this.minute : this.hour) * (360 / divider)) - 180;\n\n return {\n '-webkit-transform': 'rotate(' + degrees + 'deg)',\n '-ms-transform': 'rotate(' + degrees + 'deg)',\n 'transform': 'rotate(' + degrees + 'deg)'\n };\n },\n editable: function editable() {\n return !this.disable && !this.readonly;\n }\n },\n methods: {\n setYear: function setYear(value) {\n if (!this.editable) {\n return;\n }\n this.date.year(this.__parseTypeValue('year', value));\n this.__updateModel();\n },\n setMonth: function setMonth(value, force) {\n if (!this.editable) {\n return;\n }\n this.date.month((force ? value : this.__parseTypeValue('month', value)) - 1);\n this.__updateModel();\n },\n setDay: function setDay(value) {\n if (!this.editable) {\n return;\n }\n this.date.date(this.__parseTypeValue('date', value));\n this.__updateModel();\n },\n toggleAmPm: function toggleAmPm() {\n if (!this.editable) {\n return;\n }\n var hour = this.date.hour(),\n offset = this.am ? 12 : -12;\n\n this.date.hour(hour + offset);\n this.__updateModel();\n },\n setHour: function setHour(value) {\n if (!this.editable) {\n return;\n }\n value = this.__parseTypeValue('hour', value) % 12;\n\n if (!this.am) {\n value += 12;\n }\n\n this.date.hour(value);\n this.__updateModel();\n },\n setMinute: function setMinute(value) {\n if (!this.editable) {\n return;\n }\n this.date.minute(this.__parseTypeValue('minute', value));\n this.__updateModel();\n },\n __pad: function __pad(unit, filler) {\n return (unit < 10 ? filler || '0' : '') + unit;\n },\n __dragStart: function __dragStart(ev) {\n ev.stopPropagation();\n ev.preventDefault();\n\n var clock = this.$refs.clock,\n clockOffset = Utils.dom.offset(clock);\n\n this.centerClockPosition = {\n top: clockOffset.top + Utils.dom.height(clock) / 2,\n left: clockOffset.left + Utils.dom.width(clock) / 2\n };\n\n this.dragging = true;\n this.__updateClock(ev);\n },\n __dragMove: function __dragMove(ev) {\n if (!this.dragging) {\n return;\n }\n ev.stopPropagation();\n ev.preventDefault();\n this.__updateClock(ev);\n },\n __dragStop: function __dragStop(ev) {\n ev.stopPropagation();\n ev.preventDefault();\n this.dragging = false;\n },\n __updateClock: function __updateClock(ev) {\n var position = Utils.event.position(ev),\n height = Math.abs(position.top - this.centerClockPosition.top),\n distance = Math.sqrt(Math.pow(Math.abs(position.top - this.centerClockPosition.top), 2) + Math.pow(Math.abs(position.left - this.centerClockPosition.left), 2)),\n angle = Math.asin(height / distance) * (180 / Math.PI);\n\n if (position.top < this.centerClockPosition.top) {\n angle = this.centerClockPosition.left < position.left ? 90 - angle : 270 + angle;\n } else {\n angle = this.centerClockPosition.left < position.left ? angle + 90 : 270 - angle;\n }\n\n if (this.view === 'hour') {\n this.setHour(Math.round(angle / 30));\n } else {\n this.setMinute(Math.round(angle / 6));\n }\n },\n __parseTypeValue: function __parseTypeValue(type, value) {\n if (type === 'month') {\n return Utils.format.between(value, 1, 12);\n }\n if (type === 'date') {\n return Utils.format.between(value, 1, this.daysInMonth);\n }\n if (type === 'year') {\n return Utils.format.between(value, 1950, 2050);\n }\n if (type === 'hour') {\n return Utils.format.between(value, 0, 23);\n }\n if (type === 'minute') {\n return Utils.format.between(value, 0, 59);\n }\n },\n __normalizeValue: function __normalizeValue(value) {\n if (this.pmin) {\n value = moment.max(this.pmin.clone(), value);\n }\n if (this.pmax) {\n value = moment.min(this.pmax.clone(), value);\n }\n return value;\n },\n __updateModel: function __updateModel() {\n if (this.date) {\n this.date = this.__normalizeValue(this.date);\n this.model = this.date.toISOString();\n }\n }\n }\n};\n\nvar InlineDatetimeIOS = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-datetime\", class: ['type-' + _vm.type, _vm.disable ? 'disabled' : '', _vm.readonly ? 'readonly' : ''] }, [_vm._t(\"default\"), _c('div', { staticClass: \"q-datetime-content non-selectable\" }, [_c('div', { staticClass: \"q-datetime-inner full-height flex justify-center\" }, [_vm.typeHasDate ? [_c('div', { staticClass: \"q-datetime-col q-datetime-col-month\", on: { \"touchstart\": function touchstart($event) {\n _vm.__dragStart($event, 'month');\n }, \"touchmove\": function touchmove($event) {\n _vm.__dragMove($event, 'month');\n }, \"touchend\": function touchend($event) {\n _vm.__dragStop($event, 'month');\n } } }, [_c('div', { ref: \"month\", staticClass: \"q-datetime-col-wrapper\", style: _vm.__monthStyle }, _vm._l(_vm.monthInterval, function (index) {\n return _c('div', { staticClass: \"q-datetime-item\", on: { \"click\": function click($event) {\n _vm.setMonth(index + _vm.monthMin);\n } } }, [_vm._v(_vm._s(_vm.monthsList[index + _vm.monthMin - 1]))]);\n }))]), _c('div', { staticClass: \"q-datetime-col q-datetime-col-day\", on: { \"touchstart\": function touchstart($event) {\n _vm.__dragStart($event, 'date');\n }, \"touchmove\": function touchmove($event) {\n _vm.__dragMove($event, 'date');\n }, \"touchend\": function touchend($event) {\n _vm.__dragStop($event, 'date');\n } } }, [_c('div', { ref: \"date\", staticClass: \"q-datetime-col-wrapper\", style: _vm.__dayStyle }, _vm._l(_vm.daysInterval, function (index) {\n return _c('div', { staticClass: \"q-datetime-item\", on: { \"click\": function click($event) {\n _vm.setDay(index + _vm.dayMin - 1);\n } } }, [_vm._v(_vm._s(index + _vm.dayMin - 1))]);\n }))]), _c('div', { staticClass: \"q-datetime-col q-datetime-col-year\", on: { \"touchstart\": function touchstart($event) {\n _vm.__dragStart($event, 'year');\n }, \"touchmove\": function touchmove($event) {\n _vm.__dragMove($event, 'year');\n }, \"touchend\": function touchend($event) {\n _vm.__dragStop($event, 'year');\n } } }, [_c('div', { ref: \"year\", staticClass: \"q-datetime-col-wrapper\", style: _vm.__yearStyle }, _vm._l(_vm.yearInterval, function (n) {\n return _c('div', { staticClass: \"q-datetime-item\", on: { \"click\": function click($event) {\n _vm.setYear(n + _vm.yearMin);\n } } }, [_vm._v(_vm._s(n + _vm.yearMin))]);\n }))])] : _vm._e(), _vm.typeHasTime ? [_c('div', { staticClass: \"q-datetime-col q-datetime-col-hour\", on: { \"touchstart\": function touchstart($event) {\n _vm.__dragStart($event, 'hour');\n }, \"touchmove\": function touchmove($event) {\n _vm.__dragMove($event, 'hour');\n }, \"touchend\": function touchend($event) {\n _vm.__dragStop($event, 'hour');\n } } }, [_c('div', { ref: \"hour\", staticClass: \"q-datetime-col-wrapper\", style: _vm.__hourStyle }, _vm._l(_vm.hourInterval, function (n) {\n return _c('div', { staticClass: \"q-datetime-item\", on: { \"click\": function click($event) {\n _vm.setHour(n + _vm.hourMin - 1);\n } } }, [_vm._v(_vm._s(n + _vm.hourMin - 1))]);\n }))]), _vm._m(0), _c('div', { staticClass: \"q-datetime-col q-datetime-col-minute\", on: { \"touchstart\": function touchstart($event) {\n _vm.__dragStart($event, 'minute');\n }, \"touchmove\": function touchmove($event) {\n _vm.__dragMove($event, 'minute');\n }, \"touchend\": function touchend($event) {\n _vm.__dragStop($event, 'minute');\n } } }, [_c('div', { ref: \"minute\", staticClass: \"q-datetime-col-wrapper\", style: _vm.__minuteStyle }, _vm._l(_vm.minuteInterval, function (n) {\n return _c('div', { staticClass: \"q-datetime-item\", on: { \"click\": function click($event) {\n _vm.setMinute(n + _vm.minuteMin - 1);\n } } }, [_vm._v(_vm._s(_vm.__pad(n + _vm.minuteMin - 1)))]);\n }))])] : _vm._e(), _c('div', { staticClass: \"q-datetime-highlight row items-center justify-center\", class: { 'q-datetime-no-selection': !_vm.value } }, [!_vm.value && _vm.typeHasDate ? [_c('div', { staticClass: \"q-datetime-col-month\" }, [_vm._v(\"-----\")]), _c('div', { staticClass: \"q-datetime-col-day\" }, [_vm._v(\"--\")]), _c('div', { staticClass: \"q-datetime-col-year\" }, [_vm._v(\"----\")])] : _vm._e(), !_vm.value && _vm.typeHasTime ? [_c('div', { staticClass: \"q-datetime-col-hour\" }, [_vm._v(\"--\")]), _c('div', { staticClass: \"q-datetime-col-minute\" }, [_vm._v(\"--\")])] : _vm._e()], 2)], 2), _c('div', { staticClass: \"q-datetime-mask\" })])], 2);\n }, staticRenderFns: [function () {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-datetime-col-divider\" }, [_c('div', { staticClass: \"q-datetime-col-wrapper full-height row items-center justify-center\" }, [_c('div', [_vm._v(\":\")])])]);\n }],\n props: inline,\n data: function data() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.date = _this.__normalizeValue(_this.date);\n });\n return {\n date: moment(this.value || undefined),\n monthDragOffset: 0,\n dateDragOffset: 0,\n yearDragOffset: 0,\n hourDragOffset: 0,\n minuteDragOffset: 0,\n monthsList: moment.months(),\n dragging: false\n };\n },\n\n watch: {\n model: function model(value) {\n this.date = this.__normalizeValue(moment(value || undefined));\n this.__updateAllPositions();\n },\n min: function min(value) {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.__updateModel();\n _this2.__updateAllPositions();\n });\n },\n max: function max(value) {\n var _this3 = this;\n\n this.$nextTick(function () {\n _this3.__updateModel();\n _this3.__updateAllPositions();\n });\n }\n },\n computed: {\n model: {\n get: function get() {\n return this.value || undefined;\n },\n set: function set(value) {\n this.$emit('input', value);\n }\n },\n pmin: function pmin() {\n return this.min ? moment(this.min) : false;\n },\n pmax: function pmax() {\n return this.max ? moment(this.max) : false;\n },\n typeHasDate: function typeHasDate() {\n return this.type === 'date' || this.type === 'datetime';\n },\n typeHasTime: function typeHasTime() {\n return this.type === 'time' || this.type === 'datetime';\n },\n year: function year() {\n return this.date.year();\n },\n yearInterval: function yearInterval() {\n var min = this.pmin ? this.pmin.year() : 1950,\n max = this.pmax ? this.pmax.year() : 2050;\n return Math.max(1, max - min + 1);\n },\n yearMin: function yearMin() {\n return this.pmin ? this.pmin.year() - 1 : 1949;\n },\n month: function month() {\n return this.date.month() + 1;\n },\n monthInterval: function monthInterval() {\n var min = this.pmin && this.pmin.isSame(this.date, 'year') ? this.pmin.month() : 0,\n max = this.pmax && this.pmax.isSame(this.date, 'year') ? this.pmax.month() : 11;\n return Math.max(1, max - min + 1);\n },\n monthMin: function monthMin() {\n return this.pmin && this.pmin.year() === this.date.year() ? this.pmin.month() : 0;\n },\n day: function day() {\n return this.date.date();\n },\n dayMin: function dayMin() {\n return this.pmin && this.pmin.isSame(this.date, 'month') ? this.pmin.date() : 1;\n },\n dayMax: function dayMax() {\n return this.pmax && this.pmax.isSame(this.date, 'month') ? this.pmax.date() : this.daysInMonth;\n },\n daysInterval: function daysInterval() {\n return this.dayMax - this.dayMin + 1;\n },\n daysInMonth: function daysInMonth() {\n return this.date.daysInMonth();\n },\n hour: function hour() {\n return this.date.hour();\n },\n hourMin: function hourMin() {\n return this.pmin && this.pmin.isSame(this.date, 'day') ? this.pmin.hour() : 0;\n },\n hourInterval: function hourInterval() {\n return (this.pmax && this.pmax.isSame(this.date, 'day') ? this.pmax.hour() : 23) - this.hourMin + 1;\n },\n minute: function minute() {\n return this.date.minute();\n },\n minuteMin: function minuteMin() {\n return this.pmin && this.pmin.isSame(this.date, 'hour') ? this.pmin.minute() : 0;\n },\n minuteInterval: function minuteInterval() {\n return (this.pmax && this.pmax.isSame(this.date, 'hour') ? this.pmax.minute() : 59) - this.minuteMin + 1;\n },\n __monthStyle: function __monthStyle() {\n return this.__colStyle(82 - (this.month - 1 + this.monthDragOffset) * 36);\n },\n __dayStyle: function __dayStyle() {\n return this.__colStyle(82 - (this.day + this.dateDragOffset) * 36);\n },\n __yearStyle: function __yearStyle() {\n return this.__colStyle(82 - (this.year + this.yearDragOffset) * 36);\n },\n __hourStyle: function __hourStyle() {\n return this.__colStyle(82 - (this.hour + this.hourDragOffset) * 36);\n },\n __minuteStyle: function __minuteStyle() {\n return this.__colStyle(82 - (this.minute + this.minuteDragOffset) * 36);\n },\n editable: function editable() {\n return !this.disable && !this.readonly;\n }\n },\n methods: {\n setYear: function setYear(value) {\n if (this.editable) {\n this.date.year(this.__parseTypeValue('year', value));\n this.__updateModel();\n }\n },\n setMonth: function setMonth(value) {\n if (this.editable) {\n this.date.month(this.__parseTypeValue('month', value) - 1);\n this.__updateModel();\n }\n },\n setDay: function setDay(value) {\n if (this.editable) {\n this.date.date(this.__parseTypeValue('date', value));\n this.__updateModel();\n }\n },\n setHour: function setHour(value) {\n if (this.editable) {\n this.date.hour(this.__parseTypeValue('hour', value));\n this.__updateModel();\n }\n },\n setMinute: function setMinute(value) {\n if (this.editable) {\n this.date.minute(this.__parseTypeValue('minute', value));\n this.__updateModel();\n }\n },\n __pad: function __pad(unit, filler) {\n return (unit < 10 ? filler || '0' : '') + unit;\n },\n __parseTypeValue: function __parseTypeValue(type, value) {\n if (type === 'month') {\n return Utils.format.between(value, 1, 12);\n }\n if (type === 'date') {\n return Utils.format.between(value, 1, this.daysInMonth);\n }\n if (type === 'year') {\n return Utils.format.between(value, 1950, 2050);\n }\n if (type === 'hour') {\n return Utils.format.between(value, 0, 23);\n }\n if (type === 'minute') {\n return Utils.format.between(value, 0, 59);\n }\n },\n __updateAllPositions: function __updateAllPositions() {\n var _this4 = this;\n\n this.$nextTick(function () {\n if (_this4.typeHasDate) {\n _this4.__updatePositions('month', _this4.date.month());\n _this4.__updatePositions('date', _this4.date.date());\n _this4.__updatePositions('year', _this4.date.year());\n }\n if (_this4.typeHasTime) {\n _this4.__updatePositions('hour', _this4.date.hour());\n _this4.__updatePositions('minute', _this4.date.minute());\n }\n });\n },\n __updatePositions: function __updatePositions(type, value) {\n var _this5 = this;\n\n var root = this.$refs[type];\n if (!root) {\n return;\n }\n\n var delta = -value;\n if (type === 'year') {\n delta += this.yearMin + 1;\n } else if (type === 'date') {\n delta += this.dayMin;\n } else {\n delta += this[type + 'Min'];\n }\n\n [].slice.call(root.children).forEach(function (item) {\n Utils.dom.css(item, _this5.__itemStyle(value * 36, Utils.format.between(delta * -18, -180, 180)));\n delta++;\n });\n },\n __colStyle: function __colStyle(value) {\n return {\n '-webkit-transform': 'translate3d(0,' + value + 'px,0)',\n '-ms-transform': 'translate3d(0,' + value + 'px,0)',\n 'transform': 'translate3d(0,' + value + 'px,0)'\n };\n },\n __itemStyle: function __itemStyle(translation, rotation) {\n return {\n '-webkit-transform': 'translate3d(0, ' + translation + 'px, 0) rotateX(' + rotation + 'deg)',\n '-ms-transform': 'translate3d(0, ' + translation + 'px, 0) rotateX(' + rotation + 'deg)',\n 'transform': 'translate3d(0, ' + translation + 'px, 0) rotateX(' + rotation + 'deg)'\n };\n },\n __dragStart: function __dragStart(ev, type) {\n var _this6 = this;\n\n if (!this.editable) {\n return;\n }\n\n this.__dragCleanup();['month', 'date', 'year', 'hour', 'minute'].forEach(function (type) {\n _this6[type + 'DragOffset'] = 0;\n });\n ev.stopPropagation();\n ev.preventDefault();\n\n if (!this.value) {\n this.__updateModel();\n }\n\n this.dragging = type;\n this.__dragPosition = Utils.event.position(ev).top;\n },\n __dragMove: function __dragMove(ev, type) {\n if (this.dragging !== type || !this.editable) {\n return;\n }\n ev.stopPropagation();\n ev.preventDefault();\n this[type + 'DragOffset'] = (this.__dragPosition - Utils.event.position(ev).top) / 36;\n this.__updatePositions(type, this.date[type]() + this[type + 'DragOffset']);\n },\n __dragStop: function __dragStop(ev, type) {\n var _this7 = this;\n\n if (this.dragging !== type || !this.editable) {\n return;\n }\n ev.stopPropagation();\n ev.preventDefault();\n this.dragging = false;\n\n var offset = Math.round(this[type + 'DragOffset']),\n newValue = this.__parseTypeValue(type, this[type === 'date' ? 'day' : type] + offset),\n actualType = type === 'date' ? 'day' : type;\n\n if (newValue !== this[actualType]) {\n this['set' + actualType.charAt(0).toUpperCase() + actualType.slice(1)](newValue);\n this[type + 'DragOffset'] = 0;\n } else {\n this.__updatePositions(type, this.date[type]());\n this.timeout = setTimeout(function () {\n _this7[type + 'DragOffset'] = 0;\n }, 150);\n }\n },\n __dragCleanup: function __dragCleanup() {\n clearTimeout(this.timeout);\n this.timeout = null;\n },\n __normalizeValue: function __normalizeValue(value) {\n if (this.pmin) {\n value = moment.max(this.pmin.clone(), value);\n }\n if (this.pmax) {\n value = moment.min(this.pmax.clone(), value);\n }\n return value;\n },\n __updateModel: function __updateModel() {\n if (this.date) {\n this.date = this.__normalizeValue(this.date);\n this.model = this.date.toISOString();\n }\n }\n },\n mounted: function mounted() {\n this.__updateAllPositions();\n },\n beforeDestroy: function beforeDestroy() {\n this.__dragCleanup();\n }\n};\n\nvar Drawer = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"drawer\", class: { 'left-side': !_vm.rightSide, 'right-side': _vm.rightSide, active: _vm.active, 'swipe-only': _vm.swipeOnly } }, [_c('div', { directives: [{ name: \"touch-pan\", rawName: \"v-touch-pan.horizontal\", value: _vm.__openByTouch, expression: \"__openByTouch\", modifiers: { \"horizontal\": true } }], staticClass: \"drawer-opener touch-only mobile-only\", class: { 'fixed-left': !_vm.rightSide, 'fixed-right': _vm.rightSide } }, [_vm._v(\" \")]), _c('div', { directives: [{ name: \"touch-pan\", rawName: \"v-touch-pan.horizontal\", value: _vm.__closeByTouch, expression: \"__closeByTouch\", modifiers: { \"horizontal\": true } }], ref: \"backdrop\", staticClass: \"drawer-backdrop fullscreen\", style: _vm.backdropStyle, on: { \"click\": function click($event) {\n _vm.setState(false);\n } } }), _c('div', { directives: [{ name: \"touch-pan\", rawName: \"v-touch-pan.horizontal\", value: _vm.__closeByTouch, expression: \"__closeByTouch\", modifiers: { \"horizontal\": true } }], ref: \"content\", staticClass: \"drawer-content\", class: { 'left-side': !_vm.rightSide, 'right-side': _vm.rightSide }, style: _vm.nodeStyle }, [_vm._t(\"default\")], 2)]);\n }, staticRenderFns: [],\n props: {\n rightSide: Boolean,\n swipeOnly: Boolean,\n backdropOpacity: {\n type: Number,\n validator: function validator(v) {\n return v >= 0 && v <= 1;\n },\n\n default: current === 'ios' ? 0.2 : 0.7\n }\n },\n data: function data() {\n return {\n active: false,\n opened: false,\n nodePosition: 0,\n backPosition: 0,\n nodeAnimUid: Utils.uid(),\n backAnimUid: Utils.uid()\n };\n },\n\n computed: {\n nodeStyle: function nodeStyle() {\n var css = Utils.dom.cssTransform('translateX(' + this.nodePosition + 'px)');\n if (this.$q.theme === 'ios') {\n if (this.layoutContainer) {\n Utils.dom.css(this.layoutContainer, css);\n }\n return;\n }\n return css;\n },\n backdropStyle: function backdropStyle() {\n return { background: 'rgba(0,0,0,' + this.backPosition + ')' };\n }\n },\n watch: {\n active: function active(val) {\n document.body.classList[val ? 'add' : 'remove']('with-drawer-opened');\n }\n },\n methods: {\n __animate: function __animate(done) {\n var _this = this;\n\n var finalPos = void 0;\n var complete = function complete() {\n if (!_this.opened) {\n _this.active = false;\n }\n if (typeof done === 'function') {\n done();\n }\n };\n\n if (this.$q.theme === 'ios') {\n finalPos = this.opened ? (this.rightSide ? -1 : 1) * this.width : 0;\n } else {\n finalPos = this.opened ? 0 : (this.rightSide ? 1 : -1) * this.width;\n }\n\n if (this.opened) {\n this.active = true;\n if (this.$q.platform.has.popstate) {\n if (!window.history.state) {\n window.history.replaceState({ __quasar_drawer: true }, '');\n } else {\n window.history.state.__quasar_drawer = true;\n }\n var state = window.history.state || {};\n state.__quasar_drawer = true;\n window.history.replaceState(state, '');\n window.history.pushState({}, '');\n window.addEventListener('popstate', this.__popState);\n }\n } else {\n if (this.$q.platform.has.popstate) {\n window.removeEventListener('popstate', this.__popState);\n if (window.history.state && !window.history.state.__quasar_drawer) {\n window.history.go(-1);\n }\n }\n }\n\n Utils.animate({\n name: this.backAnimUid,\n pos: this.backPosition,\n finalPos: this.opened ? this.backdropOpacity : 0,\n apply: function apply(pos) {\n _this.backPosition = pos;\n },\n threshold: 0.01\n });\n Utils.animate({\n name: this.nodeAnimUid,\n pos: this.nodePosition,\n finalPos: finalPos,\n apply: function apply(pos) {\n _this.nodePosition = pos;\n },\n done: complete\n });\n },\n __openByTouch: function __openByTouch(evt) {\n var content = this.$refs.content;\n\n if (this.$q.platform.is.ios || Utils.dom.style(content, 'position') !== 'fixed') {\n return;\n }\n\n var position = evt.distance.x,\n percentage = void 0;\n\n if (evt.isFinal) {\n this.opened = position > 75;\n }\n\n if (this.$q.theme === 'ios') {\n position = Math.min(position, this.width);\n percentage = 1.0 - (this.width - Math.abs(position)) / this.width;\n position = (this.rightSide ? -1 : 1) * position;\n } else {\n position = this.rightSide ? Math.max(this.width - position, 0) : Math.min(0, position - this.width);\n percentage = (this.width - Math.abs(position)) / this.width;\n }\n\n if (evt.isFirst) {\n this.active = true;\n }\n this.nodePosition = position;\n this.backPosition = percentage * this.backdropOpacity;\n\n if (evt.isFinal) {\n this.__animate();\n }\n },\n __closeByTouch: function __closeByTouch(evt) {\n var content = this.$refs.content;\n var percentage = void 0,\n position = void 0,\n initialPosition = void 0;\n\n if (Utils.dom.style(content, 'position') !== 'fixed') {\n return;\n }\n\n initialPosition = (this.rightSide ? -1 : 1) * this.width;\n position = this.rightSide ? Utils.format.between((evt.direction === 'left' ? -1 : 1) * evt.distance.x, 0, this.width) : Utils.format.between((evt.direction === 'left' ? -1 : 1) * evt.distance.x, -this.width, 0);\n\n if (evt.isFinal) {\n this.opened = Math.abs(position) <= 75;\n }\n\n if (this.$q.theme === 'ios') {\n position = initialPosition + position;\n percentage = (this.rightSide ? -1 : 1) * position / this.width;\n } else {\n percentage = 1 + (this.rightSide ? -1 : 1) * position / this.width;\n }\n\n this.nodePosition = position;\n this.backPosition = percentage * this.backdropOpacity;\n\n if (evt.isFinal) {\n this.__animate();\n }\n },\n setState: function setState(state, done) {\n if (this.active === state || this.active !== this.opened) {\n return;\n }\n\n this.opened = !this.opened;\n this.active = true;\n this.__animate(done);\n },\n __popState: function __popState() {\n if (this.$q.platform.has.popstate && window.history.state && window.history.state.__quasar_drawer) {\n this.setState(false);\n }\n },\n open: function open(done) {\n this.setState(true, done);\n },\n close: function close(done) {\n this.setState(false, done);\n },\n toggle: function toggle(done) {\n this.setState(!this.opened, done);\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.$nextTick(function () {\n var content = _this2.$refs.content;\n _this2.width = Utils.dom.width(content);\n\n if (_this2.$q.theme === 'ios') {\n _this2.layoutContainer = _this2.$el.closest('.layout') || document.getElementById('q-app');\n } else {\n _this2.nodePosition = _this2.width * (_this2.rightSide ? 1 : -1);\n }\n\n [].slice.call(content.getElementsByClassName('drawer-closer')).forEach(function (el) {\n el.addEventListener('click', function (event) {\n event.stopPropagation();\n _this2.setState(false);\n });\n });\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.setState(false);\n }\n};\n\nvar DrawerLink = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { directives: [{ name: \"link\", rawName: \"v-link.delay\", value: _vm.to, expression: \"to\", modifiers: { \"delay\": true } }], staticClass: \"item item-link drawer-closer\" }, [_vm.icon ? _c('i', { staticClass: \"item-primary\" }, [_vm._v(_vm._s(_vm.icon))]) : _vm._e(), _c('div', { staticClass: \"item-content\" }, [_vm._t(\"default\")], 2)]);\n }, staticRenderFns: [],\n props: {\n icon: String,\n to: {\n type: [Object, String],\n required: true\n }\n }\n};\n\nfunction iosFixNeeded(el) {\n if (Platform.is.mobile && Platform.is.ios) {\n var style = window.getComputedStyle(el);\n return ['fixed', 'absolute'].includes(style.position);\n }\n}\n\nvar Fab = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-fab flex inline justify-center\", class: { opened: _vm.opened } }, [_c('div', { staticClass: \"backdrop animate-fade\", style: _vm.backdropPosition, on: { \"click\": function click($event) {\n _vm.toggle(true);\n } } }), _c('button', { staticClass: \"circular raised\", class: _vm.classNames, on: { \"click\": function click($event) {\n _vm.toggle();\n } } }, [_c('i', { staticClass: \"q-fab-icon\" }, [_vm._v(_vm._s(_vm.icon))]), _vm._v(\" \"), _c('i', { staticClass: \"q-fab-active-icon\" }, [_vm._v(_vm._s(_vm.activeIcon))])]), _c('div', { staticClass: \"q-fab-actions flex inline items-center\", class: [_vm.direction] }, [_vm._t(\"default\")], 2)]);\n }, staticRenderFns: [],\n props: {\n classNames: {\n default: 'primary'\n },\n icon: {\n type: String,\n default: 'add'\n },\n activeIcon: {\n type: String,\n default: 'close'\n },\n direction: {\n type: String,\n default: 'right'\n }\n },\n data: function data() {\n return {\n opened: false,\n backdrop: {\n top: 0,\n left: 0\n },\n mounted: false\n };\n },\n\n methods: {\n open: function open() {\n this.opened = true;\n this.__repositionBackdrop();\n },\n close: function close(fn) {\n this.opened = false;\n if (typeof fn === 'function') {\n fn();\n }\n },\n toggle: function toggle(fromBackdrop) {\n this.opened = !this.opened;\n\n if (iosFixNeeded(this.$el)) {\n this.__repositionBackdrop();\n }\n\n if (!fromBackdrop && !this.opened) {\n this.$emit('click');\n }\n },\n __repositionBackdrop: function __repositionBackdrop() {\n var _Utils$dom$offset = Utils.dom.offset(this.$el),\n top = _Utils$dom$offset.top,\n left = _Utils$dom$offset.left;\n\n this.backdrop.top = top;\n this.backdrop.left = left;\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.mounted = true;\n });\n },\n\n computed: {\n backdropPosition: function backdropPosition() {\n if (this.mounted && iosFixNeeded(this.$el)) {\n return Utils.dom.cssTransform('translate3d(' + -this.backdrop.left + 'px, ' + -this.backdrop.top + 'px, 0)');\n }\n }\n }\n};\n\nvar SmallFab = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('button', { staticClass: \"circular small raised\", on: { \"click\": function click($event) {\n _vm.$parent.close();\n } } }, [_c('i', [_vm._v(_vm._s(_vm.icon))]), _vm._t(\"default\")], 2);\n }, staticRenderFns: [],\n props: {\n icon: {\n type: String,\n required: true\n }\n }\n};\n\nvar Gallery = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-gallery\" }, _vm._l(_vm.src, function (img, index) {\n return _c('div', { key: img, style: { width: _vm.width } }, [_c('img', { attrs: { \"src\": img } })]);\n }));\n }, staticRenderFns: [],\n props: {\n src: {\n type: Array,\n required: true\n },\n width: {\n type: String,\n default: '150px'\n }\n }\n};\n\nvar GallerySlider = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('q-slider', { ref: \"slider\", staticClass: \"text-white bg-black q-gallery-slider\", attrs: { \"arrows\": \"\", \"fullscreen\": \"\" }, on: { \"slide\": _vm.__updateCurrentSlide } }, [_vm._l(_vm.src, function (img, index) {\n return _c('div', { key: img, staticClass: \"no-padding flex items-center justify-center\", slot: \"slide\" }, [_c('div', { staticClass: \"full-width\" }, [_c('img', { attrs: { \"src\": img } })])]);\n }), _c('div', { staticClass: \"q-gallery-slider-overlay\", class: { active: _vm.quickView }, on: { \"click\": function click($event) {\n _vm.toggleQuickView();\n } } }), _c('i', { on: { \"click\": function click($event) {\n _vm.toggleQuickView();\n } }, slot: \"action\" }, [_vm._v(\"view_carousel\")]), _c('div', { staticClass: \"q-gallery-slider-quickview\", class: { active: _vm.quickView } }, _vm._l(_vm.src, function (img, index) {\n return _c('div', { key: img }, [_c('img', { class: { active: _vm.currentSlide === index }, attrs: { \"src\": img }, on: { \"click\": function click($event) {\n _vm.__selectImage(index);\n } } })]);\n }))], 2);\n }, staticRenderFns: [],\n props: {\n src: {\n type: Array,\n required: true\n }\n },\n data: function data() {\n return {\n quickView: false,\n currentSlide: 0\n };\n },\n\n methods: {\n toggleQuickView: function toggleQuickView() {\n this.quickView = !this.quickView;\n },\n goToSlide: function goToSlide(index, noAnimation) {\n this.$refs.slider.goToSlide(index, noAnimation);\n },\n __selectImage: function __selectImage(index) {\n this.goToSlide(index, true);\n this.toggleQuickView();\n },\n __updateCurrentSlide: function __updateCurrentSlide(value) {\n this.currentSlide = value;\n this.$emit('slide', value);\n }\n }\n};\n\nvar InfiniteScroll = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-infinite-scroll\" }, [_c('div', { ref: \"content\", staticClass: \"q-infinite-scroll-content\" }, [_vm._t(\"default\")], 2), _c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.fetching, expression: \"fetching\" }], staticClass: \"q-infinite-scroll-message\" }, [_vm._t(\"message\")], 2)]);\n }, staticRenderFns: [],\n props: {\n handler: {\n type: Function,\n required: true\n },\n inline: Boolean,\n offset: {\n type: Number,\n default: 0\n }\n },\n data: function data() {\n return {\n index: 0,\n fetching: false,\n working: true\n };\n },\n\n methods: {\n poll: function poll() {\n if (this.fetching || !this.working) {\n return;\n }\n\n var containerHeight = Utils.dom.height(this.scrollContainer),\n containerBottom = Utils.dom.offset(this.scrollContainer).top + containerHeight,\n triggerPosition = Utils.dom.offset(this.element).top + Utils.dom.height(this.element) - (this.offset || containerHeight);\n\n if (triggerPosition < containerBottom) {\n this.loadMore();\n }\n },\n loadMore: function loadMore() {\n var _this = this;\n\n if (this.fetching || !this.working) {\n return;\n }\n\n this.index++;\n this.fetching = true;\n this.handler(this.index, function (stopLoading) {\n _this.fetching = false;\n if (stopLoading) {\n _this.stop();\n return;\n }\n if (_this.element.closest('body')) {\n _this.poll();\n }\n });\n },\n reset: function reset() {\n this.index = 0;\n },\n resume: function resume() {\n this.working = true;\n this.scrollContainer.addEventListener('scroll', this.poll);\n this.poll();\n },\n stop: function stop() {\n this.working = false;\n this.scrollContainer.removeEventListener('scroll', this.poll);\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.poll = Utils.debounce(_this2.poll, 50);\n _this2.element = _this2.$refs.content;\n\n _this2.scrollContainer = _this2.inline ? _this2.$el : Utils.dom.getScrollTarget(_this2.$el);\n if (_this2.working) {\n _this2.scrollContainer.addEventListener('scroll', _this2.poll);\n }\n\n _this2.poll();\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.scrollContainer.removeEventListener('scroll', this.poll);\n }\n};\n\nvar Knob = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-knob non-selectable\", class: { disabled: _vm.disable, 'cursor-pointer': !_vm.readonly }, on: { \"mousedown\": _vm.__dragStart, \"mousemove\": _vm.__dragMove, \"mouseup\": _vm.__dragStop, \"touchstart\": _vm.__dragStart, \"touchmove\": _vm.__dragMove, \"touchend\": _vm.__dragStop } }, [_c('div', { style: { width: _vm.size, height: _vm.size } }, [_c('svg', { attrs: { \"viewBox\": \"0 0 100 100\" } }, [_c('path', { attrs: { \"d\": \"M 50,50 m 0,-47\\n a 47,47 0 1 1 0,94\\n a 47,47 0 1 1 0,-94\", \"stroke\": _vm.trackColor, \"stroke-width\": _vm.lineWidth, \"fill-opacity\": \"0\" } }), _c('path', { style: _vm.svgStyle, attrs: { \"stroke-linecap\": \"round\", \"fill-opacity\": \"0\", \"d\": \"M 50,50 m 0,-47\\n a 47,47 0 1 1 0,94\\n a 47,47 0 1 1 0,-94\", \"stroke\": _vm.color, \"stroke-width\": _vm.lineWidth } })]), _c('div', { staticClass: \"q-knob-label row items-center justify-center content-center\", style: { color: _vm.color }, domProps: { \"innerHTML\": _vm._s(_vm.placeholder || _vm.value) } })])]);\n }, staticRenderFns: [],\n props: {\n value: {\n type: Number,\n required: true\n },\n min: {\n type: Number,\n default: 0\n },\n max: {\n type: Number,\n default: 100\n },\n color: {\n type: String,\n default: '#027be3'\n },\n trackColor: {\n type: String,\n default: '#ececec'\n },\n lineWidth: {\n type: String,\n default: '6px'\n },\n size: {\n type: String,\n default: '100px'\n },\n step: {\n type: Number,\n default: 1\n },\n disable: Boolean,\n readonly: Boolean,\n placeholder: String\n },\n computed: {\n svgStyle: function svgStyle() {\n return {\n 'stroke-dasharray': '295.31px, 295.31px',\n 'stroke-dashoffset': 295.31 * (1.0 - (this.value - this.min) / (this.max - this.min)) + 'px',\n 'transition': this.dragging ? '' : 'stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease'\n };\n },\n disabled: function disabled() {\n return this.disable || this.readonly;\n }\n },\n data: function data() {\n return {\n dragging: false\n };\n },\n\n watch: {\n value: function value(_value) {\n if (_value < this.min) {\n this.$emit('input', this.min);\n } else if (_value > this.max) {\n this.$emit('input', this.max);\n }\n }\n },\n methods: {\n __dragStart: function __dragStart(ev) {\n if (this.disabled) {\n return;\n }\n ev.stopPropagation();\n ev.preventDefault();\n\n var knobOffset = Utils.dom.offset(this.$el);\n\n this.centerPosition = {\n top: knobOffset.top + Utils.dom.height(this.$el) / 2,\n left: knobOffset.left + Utils.dom.width(this.$el) / 2\n };\n\n this.dragging = true;\n this.__onInput(ev);\n },\n __dragMove: function __dragMove(ev) {\n if (!this.dragging || this.disabled) {\n return;\n }\n ev.stopPropagation();\n ev.preventDefault();\n this.__onInput(ev);\n },\n __dragStop: function __dragStop(ev) {\n if (this.disabled) {\n return;\n }\n ev.stopPropagation();\n ev.preventDefault();\n this.dragging = false;\n },\n __onInput: function __onInput(ev) {\n var position = Utils.event.position(ev),\n height = Math.abs(position.top - this.centerPosition.top),\n distance = Math.sqrt(Math.pow(Math.abs(position.top - this.centerPosition.top), 2) + Math.pow(Math.abs(position.left - this.centerPosition.left), 2)),\n angle = Math.asin(height / distance) * (180 / Math.PI);\n\n if (position.top < this.centerPosition.top) {\n angle = this.centerPosition.left < position.left ? 90 - angle : 270 + angle;\n } else {\n angle = this.centerPosition.left < position.left ? angle + 90 : 270 - angle;\n }\n\n var model = this.min + angle / 360 * (this.max - this.min),\n modulo = model % this.step;\n\n this.$emit('input', Utils.format.between(model - modulo + (Math.abs(modulo) >= this.step / 2 ? (modulo < 0 ? -1 : 1) * this.step : 0), this.min, this.max));\n }\n }\n};\n\nvar Layout = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"layout\" }, [_vm.transparent ? _c('div', { staticClass: \"layout-header no-shadow transparent\" }, [_vm._t(\"header\"), _vm.$q.theme !== 'ios' ? _vm._t(\"navigation\") : _vm._e()], 2) : _c('div', { staticClass: \"layout-header\" }, [_vm._t(\"header\"), _vm.$q.theme !== 'ios' ? _vm._t(\"navigation\") : _vm._e()], 2), _c('div', { staticClass: \"layout-content\" }, [_vm._t(\"default\")], 2), _c('div', { staticClass: \"layout-footer\" }, [_vm._t(\"footer\"), _vm.$q.theme === 'ios' ? _vm._t(\"navigation\") : _vm._e()], 2)]);\n }, staticRenderFns: [],\n props: {\n transparent: Boolean\n }\n};\n\nvar ListItem = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"item\", class: _vm.itemClass }, [_vm.item.icon ? _c('i', { staticClass: \"item-primary\" }, [_vm._v(_vm._s(_vm.item.icon))]) : _vm._e(), _vm._v(\" \"), _vm.item.img ? _c('img', { staticClass: \"item-primary thumbnail\", attrs: { \"src\": _vm.item.img } }) : _vm._e(), _c('div', { staticClass: \"item-content\", class: { 'has-secondary': _vm.item.secondIcon || _vm.item.secondImg || _vm.item.stamp } }, [_c('div', { domProps: { \"innerHTML\": _vm._s(_vm.item.label) } }), _vm.item.secondLabel ? _c('div', { domProps: { \"innerHTML\": _vm._s(_vm.item.secondLabel) } }) : _vm._e()]), _vm.item.stamp ? _c('div', { staticClass: \"item-secondary stamp\", domProps: { \"innerHTML\": _vm._s(_vm.item.stamp) } }) : _vm._e(), _vm.item.secondIcon ? _c('i', { staticClass: \"item-secondary\" }, [_vm._v(_vm._s(_vm.item.secondIcon))]) : _vm._e(), _vm._v(\" \"), _vm.item.secondImg ? _c('img', { staticClass: \"item-secondary thumbnail\", attrs: { \"src\": _vm.item.secondImg } }) : _vm._e()]);\n }, staticRenderFns: [],\n props: {\n item: {\n type: Object,\n required: true\n },\n active: Boolean,\n link: Boolean\n },\n computed: {\n itemClass: function itemClass() {\n return {\n active: this.active,\n 'item-link': this.link,\n 'multiple-lines': this.item.multiline,\n 'two-lines': !this.item.multiline && this.item.secondLabel\n };\n }\n }\n};\n\nvar ToolbarTitle = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"toolbar-content\" }, [_c('div', { staticClass: \"toolbar-title\", class: ['padding-' + _vm.padding] }, [_c('div', [_vm._t(\"default\")], 2)])]);\n }, staticRenderFns: [],\n props: {\n padding: {\n type: Number,\n default: 1\n }\n }\n};\n\nvar handlers = [];\n\nif (Platform.is.desktop) {\n window.addEventListener('keyup', function (evt) {\n if (handlers.length === 0) {\n return;\n }\n\n if (evt.which === 27 || evt.keyCode === 27) {\n handlers[handlers.length - 1]();\n }\n });\n}\n\nvar EscapeKey = {\n register: function register(handler) {\n if (Platform.is.desktop) {\n handlers.push(handler);\n }\n },\n pop: function pop() {\n if (Platform.is.desktop) {\n handlers.pop();\n }\n }\n};\n\nvar positions = {\n top: 'items-start justify-center with-backdrop',\n bottom: 'items-end justify-center with-backdrop',\n right: 'items-center justify-end with-backdrop',\n left: 'items-center justify-start with-backdrop'\n};\nvar positionCSS = {\n mat: {\n maxHeight: '80vh',\n height: 'auto'\n },\n ios: {\n maxHeight: '80vh',\n height: 'auto',\n boxShadow: 'none'\n }\n};\n\nfunction additionalCSS(theme, position) {\n var css = {};\n\n if (['left', 'right'].includes(position)) {\n css.maxWidth = '90vw';\n }\n if (theme === 'ios') {\n if (['left', 'top'].includes(position)) {\n css.borderTopLeftRadius = 0;\n }\n if (['right', 'top'].includes(position)) {\n css.borderTopRightRadius = 0;\n }\n if (['left', 'bottom'].includes(position)) {\n css.borderBottomLeftRadius = 0;\n }\n if (['right', 'bottom'].includes(position)) {\n css.borderBottomRightRadius = 0;\n }\n }\n\n return css;\n}\n\nvar duration = 200;\nvar openedModalNumber = 0;\n\nvar Modal = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('transition', { attrs: { \"name\": _vm.modalTransition } }, [_c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.active, expression: \"active\" }], staticClass: \"modal fullscreen flex\", class: _vm.modalClasses, on: { \"click\": function click($event) {\n _vm.click();\n } } }, [_c('div', { ref: \"content\", staticClass: \"modal-content scroll\", class: _vm.contentClasses, style: _vm.modalCss, on: { \"click\": function click($event) {\n $event.stopPropagation();\n } } }, [_vm._t(\"default\")], 2)])]);\n }, staticRenderFns: [],\n props: {\n position: {\n type: String,\n default: '',\n validator: function validator(val) {\n return val === '' || ['top', 'bottom', 'left', 'right'].includes(val);\n }\n },\n transition: {\n type: String,\n default: 'q-modal'\n },\n positionClasses: {\n type: String,\n default: 'items-center justify-center'\n },\n contentClasses: [Object, String],\n contentCss: [Object, String],\n noBackdropDismiss: {\n type: Boolean,\n default: false\n },\n noEscDismiss: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n active: false\n };\n },\n\n computed: {\n modalClasses: function modalClasses() {\n return this.position ? positions[this.position] : this.positionClasses;\n },\n modalTransition: function modalTransition() {\n return this.position ? 'q-modal-' + this.position : this.transition;\n },\n modalCss: function modalCss() {\n if (this.position) {\n return Utils.extend({}, positionCSS[this.$q.theme], additionalCSS(this.$q.theme, this.position), this.contentCss);\n }\n return this.contentCss;\n }\n },\n methods: {\n open: function open(onShow) {\n var _this = this;\n\n if (this.minimized && this.maximized) {\n throw new Error('Modal cannot be minimized & maximized simultaneously.');\n }\n if (this.active) {\n return;\n }\n\n document.body.appendChild(this.$el);\n document.body.classList.add('with-modal');\n EscapeKey.register(function () {\n if (_this.noEscDismiss) {\n return;\n }\n _this.close(function () {\n _this.$emit('escape-key');\n });\n });\n\n this.__popstate = function () {\n if (Platform.has.popstate && window.history.state && window.history.state.modalId && window.history.state.modalId >= _this.__modalId) {\n return;\n }\n openedModalNumber--;\n EscapeKey.pop();\n _this.active = false;\n\n if (Platform.has.popstate) {\n window.removeEventListener('popstate', _this.__popstate);\n }\n\n setTimeout(function () {\n if (!openedModalNumber) {\n document.body.classList.remove('with-modal');\n }\n if (typeof _this.__onClose === 'function') {\n _this.__onClose();\n }\n _this.$emit('close');\n }, duration);\n };\n\n setTimeout(function () {\n var content = _this.$refs.content;\n content.scrollTop = 0;['modal-scroll', 'layout-view'].forEach(function (c) {\n [].slice.call(content.getElementsByClassName(c)).forEach(function (el) {\n el.scrollTop = 0;\n });\n });\n }, 10);\n\n this.active = true;\n this.__modalId = ++openedModalNumber;\n if (Platform.has.popstate) {\n window.history.pushState({ modalId: this.__modalId }, '');\n window.addEventListener('popstate', this.__popstate);\n }\n\n setTimeout(function () {\n if (typeof onShow === 'function') {\n onShow();\n }\n _this.$emit('open');\n }, duration);\n },\n close: function close(onClose) {\n if (!this.active) {\n return;\n }\n\n this.__onClose = onClose;\n\n if (!Platform.has.popstate) {\n this.__popstate();\n } else {\n window.history.go(-1);\n }\n },\n toggle: function toggle(done) {\n if (this.active) {\n this.close(done);\n } else {\n this.open(done);\n }\n },\n click: function click(onClick) {\n if (this.noBackdropDismiss) {\n return;\n }\n this.close(onClick);\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n }\n};\n\nvar Numeric = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-numeric textfield row inline items-center\", class: { disabled: _vm.disable, readonly: _vm.readonly, 'has-error': _vm.hasError } }, [_c('i', { on: { \"click\": function click($event) {\n _vm.__setByOffset(-1);\n } } }, [_vm._v(\"remove\")]), _vm._v(\" \"), _c('input', { directives: [{ name: \"model\", rawName: \"v-model.number\", value: _vm.model, expression: \"model\", modifiers: { \"number\": true } }], staticClass: \"no-style auto q-input-field\", style: { width: _vm.width }, attrs: { \"type\": \"number\", \"pattern\": \"[0-9]*\", \"disabled\": _vm.disable, \"readonly\": _vm.readonly, \"tabindex\": \"0\", \"step\": _vm.step, \"min\": _vm.min, \"max\": _vm.max }, domProps: { \"value\": _vm.model }, on: { \"blur\": [_vm.__updateValue, function ($event) {\n _vm.$forceUpdate();\n }], \"keydown\": [function ($event) {\n if (_vm._k($event.keyCode, \"up\", 38)) {\n return null;\n }_vm.__updateValue($event);\n }, function ($event) {\n if (_vm._k($event.keyCode, \"down\", 40)) {\n return null;\n }_vm.__updateValue($event);\n }, function ($event) {\n if (_vm._k($event.keyCode, \"enter\", 13)) {\n return null;\n }_vm.__updateValue($event);\n }, function ($event) {\n if (_vm._k($event.keyCode, \"esc\", 27)) {\n return null;\n }_vm.model = _vm.value;\n }], \"input\": function input($event) {\n if ($event.target.composing) {\n return;\n }_vm.model = _vm._n($event.target.value);\n } } }), _vm._v(\" \"), _c('i', { on: { \"click\": function click($event) {\n _vm.__setByOffset(1);\n } } }, [_vm._v(\"add\")])]);\n }, staticRenderFns: [],\n props: {\n value: {\n required: true\n },\n step: {\n type: Number,\n default: 1\n },\n min: Number,\n max: Number,\n readonly: Boolean,\n disable: Boolean,\n maxDecimals: {\n type: Number,\n default: 0\n }\n },\n watch: {\n value: function value() {\n this.model = this.value;\n }\n },\n data: function data() {\n return {\n model: this.value\n };\n },\n\n computed: {\n hasMin: function hasMin() {\n return this.has(this.min);\n },\n hasMax: function hasMax() {\n return this.has(this.max);\n },\n hasError: function hasError() {\n return this.has(this.model) && (this.hasMin && this.model < this.min || this.hasMax && this.model > this.max);\n },\n width: function width() {\n return (this.has(this.model) ? ('' + this.model).length : 1) * 0.7 + 'em';\n }\n },\n methods: {\n has: function has(val) {\n return typeof val !== 'undefined';\n },\n __normalize: function __normalize(value) {\n if (!this.has(value)) {\n value = this.hasMin ? this.min : 0;\n }\n if (this.hasMin && value < this.min) {\n return this.min;\n } else if (this.hasMax && value > this.max) {\n return this.max;\n }\n\n return parseFloat(this.maxDecimals ? parseFloat(value).toFixed(this.maxDecimals) : value);\n },\n __updateValue: function __updateValue() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.model = _this.__normalize(_this.model);\n if (!_this.disable && !_this.readonly && _this.value !== _this.model) {\n _this.$emit('input', _this.model);\n }\n });\n },\n __setByOffset: function __setByOffset(direction) {\n if (this.disable || this.readonly) {\n return;\n }\n\n var newValue = void 0;\n\n if (!this.has(this.model)) {\n newValue = this.__normalize(0);\n } else {\n newValue = this.model + direction * this.step;\n if (this.hasMin && newValue < this.min && this.model === this.min) {\n return;\n }\n if (this.hasMax && newValue > this.max && this.model === this.max) {\n return;\n }\n }\n\n this.model = newValue;\n this.__updateValue();\n }\n }\n};\n\nvar Pagination$1 = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-pagination\", class: { disabled: _vm.disable } }, [_c('button', { staticClass: \"primary clear small\", class: { disabled: _vm.value === _vm.min }, on: { \"click\": function click($event) {\n _vm.set(_vm.min);\n } } }, [_c('i', [_vm._v(\"first_page\")])]), _vm._v(\" \"), _c('button', { staticClass: \"primary clear small\", class: { disabled: _vm.value === _vm.min }, on: { \"click\": function click($event) {\n _vm.setByOffset(-1);\n } } }, [_c('i', [_vm._v(\"keyboard_arrow_left\")])]), _vm._v(\" \"), _c('input', { directives: [{ name: \"model\", rawName: \"v-model.number.lazy\", value: _vm.newPage, expression: \"newPage\", modifiers: { \"number\": true, \"lazy\": true } }], ref: \"input\", style: { width: _vm.inputPlaceholder.length * 10 + 'px' }, attrs: { \"type\": \"number\", \"pattern\": \"[0-9]*\", \"placeholder\": _vm.inputPlaceholder, \"disabled\": _vm.disable, \"tabindex\": \"0\" }, domProps: { \"value\": _vm.newPage }, on: { \"change\": function change($event) {\n _vm.newPage = _vm._n($event.target.value);\n }, \"blur\": function blur($event) {\n _vm.$forceUpdate();\n } } }), _vm._v(\" \"), _c('button', { staticClass: \"primary clear small\", class: { disabled: _vm.value === _vm.max }, on: { \"click\": function click($event) {\n _vm.setByOffset(1);\n } } }, [_c('i', [_vm._v(\"keyboard_arrow_right\")])]), _vm._v(\" \"), _c('button', { staticClass: \"primary clear small\", class: { disabled: _vm.value === _vm.max }, on: { \"click\": function click($event) {\n _vm.set(_vm.max);\n } } }, [_c('i', [_vm._v(\"last_page\")])])]);\n }, staticRenderFns: [],\n props: {\n value: {\n type: Number,\n required: true\n },\n min: {\n type: Number,\n default: 1\n },\n max: {\n type: Number,\n required: true\n },\n disable: Boolean\n },\n data: function data() {\n return {\n newPage: ''\n };\n },\n\n methods: {\n set: function set(value) {\n if (!this.disable) {\n this.model = value;\n }\n },\n setByOffset: function setByOffset(offset) {\n if (!this.disable) {\n this.model = this.value + offset;\n }\n },\n __normalize: function __normalize(value) {\n return Utils.format.between(parseInt(value, 10), 1, this.max);\n }\n },\n watch: {\n newPage: function newPage(value) {\n var parsed = parseInt(value, 10);\n\n if (parsed) {\n this.model = parsed;\n this.$refs.input.blur();\n }\n\n this.newPage = '';\n }\n },\n computed: {\n model: {\n get: function get() {\n return this.__normalize(this.value);\n },\n set: function set(value) {\n if (this.value !== value) {\n this.$emit('input', this.__normalize(value));\n }\n this.$refs.input.blur();\n }\n },\n inputPlaceholder: function inputPlaceholder() {\n return this.value + ' / ' + this.max;\n }\n }\n};\n\nvar Parallax = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-parallax column items-center justify-center\", style: { height: _vm.height + 'px' } }, [_c('div', { staticClass: \"q-parallax-image\" }, [_c('img', { ref: \"img\", class: { ready: _vm.imageHasBeenLoaded }, staticStyle: { \"transform\": \"translate3D(-50%, 0, 0)\" }, attrs: { \"src\": _vm.src }, on: { \"load\": function load($event) {\n _vm.__processImage();\n } } })]), _c('div', { staticClass: \"q-parallax-text\" }, [!_vm.imageHasBeenLoaded ? _vm._t(\"loading\") : _vm._t(\"default\")], 2)]);\n }, staticRenderFns: [],\n props: {\n src: {\n type: String,\n required: true\n },\n height: {\n type: Number,\n default: 500\n },\n speed: {\n type: Number,\n default: 1,\n validator: function validator(value) {\n return value >= 0 && value <= 1;\n }\n }\n },\n data: function data() {\n return {\n imageHasBeenLoaded: false\n };\n },\n\n watch: {\n src: function src() {\n this.imageHasBeenLoaded = false;\n },\n height: function height() {\n this.__updatePosition();\n }\n },\n methods: {\n __processImage: function __processImage() {\n this.imageHasBeenLoaded = true;\n this.__processResize();\n },\n __processResize: function __processResize() {\n if (!this.imageHasBeenLoaded || !this.scrollTarget) {\n return;\n }\n\n this.imageHeight = Utils.dom.height(this.image);\n this.__updatePosition();\n },\n __updatePosition: function __updatePosition() {\n var _this = this;\n\n if (!this.imageHasBeenLoaded) {\n return;\n }\n\n var containerTop = void 0,\n containerHeight = void 0,\n containerBottom = void 0,\n top = void 0,\n bottom = void 0;\n\n if (this.scrollTarget === window) {\n containerTop = 0;\n containerHeight = Utils.dom.viewport().height;\n containerBottom = containerHeight;\n } else {\n containerTop = Utils.dom.offset(this.scrollTarget).top;\n containerHeight = Utils.dom.height(this.scrollTarget);\n containerBottom = containerTop + containerHeight;\n }\n top = Utils.dom.offset(this.container).top;\n bottom = top + this.height;\n\n if (bottom > containerTop && top < containerBottom) {\n var percentScrolled = (containerBottom - top) / (this.height + containerHeight);\n var imageOffset = Math.round((this.imageHeight - this.height) * percentScrolled * this.speed);\n requestAnimationFrame(function () {\n _this.$refs.img.style.transform = 'translate3D(-50%,' + imageOffset + 'px, 0)';\n });\n }\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.container = _this2.$el;\n _this2.image = _this2.$refs.img;\n\n _this2.scrollTarget = Utils.dom.getScrollTarget(_this2.$el);\n _this2.resizeHandler = Utils.debounce(_this2.__processResize, 50);\n\n window.addEventListener('resize', _this2.resizeHandler);\n _this2.scrollTarget.addEventListener('scroll', _this2.__updatePosition);\n _this2.__processResize();\n });\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('resize', this.resizeHandler);\n this.scrollTarget.removeEventListener('scroll', this.__updatePosition);\n }\n};\n\nvar PickerTextfield = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-picker-textfield cursor-pointer textfield caret\", class: { disabled: _vm.disable, readonly: _vm.readonly, active: _vm.active, 'with-label': _vm.label }, attrs: { \"tabindex\": \"0\" } }, [_c('div', { staticClass: \"q-picker-textfield-label ellipsis\", domProps: { \"innerHTML\": _vm._s(_vm.label) } }), _c('div', { staticClass: \"q-picker-textfield-value ellipsis\", domProps: { \"innerHTML\": _vm._s(_vm.actualValue) } }), _vm._t(\"default\")], 2);\n }, staticRenderFns: [],\n props: {\n label: String,\n placeholder: String,\n staticLabel: String,\n value: String,\n disable: Boolean,\n readonly: Boolean\n },\n computed: {\n active: function active() {\n return this.value.length > 0;\n },\n actualValue: function actualValue() {\n return this.staticLabel || (this.label ? this.value : this.value || this.placeholder);\n }\n }\n};\n\nvar Popover = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-popover animate-scale\", style: _vm.transformCSS, on: { \"click\": function click($event) {\n $event.stopPropagation();\n } } }, [_vm._t(\"default\")], 2);\n }, staticRenderFns: [],\n props: {\n anchor: {\n type: String,\n default: 'bottom left',\n validator: Utils.popup.positionValidator\n },\n self: {\n type: String,\n default: 'top left',\n validator: Utils.popup.positionValidator\n },\n fit: Boolean,\n maxHeight: String,\n touchPosition: Boolean,\n anchorClick: {\n type: Boolean,\n default: true\n },\n offset: {\n type: Array,\n validator: Utils.popup.offsetValidator\n },\n disable: Boolean\n },\n data: function data() {\n return {\n opened: false,\n progress: false\n };\n },\n\n computed: {\n transformCSS: function transformCSS() {\n return Utils.popup.getTransformProperties({ selfOrigin: this.selfOrigin });\n },\n anchorOrigin: function anchorOrigin() {\n return Utils.popup.parsePosition(this.anchor);\n },\n selfOrigin: function selfOrigin() {\n return Utils.popup.parsePosition(this.self);\n }\n },\n created: function created() {\n var _this = this;\n\n this.__debouncedPositionUpdate = Utils.debounce(function () {\n _this.reposition();\n }, 70);\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.anchorEl = _this2.$el.parentNode;\n _this2.anchorEl.removeChild(_this2.$el);\n if (_this2.anchorClick) {\n _this2.anchorEl.classList.add('cursor-pointer');\n _this2.anchorEl.addEventListener('click', _this2.toggle);\n }\n });\n },\n beforeDestroy: function beforeDestroy() {\n if (this.anchorClick) {\n this.anchorEl.removeEventListener('click', this.toggle);\n }\n this.close();\n },\n\n methods: {\n toggle: function toggle(event) {\n if (this.opened) {\n this.close();\n } else {\n this.open(event);\n }\n },\n open: function open(event) {\n var _this3 = this;\n\n if (this.disable) {\n return;\n }\n if (this.opened) {\n this.reposition();\n return;\n }\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n this.opened = true;\n document.body.click();\n document.body.appendChild(this.$el);\n EscapeKey.register(function () {\n _this3.close();\n });\n this.scrollTarget = Utils.dom.getScrollTarget(this.anchorEl);\n this.scrollTarget.addEventListener('scroll', this.close);\n window.addEventListener('resize', this.__debouncedPositionUpdate);\n if (this.fit) {\n this.$el.style.minWidth = Utils.dom.width(this.anchorEl) + 'px';\n }\n this.reposition(event);\n this.timer = setTimeout(function () {\n _this3.timer = null;\n document.addEventListener('click', _this3.close, true);\n _this3.$emit('open');\n }, 1);\n },\n close: function close(fn) {\n var _this4 = this;\n\n if (!this.opened || this.progress || fn && fn.target && this.$el.contains(fn.target)) {\n return;\n }\n\n clearTimeout(this.timer);\n document.removeEventListener('click', this.close, true);\n this.scrollTarget.removeEventListener('scroll', this.close);\n window.removeEventListener('resize', this.__debouncedPositionUpdate);\n EscapeKey.pop();\n this.progress = true;\n\n setTimeout(function () {\n _this4.opened = false;\n _this4.progress = false;\n document.body.removeChild(_this4.$el);\n _this4.$emit('close');\n if (typeof fn === 'function') {\n fn();\n }\n }, 1);\n },\n reposition: function reposition(event) {\n var _this5 = this;\n\n this.$nextTick(function () {\n Utils.popup.setPosition({\n event: event,\n el: _this5.$el,\n offset: _this5.offset,\n anchorEl: _this5.anchorEl,\n anchorOrigin: _this5.anchorOrigin,\n selfOrigin: _this5.selfOrigin,\n maxHeight: _this5.maxHeight,\n anchorClick: _this5.anchorClick,\n touchPosition: _this5.touchPosition\n });\n });\n }\n }\n};\n\nfunction width$2(val) {\n return { width: val + '%' };\n}\n\nvar Progress = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-progress\" }, [_c('div', { staticClass: \"q-progress-track\", style: _vm.trackStyle }, [_vm._v(\" \")]), _vm.buffer ? _c('div', { staticClass: \"q-progress-buffer\", style: _vm.bufferStyle }, [_vm._v(\" \")]) : _vm._e(), _c('div', { staticClass: \"q-progress-model\", style: _vm.modelStyle }, [_vm._v(\" \")])]);\n }, staticRenderFns: [],\n props: {\n percentage: {\n type: Number,\n default: 0\n },\n buffer: Number\n },\n computed: {\n model: function model() {\n return between(this.percentage, 0, 100);\n },\n bufferModel: function bufferModel() {\n return between(this.buffer || 0, 0, 100 - this.model);\n },\n modelStyle: function modelStyle() {\n return width$2(this.model);\n },\n bufferStyle: function bufferStyle() {\n return width$2(this.bufferModel);\n },\n trackStyle: function trackStyle() {\n return width$2(this.buffer ? 100 - this.buffer : 100);\n }\n }\n};\n\nvar ProgressButton = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('button', { staticClass: \"q-progress-button\", class: { active: _vm.active, indeterminate: _vm.indeterminate } }, [!_vm.indeterminate ? _c('span', { staticClass: \"q-progress-button-filler\", class: { 'q-progress-button-dark-filler': _vm.darkFiller }, style: { width: _vm.computedPercentage } }) : _vm._e(), _c('div', { staticClass: \"q-progress-button-content\", class: _vm.stateClass }, [_c('div', { staticClass: \"q-progress-button-error\" }, [_c('i', [_vm._v(_vm._s(_vm.errorIcon))])]), _c('div', { staticClass: \"q-progress-button-label\" }, [_vm._t(\"default\")], 2), _c('div', { staticClass: \"q-progress-button-success\" }, [_c('i', [_vm._v(_vm._s(_vm.successIcon))])])])]);\n }, staticRenderFns: [],\n props: {\n percentage: {\n type: Number,\n required: true\n },\n errorIcon: {\n type: String,\n default: 'warning'\n },\n successIcon: {\n type: String,\n default: 'done'\n },\n darkFiller: {\n type: Boolean,\n default: false\n },\n indeterminate: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n active: function active() {\n return this.percentage > 0 && this.percentage < 100;\n },\n stateClass: function stateClass() {\n if (this.percentage >= 100) {\n return 'q-progress-button-complete';\n }\n if (this.percentage < 0) {\n return 'q-progress-button-incomplete';\n }\n return 'q-progress-button-default';\n },\n computedPercentage: function computedPercentage() {\n if (this.percentage >= 100) {\n return '0%';\n }\n\n return Math.max(0, this.percentage) + '%';\n }\n }\n};\n\nvar PullToRefresh = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"pull-to-refresh\" }, [_c('div', { directives: [{ name: \"touch-pan\", rawName: \"v-touch-pan.vertical.scroll\", value: _vm.__pull, expression: \"__pull\", modifiers: { \"vertical\": true, \"scroll\": true } }], staticClass: \"pull-to-refresh-container\", style: _vm.style }, [_c('div', { staticClass: \"pull-to-refresh-message row items-center justify-center\" }, [_c('i', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.state !== 'refreshing', expression: \"state !== 'refreshing'\" }], class: { 'rotate-180': _vm.state === 'pulled' } }, [_vm._v(\"arrow_downward\")]), _vm._v(\" \"), _c('i', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.state === 'refreshing', expression: \"state === 'refreshing'\" }], staticClass: \"animate-spin\" }, [_vm._v(_vm._s(_vm.refreshIcon))]), _vm._v(\"    \"), _c('span', { domProps: { \"innerHTML\": _vm._s(_vm.message) } })]), _vm._t(\"default\")], 2)]);\n }, staticRenderFns: [],\n props: {\n handler: {\n type: Function,\n required: true\n },\n distance: {\n type: Number,\n default: 35\n },\n pullMessage: {\n type: String,\n default: 'Pull down to refresh'\n },\n releaseMessage: {\n type: String,\n default: 'Release to refresh'\n },\n refreshMessage: {\n type: String,\n default: 'Refreshing...'\n },\n refreshIcon: {\n type: String,\n default: 'refresh'\n },\n inline: Boolean,\n disable: Boolean\n },\n data: function data() {\n var height = 65;\n\n return {\n state: 'pull',\n pullPosition: -height,\n height: height,\n animating: false,\n pulling: false,\n scrolling: false\n };\n },\n\n computed: {\n message: function message() {\n switch (this.state) {\n case 'pulled':\n return this.releaseMessage;\n case 'refreshing':\n return this.refreshMessage;\n case 'pull':\n default:\n return this.pullMessage;\n }\n },\n style: function style() {\n return Utils.dom.cssTransform('translateY(' + this.pullPosition + 'px)');\n }\n },\n methods: {\n __pull: function __pull(event) {\n if (this.disable) {\n return;\n }\n\n if (event.isFinal) {\n if (this.scrolling) {\n this.scrolling = false;\n this.pulling = false;\n return;\n }\n this.scrolling = false;\n this.pulling = false;\n\n if (this.state === 'pulled') {\n this.state = 'refreshing';\n this.__animateTo(0);\n this.trigger();\n } else if (this.state === 'pull') {\n this.__animateTo(-this.height);\n }\n return;\n }\n if (this.animating || this.scrolling || this.state === 'refreshing') {\n return true;\n }\n\n var top = Utils.dom.getScrollPosition(this.scrollContainer);\n if (top !== 0 || top === 0 && event.direction !== 'down') {\n this.scrolling = true;\n if (this.pulling) {\n this.pulling = false;\n this.state = 'pull';\n this.__animateTo(-this.height);\n }\n return true;\n }\n\n event.evt.preventDefault();\n this.pulling = true;\n this.pullPosition = -this.height + Math.max(0, Math.pow(event.distance.y, 0.85));\n this.state = this.pullPosition > this.distance ? 'pulled' : 'pull';\n },\n __animateTo: function __animateTo(target, done, previousCall) {\n var _this = this;\n\n if (!previousCall && this.animationId) {\n cancelAnimationFrame(this.animating);\n }\n\n this.pullPosition -= (this.pullPosition - target) / 7;\n\n if (this.pullPosition - target > 1) {\n this.animating = requestAnimationFrame(function () {\n _this.__animateTo(target, done, true);\n });\n } else {\n this.animating = requestAnimationFrame(function () {\n _this.pullPosition = target;\n _this.animating = false;\n done && done();\n });\n }\n },\n trigger: function trigger() {\n var _this2 = this;\n\n this.handler(function () {\n _this2.__animateTo(-_this2.height, function () {\n _this2.state = 'pull';\n });\n });\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.$nextTick(function () {\n _this3.scrollContainer = _this3.inline ? _this3.$el.parentNode : Utils.dom.getScrollTarget(_this3.$el);\n });\n }\n};\n\nvar Radio = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('span', { staticClass: \"q-radio cursor-pointer\", class: { disabled: _vm.disable }, on: { \"click\": function click($event) {\n $event.stopPropagation();$event.preventDefault();_vm.select($event);\n } } }, [_c('input', { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.model, expression: \"model\" }], attrs: { \"type\": \"radio\", \"disabled\": _vm.disable }, domProps: { \"value\": _vm.val, \"checked\": _vm._q(_vm.model, _vm.val) }, on: { \"click\": function click($event) {\n $event.stopPropagation();\n }, \"change\": _vm.__change, \"__c\": function __c($event) {\n _vm.model = _vm.val;\n } } }), _c('div')]);\n }, staticRenderFns: [],\n props: {\n value: {\n required: true\n },\n val: {\n required: true\n },\n disable: Boolean\n },\n computed: {\n model: {\n get: function get() {\n return this.value;\n },\n set: function set(value) {\n if (value !== this.value) {\n this.$emit('input', value);\n }\n }\n }\n },\n methods: {\n select: function select() {\n if (!this.disable) {\n this.model = this.val;\n }\n },\n __change: function __change(e) {\n this.model = this.val;\n }\n }\n};\n\nvar Range = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { directives: [{ name: \"touch-pan\", rawName: \"v-touch-pan.horizontal\", value: _vm.__pan, expression: \"__pan\", modifiers: { \"horizontal\": true } }], staticClass: \"q-range non-selectable\", class: { disabled: _vm.disable }, on: { \"click\": _vm.__click } }, [_c('div', { ref: \"handle\", staticClass: \"q-range-handle-container\" }, [_c('div', { staticClass: \"q-range-track\" }), _vm._l((_vm.max - _vm.min) / _vm.step + 1, function (n) {\n return _vm.markers ? _c('div', { staticClass: \"q-range-mark\", style: { left: (n - 1) * 100 * _vm.step / (_vm.max - _vm.min) + '%' } }) : _vm._e();\n }), _c('div', { staticClass: \"q-range-track active-track\", class: { 'no-transition': _vm.dragging, 'handle-at-minimum': _vm.value === _vm.min }, style: { width: _vm.percentage } }), _c('div', { staticClass: \"q-range-handle\", class: { dragging: _vm.dragging, 'handle-at-minimum': _vm.value === _vm.min }, style: { left: _vm.percentage } }, [_vm.label || _vm.labelAlways ? _c('div', { staticClass: \"q-range-label\", class: { 'label-always': _vm.labelAlways } }, [_vm._v(_vm._s(_vm.value))]) : _vm._e()])], 2)]);\n }, staticRenderFns: [],\n props: {\n value: {\n type: Number,\n required: true\n },\n min: {\n type: Number,\n default: 1\n },\n max: {\n type: Number,\n default: 5\n },\n step: {\n type: Number,\n default: 1\n },\n snap: Boolean,\n markers: Boolean,\n label: Boolean,\n labelAlways: Boolean,\n disable: Boolean\n },\n data: function data() {\n return {\n dragging: false,\n currentPercentage: (this.value - this.min) / (this.max - this.min)\n };\n },\n\n computed: {\n percentage: function percentage() {\n if (this.snap) {\n return (this.value - this.min) / (this.max - this.min) * 100 + '%';\n }\n return 100 * this.currentPercentage + '%';\n }\n },\n watch: {\n value: function value(_value) {\n if (this.dragging) {\n return;\n }\n this.currentPercentage = (_value - this.min) / (this.max - this.min);\n },\n min: function min(value) {\n if (this.value < value) {\n this.value = value;\n return;\n }\n this.$nextTick(this.__validateProps);\n },\n max: function max(value) {\n if (this.value > value) {\n this.value = value;\n return;\n }\n this.$nextTick(this.__validateProps);\n },\n step: function step() {\n this.$nextTick(this.__validateProps);\n }\n },\n methods: {\n __pan: function __pan(event) {\n if (this.disable) {\n return;\n }\n if (event.isFinal) {\n this.__end(event.evt);\n } else if (event.isFirst) {\n this.__setActive(event.evt);\n } else {\n this.__update(event.evt);\n }\n },\n __click: function __click(event) {\n if (this.disable) {\n return;\n }\n this.__setActive(event);\n this.__end(event);\n },\n __setActive: function __setActive(event) {\n var container = this.$refs.handle;\n\n this.dragging = {\n left: container.getBoundingClientRect().left,\n width: container.offsetWidth\n };\n this.__update(event);\n },\n __update: function __update(event) {\n var percentage = Utils.format.between((Utils.event.position(event).left - this.dragging.left) / this.dragging.width, 0, 1),\n model = this.min + percentage * (this.max - this.min),\n modulo = (model - this.min) % this.step;\n\n this.currentPercentage = percentage;\n this.$emit('input', Utils.format.between(model - modulo + (Math.abs(modulo) >= this.step / 2 ? (modulo < 0 ? -1 : 1) * this.step : 0), this.min, this.max));\n },\n __end: function __end() {\n this.dragging = false;\n this.currentPercentage = (this.value - this.min) / (this.max - this.min);\n },\n __validateProps: function __validateProps() {\n if (this.min >= this.max) {\n console.error('Range error: min >= max', this.$el, this.min, this.max);\n } else if ((this.max - this.min) % this.step !== 0) {\n console.error('Range error: step must be a divisor of max - min', this.$el, this.min, this.max, this.step);\n }\n }\n },\n created: function created() {\n this.__validateProps();\n }\n};\n\nvar DoubleRange = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-range non-selectable\", class: { disabled: _vm.disable }, on: { \"mousedown\": function mousedown($event) {\n $event.preventDefault();_vm.__setActive($event);\n }, \"touchstart\": function touchstart($event) {\n $event.preventDefault();_vm.__setActive($event);\n }, \"touchend\": function touchend($event) {\n $event.preventDefault();_vm.__end($event);\n }, \"touchmove\": function touchmove($event) {\n $event.preventDefault();_vm.__update($event);\n } } }, [_c('div', { ref: \"handle\", staticClass: \"q-range-handle-container\" }, [_c('div', { staticClass: \"q-range-track\" }), _vm._l((_vm.max - _vm.min) / _vm.step + 1, function (n) {\n return _vm.markers ? _c('div', { staticClass: \"q-range-mark\", style: { left: (n - 1) * 100 * _vm.step / (_vm.max - _vm.min) + '%' } }) : _vm._e();\n }), _c('div', { staticClass: \"q-range-track active-track\", class: { dragging: _vm.dragging, 'track-draggable': _vm.dragRange }, style: { left: _vm.percentageMin * 100 + '%', width: _vm.activeTrackWidth } }), _c('div', { staticClass: \"q-range-handle q-range-handle-min\", class: { dragging: _vm.dragging, 'handle-at-minimum': _vm.value.min === _vm.min, undraggable: _vm.disableMin }, style: { left: _vm.percentageMin * 100 + '%' } }, [_vm.label || _vm.labelAlways ? _c('div', { staticClass: \"q-range-label\", class: { 'label-always': _vm.labelAlways } }, [_vm._v(_vm._s(_vm.value.min))]) : _vm._e()]), _c('div', { staticClass: \"q-range-handle q-range-handle-max\", class: { dragging: _vm.dragging, 'handle-at-maximum': _vm.value.max === _vm.max, undraggable: _vm.disableMax }, style: { left: _vm.percentageMax * 100 + '%' } }, [_vm.label || _vm.labelAlways ? _c('div', { staticClass: \"q-range-label\", class: { 'label-always': _vm.labelAlways } }, [_vm._v(_vm._s(_vm.value.max))]) : _vm._e()])], 2)]);\n }, staticRenderFns: [],\n props: {\n value: {\n type: Object,\n required: true,\n validator: function validator(value) {\n return typeof value.min !== 'undefined' && typeof value.max !== 'undefined';\n }\n },\n min: {\n type: Number,\n default: 0\n },\n max: {\n type: Number,\n default: 100\n },\n step: {\n type: Number,\n default: 1\n },\n snap: Boolean,\n markers: Boolean,\n label: Boolean,\n labelAlways: Boolean,\n disable: Boolean,\n disableMin: Boolean,\n disableMax: Boolean,\n dragRange: Boolean\n },\n data: function data() {\n return {\n dragging: false,\n currentMinPercentage: (this.value.min - this.min) / (this.max - this.min),\n currentMaxPercentage: (this.value.max - this.min) / (this.max - this.min),\n sensitivity: 0.02\n };\n },\n\n computed: {\n percentageMin: function percentageMin() {\n return !this.snap || this.disableMin ? this.currentMinPercentage : (this.value.min - this.min) / (this.max - this.min);\n },\n percentageMax: function percentageMax() {\n return !this.snap || this.disableMax ? this.currentMaxPercentage : (this.value.max - this.min) / (this.max - this.min);\n },\n activeTrackWidth: function activeTrackWidth() {\n return 100 * (this.percentageMax - this.percentageMin) + '%';\n }\n },\n watch: {\n 'value.min': function valueMin(value) {\n if (this.dragging) {\n return;\n }\n if (value > this.value.max) {\n value = this.value.max;\n }\n this.currentMinPercentage = (value - this.min) / (this.max - this.min);\n },\n 'value.max': function valueMax(value) {\n if (this.dragging) {\n return;\n }\n if (value < this.value.min) {\n value = this.value.min;\n }\n this.currentMaxPercentage = (value - this.min) / (this.max - this.min);\n },\n min: function min(value) {\n if (this.value.min < value) {\n this.____update({ min: value });\n }\n if (this.value.max < value) {\n this.____update({ max: value });\n }\n this.$nextTick(this.__validateProps);\n },\n max: function max(value) {\n if (this.value.min > value) {\n this.____update({ min: value });\n }\n if (this.value.max > value) {\n this.____update({ max: value });\n }\n this.$nextTick(this.__validateProps);\n },\n step: function step() {\n this.$nextTick(this.__validateProps);\n }\n },\n methods: {\n __setActive: function __setActive(event) {\n if (this.disable) {\n return;\n }\n var container = this.$refs.handle;\n this.dragging = {\n left: container.getBoundingClientRect().left,\n width: container.offsetWidth,\n valueMin: this.value.min,\n percentageMin: this.currentMinPercentage,\n percentageMinLimit: this.disableMin ? -1 : 0,\n minPercentageOffset: 0,\n valueMax: this.value.max,\n percentageMax: this.currentMaxPercentage,\n maxPercentageOffset: 0,\n percentageMaxLimit: this.disableMax ? 2 : 1\n };\n var offset = Utils.event.position(event).left - this.dragging.left,\n percentage = Math.min(1, Math.max(0, offset / this.dragging.width));\n\n if (percentage < this.currentMinPercentage + this.sensitivity) {\n if (this.disableMin) {\n this.__cancelDrag();\n return;\n }\n this.dragging.byPosition = -1;\n } else if (percentage > this.currentMaxPercentage - this.sensitivity) {\n if (this.disableMax) {\n this.__cancelDrag();\n return;\n }\n this.dragging.byPosition = 1;\n } else {\n if (!this.dragRange) {\n this.__cancelDrag();\n return;\n }\n this.dragging.byPosition = 0;\n this.dragging.valueRange = this.dragging.valueMax - this.dragging.valueMin;\n this.dragging.minPercentageOffset = this.currentMinPercentage - percentage;\n this.dragging.maxPercentageOffset = this.currentMaxPercentage - percentage;\n }\n this.__update(event);\n },\n __update: function __update(event) {\n if (!this.dragging) {\n return;\n }\n\n var percentage = (Utils.event.position(event).left - this.dragging.left) / this.dragging.width;\n percentage = percentage + this.dragging.minPercentageOffset < this.dragging.percentageMinLimit ? this.dragging.percentageMinLimit - this.dragging.minPercentageOffset : percentage + this.dragging.maxPercentageOffset > this.dragging.percentageMaxLimit ? this.dragging.percentageMaxLimit - this.dragging.maxPercentageOffset : percentage;\n var model = this.min + (percentage + this.dragging.minPercentageOffset) * (this.max - this.min),\n modulo = (model - this.min) % this.step;\n model = Math.min(this.max, Math.max(this.min, model - modulo + (Math.abs(modulo) >= this.step / 2 ? (modulo < 0 ? -1 : 1) * this.step : 0)));\n\n if (!this.disableMin && this.dragging.byPosition === -1) {\n if (percentage <= this.dragging.percentageMax) {\n this.currentMinPercentage = percentage;\n this.currentMaxPercentage = this.dragging.percentageMax;\n this.__updateInput({\n min: model,\n max: this.dragging.valueMax\n });\n } else {\n this.currentMinPercentage = this.dragging.percentageMax;\n this.currentMaxPercentage = this.disableMax ? this.dragging.percentageMax : percentage;\n this.__updateInput({\n min: this.dragging.valueMax,\n max: this.disableMax ? this.dragging.valueMax : model\n });\n }\n } else if (!this.disableMax && this.dragging.byPosition === 1) {\n if (percentage >= this.dragging.percentageMin) {\n this.currentMinPercentage = this.dragging.percentageMin;\n this.currentMaxPercentage = percentage;\n this.__updateInput({\n min: this.dragging.valueMin,\n max: model\n });\n } else {\n this.currentMinPercentage = this.disableMin ? this.dragging.percentageMin : percentage;\n this.currentMaxPercentage = this.dragging.percentageMin;\n this.__updateInput({\n min: this.disableMin ? this.dragging.valueMin : model,\n max: this.dragging.valueMin\n });\n }\n } else if (this.dragging.byPosition === 0) {\n this.currentMinPercentage = this.disableMin ? this.currentMinPercentage : this.disableMax && percentage + this.dragging.minPercentageOffset > this.currentMaxPercentage ? this.currentMaxPercentage : percentage + this.dragging.minPercentageOffset;\n this.currentMaxPercentage = this.disableMax ? this.currentMaxPercentage : this.disableMin && percentage + this.dragging.maxPercentageOffset < this.currentMinPercentage ? this.currentMinPercentage : percentage + this.dragging.maxPercentageOffset;\n this.__updateInput({\n min: this.disableMin ? this.dragging.valueMin : model,\n max: this.disableMax ? this.dragging.valueMax : model + this.dragging.valueRange\n });\n }\n },\n __updateInput: function __updateInput(_ref) {\n var _ref$min = _ref.min,\n min = _ref$min === undefined ? this.value.min : _ref$min,\n _ref$max = _ref.max,\n max = _ref$max === undefined ? this.value.max : _ref$max;\n\n this.$emit('input', { min: min, max: max });\n },\n __cancelDrag: function __cancelDrag() {\n this.dragging = false;\n },\n __end: function __end() {\n this.__cancelDrag();\n this.currentMinPercentage = (this.value.min - this.min) / (this.max - this.min);\n this.currentMaxPercentage = (this.value.max - this.min) / (this.max - this.min);\n },\n __validateProps: function __validateProps() {\n if (this.min >= this.max) {\n console.error('Range error: min >= max', this.$el, this.min, this.max);\n } else if ((this.max - this.min) % this.step !== 0) {\n console.error('Range error: step must be a divisor of max - min', this.$el, this.min, this.max, this.step);\n } else if ((this.value.min - this.min) % this.step !== 0) {\n console.error('Range error: step must be a divisor of initial value.min - min', this.$el, this.value.min, this.min, this.step);\n } else if ((this.value.max - this.min) % this.step !== 0) {\n console.error('Range error: step must be a divisor of initial value.max - min', this.$el, this.value.max, this.max, this.step);\n }\n }\n },\n created: function created() {\n this.__validateProps();\n if (Platform.is.desktop) {\n document.body.addEventListener('mousemove', this.__update);\n document.body.addEventListener('mouseup', this.__end);\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (Platform.is.dekstop) {\n document.body.removeEventListener('mousemove', this.__update);\n document.body.removeEventListener('mouseup', this.__end);\n }\n }\n};\n\nvar Rating = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-rating\", class: { disabled: _vm.disable, editable: _vm.editable } }, _vm._l(_vm.max, function (index) {\n return _c('i', { class: { active: !_vm.mouseModel && _vm.model >= index || _vm.mouseModel && _vm.mouseModel >= index, exselected: _vm.mouseModel && _vm.model >= index && _vm.mouseModel < index, hovered: _vm.mouseModel === index }, on: { \"click\": function click($event) {\n _vm.set(index);\n }, \"mouseover\": function mouseover($event) {\n _vm.__setHoverValue(index);\n }, \"mouseout\": function mouseout($event) {\n _vm.mouseModel = 0;\n } } }, [_vm._v(_vm._s(_vm.icon))]);\n }));\n }, staticRenderFns: [],\n props: {\n value: {\n type: Number,\n default: 0,\n required: true\n },\n max: {\n type: Number,\n required: true\n },\n icon: {\n type: String,\n default: 'grade'\n },\n readonly: Boolean,\n disable: Boolean\n },\n data: function data() {\n return {\n mouseModel: 0\n };\n },\n\n computed: {\n model: {\n get: function get() {\n return this.value;\n },\n set: function set(value) {\n if (this.value !== value) {\n this.$emit('input', value);\n }\n }\n },\n editable: function editable() {\n return !this.readonly && !this.disable;\n }\n },\n methods: {\n set: function set(value) {\n if (this.editable) {\n this.model = Utils.format.between(parseInt(value, 10), 1, this.max);\n this.mouseModel = 0;\n }\n },\n __setHoverValue: function __setHoverValue(value) {\n if (this.editable) {\n this.mouseModel = value;\n }\n }\n }\n};\n\nvar Search = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-search\", class: { 'q-search-centered': _vm.centered, disabled: _vm.disable, readonly: _vm.readonly } }, [_c('div', { staticClass: \"q-search-input-container\" }, [_c('button', { staticClass: \"q-search-icon\" }, [_c('i', { staticClass: \"on-left\" }, [_vm._v(_vm._s(_vm.icon))]), _vm._v(\" \"), _c('span', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.$q.theme === 'ios' && _vm.isEmpty, expression: \"$q.theme === 'ios' && isEmpty\" }] }, [_vm._v(_vm._s(_vm.placeholder))])]), _vm._v(\" \"), _vm.numeric ? _c('input', { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.model, expression: \"model\" }], staticClass: \"q-search-input no-style\", attrs: { \"type\": \"number\", \"pattern\": \"[0-9]*\", \"placeholder\": _vm.$q.theme === 'mat' ? _vm.placeholder : '', \"disabled\": _vm.disable, \"readonly\": _vm.readonly, \"tabindex\": \"0\" }, domProps: { \"value\": _vm.model }, on: { \"focus\": _vm.focus, \"blur\": [_vm.blur, function ($event) {\n _vm.$forceUpdate();\n }], \"input\": function input($event) {\n if ($event.target.composing) {\n return;\n }_vm.model = $event.target.value;\n } } }) : _vm.arabic ? _c('input', { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.model, expression: \"model\" }], staticClass: \"q-search-input no-style arabic\", attrs: { \"type\": \"text\", \"placeholder\": _vm.$q.theme === 'mat' ? _vm.placeholder : '', \"disabled\": _vm.disable, \"readonly\": _vm.readonly, \"tabindex\": \"0\" }, domProps: { \"value\": _vm.model }, on: { \"focus\": _vm.focus, \"blur\": _vm.blur, \"input\": function input($event) {\n if ($event.target.composing) {\n return;\n }_vm.model = $event.target.value;\n } } }) : _c('input', { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.model, expression: \"model\" }], staticClass: \"q-search-input no-style\", attrs: { \"type\": \"text\", \"placeholder\": _vm.$q.theme === 'mat' ? _vm.placeholder : '', \"disabled\": _vm.disable, \"readonly\": _vm.readonly, \"tabindex\": \"0\" }, domProps: { \"value\": _vm.model }, on: { \"focus\": _vm.focus, \"blur\": _vm.blur, \"input\": function input($event) {\n if ($event.target.composing) {\n return;\n }_vm.model = $event.target.value;\n } } }), _vm._v(\" \"), _c('button', { staticClass: \"q-search-clear\", class: { hidden: this.model === '' }, on: { \"click\": _vm.clear } }, [_c('i', { staticClass: \"mat-only\" }, [_vm._v(\"clear\")]), _vm._v(\" \"), _c('i', { staticClass: \"ios-only\" }, [_vm._v(\"cancel\")])])])]);\n }, staticRenderFns: [],\n props: {\n value: {\n type: [String, Number],\n default: ''\n },\n numeric: Boolean,\n debounce: {\n type: Number,\n default: 300\n },\n icon: {\n type: String,\n default: 'search'\n },\n placeholder: {\n type: String,\n default: 'Search'\n },\n readonly: Boolean,\n disable: Boolean,\n arabic: Boolean\n },\n data: function data() {\n return {\n focused: false,\n timer: null,\n isEmpty: !this.value && this.value !== 0\n };\n },\n\n computed: {\n model: {\n get: function get() {\n this.isEmpty = !this.value && this.value !== 0;\n return this.value;\n },\n set: function set(value) {\n var _this = this;\n\n clearTimeout(this.timer);\n this.isEmpty = !value && value !== 0;\n if (this.value === value) {\n return;\n }\n if (this.isEmpty) {\n this.$emit('input', '');\n return;\n }\n this.timer = setTimeout(function () {\n _this.$emit('input', value);\n }, this.debounce);\n }\n },\n centered: function centered() {\n return !this.focused && this.value === '';\n },\n editable: function editable() {\n return !this.disable && !this.readonly;\n }\n },\n methods: {\n clear: function clear() {\n if (this.editable) {\n this.model = '';\n }\n },\n focus: function focus() {\n if (this.editable) {\n this.focused = true;\n }\n },\n blur: function blur() {\n this.focused = false;\n }\n },\n beforeDestroy: function beforeDestroy() {\n clearTimeout(this.timer);\n }\n};\n\nvar Select = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('q-picker-textfield', { attrs: { \"disable\": _vm.disable, \"readonly\": _vm.readonly, \"label\": _vm.label, \"placeholder\": _vm.placeholder, \"static-label\": _vm.staticLabel, \"value\": _vm.actualValue }, nativeOn: { \"keydown\": function keydown($event) {\n if (_vm._k($event.keyCode, \"enter\", 13)) {\n return null;\n }_vm.open($event);\n } } }, [_c('q-popover', { ref: \"popover\", attrs: { \"disable\": _vm.disable || _vm.readonly, \"fit\": \"\" } }, [_c('div', { staticClass: \"q-select-popover list highlight\" }, [_vm._l(_vm.options, function (radio) {\n return _vm.type === 'radio' ? _c('label', { key: radio, staticClass: \"item\", on: { \"click\": _vm.close } }, [_c('div', { staticClass: \"item-primary\" }, [_c('q-radio', { attrs: { \"val\": radio.value }, model: { value: _vm.model, callback: function callback($$v) {\n _vm.model = $$v;\n } } })], 1), _c('div', { staticClass: \"item-content\" }, [_c('div', { domProps: { \"innerHTML\": _vm._s(radio.label) } })])]) : _vm._e();\n }), _vm.type === 'list' ? _c('div', { staticClass: \"list no-border highlight\", class: { 'item-delimiter': _vm.delimiter }, staticStyle: { \"min-width\": \"100px\" } }, _vm._l(_vm.options, function (opt) {\n return _c('q-list-item', { key: opt, attrs: { \"item\": opt, \"link\": \"\", \"active\": _vm.model === opt.value }, nativeOn: { \"click\": function click($event) {\n _vm.__setAndClose(opt.value);\n } } });\n })) : _vm._e(), _vm._l(_vm.options, function (checkbox, index) {\n return _vm.type === 'checkbox' ? _c('label', { key: checkbox, staticClass: \"item\" }, [_c('div', { staticClass: \"item-primary\" }, [_c('q-checkbox', { attrs: { \"value\": _vm.optModel[index] }, on: { \"input\": function input($event) {\n _vm.toggleValue(checkbox.value);\n } } })], 1), _c('div', { staticClass: \"item-content\" }, [_c('div', { domProps: { \"innerHTML\": _vm._s(checkbox.label) } })])]) : _vm._e();\n }), _vm._l(_vm.options, function (toggle, index) {\n return _vm.type === 'toggle' ? _c('label', { key: toggle, staticClass: \"item\" }, [_c('div', { staticClass: \"item-content has-secondary\" }, [_c('div', { domProps: { \"innerHTML\": _vm._s(toggle.label) } })]), _c('div', { staticClass: \"item-secondary\" }, [_c('q-toggle', { attrs: { \"value\": _vm.optModel[index] }, on: { \"input\": function input($event) {\n _vm.toggleValue(toggle.value);\n } } })], 1)]) : _vm._e();\n })], 2)])], 1);\n }, staticRenderFns: [],\n props: {\n value: {\n required: true\n },\n options: {\n type: Array,\n required: true,\n validator: function validator(options) {\n return !options.some(function (opt) {\n return typeof opt.label === 'undefined' || typeof opt.value === 'undefined';\n });\n }\n },\n type: {\n type: String,\n default: 'list',\n validator: function validator(value) {\n return ['radio', 'list', 'checkbox', 'toggle'].includes(value);\n }\n },\n label: String,\n placeholder: String,\n staticLabel: String,\n readonly: Boolean,\n disable: Boolean,\n delimiter: Boolean\n },\n computed: {\n model: {\n get: function get() {\n if (this.multipleSelection && !Array.isArray(this.value)) {\n console.error('Select model needs to be an array when using multiple selection.');\n }\n return this.value;\n },\n set: function set(value) {\n this.$emit('input', value);\n }\n },\n optModel: function optModel() {\n var _this = this;\n\n if (this.multipleSelection) {\n return this.options.map(function (opt) {\n return _this.model.includes(opt.value);\n });\n }\n },\n multipleSelection: function multipleSelection() {\n return ['checkbox', 'toggle'].includes(this.type);\n },\n actualValue: function actualValue() {\n var _this2 = this;\n\n if (!this.multipleSelection) {\n var option = this.options.find(function (option) {\n return option.value === _this2.model;\n });\n return option ? option.label : '';\n }\n\n var options = this.options.filter(function (opt) {\n return _this2.model.includes(opt.value);\n }).map(function (opt) {\n return opt.label;\n });\n\n return !options.length ? '' : options.join(', ');\n }\n },\n methods: {\n open: function open(event) {\n if (!this.disable && !this.readonly) {\n this.$refs.popover.open(event);\n }\n },\n close: function close() {\n this.$refs.popover.close();\n },\n toggleValue: function toggleValue(value) {\n var index = this.model.indexOf(value);\n if (index >= 0) {\n this.model.splice(index, 1);\n } else {\n this.model.push(value);\n }\n },\n __setAndClose: function __setAndClose(val) {\n this.model = val;\n this.close();\n }\n }\n};\n\nvar DialogSelect = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('q-picker-textfield', { attrs: { \"disable\": _vm.disable, \"readonly\": _vm.readonly, \"label\": _vm.label, \"placeholder\": _vm.placeholder, \"static-label\": _vm.staticLabel, \"value\": _vm.actualValue }, nativeOn: { \"click\": function click($event) {\n _vm.pick($event);\n }, \"keydown\": function keydown($event) {\n if (_vm._k($event.keyCode, \"enter\", 13)) {\n return null;\n }_vm.pick($event);\n } } });\n }, staticRenderFns: [],\n props: {\n value: {\n required: true\n },\n options: {\n type: Array,\n required: true,\n validator: function validator(options) {\n return !options.some(function (option) {\n return typeof option.label === 'undefined' || typeof option.value === 'undefined';\n });\n }\n },\n type: {\n type: String,\n required: true,\n validator: function validator(value) {\n return ['radio', 'checkbox', 'toggle'].includes(value);\n }\n },\n okLabel: {\n type: String,\n default: 'OK'\n },\n cancelLabel: {\n type: String,\n default: 'Cancel'\n },\n title: {\n type: String,\n default: 'Select'\n },\n message: String,\n label: String,\n placeholder: String,\n staticLabel: String,\n readonly: Boolean,\n disable: Boolean\n },\n computed: {\n actualValue: function actualValue() {\n var _this = this;\n\n if (this.type === 'radio') {\n var option = this.options.find(function (option) {\n return option.value === _this.value;\n });\n return option ? option.label : '';\n }\n\n var options = this.options.filter(function (option) {\n return _this.value.includes(option.value);\n }).map(function (option) {\n return option.label;\n });\n\n return !options.length ? '' : options.join(', ');\n },\n multipleSelection: function multipleSelection() {\n return ['checkbox', 'toggle'].includes(this.type);\n }\n },\n methods: {\n pick: function pick() {\n var _this2 = this;\n\n if (this.disable || this.readonly) {\n return;\n }\n\n var options = this.options.map(function (option) {\n return {\n value: option.value,\n label: option.label,\n model: _this2.multipleSelection ? _this2.value.includes(option.value) : _this2.value === option.value\n };\n });\n\n Dialog.create({\n title: this.title,\n message: this.message,\n form: {\n select: { type: this.type, model: this.value, items: options }\n },\n buttons: [this.cancelLabel, {\n label: this.okLabel,\n handler: function handler(data) {\n _this2.$emit('input', data.select);\n }\n }]\n });\n }\n }\n};\n\nvar Slider = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-slider\", class: { fullscreen: _vm.inFullscreen } }, [_c('div', { staticClass: \"q-slider-inner\" }, [_c('div', { directives: [{ name: \"touch-pan\", rawName: \"v-touch-pan.horizontal\", value: _vm.__pan, expression: \"__pan\", modifiers: { \"horizontal\": true } }], ref: \"track\", staticClass: \"q-slider-track\", class: { 'with-arrows': _vm.arrows, 'with-toolbar': _vm.toolbar }, style: _vm.trackPosition }, [_vm._t(\"slide\")], 2), _vm.arrows ? _c('div', { staticClass: \"q-slider-left-button row items-center justify-center\", class: { hidden: _vm.slide === 0 } }, [_c('i', { on: { \"click\": function click($event) {\n _vm.goToSlide(_vm.slide - 1);\n } } }, [_vm._v(\"keyboard_arrow_left\")])]) : _vm._e(), _vm.arrows ? _c('div', { staticClass: \"q-slider-right-button row items-center justify-center\", class: { hidden: _vm.slide === _vm.slidesNumber - 1 }, on: { \"click\": function click($event) {\n _vm.goToSlide(_vm.slide + 1);\n } } }, [_c('i', [_vm._v(\"keyboard_arrow_right\")])]) : _vm._e(), _vm.toolbar ? _c('div', { staticClass: \"q-slider-toolbar row items-center justify-end\" }, [_c('div', { staticClass: \"q-slider-dots auto row items-center justify-center\" }, _vm._l(_vm.slidesNumber, function (n) {\n return _vm.dots ? _c('i', { domProps: { \"textContent\": _vm._s(n - 1 !== _vm.slide ? 'panorama_fish_eye' : 'lens') }, on: { \"click\": function click($event) {\n _vm.goToSlide(n - 1);\n } } }) : _vm._e();\n })), _c('div', { staticClass: \"row items-center\" }, [_vm._t(\"action\"), _vm.fullscreen ? _c('i', { on: { \"click\": _vm.toggleFullscreen } }, [_c('span', { directives: [{ name: \"show\", rawName: \"v-show\", value: !_vm.inFullscreen, expression: \"!inFullscreen\" }] }, [_vm._v(\"fullscreen\")]), _vm._v(\" \"), _c('span', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.inFullscreen, expression: \"inFullscreen\" }] }, [_vm._v(\"fullscreen_exit\")])]) : _vm._e()], 2)]) : _vm._e(), _vm._t(\"default\")], 2)]);\n }, staticRenderFns: [],\n props: {\n arrows: Boolean,\n dots: Boolean,\n fullscreen: Boolean,\n actions: Boolean\n },\n data: function data() {\n return {\n position: 0,\n slide: 0,\n slidesNumber: 0,\n inFullscreen: false,\n animUid: Utils.uid()\n };\n },\n\n watch: {\n slide: function slide(value) {\n this.$emit('slide', value);\n }\n },\n computed: {\n toolbar: function toolbar() {\n return this.dots || this.fullscreen || this.actions;\n },\n trackPosition: function trackPosition() {\n return Utils.dom.cssTransform('translateX(' + this.position + '%)');\n }\n },\n methods: {\n __pan: function __pan(event) {\n if (!this.hasOwnProperty('initialPosition')) {\n this.initialPosition = this.position;\n this.stopAnimation();\n }\n\n var delta = (event.direction === 'left' ? -1 : 1) * event.distance.x;\n\n if (this.slide === 0 && delta > 0 || this.slide === this.slidesNumber - 1 && delta < 0) {\n delta = delta / 10;\n }\n\n this.position = this.initialPosition + delta / this.$refs.track.offsetWidth * 100;\n\n if (event.isFinal) {\n this.goToSlide(event.distance.x < 100 ? this.slide : event.direction === 'left' ? this.slide + 1 : this.slide - 1);\n delete this.initialPosition;\n }\n },\n goToSlide: function goToSlide(slide, noAnimation) {\n var _this = this;\n\n this.slide = Utils.format.between(slide, 0, this.slidesNumber - 1);\n var pos = -this.slide * 100;\n if (noAnimation) {\n this.stopAnimation();\n this.position = pos;\n return;\n }\n Utils.animate({\n name: this.animUid,\n pos: this.position,\n finalPos: pos,\n apply: function apply(pos) {\n _this.position = pos;\n }\n });\n },\n toggleFullscreen: function toggleFullscreen() {\n if (this.inFullscreen) {\n if (!Platform.has.popstate) {\n this.__setFullscreen(false);\n } else {\n window.history.go(-1);\n }\n return;\n }\n\n this.__setFullscreen(true);\n if (Platform.has.popstate) {\n window.history.pushState({}, '');\n window.addEventListener('popstate', this.__popState);\n }\n },\n __setFullscreen: function __setFullscreen(state) {\n if (this.inFullscreen === state) {\n return;\n }\n\n if (state) {\n this.container.replaceChild(this.fillerNode, this.$el);\n document.body.appendChild(this.$el);\n this.inFullscreen = true;\n return;\n }\n\n this.inFullscreen = false;\n this.container.replaceChild(this.$el, this.fillerNode);\n },\n __popState: function __popState() {\n if (this.inFullscreen) {\n this.__setFullscreen(false);\n }\n window.removeEventListener('popstate', this.__popState);\n },\n stopAnimation: function stopAnimation() {\n Utils.animate.stop(this.animUid);\n }\n },\n beforeUpdate: function beforeUpdate() {\n if (this.$slots.slide && this.slidesNumber !== this.$slots.slide.length) {\n this.slidesNumber = this.$slots.slide.length;\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.fillerNode = document.createElement('span');\n _this2.container = _this2.$el.parentNode;\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.stopAnimation();\n }\n};\n\nvar SAudio = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"fill\": _vm.color, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 55 80\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c('g', { attrs: { \"transform\": \"matrix(1 0 0 -1 0 80)\" } }, [_c('rect', { attrs: { \"width\": \"10\", \"height\": \"20\", \"rx\": \"3\" } }, [_c('animate', { attrs: { \"attributeName\": \"height\", \"begin\": \"0s\", \"dur\": \"4.3s\", \"values\": \"20;45;57;80;64;32;66;45;64;23;66;13;64;56;34;34;2;23;76;79;20\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"15\", \"width\": \"10\", \"height\": \"80\", \"rx\": \"3\" } }, [_c('animate', { attrs: { \"attributeName\": \"height\", \"begin\": \"0s\", \"dur\": \"2s\", \"values\": \"80;55;33;5;75;23;73;33;12;14;60;80\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"30\", \"width\": \"10\", \"height\": \"50\", \"rx\": \"3\" } }, [_c('animate', { attrs: { \"attributeName\": \"height\", \"begin\": \"0s\", \"dur\": \"1.4s\", \"values\": \"50;34;78;23;56;23;34;76;80;54;21;50\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"45\", \"width\": \"10\", \"height\": \"30\", \"rx\": \"3\" } }, [_c('animate', { attrs: { \"attributeName\": \"height\", \"begin\": \"0s\", \"dur\": \"2s\", \"values\": \"30;45;13;80;56;72;45;76;34;23;67;30\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })])])]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar SBall = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"stroke\": _vm.color, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 57 57\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c('g', { attrs: { \"transform\": \"translate(1 1)\", \"stroke-width\": \"2\", \"fill\": \"none\", \"fill-rule\": \"evenodd\" } }, [_c('circle', { attrs: { \"cx\": \"5\", \"cy\": \"50\", \"r\": \"5\" } }, [_c('animate', { attrs: { \"attributeName\": \"cy\", \"begin\": \"0s\", \"dur\": \"2.2s\", \"values\": \"50;5;50;50\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } }), _c('animate', { attrs: { \"attributeName\": \"cx\", \"begin\": \"0s\", \"dur\": \"2.2s\", \"values\": \"5;27;49;5\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('circle', { attrs: { \"cx\": \"27\", \"cy\": \"5\", \"r\": \"5\" } }, [_c('animate', { attrs: { \"attributeName\": \"cy\", \"begin\": \"0s\", \"dur\": \"2.2s\", \"from\": \"5\", \"to\": \"5\", \"values\": \"5;50;50;5\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } }), _c('animate', { attrs: { \"attributeName\": \"cx\", \"begin\": \"0s\", \"dur\": \"2.2s\", \"from\": \"27\", \"to\": \"27\", \"values\": \"27;49;5;27\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('circle', { attrs: { \"cx\": \"49\", \"cy\": \"50\", \"r\": \"5\" } }, [_c('animate', { attrs: { \"attributeName\": \"cy\", \"begin\": \"0s\", \"dur\": \"2.2s\", \"values\": \"50;50;5;50\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } }), _c('animate', { attrs: { \"attributeName\": \"cx\", \"from\": \"49\", \"to\": \"49\", \"begin\": \"0s\", \"dur\": \"2.2s\", \"values\": \"49;5;27;49\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })])])]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar SBars = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"fill\": _vm.color, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 135 140\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c('rect', { attrs: { \"y\": \"10\", \"width\": \"15\", \"height\": \"120\", \"rx\": \"6\" } }, [_c('animate', { attrs: { \"attributeName\": \"height\", \"begin\": \"0.5s\", \"dur\": \"1s\", \"values\": \"120;110;100;90;80;70;60;50;40;140;120\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } }), _c('animate', { attrs: { \"attributeName\": \"y\", \"begin\": \"0.5s\", \"dur\": \"1s\", \"values\": \"10;15;20;25;30;35;40;45;50;0;10\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"30\", \"y\": \"10\", \"width\": \"15\", \"height\": \"120\", \"rx\": \"6\" } }, [_c('animate', { attrs: { \"attributeName\": \"height\", \"begin\": \"0.25s\", \"dur\": \"1s\", \"values\": \"120;110;100;90;80;70;60;50;40;140;120\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } }), _c('animate', { attrs: { \"attributeName\": \"y\", \"begin\": \"0.25s\", \"dur\": \"1s\", \"values\": \"10;15;20;25;30;35;40;45;50;0;10\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"60\", \"width\": \"15\", \"height\": \"140\", \"rx\": \"6\" } }, [_c('animate', { attrs: { \"attributeName\": \"height\", \"begin\": \"0s\", \"dur\": \"1s\", \"values\": \"120;110;100;90;80;70;60;50;40;140;120\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } }), _c('animate', { attrs: { \"attributeName\": \"y\", \"begin\": \"0s\", \"dur\": \"1s\", \"values\": \"10;15;20;25;30;35;40;45;50;0;10\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"90\", \"y\": \"10\", \"width\": \"15\", \"height\": \"120\", \"rx\": \"6\" } }, [_c('animate', { attrs: { \"attributeName\": \"height\", \"begin\": \"0.25s\", \"dur\": \"1s\", \"values\": \"120;110;100;90;80;70;60;50;40;140;120\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } }), _c('animate', { attrs: { \"attributeName\": \"y\", \"begin\": \"0.25s\", \"dur\": \"1s\", \"values\": \"10;15;20;25;30;35;40;45;50;0;10\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"120\", \"y\": \"10\", \"width\": \"15\", \"height\": \"120\", \"rx\": \"6\" } }, [_c('animate', { attrs: { \"attributeName\": \"height\", \"begin\": \"0.5s\", \"dur\": \"1s\", \"values\": \"120;110;100;90;80;70;60;50;40;140;120\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } }), _c('animate', { attrs: { \"attributeName\": \"y\", \"begin\": \"0.5s\", \"dur\": \"1s\", \"values\": \"10;15;20;25;30;35;40;45;50;0;10\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })])]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar SCircles = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"fill\": _vm.color, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 135 135\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c('path', { attrs: { \"d\": \"M67.447 58c5.523 0 10-4.477 10-10s-4.477-10-10-10-10 4.477-10 10 4.477 10 10 10zm9.448 9.447c0 5.523 4.477 10 10 10 5.522 0 10-4.477 10-10s-4.478-10-10-10c-5.523 0-10 4.477-10 10zm-9.448 9.448c-5.523 0-10 4.477-10 10 0 5.522 4.477 10 10 10s10-4.478 10-10c0-5.523-4.477-10-10-10zM58 67.447c0-5.523-4.477-10-10-10s-10 4.477-10 10 4.477 10 10 10 10-4.477 10-10z\" } }, [_c('animateTransform', { attrs: { \"attributeName\": \"transform\", \"type\": \"rotate\", \"from\": \"0 67 67\", \"to\": \"-360 67 67\", \"dur\": \"2.5s\", \"repeatCount\": \"indefinite\" } })], 1), _c('path', { attrs: { \"d\": \"M28.19 40.31c6.627 0 12-5.374 12-12 0-6.628-5.373-12-12-12-6.628 0-12 5.372-12 12 0 6.626 5.372 12 12 12zm30.72-19.825c4.686 4.687 12.284 4.687 16.97 0 4.686-4.686 4.686-12.284 0-16.97-4.686-4.687-12.284-4.687-16.97 0-4.687 4.686-4.687 12.284 0 16.97zm35.74 7.705c0 6.627 5.37 12 12 12 6.626 0 12-5.373 12-12 0-6.628-5.374-12-12-12-6.63 0-12 5.372-12 12zm19.822 30.72c-4.686 4.686-4.686 12.284 0 16.97 4.687 4.686 12.285 4.686 16.97 0 4.687-4.686 4.687-12.284 0-16.97-4.685-4.687-12.283-4.687-16.97 0zm-7.704 35.74c-6.627 0-12 5.37-12 12 0 6.626 5.373 12 12 12s12-5.374 12-12c0-6.63-5.373-12-12-12zm-30.72 19.822c-4.686-4.686-12.284-4.686-16.97 0-4.686 4.687-4.686 12.285 0 16.97 4.686 4.687 12.284 4.687 16.97 0 4.687-4.685 4.687-12.283 0-16.97zm-35.74-7.704c0-6.627-5.372-12-12-12-6.626 0-12 5.373-12 12s5.374 12 12 12c6.628 0 12-5.373 12-12zm-19.823-30.72c4.687-4.686 4.687-12.284 0-16.97-4.686-4.686-12.284-4.686-16.97 0-4.687 4.686-4.687 12.284 0 16.97 4.686 4.687 12.284 4.687 16.97 0z\" } }, [_c('animateTransform', { attrs: { \"attributeName\": \"transform\", \"type\": \"rotate\", \"from\": \"0 67 67\", \"to\": \"360 67 67\", \"dur\": \"8s\", \"repeatCount\": \"indefinite\" } })], 1)]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar SDots = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"fill\": _vm.color, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 120 30\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c('circle', { attrs: { \"cx\": \"15\", \"cy\": \"15\", \"r\": \"15\" } }, [_c('animate', { attrs: { \"attributeName\": \"r\", \"from\": \"15\", \"to\": \"15\", \"begin\": \"0s\", \"dur\": \"0.8s\", \"values\": \"15;9;15\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } }), _c('animate', { attrs: { \"attributeName\": \"fill-opacity\", \"from\": \"1\", \"to\": \"1\", \"begin\": \"0s\", \"dur\": \"0.8s\", \"values\": \"1;.5;1\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('circle', { attrs: { \"cx\": \"60\", \"cy\": \"15\", \"r\": \"9\", \"fill-opacity\": \".3\" } }, [_c('animate', { attrs: { \"attributeName\": \"r\", \"from\": \"9\", \"to\": \"9\", \"begin\": \"0s\", \"dur\": \"0.8s\", \"values\": \"9;15;9\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } }), _c('animate', { attrs: { \"attributeName\": \"fill-opacity\", \"from\": \".5\", \"to\": \".5\", \"begin\": \"0s\", \"dur\": \"0.8s\", \"values\": \".5;1;.5\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('circle', { attrs: { \"cx\": \"105\", \"cy\": \"15\", \"r\": \"15\" } }, [_c('animate', { attrs: { \"attributeName\": \"r\", \"from\": \"15\", \"to\": \"15\", \"begin\": \"0s\", \"dur\": \"0.8s\", \"values\": \"15;9;15\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } }), _c('animate', { attrs: { \"attributeName\": \"fill-opacity\", \"from\": \"1\", \"to\": \"1\", \"begin\": \"0s\", \"dur\": \"0.8s\", \"values\": \"1;.5;1\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })])]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar SFacebook = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 100 100\", \"xmlns\": \"http://www.w3.org/2000/svg\", \"preserveAspectRatio\": \"xMidYMid\" } }, [_c('g', { attrs: { \"transform\": \"translate(20 50)\" } }, [_c('rect', { attrs: { \"x\": \"-10\", \"y\": \"-30\", \"width\": \"20\", \"height\": \"60\", \"fill\": _vm.color, \"opacity\": \"0.6\" } }, [_c('animateTransform', { attrs: { \"attributeName\": \"transform\", \"type\": \"scale\", \"from\": \"2\", \"to\": \"1\", \"begin\": \"0s\", \"repeatCount\": \"indefinite\", \"dur\": \"1s\", \"calcMode\": \"spline\", \"keySplines\": \"0.1 0.9 0.4 1\", \"keyTimes\": \"0;1\", \"values\": \"2;1\" } })], 1)]), _c('g', { attrs: { \"transform\": \"translate(50 50)\" } }, [_c('rect', { attrs: { \"x\": \"-10\", \"y\": \"-30\", \"width\": \"20\", \"height\": \"60\", \"fill\": _vm.color, \"opacity\": \"0.8\" } }, [_c('animateTransform', { attrs: { \"attributeName\": \"transform\", \"type\": \"scale\", \"from\": \"2\", \"to\": \"1\", \"begin\": \"0.1s\", \"repeatCount\": \"indefinite\", \"dur\": \"1s\", \"calcMode\": \"spline\", \"keySplines\": \"0.1 0.9 0.4 1\", \"keyTimes\": \"0;1\", \"values\": \"2;1\" } })], 1)]), _c('g', { attrs: { \"transform\": \"translate(80 50)\" } }, [_c('rect', { attrs: { \"x\": \"-10\", \"y\": \"-30\", \"width\": \"20\", \"height\": \"60\", \"fill\": _vm.color, \"opacity\": \"0.9\" } }, [_c('animateTransform', { attrs: { \"attributeName\": \"transform\", \"type\": \"scale\", \"from\": \"2\", \"to\": \"1\", \"begin\": \"0.2s\", \"repeatCount\": \"indefinite\", \"dur\": \"1s\", \"calcMode\": \"spline\", \"keySplines\": \"0.1 0.9 0.4 1\", \"keyTimes\": \"0;1\", \"values\": \"2;1\" } })], 1)])]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar SGears = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 100 100\", \"preserveAspectRatio\": \"xMidYMid\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c('g', { attrs: { \"transform\": \"translate(-20,-20)\" } }, [_c('path', { attrs: { \"d\": \"M79.9,52.6C80,51.8,80,50.9,80,50s0-1.8-0.1-2.6l-5.1-0.4c-0.3-2.4-0.9-4.6-1.8-6.7l4.2-2.9c-0.7-1.6-1.6-3.1-2.6-4.5 L70,35c-1.4-1.9-3.1-3.5-4.9-4.9l2.2-4.6c-1.4-1-2.9-1.9-4.5-2.6L59.8,27c-2.1-0.9-4.4-1.5-6.7-1.8l-0.4-5.1C51.8,20,50.9,20,50,20 s-1.8,0-2.6,0.1l-0.4,5.1c-2.4,0.3-4.6,0.9-6.7,1.8l-2.9-4.1c-1.6,0.7-3.1,1.6-4.5,2.6l2.1,4.6c-1.9,1.4-3.5,3.1-5,4.9l-4.5-2.1 c-1,1.4-1.9,2.9-2.6,4.5l4.1,2.9c-0.9,2.1-1.5,4.4-1.8,6.8l-5,0.4C20,48.2,20,49.1,20,50s0,1.8,0.1,2.6l5,0.4 c0.3,2.4,0.9,4.7,1.8,6.8l-4.1,2.9c0.7,1.6,1.6,3.1,2.6,4.5l4.5-2.1c1.4,1.9,3.1,3.5,5,4.9l-2.1,4.6c1.4,1,2.9,1.9,4.5,2.6l2.9-4.1 c2.1,0.9,4.4,1.5,6.7,1.8l0.4,5.1C48.2,80,49.1,80,50,80s1.8,0,2.6-0.1l0.4-5.1c2.3-0.3,4.6-0.9,6.7-1.8l2.9,4.2 c1.6-0.7,3.1-1.6,4.5-2.6L65,69.9c1.9-1.4,3.5-3,4.9-4.9l4.6,2.2c1-1.4,1.9-2.9,2.6-4.5L73,59.8c0.9-2.1,1.5-4.4,1.8-6.7L79.9,52.6 z M50,65c-8.3,0-15-6.7-15-15c0-8.3,6.7-15,15-15s15,6.7,15,15C65,58.3,58.3,65,50,65z\", \"fill\": _vm.color } }, [_c('animateTransform', { attrs: { \"attributeName\": \"transform\", \"type\": \"rotate\", \"from\": \"90 50 50\", \"to\": \"0 50 50\", \"dur\": \"1s\", \"repeatCount\": \"indefinite\" } })], 1)]), _c('g', { attrs: { \"transform\": \"translate(20,20) rotate(15 50 50)\" } }, [_c('path', { attrs: { \"d\": \"M79.9,52.6C80,51.8,80,50.9,80,50s0-1.8-0.1-2.6l-5.1-0.4c-0.3-2.4-0.9-4.6-1.8-6.7l4.2-2.9c-0.7-1.6-1.6-3.1-2.6-4.5 L70,35c-1.4-1.9-3.1-3.5-4.9-4.9l2.2-4.6c-1.4-1-2.9-1.9-4.5-2.6L59.8,27c-2.1-0.9-4.4-1.5-6.7-1.8l-0.4-5.1C51.8,20,50.9,20,50,20 s-1.8,0-2.6,0.1l-0.4,5.1c-2.4,0.3-4.6,0.9-6.7,1.8l-2.9-4.1c-1.6,0.7-3.1,1.6-4.5,2.6l2.1,4.6c-1.9,1.4-3.5,3.1-5,4.9l-4.5-2.1 c-1,1.4-1.9,2.9-2.6,4.5l4.1,2.9c-0.9,2.1-1.5,4.4-1.8,6.8l-5,0.4C20,48.2,20,49.1,20,50s0,1.8,0.1,2.6l5,0.4 c0.3,2.4,0.9,4.7,1.8,6.8l-4.1,2.9c0.7,1.6,1.6,3.1,2.6,4.5l4.5-2.1c1.4,1.9,3.1,3.5,5,4.9l-2.1,4.6c1.4,1,2.9,1.9,4.5,2.6l2.9-4.1 c2.1,0.9,4.4,1.5,6.7,1.8l0.4,5.1C48.2,80,49.1,80,50,80s1.8,0,2.6-0.1l0.4-5.1c2.3-0.3,4.6-0.9,6.7-1.8l2.9,4.2 c1.6-0.7,3.1-1.6,4.5-2.6L65,69.9c1.9-1.4,3.5-3,4.9-4.9l4.6,2.2c1-1.4,1.9-2.9,2.6-4.5L73,59.8c0.9-2.1,1.5-4.4,1.8-6.7L79.9,52.6 z M50,65c-8.3,0-15-6.7-15-15c0-8.3,6.7-15,15-15s15,6.7,15,15C65,58.3,58.3,65,50,65z\", \"fill\": _vm.color } }, [_c('animateTransform', { attrs: { \"attributeName\": \"transform\", \"type\": \"rotate\", \"from\": \"0 50 50\", \"to\": \"90 50 50\", \"dur\": \"1s\", \"repeatCount\": \"indefinite\" } })], 1)])]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar SGrid = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"fill\": _vm.color, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 105 105\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c('circle', { attrs: { \"cx\": \"12.5\", \"cy\": \"12.5\", \"r\": \"12.5\" } }, [_c('animate', { attrs: { \"attributeName\": \"fill-opacity\", \"begin\": \"0s\", \"dur\": \"1s\", \"values\": \"1;.2;1\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('circle', { attrs: { \"cx\": \"12.5\", \"cy\": \"52.5\", \"r\": \"12.5\", \"fill-opacity\": \".5\" } }, [_c('animate', { attrs: { \"attributeName\": \"fill-opacity\", \"begin\": \"100ms\", \"dur\": \"1s\", \"values\": \"1;.2;1\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('circle', { attrs: { \"cx\": \"52.5\", \"cy\": \"12.5\", \"r\": \"12.5\" } }, [_c('animate', { attrs: { \"attributeName\": \"fill-opacity\", \"begin\": \"300ms\", \"dur\": \"1s\", \"values\": \"1;.2;1\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('circle', { attrs: { \"cx\": \"52.5\", \"cy\": \"52.5\", \"r\": \"12.5\" } }, [_c('animate', { attrs: { \"attributeName\": \"fill-opacity\", \"begin\": \"600ms\", \"dur\": \"1s\", \"values\": \"1;.2;1\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('circle', { attrs: { \"cx\": \"92.5\", \"cy\": \"12.5\", \"r\": \"12.5\" } }, [_c('animate', { attrs: { \"attributeName\": \"fill-opacity\", \"begin\": \"800ms\", \"dur\": \"1s\", \"values\": \"1;.2;1\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('circle', { attrs: { \"cx\": \"92.5\", \"cy\": \"52.5\", \"r\": \"12.5\" } }, [_c('animate', { attrs: { \"attributeName\": \"fill-opacity\", \"begin\": \"400ms\", \"dur\": \"1s\", \"values\": \"1;.2;1\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('circle', { attrs: { \"cx\": \"12.5\", \"cy\": \"92.5\", \"r\": \"12.5\" } }, [_c('animate', { attrs: { \"attributeName\": \"fill-opacity\", \"begin\": \"700ms\", \"dur\": \"1s\", \"values\": \"1;.2;1\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('circle', { attrs: { \"cx\": \"52.5\", \"cy\": \"92.5\", \"r\": \"12.5\" } }, [_c('animate', { attrs: { \"attributeName\": \"fill-opacity\", \"begin\": \"500ms\", \"dur\": \"1s\", \"values\": \"1;.2;1\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('circle', { attrs: { \"cx\": \"92.5\", \"cy\": \"92.5\", \"r\": \"12.5\" } }, [_c('animate', { attrs: { \"attributeName\": \"fill-opacity\", \"begin\": \"200ms\", \"dur\": \"1s\", \"values\": \"1;.2;1\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })])]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar SHearts = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"fill\": _vm.color, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 140 64\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c('path', { attrs: { \"d\": \"M30.262 57.02L7.195 40.723c-5.84-3.976-7.56-12.06-3.842-18.063 3.715-6 11.467-7.65 17.306-3.68l4.52 3.76 2.6-5.274c3.716-6.002 11.47-7.65 17.304-3.68 5.84 3.97 7.56 12.054 3.842 18.062L34.49 56.118c-.897 1.512-2.793 1.915-4.228.9z\", \"fill-opacity\": \".5\" } }, [_c('animate', { attrs: { \"attributeName\": \"fill-opacity\", \"begin\": \"0s\", \"dur\": \"1.4s\", \"values\": \"0.5;1;0.5\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('path', { attrs: { \"d\": \"M105.512 56.12l-14.44-24.272c-3.716-6.008-1.996-14.093 3.843-18.062 5.835-3.97 13.588-2.322 17.306 3.68l2.6 5.274 4.52-3.76c5.84-3.97 13.593-2.32 17.308 3.68 3.718 6.003 1.998 14.088-3.842 18.064L109.74 57.02c-1.434 1.014-3.33.61-4.228-.9z\", \"fill-opacity\": \".5\" } }, [_c('animate', { attrs: { \"attributeName\": \"fill-opacity\", \"begin\": \"0.7s\", \"dur\": \"1.4s\", \"values\": \"0.5;1;0.5\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('path', { attrs: { \"d\": \"M67.408 57.834l-23.01-24.98c-5.864-6.15-5.864-16.108 0-22.248 5.86-6.14 15.37-6.14 21.234 0L70 16.168l4.368-5.562c5.863-6.14 15.375-6.14 21.235 0 5.863 6.14 5.863 16.098 0 22.247l-23.007 24.98c-1.43 1.556-3.757 1.556-5.188 0z\" } })]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar SHourglass = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 100 100\", \"preserveAspectRatio\": \"xMidYMid\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c('g', [_c('path', { staticClass: \"glass\", attrs: { \"fill\": \"none\", \"stroke\": _vm.color, \"stroke-width\": \"5\", \"stroke-miterlimit\": \"10\", \"d\": \"M58.4,51.7c-0.9-0.9-1.4-2-1.4-2.3s0.5-0.4,1.4-1.4 C70.8,43.8,79.8,30.5,80,15.5H70H30H20c0.2,15,9.2,28.1,21.6,32.3c0.9,0.9,1.4,1.2,1.4,1.5s-0.5,1.6-1.4,2.5 C29.2,56.1,20.2,69.5,20,85.5h10h40h10C79.8,69.5,70.8,55.9,58.4,51.7z\" } }), _c('clipPath', { attrs: { \"id\": \"uil-hourglass-clip1\" } }, [_c('rect', { staticClass: \"clip\", attrs: { \"x\": \"15\", \"y\": \"20\", \"width\": \"70\", \"height\": \"25\" } }, [_c('animate', { attrs: { \"attributeName\": \"height\", \"from\": \"25\", \"to\": \"0\", \"dur\": \"1s\", \"repeatCount\": \"indefinite\", \"vlaues\": \"25;0;0\", \"keyTimes\": \"0;0.5;1\" } }), _c('animate', { attrs: { \"attributeName\": \"y\", \"from\": \"20\", \"to\": \"45\", \"dur\": \"1s\", \"repeatCount\": \"indefinite\", \"vlaues\": \"20;45;45\", \"keyTimes\": \"0;0.5;1\" } })])]), _c('clipPath', { attrs: { \"id\": \"uil-hourglass-clip2\" } }, [_c('rect', { staticClass: \"clip\", attrs: { \"x\": \"15\", \"y\": \"55\", \"width\": \"70\", \"height\": \"25\" } }, [_c('animate', { attrs: { \"attributeName\": \"height\", \"from\": \"0\", \"to\": \"25\", \"dur\": \"1s\", \"repeatCount\": \"indefinite\", \"vlaues\": \"0;25;25\", \"keyTimes\": \"0;0.5;1\" } }), _c('animate', { attrs: { \"attributeName\": \"y\", \"from\": \"80\", \"to\": \"55\", \"dur\": \"1s\", \"repeatCount\": \"indefinite\", \"vlaues\": \"80;55;55\", \"keyTimes\": \"0;0.5;1\" } })])]), _c('path', { staticClass: \"sand\", attrs: { \"d\": \"M29,23c3.1,11.4,11.3,19.5,21,19.5S67.9,34.4,71,23H29z\", \"clip-path\": \"url(#uil-hourglass-clip1)\", \"fill\": _vm.color } }), _c('path', { staticClass: \"sand\", attrs: { \"d\": \"M71.6,78c-3-11.6-11.5-20-21.5-20s-18.5,8.4-21.5,20H71.6z\", \"clip-path\": \"url(#uil-hourglass-clip2)\", \"fill\": _vm.color } }), _c('animateTransform', { attrs: { \"attributeName\": \"transform\", \"type\": \"rotate\", \"from\": \"0 50 50\", \"to\": \"180 50 50\", \"repeatCount\": \"indefinite\", \"dur\": \"1s\", \"values\": \"0 50 50;0 50 50;180 50 50\", \"keyTimes\": \"0;0.7;1\" } })], 1)]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar SInfinity = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 100 100\", \"preserveAspectRatio\": \"xMidYMid\" } }, [_c('path', { attrs: { \"d\": \"M24.3,30C11.4,30,5,43.3,5,50s6.4,20,19.3,20c19.3,0,32.1-40,51.4-40C88.6,30,95,43.3,95,50s-6.4,20-19.3,20C56.4,70,43.6,30,24.3,30z\", \"fill\": \"none\", \"stroke\": _vm.color, \"stroke-width\": \"8\", \"stroke-dasharray\": \"10.691205342610678 10.691205342610678\", \"stroke-dashoffset\": \"0\" } }, [_c('animate', { attrs: { \"attributeName\": \"stroke-dashoffset\", \"from\": \"0\", \"to\": \"21.382410685221355\", \"begin\": \"0\", \"dur\": \"2s\", \"repeatCount\": \"indefinite\", \"fill\": \"freeze\" } })])]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar SIos = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 100 100\", \"preserveAspectRatio\": \"xMidYMid\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c('rect', { attrs: { \"x\": \"46.5\", \"y\": \"40\", \"width\": \"7\", \"height\": \"20\", \"rx\": \"5\", \"ry\": \"5\", \"fill\": _vm.color, \"transform\": \"rotate(0 50 50) translate(0 -30)\" } }, [_c('animate', { attrs: { \"attributeName\": \"opacity\", \"from\": \"1\", \"to\": \"0\", \"dur\": \"1s\", \"begin\": \"0s\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"46.5\", \"y\": \"40\", \"width\": \"7\", \"height\": \"20\", \"rx\": \"5\", \"ry\": \"5\", \"fill\": _vm.color, \"transform\": \"rotate(30 50 50) translate(0 -30)\" } }, [_c('animate', { attrs: { \"attributeName\": \"opacity\", \"from\": \"1\", \"to\": \"0\", \"dur\": \"1s\", \"begin\": \"0.08333333333333333s\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"46.5\", \"y\": \"40\", \"width\": \"7\", \"height\": \"20\", \"rx\": \"5\", \"ry\": \"5\", \"fill\": _vm.color, \"transform\": \"rotate(60 50 50) translate(0 -30)\" } }, [_c('animate', { attrs: { \"attributeName\": \"opacity\", \"from\": \"1\", \"to\": \"0\", \"dur\": \"1s\", \"begin\": \"0.16666666666666666s\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"46.5\", \"y\": \"40\", \"width\": \"7\", \"height\": \"20\", \"rx\": \"5\", \"ry\": \"5\", \"fill\": _vm.color, \"transform\": \"rotate(90 50 50) translate(0 -30)\" } }, [_c('animate', { attrs: { \"attributeName\": \"opacity\", \"from\": \"1\", \"to\": \"0\", \"dur\": \"1s\", \"begin\": \"0.25s\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"46.5\", \"y\": \"40\", \"width\": \"7\", \"height\": \"20\", \"rx\": \"5\", \"ry\": \"5\", \"fill\": _vm.color, \"transform\": \"rotate(120 50 50) translate(0 -30)\" } }, [_c('animate', { attrs: { \"attributeName\": \"opacity\", \"from\": \"1\", \"to\": \"0\", \"dur\": \"1s\", \"begin\": \"0.3333333333333333s\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"46.5\", \"y\": \"40\", \"width\": \"7\", \"height\": \"20\", \"rx\": \"5\", \"ry\": \"5\", \"fill\": _vm.color, \"transform\": \"rotate(150 50 50) translate(0 -30)\" } }, [_c('animate', { attrs: { \"attributeName\": \"opacity\", \"from\": \"1\", \"to\": \"0\", \"dur\": \"1s\", \"begin\": \"0.4166666666666667s\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"46.5\", \"y\": \"40\", \"width\": \"7\", \"height\": \"20\", \"rx\": \"5\", \"ry\": \"5\", \"fill\": _vm.color, \"transform\": \"rotate(180 50 50) translate(0 -30)\" } }, [_c('animate', { attrs: { \"attributeName\": \"opacity\", \"from\": \"1\", \"to\": \"0\", \"dur\": \"1s\", \"begin\": \"0.5s\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"46.5\", \"y\": \"40\", \"width\": \"7\", \"height\": \"20\", \"rx\": \"5\", \"ry\": \"5\", \"fill\": _vm.color, \"transform\": \"rotate(210 50 50) translate(0 -30)\" } }, [_c('animate', { attrs: { \"attributeName\": \"opacity\", \"from\": \"1\", \"to\": \"0\", \"dur\": \"1s\", \"begin\": \"0.5833333333333334s\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"46.5\", \"y\": \"40\", \"width\": \"7\", \"height\": \"20\", \"rx\": \"5\", \"ry\": \"5\", \"fill\": _vm.color, \"transform\": \"rotate(240 50 50) translate(0 -30)\" } }, [_c('animate', { attrs: { \"attributeName\": \"opacity\", \"from\": \"1\", \"to\": \"0\", \"dur\": \"1s\", \"begin\": \"0.6666666666666666s\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"46.5\", \"y\": \"40\", \"width\": \"7\", \"height\": \"20\", \"rx\": \"5\", \"ry\": \"5\", \"fill\": _vm.color, \"transform\": \"rotate(270 50 50) translate(0 -30)\" } }, [_c('animate', { attrs: { \"attributeName\": \"opacity\", \"from\": \"1\", \"to\": \"0\", \"dur\": \"1s\", \"begin\": \"0.75s\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"46.5\", \"y\": \"40\", \"width\": \"7\", \"height\": \"20\", \"rx\": \"5\", \"ry\": \"5\", \"fill\": _vm.color, \"transform\": \"rotate(300 50 50) translate(0 -30)\" } }, [_c('animate', { attrs: { \"attributeName\": \"opacity\", \"from\": \"1\", \"to\": \"0\", \"dur\": \"1s\", \"begin\": \"0.8333333333333334s\", \"repeatCount\": \"indefinite\" } })]), _c('rect', { attrs: { \"x\": \"46.5\", \"y\": \"40\", \"width\": \"7\", \"height\": \"20\", \"rx\": \"5\", \"ry\": \"5\", \"fill\": _vm.color, \"transform\": \"rotate(330 50 50) translate(0 -30)\" } }, [_c('animate', { attrs: { \"attributeName\": \"opacity\", \"from\": \"1\", \"to\": \"0\", \"dur\": \"1s\", \"begin\": \"0.9166666666666666s\", \"repeatCount\": \"indefinite\" } })])]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar SOval = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"stroke\": _vm.color, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 38 38\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c('g', { attrs: { \"transform\": \"translate(1 1)\", \"stroke-width\": \"2\", \"fill\": \"none\", \"fill-rule\": \"evenodd\" } }, [_c('circle', { attrs: { \"stroke-opacity\": \".5\", \"cx\": \"18\", \"cy\": \"18\", \"r\": \"18\" } }), _c('path', { attrs: { \"d\": \"M36 18c0-9.94-8.06-18-18-18\" } }, [_c('animateTransform', { attrs: { \"attributeName\": \"transform\", \"type\": \"rotate\", \"from\": \"0 18 18\", \"to\": \"360 18 18\", \"dur\": \"1s\", \"repeatCount\": \"indefinite\" } })], 1)])]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar SPie = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 100 100\", \"preserveAspectRatio\": \"xMidYMid\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c('path', { attrs: { \"d\": \"M0 50A50 50 0 0 1 50 0L50 50L0 50\", \"fill\": _vm.color, \"opacity\": \"0.5\" } }, [_c('animateTransform', { attrs: { \"attributeName\": \"transform\", \"type\": \"rotate\", \"from\": \"0 50 50\", \"to\": \"360 50 50\", \"dur\": \"0.8s\", \"repeatCount\": \"indefinite\" } })], 1), _c('path', { attrs: { \"d\": \"M50 0A50 50 0 0 1 100 50L50 50L50 0\", \"fill\": _vm.color, \"opacity\": \"0.5\" } }, [_c('animateTransform', { attrs: { \"attributeName\": \"transform\", \"type\": \"rotate\", \"from\": \"0 50 50\", \"to\": \"360 50 50\", \"dur\": \"1.6s\", \"repeatCount\": \"indefinite\" } })], 1), _c('path', { attrs: { \"d\": \"M100 50A50 50 0 0 1 50 100L50 50L100 50\", \"fill\": _vm.color, \"opacity\": \"0.5\" } }, [_c('animateTransform', { attrs: { \"attributeName\": \"transform\", \"type\": \"rotate\", \"from\": \"0 50 50\", \"to\": \"360 50 50\", \"dur\": \"2.4s\", \"repeatCount\": \"indefinite\" } })], 1), _c('path', { attrs: { \"d\": \"M50 100A50 50 0 0 1 0 50L50 50L50 100\", \"fill\": _vm.color, \"opacity\": \"0.5\" } }, [_c('animateTransform', { attrs: { \"attributeName\": \"transform\", \"type\": \"rotate\", \"from\": \"0 50 50\", \"to\": \"360 50 50\", \"dur\": \"3.2s\", \"repeatCount\": \"indefinite\" } })], 1)]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar SPuff = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"stroke\": _vm.color, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 44 44\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c('g', { attrs: { \"fill\": \"none\", \"fill-rule\": \"evenodd\", \"stroke-width\": \"2\" } }, [_c('circle', { attrs: { \"cx\": \"22\", \"cy\": \"22\", \"r\": \"1\" } }, [_c('animate', { attrs: { \"attributeName\": \"r\", \"begin\": \"0s\", \"dur\": \"1.8s\", \"values\": \"1; 20\", \"calcMode\": \"spline\", \"keyTimes\": \"0; 1\", \"keySplines\": \"0.165, 0.84, 0.44, 1\", \"repeatCount\": \"indefinite\" } }), _c('animate', { attrs: { \"attributeName\": \"stroke-opacity\", \"begin\": \"0s\", \"dur\": \"1.8s\", \"values\": \"1; 0\", \"calcMode\": \"spline\", \"keyTimes\": \"0; 1\", \"keySplines\": \"0.3, 0.61, 0.355, 1\", \"repeatCount\": \"indefinite\" } })]), _c('circle', { attrs: { \"cx\": \"22\", \"cy\": \"22\", \"r\": \"1\" } }, [_c('animate', { attrs: { \"attributeName\": \"r\", \"begin\": \"-0.9s\", \"dur\": \"1.8s\", \"values\": \"1; 20\", \"calcMode\": \"spline\", \"keyTimes\": \"0; 1\", \"keySplines\": \"0.165, 0.84, 0.44, 1\", \"repeatCount\": \"indefinite\" } }), _c('animate', { attrs: { \"attributeName\": \"stroke-opacity\", \"begin\": \"-0.9s\", \"dur\": \"1.8s\", \"values\": \"1; 0\", \"calcMode\": \"spline\", \"keyTimes\": \"0; 1\", \"keySplines\": \"0.3, 0.61, 0.355, 1\", \"repeatCount\": \"indefinite\" } })])])]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar SRadio = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 100 100\", \"preserveAspectRatio\": \"xMidYMid\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c('g', { attrs: { \"transform\": \"scale(0.55)\" } }, [_c('circle', { attrs: { \"cx\": \"30\", \"cy\": \"150\", \"r\": \"30\", \"fill\": _vm.color } }, [_c('animate', { attrs: { \"attributeName\": \"opacity\", \"from\": \"0\", \"to\": \"1\", \"dur\": \"1s\", \"begin\": \"0\", \"repeatCount\": \"indefinite\", \"keyTimes\": \"0;0.5;1\", \"values\": \"0;1;1\" } })]), _c('path', { attrs: { \"d\": \"M90,150h30c0-49.7-40.3-90-90-90v30C63.1,90,90,116.9,90,150z\", \"fill\": _vm.color } }, [_c('animate', { attrs: { \"attributeName\": \"opacity\", \"from\": \"0\", \"to\": \"1\", \"dur\": \"1s\", \"begin\": \"0.1\", \"repeatCount\": \"indefinite\", \"keyTimes\": \"0;0.5;1\", \"values\": \"0;1;1\" } })]), _c('path', { attrs: { \"d\": \"M150,150h30C180,67.2,112.8,0,30,0v30C96.3,30,150,83.7,150,150z\", \"fill\": _vm.color } }, [_c('animate', { attrs: { \"attributeName\": \"opacity\", \"from\": \"0\", \"to\": \"1\", \"dur\": \"1s\", \"begin\": \"0.2\", \"repeatCount\": \"indefinite\", \"keyTimes\": \"0;0.5;1\", \"values\": \"0;1;1\" } })])])]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar SRings = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"stroke\": _vm.color, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 45 45\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c('g', { attrs: { \"fill\": \"none\", \"fill-rule\": \"evenodd\", \"transform\": \"translate(1 1)\", \"stroke-width\": \"2\" } }, [_c('circle', { attrs: { \"cx\": \"22\", \"cy\": \"22\", \"r\": \"6\" } }, [_c('animate', { attrs: { \"attributeName\": \"r\", \"begin\": \"1.5s\", \"dur\": \"3s\", \"values\": \"6;22\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } }), _c('animate', { attrs: { \"attributeName\": \"stroke-opacity\", \"begin\": \"1.5s\", \"dur\": \"3s\", \"values\": \"1;0\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } }), _c('animate', { attrs: { \"attributeName\": \"stroke-width\", \"begin\": \"1.5s\", \"dur\": \"3s\", \"values\": \"2;0\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('circle', { attrs: { \"cx\": \"22\", \"cy\": \"22\", \"r\": \"6\" } }, [_c('animate', { attrs: { \"attributeName\": \"r\", \"begin\": \"3s\", \"dur\": \"3s\", \"values\": \"6;22\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } }), _c('animate', { attrs: { \"attributeName\": \"stroke-opacity\", \"begin\": \"3s\", \"dur\": \"3s\", \"values\": \"1;0\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } }), _c('animate', { attrs: { \"attributeName\": \"stroke-width\", \"begin\": \"3s\", \"dur\": \"3s\", \"values\": \"2;0\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })]), _c('circle', { attrs: { \"cx\": \"22\", \"cy\": \"22\", \"r\": \"8\" } }, [_c('animate', { attrs: { \"attributeName\": \"r\", \"begin\": \"0s\", \"dur\": \"1.5s\", \"values\": \"6;1;2;3;4;5;6\", \"calcMode\": \"linear\", \"repeatCount\": \"indefinite\" } })])])]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar STail = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('svg', { staticClass: \"q-spinner\", attrs: { \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 38 38\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c('defs', [_c('linearGradient', { attrs: { \"x1\": \"8.042%\", \"y1\": \"0%\", \"x2\": \"65.682%\", \"y2\": \"23.865%\", \"id\": \"a\" } }, [_c('stop', { attrs: { \"stop-color\": _vm.color, \"stop-opacity\": \"0\", \"offset\": \"0%\" } }), _c('stop', { attrs: { \"stop-color\": _vm.color, \"stop-opacity\": \".631\", \"offset\": \"63.146%\" } }), _c('stop', { attrs: { \"stop-color\": _vm.color, \"offset\": \"100%\" } })], 1)], 1), _c('g', { attrs: { \"transform\": \"translate(1 1)\", \"fill\": \"none\", \"fill-rule\": \"evenodd\" } }, [_c('path', { attrs: { \"d\": \"M36 18c0-9.94-8.06-18-18-18\", \"stroke\": \"url(#a)\", \"stroke-width\": \"2\" } }, [_c('animateTransform', { attrs: { \"attributeName\": \"transform\", \"type\": \"rotate\", \"from\": \"0 18 18\", \"to\": \"360 18 18\", \"dur\": \"0.9s\", \"repeatCount\": \"indefinite\" } })], 1), _c('circle', { attrs: { \"fill\": _vm.color, \"cx\": \"36\", \"cy\": \"18\", \"r\": \"1\" } }, [_c('animateTransform', { attrs: { \"attributeName\": \"transform\", \"type\": \"rotate\", \"from\": \"0 18 18\", \"to\": \"360 18 18\", \"dur\": \"0.9s\", \"repeatCount\": \"indefinite\" } })], 1)])]);\n }, staticRenderFns: [],\n props: ['name', 'size', 'color']\n};\n\nvar Spinner = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('s-' + _vm.name, { tag: \"component\", attrs: { \"size\": _vm.size, \"color\": _vm.color } });\n }, staticRenderFns: [],\n props: {\n name: {\n type: String,\n default: current === 'ios' ? 'ios' : 'tail'\n },\n size: {\n type: Number,\n default: 64\n },\n color: {\n type: String,\n default: '#000'\n }\n },\n components: {\n SAudio: SAudio,\n SBall: SBall,\n SBars: SBars,\n SCircles: SCircles,\n SDots: SDots,\n SFacebook: SFacebook,\n SGears: SGears,\n SGrid: SGrid,\n SHearts: SHearts,\n SHourglass: SHourglass,\n SInfinity: SInfinity,\n SIos: SIos,\n SOval: SOval,\n SPie: SPie,\n SPuff: SPuff,\n SRadio: SRadio,\n SRings: SRings,\n STail: STail\n }\n};\n\nvar State = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('span', [_vm.active ? _vm._t(\"active\") : _vm._t(\"default\")], 2);\n }, staticRenderFns: [],\n props: {\n active: {\n type: Boolean,\n required: true\n }\n },\n beforeCreate: function beforeCreate() {\n console.warn('[Quasar] State component has been deprecated and will be soon removed. Use Vue v-if directive instead.');\n }\n};\n\nvar Stepper = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-stepper timeline\", class: _vm.color }, [_vm._t(\"default\")], 2);\n }, staticRenderFns: [],\n props: {\n color: {\n type: String,\n default: 'primary'\n },\n backLabel: {\n type: String,\n default: 'Back'\n },\n nextLabel: {\n type: String,\n default: 'Continue'\n },\n finishLabel: {\n type: String,\n default: 'Finish'\n }\n },\n data: function data() {\n return {\n config: {\n steps: 0,\n currentStep: 0\n }\n };\n },\n\n methods: {\n reset: function reset() {\n this.config.currentStep = 1;\n this.$emit('step', this.config.currentStep);\n },\n nextStep: function nextStep() {\n this.config.currentStep++;\n this.$emit('step', this.config.currentStep);\n if (this.config.currentStep > this.config.steps) {\n this.$emit('finish');\n }\n },\n previousStep: function previousStep() {\n this.config.currentStep--;\n this.$emit('step', this.config.currentStep);\n },\n finish: function finish() {\n this.config.currentStep = this.config.steps + 1;\n this.$emit('step', this.config.currentStep);\n this.$emit('finish');\n }\n },\n mounted: function mounted() {\n var step = 1;\n this.config.currentStep = this.config.currentStep || 1;\n this.config.steps = this.$children.length;\n this.$emit('step', this.config.currentStep);\n this.$children.forEach(function (child) {\n child.step = step;\n step++;\n });\n }\n};\n\nvar Step = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"timeline-item\", class: { incomplete: _vm.step > _vm.stepper.currentStep } }, [_c('div', { staticClass: \"timeline-badge\" }, [_c('i', { directives: [{ name: \"show\", rawName: \"v-show\", value: !_vm.done, expression: \"!done\" }] }, [_vm._v(\"done \")]), _vm.icon && _vm.done ? _c('i', [_vm._v(_vm._s(_vm.icon))]) : _vm._e(), _vm._v(\" \"), _c('span', { directives: [{ name: \"show\", rawName: \"v-show\", value: !_vm.icon && _vm.done, expression: \"!icon && done\" }] }, [_vm._v(_vm._s(_vm.step))])]), _c('div', { staticClass: \"timeline-title text-bold\", domProps: { \"innerHTML\": _vm._s(_vm.title) } }), _c('q-transition', { attrs: { \"name\": \"slide\" } }, [_c('div', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.stepper && _vm.step === _vm.stepper.currentStep, expression: \"stepper && step === stepper.currentStep\" }], staticClass: \"timeline-content\" }, [_vm._t(\"default\"), _c('div', { staticClass: \"group\", staticStyle: { \"margin-top\": \"1rem\", \"margin-left\": \"-5px\" } }, [_c('button', { class: [_vm.color, !_vm.ready ? 'disabled' : ''], on: { \"click\": function click($event) {\n _vm.nextStep();\n } } }, [_vm._v(_vm._s(_vm.stepper && _vm.step === _vm.stepper.steps ? _vm.$parent.finishLabel : _vm.$parent.nextLabel))]), _vm._v(\" \"), _vm.step > 1 ? _c('button', { staticClass: \"clear\", class: _vm.color, domProps: { \"innerHTML\": _vm._s(_vm.$parent.backLabel) }, on: { \"click\": function click($event) {\n _vm.previousStep();\n } } }) : _vm._e()])], 2)])], 1);\n }, staticRenderFns: [],\n props: {\n title: {\n type: String,\n required: true\n },\n ready: {\n type: Boolean,\n default: true\n },\n beforeNext: {\n type: Function,\n default: null\n },\n icon: String\n },\n data: function data() {\n return {\n step: -1\n };\n },\n\n computed: {\n stepper: function stepper() {\n return this.$parent.config;\n },\n done: function done() {\n return this.step >= this.stepper.currentStep;\n },\n color: function color() {\n return this.$parent.color;\n }\n },\n methods: {\n nextStep: function nextStep() {\n if (!this.ready) {\n return;\n }\n if (this.beforeNext) {\n this.beforeNext(this.$parent.nextStep);\n return;\n }\n this.$parent.nextStep();\n },\n previousStep: function previousStep() {\n this.$parent.previousStep();\n },\n finish: function finish() {\n this.$parent.finish();\n }\n }\n};\n\nvar Tab = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _vm.route ? _c('router-link', { ref: \"routerLink\", staticClass: \"q-tab items-center justify-center\", class: { active: _vm.isActive, hidden: _vm.hidden, disabled: _vm.disable, hideIcon: _vm.hide === 'icon', hideLabel: _vm.hide === 'label' }, attrs: { \"to\": _vm.route, \"replace\": _vm.replace, \"append\": _vm.append, \"exact\": _vm.exact, \"tag\": \"div\" }, on: { \"click\": function click($event) {\n $event.stopPropagation();$event.preventDefault();_vm.activate();\n } } }, [_vm.icon ? _c('i', { staticClass: \"q-tabs-icon\" }, [_vm._v(_vm._s(_vm.icon))]) : _vm._e(), _vm._v(\" \"), _c('span', { staticClass: \"q-tab-label\" }, [_vm._t(\"default\")], 2)]) : _c('div', { staticClass: \"q-tab items-center justify-center\", class: { active: _vm.isActive, hidden: _vm.hidden, disabled: _vm.disable, hideIcon: _vm.hide === 'icon', hideLabel: _vm.hide === 'label' }, on: { \"click\": function click($event) {\n _vm.activate();\n } } }, [_vm.icon ? _c('i', { staticClass: \"q-tabs-icon\" }, [_vm._v(_vm._s(_vm.icon))]) : _vm._e(), _vm._v(\" \"), _c('span', { staticClass: \"q-tab-label\" }, [_vm._t(\"default\")], 2)]);\n }, staticRenderFns: [],\n props: {\n label: String,\n icon: String,\n disable: Boolean,\n hidden: Boolean,\n hide: {\n type: String,\n default: ''\n },\n name: String,\n route: [String, Object],\n replace: Boolean,\n exact: Boolean,\n append: Boolean\n },\n computed: {\n uid: function uid() {\n return this.name || Utils.uid();\n },\n isActive: function isActive() {\n return this.$parent.activeTab === this.uid;\n },\n targetElement: function targetElement() {\n return this.$parent.refs && this.$parent.refs[this.uid];\n }\n },\n watch: {\n isActive: function isActive(value) {\n this.$emit('selected', value);\n this.setTargetVisibility(value);\n }\n },\n created: function created() {\n var _this = this;\n\n if (this.route) {\n this.$watch('$route', function () {\n _this.$nextTick(function () {\n _this.__selectTabIfRouteMatches();\n });\n });\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.setTargetVisibility(_this2.isActive);\n if (_this2.route) {\n _this2.__selectTabIfRouteMatches();\n }\n });\n },\n\n methods: {\n activate: function activate() {\n if (!this.isActive && !this.disable) {\n if (this.route) {\n this.$refs.routerLink.$el.click();\n } else {\n this.$parent.setActiveTab(this.uid);\n }\n }\n },\n deactivate: function deactivate() {\n if (this.isActive && !this.disable) {\n this.$parent.setActiveTab(false);\n }\n },\n setTargetVisibility: function setTargetVisibility(visible) {\n if (this.targetElement) {\n this.targetElement.style.display = visible ? '' : 'none';\n }\n },\n __selectTabIfRouteMatches: function __selectTabIfRouteMatches() {\n var _this3 = this;\n\n this.$nextTick(function () {\n if (_this3.route && _this3.$refs.routerLink.$el.classList.contains('router-link-active')) {\n _this3.$parent.setActiveTab(_this3.uid);\n }\n });\n }\n }\n};\n\nvar scrollNavigationSpeed = 5;\nvar debounceDelay = 50;\n\nvar Tabs = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-tabs row\" }, [_c('div', { ref: \"leftScroll\", staticClass: \"row items-center justify-center left-scroll\" }, [_c('i', [_vm._v(\"chevron_left\")])]), _c('div', { ref: \"scroller\", staticClass: \"q-tabs-scroller row\" }, [_vm._t(\"default\")], 2), _c('div', { ref: \"rightScroll\", staticClass: \"row items-center justify-center right-scroll\" }, [_c('i', [_vm._v(\"chevron_right\")])])]);\n }, staticRenderFns: [],\n props: {\n refs: {\n type: Object\n },\n value: [String, Object],\n defaultTab: {\n type: [String, Boolean],\n default: false\n }\n },\n data: function data() {\n return {\n innerValue: false\n };\n },\n\n computed: {\n activeTab: {\n get: function get() {\n return this.usingModel ? this.value : this.innerValue;\n },\n set: function set(value) {\n if (this.usingModel) {\n this.$emit('input', value);\n } else {\n this.innerValue = value;\n }\n }\n },\n usingModel: function usingModel() {\n return typeof this.value !== 'undefined';\n }\n },\n watch: {\n activeTab: function activeTab(value) {\n this.$emit('change', value);\n if (!value) {\n return;\n }\n this.__findTabAndScroll(value);\n },\n '$children': function $children() {\n this.redraw();\n }\n },\n created: function created() {\n this.scrollTimer = null;\n this.scrollable = !Platform.is.desktop;\n\n this.__redraw = Utils.debounce(this.__redraw, debounceDelay);\n this.__updateScrollIndicator = Utils.debounce(this.__updateScrollIndicator, debounceDelay);\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.$refs.scroller.addEventListener('scroll', _this.__updateScrollIndicator);\n window.addEventListener('resize', _this.__redraw);\n\n setTimeout(function () {\n _this.__redraw();\n }, debounceDelay);\n\n if (Platform.is.desktop) {\n var scrollEvents = {\n start: [],\n stop: []\n };\n\n scrollEvents.start.push('mousedown');\n scrollEvents.stop.push('mouseup');\n\n if (Platform.has.touch) {\n scrollEvents.start.push('touchstart');\n scrollEvents.stop.push('touchend');\n }\n\n scrollEvents.start.forEach(function (evt) {\n _this.$refs.leftScroll.addEventListener(evt, function () {\n _this.__animScrollTo(0);\n });\n _this.$refs.rightScroll.addEventListener(evt, function () {\n _this.__animScrollTo(9999);\n });\n });\n scrollEvents.stop.forEach(function (evt) {\n _this.$refs.leftScroll.addEventListener(evt, function () {\n clearInterval(_this.scrollTimer);\n });\n _this.$refs.rightScroll.addEventListener(evt, function () {\n clearInterval(_this.scrollTimer);\n });\n });\n }\n\n if (_this.usingModel && _this.defaultTab) {\n console.warn('Tabs ignoring default-tab since using v-model.', _this.$el);\n }\n if (_this.usingModel) {\n _this.__findTabAndScroll(_this.activeTab);\n } else if (_this.defaultTab) {\n _this.setActiveTab(_this.defaultTab);\n _this.__findTabAndScroll(_this.defaultTab);\n } else {\n _this.__findTabAndScroll(_this.activeTab);\n }\n });\n },\n beforeDestroy: function beforeDestroy() {\n clearInterval(this.scrollTimer);\n this.$refs.scroller.removeEventListener('scroll', this.__updateScrollIndicator);\n window.removeEventListener('resize', this.__redraw);\n },\n\n methods: {\n setActiveTab: function setActiveTab(name) {\n this.activeTab = name;\n },\n __redraw: function __redraw() {\n if (!Platform.is.desktop) {\n return;\n }\n if (Utils.dom.width(this.$refs.scroller) === 0 && this.$refs.scroller.scrollWidth === 0) {\n return;\n }\n if (Utils.dom.width(this.$refs.scroller) + 5 < this.$refs.scroller.scrollWidth) {\n this.$el.classList.add('scrollable');\n this.scrollable = true;\n this.__updateScrollIndicator();\n } else {\n this.$el.classList.remove('scrollable');\n this.scrollable = false;\n }\n },\n __updateScrollIndicator: function __updateScrollIndicator() {\n if (!Platform.is.desktop || !this.scrollable) {\n return;\n }\n\n var action = this.$refs.scroller.scrollLeft + Utils.dom.width(this.$refs.scroller) + 5 >= this.$refs.scroller.scrollWidth ? 'add' : 'remove';\n\n this.$refs.leftScroll.classList[this.$refs.scroller.scrollLeft <= 0 ? 'add' : 'remove']('disabled');\n this.$refs.rightScroll.classList[action]('disabled');\n },\n __findTabAndScroll: function __findTabAndScroll(value) {\n var _this2 = this;\n\n setTimeout(function () {\n var tabElement = _this2.$children.find(function (child) {\n return child.uid === value;\n });\n if (tabElement) {\n _this2.__scrollToSelectedIfNeeded(tabElement.$el);\n }\n }, debounceDelay * 4);\n },\n __scrollToSelectedIfNeeded: function __scrollToSelectedIfNeeded(tab) {\n if (!tab || !this.scrollable) {\n return;\n }\n\n var contentRect = this.$refs.scroller.getBoundingClientRect(),\n tabRect = tab.getBoundingClientRect(),\n tabWidth = tabRect.width,\n offset = tabRect.left - contentRect.left;\n\n if (offset < 0) {\n this.__animScrollTo(this.$refs.scroller.scrollLeft + offset);\n } else {\n offset += tabWidth - this.$refs.scroller.offsetWidth;\n if (offset > 0) {\n this.__animScrollTo(this.$refs.scroller.scrollLeft + offset);\n }\n }\n },\n __animScrollTo: function __animScrollTo(value) {\n var _this3 = this;\n\n clearInterval(this.scrollTimer);\n this.__scrollTowards(value);\n this.scrollTimer = setInterval(function () {\n if (_this3.__scrollTowards(value)) {\n clearInterval(_this3.scrollTimer);\n }\n }, 5);\n },\n __scrollTowards: function __scrollTowards(value) {\n var scrollPosition = this.$refs.scroller.scrollLeft,\n direction = value < scrollPosition ? -1 : 1,\n done = false;\n\n scrollPosition += direction * scrollNavigationSpeed;\n\n if (scrollPosition < 0) {\n done = true;\n scrollPosition = 0;\n } else if (direction === -1 && scrollPosition <= value || direction === 1 && scrollPosition >= value) {\n done = true;\n scrollPosition = value;\n }\n\n this.$refs.scroller.scrollLeft = scrollPosition;\n return done;\n }\n }\n};\n\nvar Toggle = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('span', { directives: [{ name: \"touch-swipe\", rawName: \"v-touch-swipe.horizontal\", value: _vm.__swipe, expression: \"__swipe\", modifiers: { \"horizontal\": true } }], staticClass: \"q-toggle cursor-pointer\", class: { disabled: _vm.disable }, on: { \"click\": function click($event) {\n $event.stopPropagation();$event.preventDefault();_vm.toggle($event);\n } } }, [_c('input', { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.model, expression: \"model\" }], attrs: { \"type\": \"checkbox\", \"disabled\": _vm.disable }, domProps: { \"checked\": Array.isArray(_vm.model) ? _vm._i(_vm.model, null) > -1 : _vm.model }, on: { \"click\": function click($event) {\n $event.stopPropagation();\n }, \"change\": _vm.__change, \"__c\": function __c($event) {\n var $$a = _vm.model,\n $$el = $event.target,\n $$c = $$el.checked ? true : false;if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v);if ($$c) {\n $$i < 0 && (_vm.model = $$a.concat($$v));\n } else {\n $$i > -1 && (_vm.model = $$a.slice(0, $$i).concat($$a.slice($$i + 1)));\n }\n } else {\n _vm.model = $$c;\n }\n } } }), _c('div'), _vm.icon ? _c('i', [_vm._v(_vm._s(_vm.icon))]) : _vm._e()]);\n }, staticRenderFns: [],\n props: {\n value: {\n type: Boolean,\n required: true\n },\n disable: Boolean,\n icon: String\n },\n computed: {\n model: {\n get: function get() {\n return this.value;\n },\n set: function set(value) {\n if (value !== this.value) {\n this.$emit('input', value);\n }\n }\n }\n },\n methods: {\n toggle: function toggle() {\n if (!this.disable) {\n this.model = !this.model;\n }\n },\n __change: function __change(e) {\n if (this.$q.platform.is.ios) {\n this.toggle();\n }\n },\n __swipe: function __swipe(evt) {\n if (!this.disable) {\n if (this.model && evt.direction === 'left') {\n this.model = false;\n } else if (!this.model && evt.direction === 'right') {\n this.model = true;\n }\n }\n }\n }\n};\n\nvar Tooltip = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('span', { staticClass: \"q-tooltip animate-scale\", style: _vm.transformCSS }, [_vm._t(\"default\")], 2);\n }, staticRenderFns: [],\n props: {\n anchor: {\n type: String,\n default: 'top middle',\n validator: Utils.popup.positionValidator\n },\n self: {\n type: String,\n default: 'bottom middle',\n validator: Utils.popup.positionValidator\n },\n offset: {\n type: Array,\n validator: Utils.popup.offsetValidator\n },\n maxHeight: String,\n disable: Boolean\n },\n data: function data() {\n return {\n opened: false\n };\n },\n\n computed: {\n anchorOrigin: function anchorOrigin() {\n return Utils.popup.parsePosition(this.anchor);\n },\n selfOrigin: function selfOrigin() {\n return Utils.popup.parsePosition(this.self);\n },\n transformCSS: function transformCSS() {\n return Utils.popup.getTransformProperties({\n selfOrigin: this.selfOrigin\n });\n }\n },\n methods: {\n toggle: function toggle() {\n if (this.opened) {\n this.close();\n } else {\n this.open();\n }\n },\n open: function open() {\n if (this.disable) {\n return;\n }\n this.opened = true;\n document.body.appendChild(this.$el);\n this.scrollTarget = Utils.dom.getScrollTarget(this.anchorEl);\n this.scrollTarget.addEventListener('scroll', this.close);\n window.addEventListener('resize', this.__debouncedUpdatePosition);\n if (Platform.is.mobile) {\n document.body.addEventListener('click', this.close, true);\n }\n this.__updatePosition();\n },\n close: function close() {\n if (this.opened) {\n this.opened = false;\n this.scrollTarget.removeEventListener('scroll', this.close);\n window.removeEventListener('resize', this.__debouncedUpdatePosition);\n document.body.removeChild(this.$el);\n if (Platform.is.mobile) {\n document.body.removeEventListener('click', this.close, true);\n }\n }\n },\n __updatePosition: function __updatePosition() {\n Utils.popup.setPosition({\n el: this.$el,\n offset: this.offset,\n anchorEl: this.anchorEl,\n anchorOrigin: this.anchorOrigin,\n selfOrigin: this.selfOrigin,\n maxHeight: this.maxHeight\n });\n }\n },\n created: function created() {\n var _this = this;\n\n this.__debouncedUpdatePosition = Utils.debounce(function () {\n _this.__updatePosition();\n }, 70);\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.$el.offsetHeight;\n\n _this2.anchorEl = _this2.$el.parentNode;\n _this2.anchorEl.removeChild(_this2.$el);\n if (Platform.is.mobile) {\n _this2.anchorEl.addEventListener('click', _this2.open);\n } else {\n _this2.anchorEl.addEventListener('mouseenter', _this2.open);\n _this2.anchorEl.addEventListener('focus', _this2.open);\n _this2.anchorEl.addEventListener('mouseleave', _this2.close);\n _this2.anchorEl.addEventListener('blur', _this2.close);\n }\n });\n },\n beforeDestroy: function beforeDestroy() {\n if (Platform.is.mobile) {\n this.anchorEl.removeEventListener('click', this.open);\n } else {\n this.anchorEl.removeEventListener('mouseenter', this.open);\n this.anchorEl.removeEventListener('click', this.open);\n this.anchorEl.removeEventListener('mouseleave', this.close);\n this.anchorEl.removeEventListener('blur', this.close);\n }\n this.close();\n }\n};\n\nvar QTreeItem = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('li', { staticClass: \"q-tree-item\" }, [_c('div', { class: { 'q-tree-expandable-item': _vm.isExpandable, 'q-tree-link': _vm.model.handler }, on: { \"click\": _vm.toggle } }, [_vm.model.icon ? _c('i', [_vm._v(_vm._s(_vm.model.icon))]) : _vm._e(), _vm._v(\" \"), _c('span', { staticClass: \"q-tree-label\" }, [_vm._v(_vm._s(_vm.model.title))]), _vm._v(\" \"), _vm.isExpandable ? _c('span', { domProps: { \"innerHTML\": _vm._s(_vm.model.expanded ? _vm.contractHtml : _vm.expandHtml) } }) : _vm._e()]), _c('q-transition', { attrs: { \"name\": \"slide\" } }, [_c('ul', { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.isExpandable && _vm.model.expanded, expression: \"isExpandable && model.expanded\" }] }, _vm._l(_vm.model.children, function (item) {\n return _c('q-tree-item', { key: item, attrs: { \"model\": item, \"contract-html\": _vm.contractHtml, \"expand-html\": _vm.expandHtml } });\n }))])], 1);\n }, staticRenderFns: [],\n name: 'q-tree-item',\n props: ['model', 'contract-html', 'expand-html'],\n methods: {\n toggle: function toggle() {\n if (this.isExpandable) {\n this.model.expanded = !this.model.expanded;\n return;\n }\n\n if (typeof this.model.handler === 'function') {\n this.model.handler(this.model);\n }\n }\n },\n computed: {\n isExpandable: function isExpandable() {\n return this.model.children && this.model.children.length;\n }\n }\n};\n\nvar Tree = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-tree\" }, [_c('ul', _vm._l(_vm.model, function (item) {\n return _c('q-tree-item', { key: item, attrs: { \"model\": item, \"contract-html\": _vm.contractHtml, \"expand-html\": _vm.expandHtml } });\n }))]);\n }, staticRenderFns: [],\n props: {\n model: {\n type: Array,\n required: true\n },\n contractHtml: {\n type: String,\n required: true,\n default: '<i>remove_circle</i>'\n },\n expandHtml: {\n type: String,\n required: true,\n default: '<i>add_circle</i>'\n }\n },\n components: {\n QTreeItem: QTreeItem\n }\n};\n\nvar Uploader = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-uploader\" }, [_c('input', { ref: \"file\", attrs: { \"type\": \"file\", \"accept\": _vm.extensions, \"multiple\": _vm.multiple }, on: { \"change\": _vm.__add } }), _vm.uploading ? _c('div', [_c('span', { staticClass: \"chip label bg-light q-uploader-progress\" }, [_c('span', { domProps: { \"innerHTML\": _vm._s(_vm.computedLabel.uploading) } }), _c('spinner', { attrs: { \"size\": 15 } }), _vm._v(_vm._s(_vm.progress) + \"%\")], 1)]) : _c('div', { staticClass: \"group\" }, [_c('button', { class: _vm.buttonClass, attrs: { \"disabled\": _vm.addButtonDisabled }, domProps: { \"innerHTML\": _vm._s(_vm.computedLabel.add) }, on: { \"click\": function click($event) {\n _vm.$refs.file.click();\n } } }), _vm._v(\" \"), !_vm.hideUploadButton ? _c('button', { class: _vm.buttonClass, attrs: { \"disabled\": _vm.files.length === 0 }, domProps: { \"innerHTML\": _vm._s(_vm.computedLabel.upload) }, on: { \"click\": _vm.upload } }) : _vm._e()]), _c('div', { staticClass: \"row wrap items-center group\" }, [_vm._l(_vm.images, function (img) {\n return _c('div', { key: img.name, staticClass: \"card\" }, [_c('div', { staticClass: \"card-title\" }, [_vm._v(_vm._s(img.name))]), _c('div', { staticClass: \"card-media\" }, [_c('img', { attrs: { \"src\": img.src } })]), _c('div', { staticClass: \"card-content\" }, [_c('div', { staticClass: \"row items-center\" }, [_c('span', { staticClass: \"text-faded\" }, [_vm._v(_vm._s(img.__file.__size))]), _c('div', { staticClass: \"auto\" }), _c('button', { directives: [{ name: \"show\", rawName: \"v-show\", value: !_vm.uploading, expression: \"!uploading\" }], staticClass: \"primary clear small\", domProps: { \"innerHTML\": _vm._s(_vm.computedLabel.remove) }, on: { \"click\": function click($event) {\n _vm.__remove(img.name);\n } } })])]), img.__file.__progress ? _c('q-progress', { attrs: { \"percentage\": img.__file.__progress } }) : _vm._e(), img.__file.__failed ? _c('div', { staticClass: \"q-uploader-failed\", domProps: { \"innerHTML\": _vm._s(_vm.computedLabel.failed) } }) : _vm._e()], 1);\n }), _vm._l(_vm.otherFiles, function (file) {\n return _c('div', { key: file.name, staticClass: \"card\" }, [_c('div', { staticClass: \"card-title\" }, [_vm._v(_vm._s(file.name))]), _c('div', { staticClass: \"card-content\" }, [_c('div', { staticClass: \"row items-center\" }, [_c('span', { staticClass: \"text-faded\" }, [_vm._v(_vm._s(file.__size))]), _c('div', { staticClass: \"auto\" }), _c('button', { directives: [{ name: \"show\", rawName: \"v-show\", value: !_vm.uploading, expression: \"!uploading\" }], staticClass: \"primary clear small\", domProps: { \"innerHTML\": _vm._s(_vm.computedLabel.remove) }, on: { \"click\": function click($event) {\n _vm.__remove(file.name);\n } } })])]), file.__progress ? _c('q-progress', { attrs: { \"percentage\": file.__progress } }) : _vm._e(), file.__failed ? _c('div', { staticClass: \"q-uploader-failed\", domProps: { \"innerHTML\": _vm._s(_vm.computedLabel.failed) } }) : _vm._e()], 1);\n })], 2)]);\n }, staticRenderFns: [],\n props: {\n headers: Object,\n url: {\n type: String,\n required: true\n },\n additionalFields: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n buttonClass: {\n type: String,\n default: 'primary'\n },\n labels: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n method: {\n type: String,\n default: 'POST'\n },\n extensions: String,\n multiple: Boolean,\n hideUploadButton: Boolean\n },\n data: function data() {\n return {\n files: [],\n uploading: false,\n uploadedSize: 0,\n totalSize: 0,\n images: [],\n otherFiles: []\n };\n },\n\n computed: {\n progress: function progress() {\n return this.totalSize ? (this.uploadedSize / this.totalSize * 100).toFixed(2) : 0;\n },\n computedLabel: function computedLabel() {\n return Utils.extend({\n add: this.multiple ? '<i>add</i> Add Files' : '<i>add</i> Pick File',\n remove: '<i>clear</i> Remove',\n upload: '<i>file_upload</i> Upload',\n failed: '<i>warning</i> Failed',\n uploading: 'Uploading...'\n }, this.labels);\n },\n addButtonDisabled: function addButtonDisabled() {\n return !this.multiple && this.files.length >= 1;\n }\n },\n methods: {\n __add: function __add(e) {\n var _this = this;\n\n if (!this.multiple && this.files.length >= 1) {\n return;\n }\n\n var files = Array.prototype.slice.call(e.target.files);\n this.$emit('add', files);\n\n files = files.filter(function (file) {\n return !_this.files.some(function (f) {\n return file.name === f.name;\n });\n }).map(function (file) {\n file.__failed = false;\n file.__uploaded = 0;\n file.__progress = 0;\n file.__size = Utils.format.humanStorageSize(file.size);\n return file;\n });\n\n files.filter(function (file) {\n return file.type.startsWith('image');\n }).forEach(function (file, index) {\n var reader = new FileReader();\n reader.onload = function (e) {\n var img = new Image();\n img.src = e.target.result;\n img.name = file.name;\n img.__file = file;\n _this.images.push(img);\n };\n reader.readAsDataURL(file);\n });\n this.otherFiles = this.otherFiles.concat(files.filter(function (file) {\n return !file.type.startsWith('image');\n }));\n this.files = this.files.concat(files);\n },\n __remove: function __remove(name, done) {\n this.$emit(done ? 'upload' : 'remove', name);\n this.images = this.images.filter(function (file) {\n return file.name !== name;\n });\n this.otherFiles = this.otherFiles.filter(function (file) {\n return file.name !== name;\n });\n this.files = this.files.filter(function (file) {\n return file.name !== name;\n });\n },\n __getUploadPromise: function __getUploadPromise(file) {\n var _this2 = this;\n\n var form = new FormData();\n var xhr = new XMLHttpRequest();\n\n try {\n form.append('Content-Type', file.type || 'application/octet-stream');\n form.append('file', file);\n this.additionalFields.forEach(function (field) {\n form.append(field.name, field.value);\n });\n } catch (e) {\n return;\n }\n\n file.__uploaded = 0;\n file.__progress = 0;\n file.__failed = false;\n return new Promise(function (resolve, reject) {\n xhr.upload.addEventListener('progress', function (e) {\n e.percent = e.total ? e.loaded / e.total : 0;\n var uploaded = e.percent * file.size;\n _this2.uploadedSize += uploaded - file.__uploaded;\n file.__uploaded = uploaded;\n file.__progress = parseInt(e.percent * 100, 10);\n }, false);\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState < 4) {\n return;\n }\n if (xhr.status && xhr.status < 400) {\n _this2.__remove(file.name, true);\n resolve(file);\n } else {\n file.__failed = true;\n reject(xhr);\n }\n };\n\n xhr.onerror = function () {\n reject(xhr);\n };\n\n xhr.open(_this2.method, _this2.url, true);\n if (_this2.headers) {\n Object.keys(_this2.headers).forEach(function (key) {\n xhr.setRequestHeader(key, _this2.headers[key]);\n });\n }\n xhr.send(form);\n });\n },\n upload: function upload() {\n var _this3 = this;\n\n var filesDone = 0;\n var length = this.files.length;\n\n if (!length) {\n return;\n }\n\n this.uploadedSize = 0;\n this.totalSize = this.files.map(function (file) {\n return file.size;\n }).reduce(function (total, size) {\n return total + size;\n });\n this.uploading = true;\n this.$emit('start');\n\n var solved = function solved() {\n filesDone++;\n if (filesDone === length) {\n _this3.uploading = false;\n _this3.$emit('finish');\n }\n };\n\n this.files.map(function (file) {\n return _this3.__getUploadPromise(file);\n }).forEach(function (promise) {\n promise.then(solved).catch(solved);\n });\n }\n }\n};\n\nvar Video = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"video\" }, [_c('iframe', { attrs: { \"src\": _vm.src, \"frameborder\": \"0\", \"allowfullscreen\": \"\" } })], 1);\n }, staticRenderFns: [],\n props: ['src']\n};\n\nfunction registerDirectives(_Vue) {\n [['back-to-top', dBackToTop], ['go-back', dGoBack], ['link', dLink], ['scroll-fire', dScrollFire], ['scroll', dScroll], ['touch-hold', dTouchHold], ['touch-pan', dTouchPan], ['touch-swipe', dTouchSwipe]].forEach(function (d) {\n _Vue.directive(d[0], d[1]);\n });\n}\n\nfunction registerComponents(_Vue) {\n _Vue.component('spinner', Spinner);\n _Vue.component('q-transition', Transition);[['ajax-bar', AjaxBar], ['autocomplete', Autocomplete], ['checkbox', Checkbox], ['chips', Chips], ['collapsible', Collapsible], ['context-menu', Platform.is.desktop ? ContextMenuDesktop : ContextMenuMobile], ['data-table', DataTable], ['inline-datetime', current === 'ios' ? InlineDatetimeIOS : InlineDatetimeMaterial], ['datetime', Datetime], ['datetime-range', DatetimeRange], ['drawer', Drawer], ['drawer-link', DrawerLink], ['fab', Fab], ['small-fab', SmallFab], ['gallery', Gallery], ['gallery-slider', GallerySlider], ['checkbox', Checkbox], ['infinite-scroll', InfiniteScroll], ['knob', Knob], ['layout', Layout], ['list-item', ListItem], ['toolbar-title', ToolbarTitle], ['modal', Modal], ['numeric', Numeric], ['pagination', Pagination$1], ['parallax', Parallax], ['picker-textfield', PickerTextfield], ['popover', Popover], ['progress', Progress], ['progress-button', ProgressButton], ['pull-to-refresh', PullToRefresh], ['radio', Radio], ['range', Range], ['double-range', DoubleRange], ['rating', Rating], ['search', Search], ['select', Select], ['dialog-select', DialogSelect], ['slider', Slider], ['state', State], ['stepper', Stepper], ['step', Step], ['tab', Tab], ['tabs', Tabs], ['toggle', Toggle], ['tooltip', Tooltip], ['tree', Tree], ['uploader', Uploader], ['video', Video]].forEach(function (c) {\n _Vue.component('q-' + c[0], c[1]);\n });\n}\n\nvar Vue;\n\nvar install$$1 = function (_Vue) {\n if (this.installed) {\n console.warn('Quasar already installed in Vue.');\n return;\n }\n\n Vue = _Vue;\n\n install$1(_Vue);\n registerDirectives(_Vue);\n registerComponents(_Vue);\n install$2(_Vue);\n\n _Vue.prototype.$q = {\n version: version,\n platform: Platform,\n theme: current,\n events: Events\n };\n};\n\nvar start$1 = function () {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};\n\n if (Platform.is.cordova && !Platform.within.iframe) {\n var tag = document.createElement('script');\n\n document.addEventListener('deviceready', callback, false);\n\n tag.type = 'text/javascript';\n document.body.appendChild(tag);\n tag.src = 'cordova.js';\n\n return;\n }\n\n callback();\n};\n\nvar standaloneInstall = function (Quasar) {\n if (typeof window !== 'undefined' && window.Vue) {\n if (!Quasar.theme.current) {\n Quasar.theme.set('mat');\n }\n\n window.Quasar = Quasar;\n window.Vue.use(Quasar);\n }\n};\n\nfunction addClass(className) {\n document.body.classList.add(className);\n}\n\nUtils.dom.ready(function () {\n addClass(Platform.is.desktop ? 'desktop' : 'mobile');\n addClass(Platform.has.touch ? 'touch' : 'no-touch');\n\n if (Platform.is.ios) {\n addClass('platform-ios');\n } else if (Platform.is.android) {\n addClass('platform-android');\n }\n\n if (Platform.within.iframe) {\n addClass('within-iframe');\n }\n\n if (Platform.is.cordova) {\n addClass('cordova');\n }\n\n if (Platform.is.electron) {\n addClass('electron');\n }\n});\n\nif (!Array.prototype.includes) {\n Array.prototype.includes = function (searchEl, startFrom) {\n 'use strict';\n\n var O = Object(this);\n var len = parseInt(O.length, 10) || 0;\n if (len === 0) {\n return false;\n }\n var n = parseInt(startFrom, 10) || 0;\n var k = void 0;\n if (n >= 0) {\n k = n;\n } else {\n k = len + n;\n if (k < 0) {\n k = 0;\n }\n }\n var curEl = void 0;\n while (k < len) {\n curEl = O[k];\n if (searchEl === curEl || searchEl !== searchEl && curEl !== curEl) {\n return true;\n }\n k++;\n }\n return false;\n };\n}\n\nif (!String.prototype.startsWith) {\n String.prototype.startsWith = function (str, position) {\n position = position || 0;\n return this.substr(position, str.length) === str;\n };\n}\n\nif (!String.prototype.endsWith) {\n String.prototype.endsWith = function (str, position) {\n var subjectString = this.toString();\n\n if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n position = subjectString.length;\n }\n position -= str.length;\n\n var lastIndex = subjectString.indexOf(str, position);\n\n return lastIndex !== -1 && lastIndex === position;\n };\n}\n\nif (typeof Element.prototype.matches !== 'function') {\n Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.webkitMatchesSelector || function matches(selector) {\n var element = this,\n elements = (element.document || element.ownerDocument).querySelectorAll(selector),\n index = 0;\n\n while (elements[index] && elements[index] !== element) {\n ++index;\n }\n\n return Boolean(elements[index]);\n };\n}\n\nif (typeof Element.prototype.closest !== 'function') {\n Element.prototype.closest = function closest(selector) {\n var el = this;\n while (el && el.nodeType === 1) {\n if (el.matches(selector)) {\n return el;\n }\n el = el.parentNode;\n }\n return null;\n };\n}\n\nif (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, 'find', {\n value: function value(predicate) {\n 'use strict';\n\n if (this == null) {\n throw new TypeError('Array.prototype.find called on null or undefined');\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return value;\n }\n }\n return undefined;\n }\n });\n}\n\nwindow.onerror = function (message, source, lineno, colno, error) {\n Events.$emit('app:error', {\n message: message,\n source: source,\n lineno: lineno,\n colno: colno,\n error: error\n });\n};\n\nif (Platform.has.touch) {\n Utils.dom.ready(function () {\n FastClick.attach(document.body);\n });\n}\n\nif (Platform.is.mobile && !Platform.is.cordova) {\n Utils.dom.ready(function () {\n var tempDiv = document.createElement('div');\n tempDiv.style.height = '10px';\n tempDiv.style.position = 'absolute';\n tempDiv.style.top = '-100000px';\n tempDiv.className = 'bg-primary';\n document.body.appendChild(tempDiv);\n\n var primaryColor = window.getComputedStyle(tempDiv).getPropertyValue('background-color');\n\n document.body.removeChild(tempDiv);\n\n var rgb = primaryColor.match(/\\d+/g);\n var hex = '#' + Utils.colors.rgbToHex(parseInt(rgb[0]), parseInt(rgb[1]), parseInt(rgb[2]));\n\n var metaTag = document.createElement('meta');\n\n if (Platform.is.winphone) {\n metaTag.setAttribute('name', 'msapplication-navbutton-color');\n }\n\n if (Platform.is.webkit || Platform.is.vivaldi) {\n metaTag.setAttribute('name', 'theme-color');\n }\n\n if (Platform.is.safari) {\n metaTag.setAttribute('name', 'apple-mobile-web-app-status-bar-style');\n }\n metaTag.setAttribute('content', hex);\n\n document.getElementsByTagName('head')[0].appendChild(metaTag);\n });\n}\n\nvar ActionSheets = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('q-modal', { ref: \"dialog\", attrs: { \"position\": \"bottom\", \"content-css\": _vm.contentCss }, on: { \"close\": function close($event) {\n _vm.__dismiss();\n } } }, [_vm.$q.theme === 'mat' ? _vm._m(0) : _vm._e(), _vm.$q.theme === 'ios' ? _vm._m(1) : _vm._e()]);\n }, staticRenderFns: [function () {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', [_vm.title ? _c('div', { staticClass: \"modal-header\", domProps: { \"innerHTML\": _vm._s(_vm.title) } }) : _vm._e(), _c('div', { staticClass: \"modal-scroll\" }, [_vm.gallery ? _c('div', { staticClass: \"q-action-sheet-gallery row wrap items-center justify-center\" }, _vm._l(_vm.actions, function (button) {\n return _c('div', { staticClass: \"cursor-pointer column inline items-center justify-center\", class: button.classes, attrs: { \"tabindex\": \"0\" }, on: { \"click\": function click($event) {\n _vm.close(button.handler);\n }, \"keydown\": function keydown($event) {\n if (_vm._k($event.keyCode, \"enter\", 13)) {\n return null;\n }_vm.close(button.handler);\n } } }, [button.icon ? _c('i', [_vm._v(_vm._s(button.icon))]) : _vm._e(), _vm._v(\" \"), button.avatar ? _c('img', { staticClass: \"avatar\", attrs: { \"src\": button.avatar } }) : _vm._e(), _vm._v(\" \"), _c('span', [_vm._v(_vm._s(button.label))])]);\n })) : _c('div', { staticClass: \"list no-border\" }, _vm._l(_vm.actions, function (button) {\n return _c('div', { staticClass: \"item item-link\", class: button.classes, attrs: { \"tabindex\": \"0\" }, on: { \"click\": function click($event) {\n _vm.close(button.handler);\n }, \"keydown\": function keydown($event) {\n if (_vm._k($event.keyCode, \"enter\", 13)) {\n return null;\n }_vm.close(button.handler);\n } } }, [button.icon ? _c('i', { staticClass: \"item-primary\" }, [_vm._v(_vm._s(button.icon))]) : _vm._e(), _vm._v(\" \"), button.avatar ? _c('img', { staticClass: \"item-primary\", attrs: { \"src\": button.avatar } }) : _vm._e(), _c('div', { staticClass: \"item-content inset\" }, [_vm._v(_vm._s(button.label))])]);\n }))]), _vm.dismiss ? _c('div', { staticClass: \"list no-border\" }, [_c('div', { staticClass: \"item item-link\", class: _vm.dismiss.classes, attrs: { \"tabindex\": \"0\" }, on: { \"click\": function click($event) {\n _vm.close();\n }, \"keydown\": function keydown($event) {\n if (_vm._k($event.keyCode, \"enter\", 13)) {\n return null;\n }_vm.close();\n } } }, [_vm.dismiss.icon ? _c('i', { staticClass: \"item-primary\" }, [_vm._v(_vm._s(_vm.dismiss.icon))]) : _vm._e(), _c('div', { staticClass: \"item-content inset\" }, [_vm._v(_vm._s(_vm.dismiss.label))])])]) : _vm._e()]);\n }, function () {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', [_c('div', { staticClass: \"q-action-sheet\" }, [_vm.title ? _c('div', { staticClass: \"modal-header\", domProps: { \"innerHTML\": _vm._s(_vm.title) } }) : _vm._e(), _c('div', { staticClass: \"modal-scroll\" }, [_vm.gallery ? _c('div', { staticClass: \"q-action-sheet-gallery row wrap items-center justify-center\" }, _vm._l(_vm.actions, function (button) {\n return _c('div', { staticClass: \"cursor-pointer column inline items-center justify-center\", class: button.classes, attrs: { \"tabindex\": \"0\" }, on: { \"click\": function click($event) {\n _vm.close(button.handler);\n }, \"keydown\": function keydown($event) {\n if (_vm._k($event.keyCode, \"enter\", 13)) {\n return null;\n }_vm.close(button.handler);\n } } }, [button.icon ? _c('i', [_vm._v(_vm._s(button.icon))]) : _vm._e(), _vm._v(\" \"), button.avatar ? _c('img', { staticClass: \"avatar\", attrs: { \"src\": button.avatar } }) : _vm._e(), _vm._v(\" \"), _c('span', [_vm._v(_vm._s(button.label))])]);\n })) : _c('div', { staticClass: \"list no-border\" }, _vm._l(_vm.actions, function (button) {\n return _c('div', { staticClass: \"item item-link\", class: button.classes, attrs: { \"tabindex\": \"0\" }, on: { \"click\": function click($event) {\n _vm.close(button.handler);\n }, \"keydown\": function keydown($event) {\n if (_vm._k($event.keyCode, \"enter\", 13)) {\n return null;\n }_vm.close(button.handler);\n } } }, [button.icon ? _c('i', { staticClass: \"item-primary\" }, [_vm._v(_vm._s(button.icon))]) : _vm._e(), _vm._v(\" \"), button.avatar ? _c('img', { staticClass: \"item-primary\", attrs: { \"src\": button.avatar } }) : _vm._e(), _c('div', { staticClass: \"item-content inset\" }, [_vm._v(_vm._s(button.label))])]);\n }))])]), _vm.dismiss ? _c('div', { staticClass: \"q-action-sheet\" }, [_c('div', { staticClass: \"item item-link\", class: _vm.dismiss.classes, attrs: { \"tabindex\": \"0\" }, on: { \"click\": function click($event) {\n _vm.close();\n }, \"keydown\": function keydown($event) {\n if (_vm._k($event.keyCode, \"enter\", 13)) {\n return null;\n }_vm.close();\n } } }, [_c('div', { staticClass: \"item-content row justify-center\" }, [_vm._v(_vm._s(_vm.dismiss.label))])])]) : _vm._e()]);\n }],\n props: {\n title: String,\n gallery: Boolean,\n actions: {\n type: Array,\n required: true\n },\n dismiss: Object\n },\n computed: {\n opened: function opened() {\n return this.$refs.dialog.active;\n },\n actionButtons: function actionButtons() {\n return this.buttons.slice(0, this.buttons.length - 2);\n },\n dismissButton: function dismissButton() {\n return this.buttons[this.buttons.length - 1];\n },\n contentCss: function contentCss() {\n if (this.$q.theme === 'ios') {\n return { backgroundColor: 'transparent' };\n }\n }\n },\n methods: {\n close: function close(fn) {\n if (!this.opened) {\n return;\n }\n var hasFn = typeof fn === 'function';\n\n if (hasFn) {\n this.__runCancelHandler = false;\n }\n this.$refs.dialog.close(function () {\n if (hasFn) {\n fn();\n }\n });\n },\n __dismiss: function __dismiss() {\n this.$root.$destroy();\n if (this.__runCancelHandler && this.dismiss && typeof this.dismiss.handler === 'function') {\n this.dismiss.handler();\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.__runCancelHandler = true;\n this.$nextTick(function () {\n _this.$refs.dialog.open();\n _this.$root.quasarClose = _this.close;\n });\n }\n};\n\nvar ActionSheet = ModalGenerator(ActionSheets);\n\nfunction isActive() {\n return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement;\n}\n\nfunction request(target) {\n target = target || document.documentElement;\n\n if (isActive()) {\n return;\n }\n\n if (target.requestFullscreen) {\n target.requestFullscreen();\n } else if (target.msRequestFullscreen) {\n target.msRequestFullscreen();\n } else if (target.mozRequestFullScreen) {\n target.mozRequestFullScreen();\n } else if (target.webkitRequestFullscreen) {\n target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);\n }\n}\n\nfunction exit() {\n if (document.exitFullscreen) {\n document.exitFullscreen();\n } else if (document.msExitFullscreen) {\n document.msExitFullscreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.webkitExitFullscreen) {\n document.webkitExitFullscreen();\n }\n}\n\nfunction toggle(target) {\n if (isActive()) {\n exit();\n } else {\n request(target);\n }\n}\n\nvar AppFullscreen = {\n isActive: isActive,\n request: request,\n exit: exit,\n toggle: toggle\n};\n\nvar hidden = 'hidden';\nvar appVisibility = 'visible';\n\nfunction onchange(evt) {\n var v = 'visible',\n h = 'hidden',\n state = void 0,\n evtMap = {\n focus: v,\n focusin: v,\n pageshow: v,\n blur: h,\n focusout: h,\n pagehide: h\n };\n\n evt = evt || window.event;\n\n if (evt.type in evtMap) {\n state = evtMap[evt.type];\n } else {\n state = this[hidden] ? h : v;\n }\n\n appVisibility = state;\n Events.$emit('app:visibility', state);\n}\n\nUtils.dom.ready(function () {\n if (hidden in document) {\n document.addEventListener('visibilitychange', onchange);\n } else if ((hidden = 'mozHidden') in document) {\n document.addEventListener('mozvisibilitychange', onchange);\n } else if ((hidden = 'webkitHidden') in document) {\n document.addEventListener('webkitvisibilitychange', onchange);\n } else if ((hidden = 'msHidden') in document) {\n document.addEventListener('msvisibilitychange', onchange);\n } else if ('onfocusin' in document) {\n document.onfocusin = document.onfocusout = onchange;\n } else {\n window.onpageshow = window.onpagehide = window.onfocus = window.onblur = onchange;\n }\n\n if (document[hidden] !== undefined) {\n onchange({ type: document[hidden] ? 'blur' : 'focus' });\n }\n});\n\nvar AppVisibility = {\n isVisible: function isVisible() {\n return appVisibility === 'visible';\n }\n};\n\nfunction encode(string) {\n return encodeURIComponent(string);\n}\n\nfunction decode(string) {\n return decodeURIComponent(string);\n}\n\nfunction stringifyCookieValue(value) {\n return encode(value === Object(value) ? JSON.stringify(value) : '' + value);\n}\n\nfunction read(string) {\n if (string === '') {\n return string;\n }\n\n if (string.indexOf('\"') === 0) {\n string = string.slice(1, -1).replace(/\\\\\"/g, '\"').replace(/\\\\\\\\/g, '\\\\');\n }\n\n string = decode(string.replace(/\\+/g, ' '));\n\n try {\n string = JSON.parse(string);\n } catch (e) {}\n\n return string;\n}\n\nfunction set$2(key, value) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var days = options.expires,\n time = void 0;\n\n if (typeof options.expires === 'number') {\n time = new Date();\n time.setMilliseconds(time.getMilliseconds() + days * 864e+5);\n }\n\n document.cookie = [encode(key), '=', stringifyCookieValue(value), time ? '; expires=' + time.toUTCString() : '', options.path ? '; path=' + options.path : '', options.domain ? '; domain=' + options.domain : '', options.secure ? '; secure' : ''].join('');\n}\n\nfunction get$2(key) {\n var result = key ? undefined : {},\n cookies = document.cookie ? document.cookie.split('; ') : [],\n i = 0,\n l = cookies.length,\n parts = void 0,\n name = void 0,\n cookie = void 0;\n\n for (; i < l; i++) {\n parts = cookies[i].split('=');\n name = decode(parts.shift());\n cookie = parts.join('=');\n\n if (!key) {\n result[name] = cookie;\n } else if (key === name) {\n result = read(cookie);\n break;\n }\n }\n\n return result;\n}\n\nfunction remove$1(key, options) {\n set$2(key, '', Utils.extend(true, {}, options, {\n expires: -1\n }));\n}\n\nfunction has(key) {\n return get$2(key) !== undefined;\n}\n\nvar Cookies = {\n get: get$2,\n set: set$2,\n has: has,\n remove: remove$1,\n all: function all() {\n return get$2();\n }\n};\n\nvar Loading$1 = { render: function render() {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"q-loading animate-fade fullscreen column items-center justify-center z-absolute\" }, [_c('spinner', { attrs: { \"name\": _vm.spinner, \"color\": _vm.spinnerColor, \"size\": _vm.spinnerSize } }), _vm.message ? _c('div', { style: { color: _vm.messageColor } }, [_vm._v(_vm._s(_vm.message))]) : _vm._e()], 1);\n }, staticRenderFns: [],\n props: {\n message: [String, Boolean],\n spinner: String,\n spinnerSize: {\n type: Number,\n default: 80\n },\n spinnerColor: {\n type: String,\n default: '#fff'\n },\n messageColor: {\n type: String,\n default: 'white'\n }\n }\n};\n\nvar vm = void 0;\nvar appIsInProgress = false;\nvar timeout = void 0;\nvar props = {};\n\nfunction isActive$1() {\n return appIsInProgress;\n}\n\nfunction show() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$delay = _ref.delay,\n delay = _ref$delay === undefined ? 500 : _ref$delay,\n _ref$spinner = _ref.spinner,\n spinner = _ref$spinner === undefined ? current === 'ios' ? 'ios' : 'tail' : _ref$spinner,\n _ref$message = _ref.message,\n message = _ref$message === undefined ? false : _ref$message,\n spinnerSize = _ref.spinnerSize,\n spinnerColor = _ref.spinnerColor,\n messageColor = _ref.messageColor;\n\n props.spinner = spinner;\n props.message = message;\n props.spinnerSize = spinnerSize;\n props.spinnerColor = spinnerColor;\n props.messageColor = messageColor;\n\n if (appIsInProgress) {\n vm && vm.$forceUpdate();\n return;\n }\n\n timeout = setTimeout(function () {\n timeout = null;\n\n var node = document.createElement('div');\n document.body.appendChild(node);\n document.body.classList.add('with-loading');\n\n vm = new Vue({\n el: node,\n render: function render(h) {\n return h(Loading$1, { props: props });\n }\n });\n }, delay);\n\n appIsInProgress = true;\n Events.$emit('app:loading', true);\n}\n\nfunction hide() {\n if (!appIsInProgress) {\n return;\n }\n\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n } else {\n vm.$destroy();\n document.body.classList.remove('with-loading');\n document.body.removeChild(vm.$el);\n vm = null;\n }\n\n appIsInProgress = false;\n Events.$emit('app:loading', false);\n}\n\nvar Loading = {\n isActive: isActive$1,\n show: show,\n hide: hide\n};\n\nfunction encode$1(value) {\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return '__q_date|' + value.toUTCString();\n }\n if (Object.prototype.toString.call(value) === '[object RegExp]') {\n return '__q_expr|' + value.source;\n }\n if (typeof value === 'number') {\n return '__q_numb|' + value;\n }\n if (typeof value === 'boolean') {\n return '__q_bool|' + (value ? '1' : '0');\n }\n if (typeof value === 'string') {\n return '__q_strn|' + value;\n }\n if (typeof value === 'function') {\n return '__q_strn|' + value.toString();\n }\n if (value === Object(value)) {\n return '__q_objt|' + JSON.stringify(value);\n }\n\n return value;\n}\n\nfunction decode$1(value) {\n var type = void 0,\n length = void 0,\n source = void 0;\n\n length = value.length;\n if (length < 10) {\n return value;\n }\n\n type = value.substr(0, 8);\n source = value.substring(9);\n\n switch (type) {\n case '__q_date':\n return new Date(source);\n\n case '__q_expr':\n return new RegExp(source);\n\n case '__q_numb':\n return Number(source);\n\n case '__q_bool':\n return Boolean(source === '1');\n\n case '__q_strn':\n return '' + source;\n\n case '__q_objt':\n return JSON.parse(source);\n\n default:\n return value;\n }\n}\n\nfunction generateFunctions(fn) {\n return {\n local: fn('local'),\n session: fn('session')\n };\n}\n\nvar hasStorageItem = generateFunctions(function (type) {\n return function (key) {\n return window[type + 'Storage'].getItem(key) !== null;\n };\n});\nvar getStorageLength = generateFunctions(function (type) {\n return function () {\n return window[type + 'Storage'].length;\n };\n});\nvar getStorageItem = generateFunctions(function (type) {\n var hasFn = hasStorageItem[type],\n storage = window[type + 'Storage'];\n\n return function (key) {\n if (hasFn(key)) {\n return decode$1(storage.getItem(key));\n }\n return null;\n };\n});\nvar getStorageAtIndex = generateFunctions(function (type) {\n var lengthFn = getStorageLength[type],\n getItemFn = getStorageItem[type],\n storage = window[type + 'Storage'];\n\n return function (index) {\n if (index < lengthFn()) {\n return getItemFn(storage.key(index));\n }\n };\n});\nvar getAllStorageItems = generateFunctions(function (type) {\n var lengthFn = getStorageLength[type],\n storage = window[type + 'Storage'],\n getItemFn = getStorageItem[type];\n\n return function () {\n var result = {},\n key = void 0,\n length = lengthFn();\n\n for (var i = 0; i < length; i++) {\n key = storage.key(i);\n result[key] = getItemFn(key);\n }\n\n return result;\n };\n});\nvar setStorageItem = generateFunctions(function (type) {\n var storage = window[type + 'Storage'];\n return function (key, value) {\n storage.setItem(key, encode$1(value));\n };\n});\nvar removeStorageItem = generateFunctions(function (type) {\n var storage = window[type + 'Storage'];\n return function (key) {\n storage.removeItem(key);\n };\n});\nvar clearStorage = generateFunctions(function (type) {\n var storage = window[type + 'Storage'];\n return function () {\n storage.clear();\n };\n});\nvar storageIsEmpty = generateFunctions(function (type) {\n var getLengthFn = getStorageLength[type];\n return function () {\n return getLengthFn() === 0;\n };\n});\n\nvar LocalStorage = {\n has: hasStorageItem.local,\n get: {\n length: getStorageLength.local,\n item: getStorageItem.local,\n index: getStorageAtIndex.local,\n all: getAllStorageItems.local\n },\n set: setStorageItem.local,\n remove: removeStorageItem.local,\n clear: clearStorage.local,\n isEmpty: storageIsEmpty.local\n};\n\nvar SessionStorage = {\n has: hasStorageItem.session,\n get: {\n length: getStorageLength.session,\n item: getStorageItem.session,\n index: getStorageAtIndex.session,\n all: getAllStorageItems.session\n },\n set: setStorageItem.session,\n remove: removeStorageItem.session,\n clear: clearStorage.session,\n isEmpty: storageIsEmpty.session\n};\n\nvar Quasar = {\n version: version,\n install: install$$1,\n start: start$1,\n theme: theme,\n\n ActionSheet: ActionSheet,\n Dialog: Dialog,\n AppFullscreen: AppFullscreen,\n AppVisibility: AppVisibility,\n Cookies: Cookies,\n Platform: Platform,\n Events: Events,\n Loading: Loading,\n Toast: Toast,\n Utils: Utils,\n LocalStorage: LocalStorage,\n SessionStorage: SessionStorage\n};\n\nstandaloneInstall(Quasar);\n\nreturn Quasar;\n\n})));\n"]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment