{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.array.flat.js","webpack:///../../../src/components/transitions/createTransition.ts","webpack:///../../../src/components/transitions/expand-transition.ts","webpack:///../../../src/components/transitions/index.ts","webpack:///../../../src/mixins/delayable/index.ts","webpack:///../../../src/mixins/measurable/index.ts","webpack:///./node_modules/core-js/modules/es.math.sign.js","webpack:///./node_modules/core-js/modules/es.array.unscopables.flat.js","webpack:///../../../src/components/VHover/VHover.ts","webpack:///./src/view/pages/vuetify/Badges.vue","webpack:///src/view/pages/vuetify/Badges.vue","webpack:///./src/view/pages/vuetify/Badges.vue?e91d","webpack:///./src/view/pages/vuetify/Badges.vue?91d7","webpack:///../../../src/components/VBadge/VBadge.ts","webpack:///../../../src/components/VItemGroup/VItemGroup.ts","webpack:///../../../src/components/VTabs/VTab.ts","webpack:///../../../src/components/VAvatar/VAvatar.ts","webpack:///../../../src/mixins/comparable/index.ts","webpack:///../../../src/components/VSheet/VSheet.ts","webpack:///../../../src/components/VTabs/VTabsSlider.ts","webpack:///../../../src/components/VIcon/index.ts","webpack:///../../../src/mixins/roundable/index.ts","webpack:///./node_modules/core-js/internals/flatten-into-array.js","webpack:///../../../src/mixins/proxyable/index.ts","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///../../../src/components/VWindow/VWindow.ts","webpack:///../../../src/components/VTabs/VTabsItems.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/elevatable/index.ts","webpack:///../../../src/mixins/ssr-bootable/index.ts","webpack:///./src/view/content/CodePreview.vue","webpack:///./src/view/content/Card.vue","webpack:///src/view/content/Card.vue","webpack:///./src/view/content/Card.vue?8715","webpack:///./src/view/content/Card.vue?eb51","webpack:///src/view/content/CodePreview.vue","webpack:///./src/view/content/CodePreview.vue?e189","webpack:///./src/view/content/CodePreview.vue?e254","webpack:///../../src/util/mergeData.ts","webpack:///../../../src/directives/resize/index.ts","webpack:///../../../src/mixins/mobile/index.ts","webpack:///../../../src/mixins/transitionable/index.ts","webpack:///../../../src/components/VSlideGroup/VSlideGroup.ts","webpack:///../../../src/components/VTabs/VTabsBar.ts","webpack:///../../../src/components/VTabs/VTabs.ts"],"names":["$","flattenIntoArray","toObject","lengthOfArrayLike","toIntegerOrInfinity","arraySpeciesCreate","target","proto","flat","depthArg","arguments","length","undefined","O","this","sourceLen","A","mergeTransitions","_Array","dest","_len","transitions","Array","_key","concat","apply","createSimpleTransition","name","origin","mode","functional","props","group","type","Boolean","default","hideOnLeave","leaveAbsolute","String","render","h","context","tag","data","on","beforeEnter","el","style","transformOrigin","webkitTransformOrigin","leave","offsetTop","offsetLeft","offsetWidth","offsetHeight","_transitionInitialStyles","position","top","left","width","height","afterLeave","_el$_transitionInitia","setProperty","mergeData","children","createJavascriptTransition","functions","expandedParentClass","x","sizeProperty","offsetProperty","upperFirst","_parent","parentNode","_initialStyle","_defineProperty","transition","overflow","enter","initialStyle","offset","classList","add","requestAnimationFrame","afterEnter","resetStyles","enterCancelled","leaveCancelled","remove","size","VTabTransition","VTabReverseTransition","VFabTransition","VFadeTransition","VScaleTransition","VScrollXTransition","VScrollYTransition","VSlideXTransition","VSlideXReverseTransition","VExpandTransition","ExpandTransitionGenerator","VExpandXTransition","Vue","extend","openDelay","Number","closeDelay","openTimeout","closeTimeout","methods","clearDelay","clearTimeout","runDelay","cb","_this","delay","parseInt","setTimeout","isActive","open","close","maxHeight","maxWidth","minHeight","minWidth","computed","measurableStyles","styles","convertToUnit","sign","stat","addToUnscopables","mixins","Delayable","Toggleable","disabled","value","onMouseEnter","onMouseLeave","$scopedSlots","element","hover","isArray","_g","mouseenter","mouseleave","consoleWarn","staticClass","_c","attrs","_vm","scopedSlots","key","fn","proxy","messages","code3","js","model","code2","expression","_v","staticRenderFns","code1","html","code4","components","KTCodePreview","mounted","$store","dispatch","SET_BREADCRUMB","title","route","component","Colorable","PositionableFactory","Themeable","Transitionable","avatar","bordered","color","content","required","dot","label","icon","inline","offsetX","offsetY","overlap","tile","classes","_objectSpread","bottom","themeClasses","computedBottom","computedYOffset","computedLeft","isRtl","computedXOffset","computedRight","computedTop","calcPosition","$vuetify","rtl","right","genBadge","lang","$attrs","t","setBackgroundColor","role","directives","badge","$createElement","genBadgeContent","slot","getSlot","VIcon","genBadgeWrapper","_this$$attrs","_objectWithoutProperties","_excluded","unshift","push","class","BaseItemGroup","Comparable","Proxyable","activeClass","mandatory","max","multiple","internalLazyValue","items","selectedIndex","selectedItem","indexOf","selectedItems","filter","item","index","toggleMethod","getValue","selectedValues","internalValue","_this2","v","valueComparator","some","intern","watch","created","genData","i","onClick","updateInternalValue","register","_this3","$on","updateMandatory","updateItem","unregister","_isDestroyed","splice","valueIndex","updateItemsState","_this4","$nextTick","forEach","updateMultiple","updateSingle","last","slice","reverse","find","_this5","defaultValue","findIndex","val","isSame","provide","itemGroup","baseMixins","Routable","GroupableFactory","ripple","Object","tabValue","proxyClass","options","call","groupClasses","to","href","$router","resolve","$route","append","replace","click","e","preventDefault","detail","$el","blur","$emit","toggle","tabsBar","_this$generateRouteLi","generateRouteLink","tabindex","keydown","keyCode","keyCodes","Measurable","Roundable","roundedClasses","$listeners","Function","deepEqual","BindsAttrs","Elevatable","outlined","shaped","elevationClasses","listeners$","$slots","rounded","composite","_step","values","split","_iterator","_createForOfIteratorHelper","s","n","done","err","f","join","doesNotExceedSafeInteger","bind","original","source","start","depth","mapper","thisArg","elementLen","targetIndex","sourceIndex","mapFn","module","exports","factory","prop","event","get","set","Grid","id","fluid","_ref","keys","startsWith","domProps","Touch","windowGroup","continuous","nextIcon","prevIcon","showArrows","showArrowsOnHover","touch","touchless","vertical","changedByDelimiters","internalHeight","transitionHeight","transitionCount","isBooted","isReverse","computedTransition","axis","internalReverse","direction","hasActiveItems","hasNext","internalIndex","hasPrev","oldVal","updateReverse","window","genDefaultSlot","genContainer","genControlIcons","genIcon","stopPropagation","_b","_a","VBtn","large","icons","prev","next","getNextIndex","nextIndex","getPrevIndex","prevIndex","lastIndex","itemsLength","end","VWindow","isDark","rootIsDark","handleGesture","wrapper","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","Math","abs","up","down","touchstart","changedTouches","clientX","clientY","assign","touchend","touchmove","touchmoveX","touchmoveY","move","createHandlers","inserted","binding","vnode","parent","parentElement","passive","handlers","_touchHandlers","_uid","eventName","addEventListener","unbind","removeEventListener","$findIndex","FIND_INDEX","SKIPS_HOLES","forced","callbackfn","elevation","computedElevation","isNaN","setAttribute","_self","ref","_u","hasTitleSlot","_t","hasGeneralCode","hasSingleCodeType","_e","hasHtmlCode","setActiveTab","hasJsCode","hasScssCode","tabIndex","callback","$$v","headClass","_s","bodyClass","bodyFit","bodyFluid","hasFootSlot","headSize","fluidHeight","fluidHalfHeight","headOverlay","cardClass","example","cls","headSizeClass","isOpen","KTCard","KTLayoutExamples","init","hljs","querySelectorAll","hl","tab","closest","links","getAttribute","exist","hasOwnProperty","pattern","styleList","styleProp","parseStyle","styleMap","_s$split","_s$split2","_slicedToArray","trim","camelize","mergeTarget","_i","_Object$keys","mergeClasses","mergeStyles","mergeListeners","wrapInArray","arg","_onResize","modifiers","quiet","_el$_onResize$vnode$c","Resize","mobileBreakpoint","breakpoint","validator","includes","isMobile","_this$$vuetify$breakp","mobile","mobileWidth","isNumber","deprecate","bias","c","calculateUpdatedOffset","selectedElement","widths","currentScrollOffset","clientWidth","totalWidth","itemOffset","additionalOffset","min","calculateCenteredOffset","offsetCentered","BaseSlideGroup","Mobile","centerActive","isOverflowing","resizeTimeout","startX","isSwipingHorizontal","isSwiping","scrollOffset","canTouch","__cachedNext","genTransition","__cachedPrev","hasAffixes","_this$widths","scroll","$refs","transform","ResizeObserver","obs","onResize","observe","disconnect","setWidths","onScroll","scrollLeft","onFocusin","composedPath","_step2","_iterator2","vm","genNext","onAffixClick","genContent","focusin","location","upperLocation","toUpperCase","hasAffix","genPrev","genWrapper","overflowCheck","onTouchStart","onTouchMove","onTouchEnd","calculateNewOffset","newAbosluteOffset","scrollTo","diffX","diffY","document","documentElement","overflowY","_this$$refs","maxScrollOffset","removeProperty","scrollIntoView","lastItemPosition","getBoundingClientRect","wrapperPosition","_this5$$refs","slideGroup","SSRBootable","callSlider","onRouteChange","newPath","path","oldPath","hasNew","hasOld","alignWithTitle","backgroundColor","centered","fixedTabs","grow","hideSlider","iconsAndText","optional","sliderColor","sliderSize","slider","transitionTime","isReversed","sliderStyles","computedColor","appIsDark","activeTab","scrollHeight","scrollWidth","genBar","dark","light","change","setTextColor","VTabsBar","genSlider","genItems","VTabsItems","VTabsSlider","parseNodes","componentOptions","Ctor","_this$parseNodes"],"mappings":"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","file":"js/chunk-73ee8a15.cab34970.js","sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://tc39.es/ecma262/#sec-array.prototype.flat\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = lengthOfArrayLike(O);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));\n return A;\n }\n});\n","import { FunctionalComponentOptions, VNode, VNodeData } from 'vue'\nimport mergeData from '../../util/mergeData'\n\nfunction mergeTransitions (\n dest: Function | Function[] = [],\n ...transitions: (Function | Function[])[]\n) {\n /* eslint-disable-next-line no-array-constructor */\n return Array().concat(dest, ...transitions)\n}\n\nexport function createSimpleTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n group: {\n type: Boolean,\n default: false,\n },\n hideOnLeave: {\n type: Boolean,\n default: false,\n },\n leaveAbsolute: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n render (h, context): VNode {\n const tag = `transition${context.props.group ? '-group' : ''}`\n const data: VNodeData = {\n props: {\n name,\n mode: context.props.mode,\n },\n on: {\n beforeEnter (el: HTMLElement) {\n el.style.transformOrigin = context.props.origin\n el.style.webkitTransformOrigin = context.props.origin\n },\n },\n }\n\n if (context.props.leaveAbsolute) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = offsetTop + 'px'\n el.style.left = offsetLeft + 'px'\n el.style.width = offsetWidth + 'px'\n el.style.height = offsetHeight + 'px'\n })\n data.on!.afterLeave = mergeTransitions(data.on!.afterLeave, (el?: HTMLElement) => {\n if (el && el._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n })\n }\n if (context.props.hideOnLeave) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n el.style.setProperty('display', 'none', 'important')\n })\n }\n\n return h(tag, mergeData(context.data, data), context.children)\n },\n }\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record,\n mode = 'in-out'\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n mode: {\n type: String,\n default: mode,\n },\n },\n\n render (h, context): VNode {\n return h(\n 'transition',\n mergeData(context.data, {\n props: { name },\n on: functions,\n }),\n context.children\n )\n },\n }\n}\n","import { upperFirst } from '../../util/helpers'\n\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: (Node & ParentNode & HTMLElement) | null\n _initialStyle?: {\n transition: string\n overflow: string\n height?: string | null\n width?: string | null\n }\n}\n\nexport default function (expandedParentClass = '', x = false) {\n const sizeProperty = x ? 'width' : 'height' as 'width' | 'height'\n const offsetProperty = `offset${upperFirst(sizeProperty)}` as 'offsetHeight' | 'offsetWidth'\n\n return {\n beforeEnter (el: HTMLExpandElement) {\n el._parent = el.parentNode as (Node & ParentNode & HTMLElement) | null\n el._initialStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n },\n\n enter (el: HTMLExpandElement) {\n const initialStyle = el._initialStyle!\n\n el.style.setProperty('transition', 'none', 'important')\n // Hide overflow to account for collapsed margins in the calculated height\n el.style.overflow = 'hidden'\n const offset = `${el[offsetProperty]}px`\n\n el.style[sizeProperty] = '0'\n\n void el.offsetHeight // force reflow\n\n el.style.transition = initialStyle.transition\n\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass)\n }\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset\n })\n },\n\n afterEnter: resetStyles,\n enterCancelled: resetStyles,\n\n leave (el: HTMLExpandElement) {\n el._initialStyle = {\n transition: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = `${el[offsetProperty]}px`\n void el.offsetHeight // force reflow\n\n requestAnimationFrame(() => (el.style[sizeProperty] = '0'))\n },\n\n afterLeave,\n leaveCancelled: afterLeave,\n }\n\n function afterLeave (el: HTMLExpandElement) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass)\n }\n resetStyles(el)\n }\n\n function resetStyles (el: HTMLExpandElement) {\n const size = el._initialStyle![sizeProperty]\n el.style.overflow = el._initialStyle!.overflow\n if (size != null) el.style[sizeProperty] = size\n delete el._initialStyle\n }\n}\n","import {\n createSimpleTransition,\n createJavascriptTransition,\n} from './createTransition'\n\nimport ExpandTransitionGenerator from './expand-transition'\n\n// Component specific transitions\nexport const VCarouselTransition = createSimpleTransition('carousel-transition')\nexport const VCarouselReverseTransition = createSimpleTransition('carousel-reverse-transition')\nexport const VTabTransition = createSimpleTransition('tab-transition')\nexport const VTabReverseTransition = createSimpleTransition('tab-reverse-transition')\nexport const VMenuTransition = createSimpleTransition('menu-transition')\nexport const VFabTransition = createSimpleTransition('fab-transition', 'center center', 'out-in')\n\n// Generic transitions\nexport const VDialogTransition = createSimpleTransition('dialog-transition')\nexport const VDialogBottomTransition = createSimpleTransition('dialog-bottom-transition')\nexport const VDialogTopTransition = createSimpleTransition('dialog-top-transition')\nexport const VFadeTransition = createSimpleTransition('fade-transition')\nexport const VScaleTransition = createSimpleTransition('scale-transition')\nexport const VScrollXTransition = createSimpleTransition('scroll-x-transition')\nexport const VScrollXReverseTransition = createSimpleTransition('scroll-x-reverse-transition')\nexport const VScrollYTransition = createSimpleTransition('scroll-y-transition')\nexport const VScrollYReverseTransition = createSimpleTransition('scroll-y-reverse-transition')\nexport const VSlideXTransition = createSimpleTransition('slide-x-transition')\nexport const VSlideXReverseTransition = createSimpleTransition('slide-x-reverse-transition')\nexport const VSlideYTransition = createSimpleTransition('slide-y-transition')\nexport const VSlideYReverseTransition = createSimpleTransition('slide-y-reverse-transition')\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator())\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true))\n\nexport default {\n $_vuetify_subcomponents: {\n VCarouselTransition,\n VCarouselReverseTransition,\n VDialogTransition,\n VDialogBottomTransition,\n VDialogTopTransition,\n VFabTransition,\n VFadeTransition,\n VMenuTransition,\n VScaleTransition,\n VScrollXTransition,\n VScrollXReverseTransition,\n VScrollYTransition,\n VScrollYReverseTransition,\n VSlideXTransition,\n VSlideXReverseTransition,\n VSlideYTransition,\n VSlideYReverseTransition,\n VTabReverseTransition,\n VTabTransition,\n VExpandTransition,\n VExpandXTransition,\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","// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport Vue, { PropType } from 'vue'\n\nexport type NumberOrNumberString = PropType\n\nexport default Vue.extend({\n name: 'measurable',\n\n props: {\n height: [Number, String] as NumberOrNumberString,\n maxHeight: [Number, String] as NumberOrNumberString,\n maxWidth: [Number, String] as NumberOrNumberString,\n minHeight: [Number, String] as NumberOrNumberString,\n minWidth: [Number, String] as NumberOrNumberString,\n width: [Number, String] as NumberOrNumberString,\n },\n\n computed: {\n measurableStyles (): object {\n const styles: Record = {}\n\n const height = convertToUnit(this.height)\n const minHeight = convertToUnit(this.minHeight)\n const minWidth = convertToUnit(this.minWidth)\n const maxHeight = convertToUnit(this.maxHeight)\n const maxWidth = convertToUnit(this.maxWidth)\n const width = convertToUnit(this.width)\n\n if (height) styles.height = height\n if (minHeight) styles.minHeight = minHeight\n if (minWidth) styles.minWidth = minWidth\n if (maxHeight) styles.maxHeight = maxHeight\n if (maxWidth) styles.maxWidth = maxWidth\n if (width) styles.width = width\n\n return styles\n },\n },\n})\n","'use strict';\nvar $ = require('../internals/export');\nvar sign = require('../internals/math-sign');\n\n// `Math.sign` method\n// https://tc39.es/ecma262/#sec-math.sign\n$({ target: 'Math', stat: true }, {\n sign: sign\n});\n","'use strict';\n// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flat');\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","var render = function render(){var _vm=this,_c=_vm._self._c;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)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-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--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Badges.vue?vue&type=script&lang=js\"","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","// 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","// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\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'\nimport { getSlot } from '../../util/helpers'\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 Comparable,\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.valueComparator(this.internalValue, v)\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.some(intern => this.valueComparator(intern, 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 === undefined\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 => this.valueComparator(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 = this.valueComparator(this.internalValue, value)\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(), getSlot(this))\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 { getSlot, keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n// Components\nimport VTabsBar from '../VTabs/VTabsBar'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ntype VTabBarInstance = InstanceType\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n tabsBar: VTabBarInstance\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 tabValue: {\n required: false,\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 if (this.tabValue != null) return this.tabValue\n\n let to = this.to || this.href\n\n if (to == null) return to\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 methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n if (this.disabled) {\n e.preventDefault()\n return\n }\n\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 toggle () {\n // VItemGroup treats a change event as a click\n if (!this.isActive || (!this.tabsBar.mandatory && !this.to)) {\n this.$emit('change')\n }\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: this.disabled ? -1 : 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, getSlot(this))\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, getSlot } 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), getSlot(this))\n },\n})\n","import Vue from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { deepEqual } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'comparable',\n props: {\n valueComparator: {\n type: Function,\n default: deepEqual,\n } as PropValidator,\n },\n})\n","// Styles\nimport './VSheet.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n Colorable,\n Elevatable,\n Measurable,\n Roundable,\n Themeable\n).extend({\n name: 'v-sheet',\n\n props: {\n outlined: Boolean,\n shaped: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-sheet': true,\n 'v-sheet--outlined': this.outlined,\n 'v-sheet--shaped': this.shaped,\n ...this.themeClasses,\n ...this.elevationClasses,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return this.measurableStyles\n },\n },\n\n render (h): VNode {\n const data = {\n class: this.classes,\n style: this.styles,\n on: this.listeners$,\n }\n\n return h(\n this.tag,\n this.setBackgroundColor(this.color, data),\n this.$slots.default\n )\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 Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'roundable',\n\n props: {\n rounded: [Boolean, String],\n tile: Boolean,\n },\n\n computed: {\n roundedClasses (): Record {\n const composite = []\n const rounded = typeof this.rounded === 'string'\n ? String(this.rounded)\n : this.rounded === true\n\n if (this.tile) {\n composite.push('rounded-0')\n } else if (typeof rounded === 'string') {\n const values = rounded.split(' ')\n\n for (const value of values) {\n composite.push(`rounded-${value}`)\n }\n } else if (rounded) {\n composite.push('rounded')\n }\n\n return composite.length > 0 ? {\n [composite.join(' ')]: true,\n } : {}\n },\n },\n})\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg) : false;\n var element, elementLen;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n elementLen = lengthOfArrayLike(element);\n targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;\n } else {\n doesNotExceedSafeInteger(targetIndex + 1);\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","import Vue, { VueConstructor } from 'vue'\n\nexport type Proxyable = VueConstructor>\n\nexport function factory (prop?: T, event?: string): Proxyable\nexport function factory (\n prop = 'value',\n event = 'change'\n) {\n return Vue.extend({\n name: 'proxyable',\n\n model: {\n prop,\n event,\n },\n\n props: {\n [prop]: {\n required: false,\n },\n },\n\n data () {\n return {\n internalLazyValue: this[prop] as unknown,\n }\n },\n\n computed: {\n internalValue: {\n get (): unknown {\n return this.internalLazyValue\n },\n set (val: any) {\n if (val === this.internalLazyValue) return\n\n this.internalLazyValue = val\n\n this.$emit(event, val)\n },\n },\n },\n\n watch: {\n [prop] (val) {\n this.internalLazyValue = val\n },\n },\n })\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\nconst Proxyable = factory()\n\nexport default Proxyable\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","// 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'\nimport { getSlot } from '../../util/helpers'\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 getSlot(this)\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 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 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\n// eslint-disable-next-line es/no-array-prototype-findindex -- testing\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\nexport default Vue.extend({\n name: 'elevatable',\n\n props: {\n elevation: [Number, String],\n },\n\n computed: {\n computedElevation (): string | number | undefined {\n return this.elevation\n },\n elevationClasses (): Record {\n const elevation = this.computedElevation\n\n if (elevation == null) return {}\n if (isNaN(parseInt(elevation))) return {}\n return { [`elevation-${this.elevation}`]: true }\n },\n },\n})\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 render(){var _vm=this,_c=_vm._self._c;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)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;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()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-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--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-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--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-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--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-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","/**\n * @copyright 2017 Alex Regan\n * @license MIT\n * @see https://github.com/alexsasharegan/vue-functional-data-merge\n */\n/* eslint-disable max-statements */\nimport { VNodeData } from 'vue'\nimport { camelize, wrapInArray } from './helpers'\n\nconst pattern = {\n styleList: /;(?![^(]*\\))/g,\n styleProp: /:(.*)/,\n} as const\n\nfunction parseStyle (style: string) {\n const styleMap: Dictionary = {}\n\n for (const s of style.split(pattern.styleList)) {\n let [key, val] = s.split(pattern.styleProp)\n key = key.trim()\n if (!key) {\n continue\n }\n // May be undefined if the `key: value` pair is incomplete.\n if (typeof val === 'string') {\n val = val.trim()\n }\n styleMap[camelize(key)] = val\n }\n\n return styleMap\n}\n\n/**\n * Intelligently merges data for createElement.\n * Merges arguments left to right, preferring the right argument.\n * Returns new VNodeData object.\n */\nexport default function mergeData (...vNodeData: VNodeData[]): VNodeData\nexport default function mergeData (): VNodeData {\n const mergeTarget: VNodeData & Dictionary = {}\n let i: number = arguments.length\n let prop: string\n\n // Allow for variadic argument length.\n while (i--) {\n // Iterate through the data properties and execute merge strategies\n // Object.keys eliminates need for hasOwnProperty call\n for (prop of Object.keys(arguments[i])) {\n switch (prop) {\n // Array merge strategy (array concatenation)\n case 'class':\n case 'directives':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeClasses(mergeTarget[prop], arguments[i][prop])\n }\n break\n case 'style':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeStyles(mergeTarget[prop], arguments[i][prop])\n }\n break\n // Space delimited string concatenation strategy\n case 'staticClass':\n if (!arguments[i][prop]) {\n break\n }\n if (mergeTarget[prop] === undefined) {\n mergeTarget[prop] = ''\n }\n if (mergeTarget[prop]) {\n // Not an empty string, so concatenate\n mergeTarget[prop] += ' '\n }\n mergeTarget[prop] += arguments[i][prop].trim()\n break\n // Object, the properties of which to merge via array merge strategy (array concatenation).\n // Callback merge strategy merges callbacks to the beginning of the array,\n // so that the last defined callback will be invoked first.\n // This is done since to mimic how Object.assign merging\n // uses the last given value to assign.\n case 'on':\n case 'nativeOn':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeListeners(mergeTarget[prop], arguments[i][prop])\n }\n break\n // Object merge strategy\n case 'attrs':\n case 'props':\n case 'domProps':\n case 'scopedSlots':\n case 'staticStyle':\n case 'hook':\n case 'transition':\n if (!arguments[i][prop]) {\n break\n }\n if (!mergeTarget[prop]) {\n mergeTarget[prop] = {}\n }\n mergeTarget[prop] = { ...arguments[i][prop], ...mergeTarget[prop] }\n break\n // Reassignment strategy (no merge)\n default: // slot, key, ref, tag, show, keepAlive\n if (!mergeTarget[prop]) {\n mergeTarget[prop] = arguments[i][prop]\n }\n }\n }\n }\n\n return mergeTarget\n}\n\nexport function mergeStyles (\n target: undefined | string | object[] | object,\n source: undefined | string | object[] | object\n) {\n if (!target) return source\n if (!source) return target\n\n target = wrapInArray(typeof target === 'string' ? parseStyle(target) : target)\n\n return (target as object[]).concat(typeof source === 'string' ? parseStyle(source) : source)\n}\n\nexport function mergeClasses (target: any, source: any) {\n if (!source) return target\n if (!target) return source\n\n return target ? wrapInArray(target).concat(source) : source\n}\n\nexport function mergeListeners (...args: [\n { [key: string]: Function | Function[] } | undefined,\n { [key: string]: Function | Function[] } | undefined\n]) {\n if (!args[0]) return args[1]\n if (!args[1]) return args[0]\n\n const dest: { [key: string]: Function | Function[] } = {}\n\n for (let i = 2; i--;) {\n const arg = args[i]\n for (const event in arg) {\n if (!arg[event]) continue\n\n if (dest[event]) {\n // Merge current listeners before (because we are iterating backwards).\n // Note that neither \"target\" or \"source\" must be altered.\n dest[event] = ([] as Function[]).concat(arg[event], dest[event])\n } else {\n // Straight assign.\n dest[event] = arg[event]\n }\n }\n }\n\n return dest\n}\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ResizeVNodeDirective extends VNodeDirective {\n value?: () => void\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n const callback = binding.value!\n const options = binding.options || { passive: true }\n\n window.addEventListener('resize', callback, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![vnode.context!._uid] = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n if (!el._onResize?.[vnode.context!._uid]) return\n\n const { callback, options } = el._onResize[vnode.context!._uid]!\n\n window.removeEventListener('resize', callback, options)\n\n delete el._onResize[vnode.context!._uid]\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 './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'\nimport { composedPath, getSlot } from '../../util/helpers'\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\nfunction bias (val: number) {\n const c = 0.501\n const x = Math.abs(val)\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1))\n}\n\nexport function calculateUpdatedOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean,\n currentScrollOffset: number\n): 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\nexport function calculateCenteredOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean\n): 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\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: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'never',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n },\n\n data: () => ({\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 // Always hide arrows\n case 'never': return false\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 if (this.$vuetify.rtl) val = -val\n\n let scroll =\n val <= 0\n ? bias(-val)\n : val > this.widths.content - this.widths.wrapper\n ? -(this.widths.content - this.widths.wrapper) + bias(this.widths.content - this.widths.wrapper - val)\n : -val\n\n if (this.$vuetify.rtl) scroll = -scroll\n\n this.$refs.content.style.transform = `translateX(${scroll}px)`\n },\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n obs.observe(this.$refs.content)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n } else {\n let itemsLength = 0\n this.$on('hook:beforeUpdate', () => {\n itemsLength = (this.$refs.content?.children || []).length\n })\n this.$on('hook:updated', () => {\n if (itemsLength === (this.$refs.content?.children || []).length) return\n this.setWidths()\n })\n }\n },\n\n methods: {\n onScroll () {\n this.$refs.wrapper.scrollLeft = 0\n },\n onFocusin (e: FocusEvent) {\n if (!this.isOverflowing) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of composedPath(e)) {\n for (const vm of this.items) {\n if (vm.$el === el) {\n this.scrollOffset = calculateUpdatedOffset(\n vm.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n return\n }\n }\n }\n },\n // Always generate next for scrollable hint\n genNext (): VNode | null {\n const slot = this.$scopedSlots.next\n ? this.$scopedSlots.next({})\n : getSlot(this, '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 on: {\n focusin: this.onFocusin,\n },\n }, getSlot(this))\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 : getSlot(this, '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 on: {\n scroll: this.onScroll,\n },\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 = calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\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 () {\n window.requestAnimationFrame(() => {\n if (this._isDestroyed) return\n\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","// 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 === oldPath) hasOld = true\n else if (item.to === newPath) hasNew = 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, getSlot } 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 if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n }\n\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 = getSlot(this) || []\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":""}