{"version":3,"sources":["webpack:///../../../src/components/VGrid/VRow.ts","webpack:///../../../src/components/VIcon/VIcon.ts","webpack:///../../../src/mixins/delayable/index.ts","webpack:///./src/view/pages/vuetify/Badges.vue?274d","webpack:///src/view/pages/vuetify/Badges.vue","webpack:///./src/view/pages/vuetify/Badges.vue?e281","webpack:///../../../src/components/VBadge/VBadge.ts","webpack:///../../../src/components/VHover/VHover.ts","webpack:///./src/view/pages/vuetify/Badges.vue","webpack:///../../../src/components/VItemGroup/VItemGroup.ts","webpack:///../../../src/components/VTabs/VTab.ts","webpack:///../../../src/components/VToolbar/VToolbar.ts","webpack:///../../../src/components/VSlideGroup/VSlideGroup.ts","webpack:///../../../src/components/VAvatar/VAvatar.ts","webpack:///./node_modules/core-js/modules/es.string.ends-with.js","webpack:///../../../src/components/VTabs/VTabsSlider.ts","webpack:///../../../src/components/VIcon/index.ts","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///../../../src/components/VTabs/VTabsItems.ts","webpack:///../../../src/components/VResponsive/VResponsive.ts","webpack:///../../../src/components/VResponsive/index.ts","webpack:///../../../src/components/VImg/VImg.ts","webpack:///../../../src/components/VBtn/index.ts","webpack:///../../../src/directives/touch/index.ts","webpack:///./node_modules/core-js/modules/es.array.find-index.js","webpack:///../../../src/mixins/ssr-bootable/index.ts","webpack:///./src/view/content/CodePreview.vue?065e","webpack:///./src/view/content/Card.vue?4bd1","webpack:///src/view/content/Card.vue","webpack:///./src/view/content/Card.vue?3cd1","webpack:///./src/view/content/Card.vue","webpack:///src/view/content/CodePreview.vue","webpack:///./src/view/content/CodePreview.vue?a7ff","webpack:///./src/view/content/CodePreview.vue","webpack:///../../../src/directives/resize/index.ts","webpack:///../../../src/mixins/mobile/index.ts","webpack:///../../../src/mixins/transitionable/index.ts","webpack:///../../../src/components/VWindow/VWindow.ts","webpack:///../../../src/components/VTabs/VTabsBar.ts","webpack:///../../../src/components/VTabs/VTabs.ts"],"names":["breakpoints","ALIGNMENT","makeProps","props","prefix","def","alignValidator","str","alignProps","type","default","validator","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","align","Object","justify","alignContent","classMap","breakpointClass","className","val","breakpoint","prop","cache","name","functional","tag","dense","noGutters","render","children","cacheKey","String","classList","value","h","data","staticClass","class","isFontAwesome5","some","iconType","isSvgPath","test","icon","SIZE_MAP","VIcon","disabled","left","right","size","Number","required","computed","medium","hasClickListener","Boolean","this","listeners$","click","methods","getIcon","iconName","$slots","text","getSize","sizes","xSmall","small","large","xLarge","explicitSize","key","getDefaultData","attrs","attrs$","on","getSvgWrapperData","fontSize","wrapperData","style","height","width","undefined","applyColors","themeClasses","renderFontIcon","newChildren","delimiterIndex","isMaterialIcon","renderSvgIcon","svgData","xmlns","viewBox","role","d","renderSvgIconComponent","component","$_wrapperFor","openDelay","closeDelay","openTimeout","closeTimeout","clearDelay","clearTimeout","runDelay","delay","parseInt","setTimeout","cb","open","close","_vm","_h","$createElement","_c","_self","_v","scopedSlots","_u","fn","proxy","_s","code1","html","$event","code3","messages","js","code2","hover","model","callback","$$v","$set","expression","code4","staticRenderFns","components","KTCodePreview","mounted","$store","dispatch","mixins","avatar","bordered","color","content","dot","label","inline","offsetX","offsetY","overlap","tile","transition","classes","computedBottom","bottom","computedLeft","computedRight","computedTop","computedXOffset","calcPosition","computedYOffset","isRtl","$vuetify","offset","styles","top","genBadge","lang","$attrs","setBackgroundColor","title","directives","isActive","badge","origin","mode","genBadgeContent","slot","genBadgeWrapper","onMouseEnter","onMouseLeave","$scopedSlots","element","Array","mouseenter","mouseleave","console","VAvatar","VBadge","VBtn","VContainer","VHover","VImg","VRow","VTab","VTabs","VToolbar","BaseItemGroup","activeClass","mandatory","max","multiple","internalLazyValue","items","selectedIndex","selectedItem","indexOf","selectedItems","filter","selectedValues","internalValue","toggleMethod","v","watch","created","genData","getValue","item","i","onClick","register","index","push","unregister","valueIndex","updateInternalValue","updateItem","updateItemsState","updateMultiple","updateSingle","updateMandatory","defaultValue","isSame","provide","itemGroup","baseMixins","ripple","proxyClass","groupClasses","to","$router","resolve","href","e","$el","blur","tabindex","keydown","absolute","collapse","extended","extensionHeight","flat","floating","prominent","short","src","isExtended","computedHeight","isCollapsed","isNaN","computedContentHeight","isProminent","breakingProps","original","replacement","genBackground","image","img","genContent","genExtension","$listeners","BaseSlideGroup","Resize","Touch","centerActive","nextIcon","prevIcon","showArrows","internalItemsLength","isOverflowing","resizeTimeout","startX","isSwipingHorizontal","isSwiping","scrollOffset","widths","wrapper","canTouch","window","__cachedNext","genTransition","__cachedPrev","hasAffixes","Math","isMobile","hasNext","hasPrev","beforeUpdate","$children","updated","genNext","next","ref","onResize","genIcon","rtl","location","upperLocation","hasAffix","genPrev","prev","genWrapper","start","move","end","calculateNewOffset","sign","newAbosluteOffset","direction","onAffixClick","onTouchStart","onTouchMove","diffX","diffY","document","onTouchEnd","maxScrollOffset","overflowCheck","scrollIntoView","lastItemPosition","length","wrapperPosition","$refs","calculateCenteredOffset","calculateUpdatedOffset","clientWidth","selectedElement","offsetLeft","currentScrollOffset","totalWidth","itemOffset","additionalOffset","offsetCentered","scrollTo","setWidths","slideGroup","roundedClasses","minWidth","measurableStyles","$","getOwnPropertyDescriptor","f","toLength","notARegExp","requireObjectCoercible","correctIsRegExpLogic","IS_PURE","$endsWith","endsWith","min","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","descriptor","prototype","writable","target","proto","forced","searchString","that","endPosition","arguments","len","search","call","slice","id","fluid","isDark","aspectRatio","contentClass","computedAspectRatio","aspectStyle","paddingBottom","__cachedSizer","hasIntersect","intersect","alt","contain","eager","gradient","lazySrc","options","root","rootMargin","threshold","position","srcset","currentSrc","isLoading","calculatedAspectRatio","naturalWidth","hasError","normalisedSrc","aspect","__cachedImage","backgroundImage","backgroundPosition","loadImage","init","lazyImg","onLoad","startsWith","naturalHeight","onError","getSrc","err","pollForSize","timeout","poll","__genPlaceholder","placeholder","appear","node","mergeData","modifiers","once","handler","handleGesture","touchendY","dirRatio","minDistance","touchendX","touchstartX","touchstartY","touch","event","createHandlers","touchmoveX","touchmoveY","up","down","touchstart","touchend","touchmove","inserted","binding","el","passive","handlers","vnode","eventName","unbind","$findIndex","findIndex","addToUnscopables","FIND_INDEX","SKIPS_HOLES","callbackfn","isBooted","_t","hasGeneralCode","hasSingleCodeType","_e","setActiveTab","tabIndex","hasTitleSlot","headClass","bodyClass","bodyFit","bodyFluid","headSize","fluidHeight","fluidHalfHeight","headOverlay","cardClass","example","cls","headSizeClass","hasFootSlot","isOpen","KTCard","$nextTick","hljs","forEach","hl","add","remove","links","getAttribute","exist","hasJsCode","hasScssCode","hasHtmlCode","mobileBreakpoint","includes","mobile","mobileWidth","isNumber","hasOwnProperty","windowGroup","continuous","reverse","showArrowsOnHover","touchless","vertical","changedByDelimiters","internalHeight","transitionHeight","transitionCount","isReverse","computedTransition","axis","internalReverse","hasActiveItems","find","internalIndex","updateReverse","genDefaultSlot","genContainer","t","genControlIcons","icons","getNextIndex","nextIndex","getPrevIndex","prevIndex","lastIndex","itemsLength","oldVal","tabsBar","$route","callSlider","onRouteChange","newPath","oldPath","hasNew","hasOld","alignWithTitle","backgroundColor","centered","fixedTabs","grow","hideSlider","iconsAndText","optional","sliderColor","sliderSize","slider","transitionTime","isReversed","sliderStyles","computedColor","activeTab","scrollWidth","genBar","dark","light","change","VTabsBar","genSlider","genItems","VTabsItems","VTabsSlider","parseNodes","tab","quiet"],"mappings":"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","file":"js/chunk-79e742b2.890133ec.js","sourcesContent":["import './VGrid.sass'\n\nimport Vue, { PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst ALIGNMENT = ['start', 'end', 'center']\n\nfunction makeProps (prefix: string, def: () => PropOptions) {\n return breakpoints.reduce((props, val) => {\n props[prefix + upperFirst(val)] = def()\n return props\n }, {} as Dictionary)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-row',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'div',\n },\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n },\n render (h, { props, data, children }) {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'no-gutters': props.noGutters,\n 'row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'row',\n class: classList,\n }),\n children\n )\n },\n})\n","import './VIcon.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Sizeable from '../../mixins/sizeable'\nimport Themeable from '../../mixins/themeable'\n\n// Util\nimport { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'\n\n// Types\nimport Vue, { CreateElement, VNode, VNodeChildren, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { VuetifyIcon, VuetifyIconComponent } from 'vuetify/types/services/icons'\n\nenum SIZE_MAP {\n xSmall = '12px',\n small = '16px',\n default = '24px',\n medium = '28px',\n large = '36px',\n xLarge = '40px'\n}\n\nfunction isFontAwesome5 (iconType: string): boolean {\n return ['fas', 'far', 'fal', 'fab', 'fad', 'fak'].some(val => iconType.includes(val))\n}\n\nfunction isSvgPath (icon: string): boolean {\n return (/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(icon) && /[\\dz]$/i.test(icon) && icon.length > 4)\n}\n\nconst VIcon = mixins(\n BindsAttrs,\n Colorable,\n Sizeable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-icon',\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n left: Boolean,\n right: Boolean,\n size: [Number, String],\n tag: {\n type: String,\n required: false,\n default: 'i',\n },\n },\n\n computed: {\n medium () {\n return false\n },\n hasClickListener (): boolean {\n return Boolean(\n this.listeners$.click || this.listeners$['!click']\n )\n },\n },\n\n methods: {\n getIcon (): VuetifyIcon {\n let iconName = ''\n if (this.$slots.default) iconName = this.$slots.default[0].text!.trim()\n\n return remapInternalIcon(this, iconName)\n },\n getSize (): string | undefined {\n const sizes = {\n xSmall: this.xSmall,\n small: this.small,\n medium: this.medium,\n large: this.large,\n xLarge: this.xLarge,\n }\n\n const explicitSize = keys(sizes).find(key => sizes[key])\n\n return (\n (explicitSize && SIZE_MAP[explicitSize]) || convertToUnit(this.size)\n )\n },\n // Component data for both font icon and SVG wrapper span\n getDefaultData (): VNodeData {\n return {\n staticClass: 'v-icon notranslate',\n class: {\n 'v-icon--disabled': this.disabled,\n 'v-icon--left': this.left,\n 'v-icon--link': this.hasClickListener,\n 'v-icon--right': this.right,\n 'v-icon--dense': this.dense,\n },\n attrs: {\n 'aria-hidden': !this.hasClickListener,\n disabled: this.hasClickListener && this.disabled,\n type: this.hasClickListener ? 'button' : undefined,\n ...this.attrs$,\n },\n on: this.listeners$,\n }\n },\n getSvgWrapperData () {\n const fontSize = this.getSize()\n const wrapperData = {\n ...this.getDefaultData(),\n style: fontSize ? {\n fontSize,\n height: fontSize,\n width: fontSize,\n } : undefined,\n }\n this.applyColors(wrapperData)\n\n return wrapperData\n },\n applyColors (data: VNodeData): void {\n data.class = { ...data.class, ...this.themeClasses }\n this.setTextColor(this.color, data)\n },\n renderFontIcon (icon: string, h: CreateElement): VNode {\n const newChildren: VNodeChildren = []\n const data = this.getDefaultData()\n\n let iconType = 'material-icons'\n // Material Icon delimiter is _\n // https://material.io/icons/\n const delimiterIndex = icon.indexOf('-')\n const isMaterialIcon = delimiterIndex <= -1\n\n if (isMaterialIcon) {\n // Material icon uses ligatures.\n newChildren.push(icon)\n } else {\n iconType = icon.slice(0, delimiterIndex)\n if (isFontAwesome5(iconType)) iconType = ''\n }\n\n data.class[iconType] = true\n data.class[icon] = !isMaterialIcon\n\n const fontSize = this.getSize()\n if (fontSize) data.style = { fontSize }\n\n this.applyColors(data)\n\n return h(this.hasClickListener ? 'button' : this.tag, data, newChildren)\n },\n renderSvgIcon (icon: string, h: CreateElement): VNode {\n const svgData: VNodeData = {\n class: 'v-icon__svg',\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n role: 'img',\n 'aria-hidden': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n svgData.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h('svg', svgData, [\n h('path', {\n attrs: {\n d: icon,\n },\n }),\n ]),\n ])\n },\n renderSvgIconComponent (\n icon: VuetifyIconComponent,\n h: CreateElement\n ): VNode {\n const data: VNodeData = {\n class: {\n 'v-icon__component': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n data.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n this.applyColors(data)\n\n const component = icon.component\n data.props = icon.props\n data.nativeOn = data.on\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h(component, data),\n ])\n },\n },\n\n render (h: CreateElement): VNode {\n const icon = this.getIcon()\n\n if (typeof icon === 'string') {\n if (isSvgPath(icon)) {\n return this.renderSvgIcon(icon, h)\n }\n return this.renderFontIcon(icon, h)\n }\n\n return this.renderSvgIconComponent(icon, h)\n },\n})\n\nexport default Vue.extend({\n name: 'v-icon',\n\n $_wrapperFor: VIcon,\n\n functional: true,\n\n render (h, { data, children }): VNode {\n let iconName = ''\n\n // Support usage of v-text and v-html\n if (data.domProps) {\n iconName = data.domProps.textContent ||\n data.domProps.innerHTML ||\n iconName\n\n // Remove nodes so it doesn't\n // overwrite our changes\n delete data.domProps.textContent\n delete data.domProps.innerHTML\n }\n\n return h(VIcon, data, iconName ? [iconName] : children)\n },\n})\n","import Vue from 'vue'\n\n/**\n * Delayable\n *\n * @mixin\n *\n * Changes the open or close delay time for elements\n */\nexport default Vue.extend().extend({\n name: 'delayable',\n\n props: {\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n openTimeout: undefined as number | undefined,\n closeTimeout: undefined as number | undefined,\n }),\n\n methods: {\n /**\n * Clear any pending delay timers from executing\n */\n clearDelay (): void {\n clearTimeout(this.openTimeout)\n clearTimeout(this.closeTimeout)\n },\n /**\n * Runs callback after a specified delay\n */\n runDelay (type: 'open' | 'close', cb?: () => void): void {\n this.clearDelay()\n\n const delay = parseInt((this as any)[`${type}Delay`], 10)\n\n ;(this as any)[`${type}Timeout`] = setTimeout(cb || (() => {\n this.isActive = { open: true, close: false }[type]\n }), delay)\n },\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-alert',{staticClass:\"alert alert-custom alert-white alert-shadow fade show gutter-b\",attrs:{\"show\":\"\",\"variant\":\"light\"}},[_c('div',{staticClass:\"alert-icon\"},[_c('span',{staticClass:\"svg-icon svg-icon-lg\"},[_c('inline-svg',{attrs:{\"src\":\"media/svg/icons/Tools/Compass.svg\"}})],1)]),_c('div',{staticClass:\"alert-text\"},[_c('b',[_vm._v(\"Badges\")]),_vm._v(\" The \"),_c('code',[_vm._v(\"v-badge\")]),_vm._v(\" component superscripts or subscripts an avatar-like icon or text onto content to highlight information to a user or to just draw attention to a specific element. Content within the badge usually contains numbers or icons. \"),_c('a',{staticClass:\"font-weight-bold\",attrs:{\"href\":\"https://vuetifyjs.com/en/components/badges\",\"target\":\"_blank\"}},[_vm._v(\" See documentation. \")])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-6\"},[_c('KTCodePreview',{attrs:{\"title\":'Tabs'},scopedSlots:_vm._u([{key:\"preview\",fn:function(){return [_c('p',[_vm._v(\" Badges help convey information to the user in a variety of ways. \")]),_c('v-toolbar',[_c('v-tabs',{attrs:{\"dark\":\"\",\"background-color\":\"primary\",\"grow\":\"\"}},[_c('v-tab',[_c('v-badge',{attrs:{\"color\":\"pink\",\"dot\":\"\"}},[_vm._v(\" Item One \")])],1),_c('v-tab',[_c('v-badge',{attrs:{\"color\":\"green\",\"content\":\"6\"}},[_vm._v(\" Item Two \")])],1),_c('v-tab',[_c('v-badge',{attrs:{\"color\":\"deep-purple accent-4\",\"icon\":\"mdi-vuetify\"}},[_vm._v(\" Item Three \")])],1)],1)],1)]},proxy:true},{key:\"html\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.code1.html)+\" \")]},proxy:true}])}),_c('KTCodePreview',{attrs:{\"title\":'Dynamic notifications'},scopedSlots:_vm._u([{key:\"preview\",fn:function(){return [_c('p',[_vm._v(\" You can incorporate badges with dynamic content to make things such as a notification system. \")]),_c('v-container',[_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('div',[_c('v-btn',{staticClass:\"mx-1\",attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.code3.messages++}}},[_vm._v(\" Send Message \")]),_c('v-btn',{staticClass:\"mx-1\",attrs:{\"color\":\"error\"},on:{\"click\":function($event){_vm.code3.messages = 0}}},[_vm._v(\" Clear Notifications \")])],1),_c('v-badge',{attrs:{\"content\":_vm.code3.messages,\"value\":_vm.code3.messages,\"color\":\"green\",\"overlap\":\"\"}},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\"mdi-email\")])],1)],1)],1)]},proxy:true},{key:\"html\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.code3.html)+\" \")]},proxy:true},{key:\"js\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.code3.js)+\" \")]},proxy:true}])})],1),_c('div',{staticClass:\"col-md-6\"},[_c('KTCodePreview',{attrs:{\"title\":'Show-on-hover'},scopedSlots:_vm._u([{key:\"preview\",fn:function(){return [_c('p',[_vm._v(\" You can do many things with visibility control, for example, show badge on hover. \")]),_c('div',{staticClass:\"text-center\"},[_c('v-badge',{attrs:{\"value\":_vm.code2.hover,\"color\":\"deep-purple accent-4\",\"content\":\"9999+\",\"left\":\"\",\"transition\":\"slide-x-transition\"}},[_c('v-hover',{model:{value:(_vm.code2.hover),callback:function ($$v) {_vm.$set(_vm.code2, \"hover\", $$v)},expression:\"code2.hover\"}},[_c('v-icon',{attrs:{\"color\":\"grey lighten-1\",\"large\":\"\"}},[_vm._v(\" mdi-account-circle \")])],1)],1)],1)]},proxy:true},{key:\"html\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.code2.html)+\" \")]},proxy:true},{key:\"js\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.code2.js)+\" \")]},proxy:true}])}),_c('KTCodePreview',{attrs:{\"title\":'Customization options'},scopedSlots:_vm._u([{key:\"preview\",fn:function(){return [_c('p',[_vm._v(\" The \"),_c('code',[_vm._v(\"v-badge\")]),_vm._v(\" component is flexible and can be used in a variety of use-cases over numerous elements. Options to tweak the location are also available through the offset-x and offset-y props. \")]),_c('v-container',[_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-badge',{attrs:{\"bordered\":\"\",\"color\":\"error\",\"icon\":\"mdi-lock\",\"overlap\":\"\"}},[_c('v-btn',{staticClass:\"white--text\",attrs:{\"color\":\"error\",\"depressed\":\"\"}},[_vm._v(\" Lock Account \")])],1),_c('div',{staticClass:\"mx-3\"}),_c('v-badge',{attrs:{\"bordered\":\"\",\"bottom\":\"\",\"color\":\"deep-purple accent-4\",\"dot\":\"\",\"offset-x\":\"10\",\"offset-y\":\"10\"}},[_c('v-avatar',{attrs:{\"size\":\"40\"}},[_c('v-img',{attrs:{\"src\":\"media/users/300_2.jpg\"}})],1)],1),_c('div',{staticClass:\"mx-3\"}),_c('v-badge',{attrs:{\"avatar\":\"\",\"bordered\":\"\",\"overlap\":\"\"},scopedSlots:_vm._u([{key:\"badge\",fn:function(){return [_c('v-avatar',[_c('v-img',{attrs:{\"src\":\"media/project-logos/7.png\"}})],1)]},proxy:true}])},[_c('v-avatar',{attrs:{\"size\":\"40\"}},[_c('v-img',{attrs:{\"src\":\"media/users/100_3.jpg\"}})],1)],1)],1)],1)]},proxy:true},{key:\"html\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.code4.html)+\" \")]},proxy:true}])})],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Badges.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Badges.vue?vue&type=script&lang=js&\"","// Styles\nimport './VBadge.sass'\n\n// Components\nimport VIcon from '../VIcon/VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport Transitionable from '../../mixins/transitionable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport {\n convertToUnit,\n getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Colorable,\n PositionableFactory(['left', 'bottom']),\n Themeable,\n Toggleable,\n Transitionable,\n/* @vue/component */\n).extend({\n name: 'v-badge',\n\n props: {\n avatar: Boolean,\n bordered: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n content: { required: false },\n dot: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\n },\n icon: String,\n inline: Boolean,\n offsetX: [Number, String],\n offsetY: [Number, String],\n overlap: Boolean,\n tile: Boolean,\n transition: {\n type: String,\n default: 'scale-rotate-transition',\n },\n value: { default: true },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-badge--avatar': this.avatar,\n 'v-badge--bordered': this.bordered,\n 'v-badge--bottom': this.bottom,\n 'v-badge--dot': this.dot,\n 'v-badge--icon': this.icon != null,\n 'v-badge--inline': this.inline,\n 'v-badge--left': this.left,\n 'v-badge--overlap': this.overlap,\n 'v-badge--tile': this.tile,\n ...this.themeClasses,\n }\n },\n computedBottom (): string {\n return this.bottom ? 'auto' : this.computedYOffset\n },\n computedLeft (): string {\n if (this.isRtl) {\n return this.left ? this.computedXOffset : 'auto'\n }\n\n return this.left ? 'auto' : this.computedXOffset\n },\n computedRight (): string {\n if (this.isRtl) {\n return this.left ? 'auto' : this.computedXOffset\n }\n\n return !this.left ? 'auto' : this.computedXOffset\n },\n computedTop (): string {\n return this.bottom ? this.computedYOffset : 'auto'\n },\n computedXOffset (): string {\n return this.calcPosition(this.offsetX)\n },\n computedYOffset (): string {\n return this.calcPosition(this.offsetY)\n },\n isRtl (): boolean {\n return this.$vuetify.rtl\n },\n // Default fallback if offsetX\n // or offsetY are undefined.\n offset (): number {\n if (this.overlap) return this.dot ? 8 : 12\n return this.dot ? 2 : 4\n },\n styles (): object {\n if (this.inline) return {}\n\n return {\n bottom: this.computedBottom,\n left: this.computedLeft,\n right: this.computedRight,\n top: this.computedTop,\n }\n },\n },\n\n methods: {\n calcPosition (offset: string | number): string {\n return `calc(100% - ${convertToUnit(offset || this.offset)})`\n },\n genBadge () {\n const lang = this.$vuetify.lang\n const label = this.$attrs['aria-label'] || lang.t(this.label)\n\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-badge__badge',\n style: this.styles,\n attrs: {\n 'aria-atomic': this.$attrs['aria-atomic'] || 'true',\n 'aria-label': label,\n 'aria-live': this.$attrs['aria-live'] || 'polite',\n title: this.$attrs.title,\n role: this.$attrs.role || 'status',\n },\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n })\n\n const badge = this.$createElement('span', data, [this.genBadgeContent()])\n\n if (!this.transition) return badge\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [badge])\n },\n genBadgeContent () {\n // Dot prop shows no content\n if (this.dot) return undefined\n\n const slot = getSlot(this, 'badge')\n\n if (slot) return slot\n if (this.content) return String(this.content)\n if (this.icon) return this.$createElement(VIcon, this.icon)\n\n return undefined\n },\n genBadgeWrapper () {\n return this.$createElement('span', {\n staticClass: 'v-badge__wrapper',\n }, [this.genBadge()])\n },\n },\n\n render (h): VNode {\n const badge = [this.genBadgeWrapper()]\n const children = [getSlot(this)]\n const {\n 'aria-atomic': _x,\n 'aria-label': _y,\n 'aria-live': _z,\n role,\n title,\n ...attrs\n } = this.$attrs\n\n if (this.inline && this.left) children.unshift(badge)\n else children.push(badge)\n\n return h('span', {\n staticClass: 'v-badge',\n attrs,\n class: this.classes,\n }, children)\n },\n})\n","// Mixins\nimport Delayable from '../../mixins/delayable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode, ScopedSlotChildren } from 'vue/types/vnode'\n\nexport default mixins(\n Delayable,\n Toggleable\n /* @vue/component */\n).extend({\n name: 'v-hover',\n\n props: {\n disabled: {\n type: Boolean,\n default: false,\n },\n value: {\n type: Boolean,\n default: undefined,\n },\n },\n\n methods: {\n onMouseEnter () {\n this.runDelay('open')\n },\n onMouseLeave () {\n this.runDelay('close')\n },\n },\n\n render (): VNode {\n if (!this.$scopedSlots.default && this.value === undefined) {\n consoleWarn('v-hover is missing a default scopedSlot or bound value', this)\n\n return null as any\n }\n\n let element: VNode | ScopedSlotChildren\n\n /* istanbul ignore else */\n if (this.$scopedSlots.default) {\n element = this.$scopedSlots.default({ hover: this.isActive })\n }\n\n if (Array.isArray(element) && element.length === 1) {\n element = element[0]\n }\n\n if (!element || Array.isArray(element) || !element.tag) {\n consoleWarn('v-hover should only contain a single element', this)\n\n return element as any\n }\n\n if (!this.disabled) {\n element.data = element.data || {}\n this._g(element.data, {\n mouseenter: this.onMouseEnter,\n mouseleave: this.onMouseLeave,\n })\n }\n\n return element\n },\n})\n","import { render, staticRenderFns } from \"./Badges.vue?vue&type=template&id=39a36873&\"\nimport script from \"./Badges.vue?vue&type=script&lang=js&\"\nexport * from \"./Badges.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VHover } from 'vuetify/lib/components/VHover';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAvatar,VBadge,VBtn,VContainer,VHover,VIcon,VImg,VRow,VTab,VTabs,VToolbar})\n","// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue/types'\n\nexport type GroupableInstance = InstanceType & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n items: [] as GroupableInstance[],\n }\n },\n\n computed: {\n classes (): Record {\n return {\n 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.internalValue === v\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.includes(v)\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue: 'updateItemsState',\n items: 'updateItemsState',\n },\n\n created () {\n if (this.multiple && !Array.isArray(this.internalValue)) {\n consoleWarn('Model must be bound to an array if the multiple property is true.', this)\n }\n },\n\n methods: {\n\n genData (): object {\n return {\n class: this.classes,\n }\n },\n getValue (item: GroupableInstance, i: number): unknown {\n return item.value == null || item.value === ''\n ? i\n : item.value\n },\n onClick (item: GroupableInstance) {\n this.updateInternalValue(\n this.getValue(item, this.items.indexOf(item))\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n item.$on('change', () => this.onClick(item))\n\n // If no value provided and mandatory,\n // assign first registered item\n if (this.mandatory && !this.selectedValues.length) {\n this.updateMandatory()\n }\n\n this.updateItem(item, index)\n },\n unregister (item: GroupableInstance) {\n if (this._isDestroyed) return\n\n const index = this.items.indexOf(item)\n const value = this.getValue(item, index)\n\n this.items.splice(index, 1)\n\n const valueIndex = this.selectedValues.indexOf(value)\n\n // Items is not selected, do nothing\n if (valueIndex < 0) return\n\n // If not mandatory, use regular update process\n if (!this.mandatory) {\n return this.updateInternalValue(value)\n }\n\n // Remove the value\n if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = this.internalValue.filter(v => v !== value)\n } else {\n this.internalValue = undefined\n }\n\n // If mandatory and we have no selection\n // add the last item as value\n /* istanbul ignore else */\n if (!this.selectedItems.length) {\n this.updateMandatory(true)\n }\n },\n updateItem (item: GroupableInstance, index: number) {\n const value = this.getValue(item, index)\n\n item.isActive = this.toggleMethod(value)\n },\n // https://github.com/vuetifyjs/vuetify/issues/5352\n updateItemsState () {\n this.$nextTick(() => {\n if (this.mandatory &&\n !this.selectedItems.length\n ) {\n return this.updateMandatory()\n }\n\n // TODO: Make this smarter so it\n // doesn't have to iterate every\n // child in an update\n this.items.forEach(this.updateItem)\n })\n },\n updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => val === value)\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = value === this.internalValue\n\n if (this.mandatory && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (h): VNode {\n return h(this.tag, this.genData(), this.$slots.default)\n },\n})\n\nexport default BaseItemGroup.extend({\n name: 'v-item-group',\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n","// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n}\n\nexport default baseMixins.extend().extend(\n /* @vue/component */\n).extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n let to = this.to || this.href || ''\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: 0,\n }\n data.on = {\n ...data.on,\n keydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n return h(tag, data, this.$slots.default)\n },\n})\n","// Styles\nimport './VToolbar.sass'\n\n// Extensions\nimport VSheet from '../VSheet/VSheet'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\n/* @vue/component */\nexport default VSheet.extend({\n name: 'v-toolbar',\n\n props: {\n absolute: Boolean,\n bottom: Boolean,\n collapse: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n default: 48,\n type: [Number, String],\n },\n flat: Boolean,\n floating: Boolean,\n prominent: Boolean,\n short: Boolean,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n tag: {\n type: String,\n default: 'header',\n },\n },\n\n data: () => ({\n isExtended: false,\n }),\n\n computed: {\n computedHeight (): number {\n const height = this.computedContentHeight\n\n if (!this.isExtended) return height\n\n const extensionHeight = parseInt(this.extensionHeight)\n\n return this.isCollapsed\n ? height\n : height + (!isNaN(extensionHeight) ? extensionHeight : 0)\n },\n computedContentHeight (): number {\n if (this.height) return parseInt(this.height)\n if (this.isProminent && this.dense) return 96\n if (this.isProminent && this.short) return 112\n if (this.isProminent) return 128\n if (this.dense) return 48\n if (this.short || this.$vuetify.breakpoint.smAndDown) return 56\n return 64\n },\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-toolbar': true,\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--bottom': this.bottom,\n 'v-toolbar--collapse': this.collapse,\n 'v-toolbar--collapsed': this.isCollapsed,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--flat': this.flat,\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.isProminent,\n }\n },\n isCollapsed (): boolean {\n return this.collapse\n },\n isProminent (): boolean {\n return this.prominent\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['app', ''],\n ['manual-scroll', ''],\n ['clipped-left', ''],\n ['clipped-right', ''],\n ['inverted-scroll', ''],\n ['scroll-off-screen', ''],\n ['scroll-target', ''],\n ['scroll-threshold', ''],\n ['card', ''],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genBackground () {\n const props = {\n height: convertToUnit(this.computedHeight),\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img({ props })\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-toolbar__image',\n }, [image])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__content',\n style: {\n height: convertToUnit(this.computedContentHeight),\n },\n }, getSlot(this))\n },\n genExtension () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__extension',\n style: {\n height: convertToUnit(this.extensionHeight),\n },\n }, getSlot(this, 'extension'))\n },\n },\n\n render (h): VNode {\n this.isExtended = this.extended || !!this.$scopedSlots.extension\n\n const children = [this.genContent()]\n const data = this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n })\n\n if (this.isExtended) children.push(this.genExtension())\n if (this.src || this.$scopedSlots.img) children.unshift(this.genBackground())\n\n return h(this.tag, data, children)\n },\n})\n","// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode } from 'vue'\n\ninterface TouchEvent {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options extends Vue {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nexport const BaseSlideGroup = mixins\n/* eslint-enable indent */\n>(\n BaseItemGroup,\n Mobile,\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n directives: {\n Resize,\n Touch,\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: v => (\n typeof v === 'boolean' || [\n 'always',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n },\n\n data: () => ({\n internalItemsLength: 0,\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n isSwipingHorizontal: false,\n isSwiping: false,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n canTouch (): boolean {\n return typeof window !== 'undefined'\n },\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n switch (this.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !this.isMobile\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return this.isOverflowing || Math.abs(this.scrollOffset) > 0\n\n // Always show on mobile\n case 'mobile': return (\n this.isMobile ||\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !this.isMobile &&\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n }\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n this.$refs.content.style.transform = `translateX(${-val}px)`\n },\n },\n\n beforeUpdate () {\n this.internalItemsLength = (this.$children || []).length\n },\n\n updated () {\n if (this.internalItemsLength === (this.$children || []).length) return\n this.setWidths()\n },\n\n methods: {\n // Always generate next for scrollable hint\n genNext (): VNode | null {\n const slot = this.$scopedSlots.next\n ? this.$scopedSlots.next({})\n : this.$slots.next || this.__cachedNext\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__next',\n class: {\n 'v-slide-group__next--disabled': !this.hasNext,\n },\n on: {\n click: () => this.onAffixClick('next'),\n },\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__content',\n ref: 'content',\n }, this.$slots.default)\n },\n genData (): object {\n return {\n class: this.classes,\n directives: [{\n name: 'resize',\n value: this.onResize,\n }],\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return this.$createElement(VIcon, {\n props: {\n disabled: !hasAffix,\n },\n }, (this as any)[`${icon}Icon`])\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$scopedSlots.prev\n ? this.$scopedSlots.prev({})\n : this.$slots.prev || this.__cachedPrev\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__prev',\n class: {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n },\n on: {\n click: () => this.onAffixClick('prev'),\n },\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return this.$createElement(VFadeTransition, [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__wrapper',\n directives: [{\n name: 'touch',\n value: {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n },\n }],\n ref: 'wrapper',\n }, [this.genContent()])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this._isDestroyed) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const { content } = this.$refs\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n if (!this.canTouch) return\n\n if (!this.isSwiping) {\n // only calculate disableSwipeHorizontal during the first onTouchMove invoke\n // in order to ensure disableSwipeHorizontal value is consistent between onTouchStart and onTouchEnd\n const diffX = e.touchmoveX - e.touchstartX\n const diffY = e.touchmoveY - e.touchstartY\n this.isSwipingHorizontal = Math.abs(diffX) > Math.abs(diffY)\n this.isSwiping = true\n }\n\n if (this.isSwipingHorizontal) {\n // sliding horizontally\n this.scrollOffset = this.startX - e.touchmoveX\n // temporarily disable window vertical scrolling\n document.documentElement.style.overflowY = 'hidden'\n }\n },\n onTouchEnd () {\n if (!this.canTouch) return\n\n const { content, wrapper } = this.$refs\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n\n this.isSwiping = false\n // rollback whole page scrolling to default\n document.documentElement.style.removeProperty('overflow-y')\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem && this.items.length) {\n const lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect()\n const wrapperPosition = this.$refs.wrapper.getBoundingClientRect()\n\n if (\n (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right) ||\n (!this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left)\n ) {\n this.scrollTo('prev')\n }\n }\n\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = this.calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = this.calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n calculateUpdatedOffset (selectedElement: HTMLElement, widths: Widths, rtl: boolean, currentScrollOffset: number): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft <= currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n },\n calculateCenteredOffset (selectedElement: HTMLElement, widths: Widths, rtl: boolean): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths /* istanbul ignore next */ () {\n window.requestAnimationFrame(() => {\n const { content, wrapper } = this.$refs\n\n this.widths = {\n content: content ? content.clientWidth : 0,\n wrapper: wrapper ? wrapper.clientWidth : 0,\n }\n\n // https://github.com/vuetifyjs/vuetify/issues/13212\n // We add +1 to the wrappers width to prevent an issue where the `clientWidth`\n // gets calculated wrongly by the browser if using a different zoom-level.\n this.isOverflowing = this.widths.wrapper + 1 < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (h): VNode {\n return h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ])\n },\n})\n\nexport default BaseSlideGroup.extend({\n name: 'v-slide-group',\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n","import './VAvatar.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n Colorable,\n Measurable,\n Roundable,\n /* @vue/component */\n).extend({\n name: 'v-avatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n size: {\n type: [Number, String],\n default: 48,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-avatar--left': this.left,\n 'v-avatar--right': this.right,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return {\n height: convertToUnit(this.size),\n minWidth: convertToUnit(this.size),\n width: convertToUnit(this.size),\n ...this.measurableStyles,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-avatar',\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n }\n\n return h('div', this.setBackgroundColor(this.color, data), this.$slots.default)\n },\n})\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-endswith -- safe\nvar $endsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(Colorable).extend({\n name: 'v-tabs-slider',\n\n render (h): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-tabs-slider',\n }))\n },\n})\n","import VIcon from './VIcon'\n\nexport { VIcon }\nexport default VIcon\n","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n name: 'v-container',\n functional: true,\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n fluid: {\n type: Boolean,\n default: false,\n },\n },\n render (h, { props, data, children }) {\n let classes\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'container',\n class: Array({\n 'container--fluid': props.fluid,\n }).concat(classes || []),\n }),\n children\n )\n },\n})\n","// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Types & Components\nimport { BaseItemGroup, GroupableInstance } from './../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default VWindow.extend({\n name: 'v-tabs-items',\n\n props: {\n mandatory: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.options.computed.classes.call(this),\n 'v-tabs-items': true,\n }\n },\n isDark (): boolean {\n return this.rootIsDark\n },\n },\n\n methods: {\n getValue (item: GroupableInstance, i: number) {\n return item.id || BaseItemGroup.options.methods.getValue.call(this, item, i)\n },\n },\n})\n","import './VResponsive.sass'\n\n// Mixins\nimport Measurable, { NumberOrNumberString } from '../../mixins/measurable'\n\n// Types\nimport { VNode } from 'vue'\n\n// Utils\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Measurable).extend({\n name: 'v-responsive',\n\n props: {\n aspectRatio: [String, Number] as NumberOrNumberString,\n contentClass: String,\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.aspectRatio)\n },\n aspectStyle (): object | undefined {\n return this.computedAspectRatio\n ? { paddingBottom: (1 / this.computedAspectRatio) * 100 + '%' }\n : undefined\n },\n __cachedSizer (): VNode | [] {\n if (!this.aspectStyle) return []\n\n return this.$createElement('div', {\n style: this.aspectStyle,\n staticClass: 'v-responsive__sizer',\n })\n },\n },\n\n methods: {\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-responsive__content',\n class: this.contentClass,\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-responsive',\n style: this.measurableStyles,\n on: this.$listeners,\n }, [\n this.__cachedSizer,\n this.genContent(),\n ])\n },\n})\n","import VResponsive from './VResponsive'\n\nexport { VResponsive }\nexport default VResponsive\n","// Styles\nimport './VImg.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VResponsive from '../VResponsive'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport mergeData from '../../util/mergeData'\nimport { consoleWarn } from '../../util/console'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src: string\n srcset?: string\n lazySrc: string\n aspect: number\n}\n\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window\n\n/* @vue/component */\nexport default mixins(\n VResponsive,\n Themeable,\n).extend({\n name: 'v-img',\n\n directives: { intersect },\n\n props: {\n alt: String,\n contain: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator,\n position: {\n type: String,\n default: 'center center',\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: '',\n } as PropValidator,\n srcset: String,\n transition: {\n type: [Boolean, String],\n default: 'fade-transition',\n },\n },\n\n data () {\n return {\n currentSrc: '', // Set from srcset\n image: null as HTMLImageElement | null,\n isLoading: true,\n calculatedAspectRatio: undefined as number | undefined,\n naturalWidth: undefined as number | undefined,\n hasError: false,\n }\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n },\n normalisedSrc (): srcObject {\n return this.src && typeof this.src === 'object'\n ? {\n src: this.src.src,\n srcset: this.srcset || this.src.srcset,\n lazySrc: this.lazySrc || this.src.lazySrc,\n aspect: Number(this.aspectRatio || this.src.aspect),\n } : {\n src: this.src,\n srcset: this.srcset,\n lazySrc: this.lazySrc,\n aspect: Number(this.aspectRatio || 0),\n }\n },\n __cachedImage (): VNode | [] {\n if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return []\n\n const backgroundImage: string[] = []\n const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc\n\n if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`)\n if (src) backgroundImage.push(`url(\"${src}\")`)\n\n const image = this.$createElement('div', {\n staticClass: 'v-image__image',\n class: {\n 'v-image__image--preload': this.isLoading,\n 'v-image__image--contain': this.contain,\n 'v-image__image--cover': !this.contain,\n },\n style: {\n backgroundImage: backgroundImage.join(', '),\n backgroundPosition: this.position,\n },\n key: +this.isLoading,\n })\n\n /* istanbul ignore if */\n if (!this.transition) return image\n\n return this.$createElement('transition', {\n attrs: {\n name: this.transition,\n mode: 'in-out',\n },\n }, [image])\n },\n },\n\n watch: {\n src () {\n // Force re-init when src changes\n if (!this.isLoading) this.init(undefined, undefined, true)\n else this.loadImage()\n },\n '$vuetify.breakpoint.width': 'getSrc',\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init (\n entries?: IntersectionObserverEntry[],\n observer?: IntersectionObserver,\n isIntersecting?: boolean\n ) {\n // If the current browser supports the intersection\n // observer api, the image is not observable, and\n // the eager prop isn't being used, do not load\n if (\n hasIntersect &&\n !isIntersecting &&\n !this.eager\n ) return\n\n if (this.normalisedSrc.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = this.normalisedSrc.lazySrc\n this.pollForSize(lazyImg, null)\n }\n /* istanbul ignore else */\n if (this.normalisedSrc.src) this.loadImage()\n },\n onLoad () {\n this.getSrc()\n this.isLoading = false\n this.$emit('load', this.src)\n\n if (\n this.image &&\n (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))\n ) {\n if (this.image.naturalHeight && this.image.naturalWidth) {\n this.naturalWidth = this.image.naturalWidth\n this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight\n } else {\n this.calculatedAspectRatio = 1\n }\n }\n },\n onError () {\n this.hasError = true\n this.$emit('error', this.src)\n },\n getSrc () {\n /* istanbul ignore else */\n if (this.image) this.currentSrc = this.image.currentSrc || this.image.src\n },\n loadImage () {\n const image = new Image()\n this.image = image\n\n image.onload = () => {\n /* istanbul ignore if */\n if (image.decode) {\n image.decode().catch((err: DOMException) => {\n consoleWarn(\n `Failed to decode image, trying to render anyway\\n\\n` +\n `src: ${this.normalisedSrc.src}` +\n (err.message ? `\\nOriginal error: ${err.message}` : ''),\n this\n )\n }).then(this.onLoad)\n } else {\n this.onLoad()\n }\n }\n image.onerror = this.onError\n\n this.hasError = false\n this.sizes && (image.sizes = this.sizes)\n this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\n image.src = this.normalisedSrc.src\n this.$emit('loadstart', this.normalisedSrc.src)\n\n this.aspectRatio || this.pollForSize(image)\n this.getSrc()\n },\n pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight, naturalWidth } = img\n\n if (naturalHeight || naturalWidth) {\n this.naturalWidth = naturalWidth\n this.calculatedAspectRatio = naturalWidth / naturalHeight\n } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n setTimeout(poll, timeout)\n }\n }\n\n poll()\n },\n genContent () {\n const content: VNode = VResponsive.options.methods.genContent.call(this)\n if (this.naturalWidth) {\n this._b(content.data!, 'div', {\n style: { width: `${this.naturalWidth}px` },\n })\n }\n\n return content\n },\n __genPlaceholder (): VNode | void {\n if (this.$slots.placeholder) {\n const placeholder = this.isLoading\n ? [this.$createElement('div', {\n staticClass: 'v-image__placeholder',\n }, this.$slots.placeholder)]\n : []\n\n if (!this.transition) return placeholder[0]\n\n return this.$createElement('transition', {\n props: {\n appear: true,\n name: this.transition,\n },\n }, placeholder)\n }\n },\n },\n\n render (h): VNode {\n const node = VResponsive.options.render.call(this, h)\n\n const data = mergeData(node.data!, {\n staticClass: 'v-image',\n attrs: {\n 'aria-label': this.alt,\n role: this.alt ? 'img' : undefined,\n },\n class: this.themeClasses,\n // Only load intersect directive if it\n // will work in the current browser.\n directives: hasIntersect\n ? [{\n name: 'intersect',\n modifiers: { once: true },\n value: {\n handler: this.init,\n options: this.options,\n },\n }]\n : undefined,\n })\n\n node.children = [\n this.__cachedSizer,\n this.__cachedImage,\n this.__genPlaceholder(),\n this.genContent(),\n ] as VNode[]\n\n return h(node.tag, data, node.children)\n },\n})\n","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n","import { VNodeDirective, VNode } from 'vue/types/vnode'\nimport { keys } from '../../util/helpers'\nimport { TouchHandlers, TouchValue, TouchWrapper } from 'vuetify/types'\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\ninterface TouchVNodeDirective extends VNodeDirective {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start &&\n wrapper.start(Object.assign(event, wrapper))\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end &&\n wrapper.end(Object.assign(event, wrapper))\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move && wrapper.move(Object.assign(event, wrapper))\n}\n\nfunction createHandlers (value: TouchHandlers): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction inserted (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const value = binding.value!\n const target = value.parent ? el.parentElement : el\n const options = value.options || { passive: true }\n\n // Needed to pass unit tests\n if (!target) return\n\n const handlers = createHandlers(binding.value!)\n target._touchHandlers = Object(target._touchHandlers)\n target._touchHandlers![vnode.context!._uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName] as EventListener, options)\n })\n}\n\nfunction unbind (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const target = binding.value!.parent ? el.parentElement : el\n if (!target || !target._touchHandlers) return\n\n const handlers = target._touchHandlers[vnode.context!._uid]\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n delete target._touchHandlers[vnode.context!._uid]\n}\n\nexport const Touch = {\n inserted,\n unbind,\n}\n\nexport default Touch\n","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n","import Vue from 'vue'\n\n/**\n * SSRBootable\n *\n * @mixin\n *\n * Used in layout components (drawer, toolbar, content)\n * to avoid an entry animation when using SSR\n */\nexport default Vue.extend({\n name: 'ssr-bootable',\n\n data: () => ({\n isBooted: false,\n }),\n\n mounted () {\n // Use setAttribute instead of dataset\n // because dataset does not work well\n // with unit tests\n window.requestAnimationFrame(() => {\n this.$el.setAttribute('data-booted', 'true')\n this.isBooted = true\n })\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('KTCard',{ref:\"preview\",attrs:{\"title\":_vm.title,\"example\":true},scopedSlots:_vm._u([(_vm.hasTitleSlot)?{key:\"title\",fn:function(){return [_c('h3',{staticClass:\"card-title\"},[_vm._t(\"title\")],2)]},proxy:true}:null,{key:\"body\",fn:function(){return [_c('div',{staticClass:\"example-code mb-5\"},[(!_vm.hasGeneralCode && !_vm.hasSingleCodeType)?_c('ul',{staticClass:\"example-nav nav nav-tabs nav-bold nav-tabs-line nav-tabs-line-2x\",attrs:{\"role\":\"tablist\"}},[(_vm.hasHtmlCode)?_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link active\",attrs:{\"data-tab\":\"0\",\"data-toggle\":\"tab\",\"href\":\"#\",\"role\":\"tab\",\"aria-selected\":\"true\"},on:{\"click\":_vm.setActiveTab}},[_vm._v(\" HTML \")])]):_vm._e(),(_vm.hasJsCode)?_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link\",attrs:{\"data-tab\":\"1\",\"data-toggle\":\"tab\",\"href\":\"#\",\"role\":\"tab\",\"aria-selected\":\"false\"},on:{\"click\":_vm.setActiveTab}},[_vm._v(\"  JS  \")])]):_vm._e(),(_vm.hasScssCode)?_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link\",attrs:{\"data-tab\":\"2\",\"data-toggle\":\"tab\",\"href\":\"#\",\"role\":\"tab\",\"aria-selected\":\"false\"},on:{\"click\":_vm.setActiveTab}},[_vm._v(\" SCSS \")])]):_vm._e()]):_vm._e(),(_vm.hasGeneralCode)?_c('div',[_vm._t(\"code\")],2):_vm._e(),(!_vm.hasGeneralCode && !_vm.hasSingleCodeType)?_c('div',[_c('b-tabs',{staticClass:\"hide-tabs\",attrs:{\"content-class\":\"mt-3\"},model:{value:(_vm.tabIndex),callback:function ($$v) {_vm.tabIndex=$$v},expression:\"tabIndex\"}},[_c('b-tab',{staticClass:\"example-highlight\",attrs:{\"active\":\"\"}},[_c('highlight-code',{staticClass:\"language-html\",attrs:{\"lang\":\"html\"}},[_vm._t(\"html\")],2)],1),_c('b-tab',{staticClass:\"example-highlight\"},[_c('highlight-code',{staticClass:\"language-js\",attrs:{\"lang\":\"js\"}},[_vm._t(\"js\")],2)],1),_c('b-tab',{staticClass:\"example-highlight\"},[_c('highlight-code',{staticClass:\"language-scss\",attrs:{\"lang\":\"scss\"}},[_vm._t(\"scss\")],2)],1)],1)],1):_vm._e(),(_vm.hasSingleCodeType)?_c('div',{staticClass:\"example-highlight\"},[(_vm.hasHtmlCode)?_c('highlight-code',{staticClass:\"language-html\",attrs:{\"lang\":\"html\"}},[_vm._t(\"html\")],2):_vm._e(),(_vm.hasJsCode)?_c('highlight-code',{staticClass:\"language-js\",attrs:{\"lang\":\"js\"}},[_vm._t(\"js\")],2):_vm._e(),(_vm.hasScssCode)?_c('highlight-code',{staticClass:\"language-scss\",attrs:{\"lang\":\"scss\"}},[_vm._t(\"scss\")],2):_vm._e()],1):_vm._e()]),_vm._t(\"preview\")]},proxy:true}],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card card-custom gutter-b\",class:_vm.classes},[(_vm.hasTitleSlot || _vm.title)?_c('div',{staticClass:\"card-header\",class:_vm.headClass},[_c('div',{staticClass:\"card-title\"},[(_vm.hasTitleSlot)?_vm._t(\"title\"):_vm._e(),(!_vm.hasTitleSlot)?_c('h3',{staticClass:\"card-label\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]):_vm._e()],2),_c('div',{staticClass:\"card-toolbar\"},[_vm._t(\"toolbar\")],2)]):_vm._e(),_c('div',{staticClass:\"card-body\",class:{\n bodyClass: _vm.bodyClass,\n 'body-fit': _vm.bodyFit,\n 'body-fluid': _vm.bodyFluid\n }},[_vm._t(\"body\")],2),(_vm.hasFootSlot)?_c('div',{staticClass:\"card-footer\"},[_vm._t(\"foot\")],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Card.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Card.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Card.vue?vue&type=template&id=1c9f0e48&\"\nimport script from \"./Card.vue?vue&type=script&lang=js&\"\nexport * from \"./Card.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodePreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodePreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CodePreview.vue?vue&type=template&id=773e0431&\"\nimport script from \"./CodePreview.vue?vue&type=script&lang=js&\"\nexport * from \"./CodePreview.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { VNodeDirective } from 'vue/types/vnode'\n\ninterface ResizeVNodeDirective extends VNodeDirective {\n value?: () => void\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ResizeVNodeDirective) {\n const callback = binding.value!\n const options = binding.options || { passive: true }\n\n window.addEventListener('resize', callback, options)\n el._onResize = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unbind (el: HTMLElement) {\n if (!el._onResize) return\n\n const { callback, options } = el._onResize\n window.removeEventListener('resize', callback, options)\n delete el._onResize\n}\n\nexport const Resize = {\n inserted,\n unbind,\n}\n\nexport default Resize\n","// Types\nimport { BreakpointName } from 'vuetify/types/services/breakpoint'\nimport { deprecate } from '../../util/console'\nimport Vue, { PropType } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'mobile',\n\n props: {\n mobileBreakpoint: {\n type: [Number, String] as PropType,\n default (): number | BreakpointName | undefined {\n // Avoid destroying unit\n // tests for users\n return this.$vuetify\n ? this.$vuetify.breakpoint.mobileBreakpoint\n : undefined\n },\n validator: v => (\n !isNaN(Number(v)) ||\n ['xs', 'sm', 'md', 'lg', 'xl'].includes(String(v))\n ),\n },\n },\n\n computed: {\n isMobile (): boolean {\n const {\n mobile,\n width,\n name,\n mobileBreakpoint,\n } = this.$vuetify.breakpoint\n\n // Check if local mobileBreakpoint matches\n // the application's mobileBreakpoint\n if (mobileBreakpoint === this.mobileBreakpoint) return mobile\n\n const mobileWidth = parseInt(this.mobileBreakpoint, 10)\n const isNumber = !isNaN(mobileWidth)\n\n return isNumber\n ? width < mobileWidth\n : name === this.mobileBreakpoint\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('mobile-break-point')) {\n deprecate('mobile-break-point', 'mobile-breakpoint', this)\n }\n },\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'transitionable',\n\n props: {\n mode: String,\n origin: String,\n transition: String,\n },\n})\n","// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-window',\n\n directives: { Touch },\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType,\n touchless: Boolean,\n value: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return this.$slots.default\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-window__container',\n class: {\n 'v-window__container--is-active': this.isActive,\n },\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n const on = {\n click: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n },\n }\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n }\n const children = this.$scopedSlots[direction]?.({\n on,\n attrs,\n }) ?? [this.$createElement(VBtn, {\n props: { icon: true },\n attrs,\n on,\n }, [\n this.$createElement(VIcon, {\n props: { large: true },\n }, icon),\n ])]\n\n return this.$createElement('div', {\n staticClass: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-window',\n class: this.classes,\n directives: [] as VNodeDirective[],\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n data.directives.push({\n name: 'touch',\n value,\n })\n }\n\n return h('div', data, [this.genContainer()])\n },\n})\n","// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'\n\n// Components\nimport VTab from './VTab'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { Route } from 'vue-router'\nimport { VNode } from 'vue'\n\ntype VTabInstance = InstanceType\n\nexport default mixins(\n BaseSlideGroup,\n SSRBootable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-tabs-bar',\n\n provide () {\n return {\n tabsBar: this,\n }\n },\n\n computed: {\n classes () {\n return {\n ...BaseSlideGroup.options.computed.classes.call(this),\n 'v-tabs-bar': true,\n 'v-tabs-bar--is-mobile': this.isMobile,\n // TODO: Remove this and move to v-slide-group\n 'v-tabs-bar--show-arrows': this.showArrows,\n ...this.themeClasses,\n }\n },\n },\n\n watch: {\n items: 'callSlider',\n internalValue: 'callSlider',\n $route: 'onRouteChange',\n },\n\n methods: {\n callSlider () {\n if (!this.isBooted) return\n\n this.$emit('call:slider')\n },\n genContent () {\n const render = BaseSlideGroup.options.methods.genContent.call(this)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-tabs-bar__content'\n\n return render\n },\n onRouteChange (val: Route, oldVal: Route) {\n /* istanbul ignore next */\n if (this.mandatory) return\n\n const items = this.items as unknown as VTabInstance[]\n const newPath = val.path\n const oldPath = oldVal.path\n\n let hasNew = false\n let hasOld = false\n\n for (const item of items) {\n if (item.to === newPath) hasNew = true\n else if (item.to === oldPath) hasOld = true\n\n if (hasNew && hasOld) break\n }\n\n // If we have an old item and not a new one\n // it's assumed that the user navigated to\n // a path that is not present in the items\n if (!hasNew && hasOld) this.internalValue = undefined\n },\n },\n\n render (h): VNode {\n const render = BaseSlideGroup.options.render.call(this, h)\n\n render.data!.attrs = {\n role: 'tablist',\n }\n\n return render\n },\n})\n","// Styles\nimport './VTabs.sass'\n\n// Components\nimport VTabsBar from './VTabsBar'\nimport VTabsItems from './VTabsItems'\nimport VTabsSlider from './VTabsSlider'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Colorable,\n Proxyable,\n Themeable\n)\n\ninterface options extends ExtractVue {\n $refs: {\n items: InstanceType\n }\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-tabs',\n\n directives: {\n Resize,\n },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n alignWithTitle: Boolean,\n backgroundColor: String,\n centerActive: Boolean,\n centered: Boolean,\n fixedTabs: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n iconsAndText: Boolean,\n mobileBreakpoint: [String, Number],\n nextIcon: {\n type: String,\n default: '$next',\n },\n optional: Boolean,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n right: Boolean,\n showArrows: [Boolean, String],\n sliderColor: String,\n sliderSize: {\n type: [Number, String],\n default: 2,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n resizeTimeout: 0,\n slider: {\n height: null as null | number,\n left: null as null | number,\n right: null as null | number,\n top: null as null | number,\n width: null as null | number,\n },\n transitionTime: 300,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-tabs--align-with-title': this.alignWithTitle,\n 'v-tabs--centered': this.centered,\n 'v-tabs--fixed-tabs': this.fixedTabs,\n 'v-tabs--grow': this.grow,\n 'v-tabs--icons-and-text': this.iconsAndText,\n 'v-tabs--right': this.right,\n 'v-tabs--vertical': this.vertical,\n ...this.themeClasses,\n }\n },\n isReversed (): boolean {\n return this.$vuetify.rtl && this.vertical\n },\n sliderStyles (): object {\n return {\n height: convertToUnit(this.slider.height),\n left: this.isReversed ? undefined : convertToUnit(this.slider.left),\n right: this.isReversed ? convertToUnit(this.slider.right) : undefined,\n top: this.vertical ? convertToUnit(this.slider.top) : undefined,\n transition: this.slider.left != null ? null : 'none',\n width: convertToUnit(this.slider.width),\n }\n },\n computedColor (): string {\n if (this.color) return this.color\n else if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n },\n\n watch: {\n alignWithTitle: 'callSlider',\n centered: 'callSlider',\n centerActive: 'callSlider',\n fixedTabs: 'callSlider',\n grow: 'callSlider',\n iconsAndText: 'callSlider',\n right: 'callSlider',\n showArrows: 'callSlider',\n vertical: 'callSlider',\n '$vuetify.application.left': 'onResize',\n '$vuetify.application.right': 'onResize',\n '$vuetify.rtl': 'onResize',\n },\n\n mounted () {\n this.$nextTick(() => {\n window.setTimeout(this.callSlider, 30)\n })\n },\n\n methods: {\n callSlider () {\n if (\n this.hideSlider ||\n !this.$refs.items ||\n !this.$refs.items.selectedItems.length\n ) {\n this.slider.width = 0\n return false\n }\n\n this.$nextTick(() => {\n // Give screen time to paint\n const activeTab = this.$refs.items.selectedItems[0]\n /* istanbul ignore if */\n if (!activeTab || !activeTab.$el) {\n this.slider.width = 0\n this.slider.left = 0\n return\n }\n const el = activeTab.$el as HTMLElement\n\n this.slider = {\n height: !this.vertical ? Number(this.sliderSize) : el.scrollHeight,\n left: this.vertical ? 0 : el.offsetLeft,\n right: this.vertical ? 0 : el.offsetLeft + el.offsetWidth,\n top: el.offsetTop,\n width: this.vertical ? Number(this.sliderSize) : el.scrollWidth,\n }\n })\n\n return true\n },\n genBar (items: VNode[], slider: VNode | null) {\n const data = {\n style: {\n height: convertToUnit(this.height),\n },\n props: {\n activeClass: this.activeClass,\n centerActive: this.centerActive,\n dark: this.dark,\n light: this.light,\n mandatory: !this.optional,\n mobileBreakpoint: this.mobileBreakpoint,\n nextIcon: this.nextIcon,\n prevIcon: this.prevIcon,\n showArrows: this.showArrows,\n value: this.internalValue,\n },\n on: {\n 'call:slider': this.callSlider,\n change: (val: any) => {\n this.internalValue = val\n },\n },\n ref: 'items',\n }\n\n this.setTextColor(this.computedColor, data)\n this.setBackgroundColor(this.backgroundColor, data)\n\n return this.$createElement(VTabsBar, data, [\n this.genSlider(slider),\n items,\n ])\n },\n genItems (items: VNode | null, item: VNode[]) {\n // If user provides items\n // opt to use theirs\n if (items) return items\n\n // If no tabs are provided\n // render nothing\n if (!item.length) return null\n\n return this.$createElement(VTabsItems, {\n props: {\n value: this.internalValue,\n },\n on: {\n change: (val: any) => {\n this.internalValue = val\n },\n },\n }, item)\n },\n genSlider (slider: VNode | null) {\n if (this.hideSlider) return null\n\n if (!slider) {\n slider = this.$createElement(VTabsSlider, {\n props: { color: this.sliderColor },\n })\n }\n\n return this.$createElement('div', {\n staticClass: 'v-tabs-slider-wrapper',\n style: this.sliderStyles,\n }, [slider])\n },\n onResize () {\n if (this._isDestroyed) return\n\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.callSlider, 0)\n },\n parseNodes () {\n let items = null\n let slider = null\n const item = []\n const tab = []\n const slot = this.$slots.default || []\n const length = slot.length\n\n for (let i = 0; i < length; i++) {\n const vnode = slot[i]\n\n if (vnode.componentOptions) {\n switch (vnode.componentOptions.Ctor.options.name) {\n case 'v-tabs-slider': slider = vnode\n break\n case 'v-tabs-items': items = vnode\n break\n case 'v-tab-item': item.push(vnode)\n break\n // case 'v-tab' - intentionally omitted\n default: tab.push(vnode)\n }\n } else {\n tab.push(vnode)\n }\n }\n\n /**\n * tab: array of `v-tab`\n * slider: single `v-tabs-slider`\n * items: single `v-tabs-items`\n * item: array of `v-tab-item`\n */\n return { tab, slider, items, item }\n },\n },\n\n render (h): VNode {\n const { tab, slider, items, item } = this.parseNodes()\n\n return h('div', {\n staticClass: 'v-tabs',\n class: this.classes,\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize,\n }],\n }, [\n this.genBar(tab, slider),\n this.genItems(items, item),\n ])\n },\n})\n"],"sourceRoot":""}