{"version":3,"sources":["webpack:///../../../src/components/VGrid/VSpacer.ts","webpack:///../../../src/mixins/button-group/index.ts","webpack:///../../../src/components/VWindow/VWindowItem.ts","webpack:///../../../src/components/VCarousel/VCarouselItem.ts","webpack:///../../../src/components/VCarousel/VCarousel.ts","webpack:///../../../src/components/VCard/index.ts"],"names":["createSimpleFunctional","BaseItemGroup","extend","name","provide","btnToggle","this","computed","classes","options","call","methods","genData","baseMixins","mixins","Bootable","GroupableFactory","directives","Touch","props","disabled","Boolean","reverseTransition","type","String","default","undefined","transition","value","required","data","isActive","inTransition","groupClasses","computedTransition","windowGroup","internalReverse","genDefaultSlot","$slots","genWindowItem","$createElement","staticClass","class","on","$listeners","onAfterTransition","transitionCount","transitionHeight","onBeforeTransition","convertToUnit","$el","clientHeight","onTransitionCancelled","onEnter","el","$nextTick","render","h","beforeEnter","afterEnter","enterCancelled","beforeLeave","afterLeave","leaveCancelled","enter","showLazyContent","VWindowItem","Routable","inject","parentTheme","isDark","theme","inheritAttrs","VImg","$attrs","height","internalHeight","scopedSlots","placeholder","$scopedSlots","getSlot","tag","generateRouteLink","push","VWindow","continuous","cycle","delimiterIcon","Number","hideDelimiters","hideDelimiterBackground","interval","validator","mandatory","progress","progressColor","showArrows","verticalDelimiters","slideTimeout","isVertical","dark","light","watch","internalValue","val","oldVal","restartTimeout","clearTimeout","created","hasOwnProperty","breaking","mounted","startTimeout","genControlIcons","genDelimiters","style","left","right","genItems","length","items","children","i","child","VBtn","attrs","$vuetify","lang","t","icon","small","getValue","key","VIcon","size","ButtonGroup","change","genProgress","VProgressLinear","color","internalIndex","window","requestAnimationFrame","setTimeout","next","VCardActions","VCardSubtitle","VCardText","VCardTitle","VCard"],"mappings":"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","file":"js/chunk-574adb35.25d5b8cb.js","sourcesContent":["import './_grid.sass'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nexport default createSimpleFunctional('spacer', 'div', 'v-spacer')\n","// Extensions\nimport { BaseItemGroup } from '../../components/VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'button-group',\n\n provide (): object {\n return {\n btnToggle: this,\n }\n },\n\n computed: {\n classes (): object {\n return BaseItemGroup.options.computed.classes.call(this)\n },\n },\n\n methods: {\n // Isn't being passed down through types\n genData: BaseItemGroup.options.methods.genData,\n },\n})\n","// Components\nimport VWindow from './VWindow'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n GroupableFactory('windowGroup', 'v-window-item', 'v-window')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n windowGroup: InstanceType\n}\n\nexport default baseMixins.extend().extend(\n /* @vue/component */\n).extend({\n name: 'v-window-item',\n\n directives: {\n Touch,\n },\n\n props: {\n disabled: Boolean,\n reverseTransition: {\n type: [Boolean, String],\n default: undefined,\n },\n transition: {\n type: [Boolean, String],\n default: undefined,\n },\n value: {\n required: false,\n },\n },\n\n data () {\n return {\n isActive: false,\n inTransition: false,\n }\n },\n\n computed: {\n classes (): object {\n return this.groupClasses\n },\n computedTransition (): string | boolean {\n if (!this.windowGroup.internalReverse) {\n return typeof this.transition !== 'undefined'\n ? this.transition || ''\n : this.windowGroup.computedTransition\n }\n\n return typeof this.reverseTransition !== 'undefined'\n ? this.reverseTransition || ''\n : this.windowGroup.computedTransition\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$slots.default\n },\n genWindowItem () {\n return this.$createElement('div', {\n staticClass: 'v-window-item',\n class: this.classes,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n on: this.$listeners,\n }, this.genDefaultSlot())\n },\n onAfterTransition () {\n if (!this.inTransition) {\n return\n }\n\n // Finalize transition state.\n this.inTransition = false\n if (this.windowGroup.transitionCount > 0) {\n this.windowGroup.transitionCount--\n\n // Remove container height if we are out of transition.\n if (this.windowGroup.transitionCount === 0) {\n this.windowGroup.transitionHeight = undefined\n }\n }\n },\n onBeforeTransition () {\n if (this.inTransition) {\n return\n }\n\n // Initialize transition state here.\n this.inTransition = true\n if (this.windowGroup.transitionCount === 0) {\n // Set initial height for height transition.\n this.windowGroup.transitionHeight = convertToUnit(this.windowGroup.$el.clientHeight)\n }\n this.windowGroup.transitionCount++\n },\n onTransitionCancelled () {\n this.onAfterTransition() // This should have the same path as normal transition end.\n },\n onEnter (el: HTMLElement) {\n if (!this.inTransition) {\n return\n }\n\n this.$nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!this.computedTransition || !this.inTransition) {\n return\n }\n\n // Set transition target height.\n this.windowGroup.transitionHeight = convertToUnit(el.clientHeight)\n })\n },\n },\n\n render (h): VNode {\n return h('transition', {\n props: {\n name: this.computedTransition,\n },\n on: {\n // Handlers for enter windows.\n beforeEnter: this.onBeforeTransition,\n afterEnter: this.onAfterTransition,\n enterCancelled: this.onTransitionCancelled,\n\n // Handlers for leave windows.\n beforeLeave: this.onBeforeTransition,\n afterLeave: this.onAfterTransition,\n leaveCancelled: this.onTransitionCancelled,\n\n // Enter handler for height transition.\n enter: this.onEnter,\n },\n }, this.showLazyContent(() => [this.genWindowItem()]))\n },\n})\n","// Extensions\nimport VWindowItem from '../VWindow/VWindowItem'\n\n// Components\nimport { VImg } from '../VImg'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\nimport Routable from '../../mixins/routable'\n\n// Types\nconst baseMixins = mixins(\n VWindowItem,\n Routable\n)\n\ninterface options extends ExtractVue {\n parentTheme: {\n isDark: boolean\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-carousel-item',\n\n inject: {\n parentTheme: {\n default: {\n isDark: false,\n },\n },\n },\n\n // pass down the parent's theme\n provide (): object {\n return {\n theme: this.parentTheme,\n }\n },\n\n inheritAttrs: false,\n\n methods: {\n genDefaultSlot () {\n return [\n this.$createElement(VImg, {\n staticClass: 'v-carousel__item',\n props: {\n ...this.$attrs,\n height: this.windowGroup.internalHeight,\n },\n on: this.$listeners,\n scopedSlots: {\n placeholder: this.$scopedSlots.placeholder,\n },\n }, getSlot(this)),\n ]\n },\n genWindowItem () {\n const { tag, data } = this.generateRouteLink()\n\n data.staticClass = 'v-window-item'\n data.directives!.push({\n name: 'show',\n value: this.isActive,\n })\n\n return this.$createElement(tag, data, this.genDefaultSlot())\n },\n },\n})\n","// Styles\nimport './VCarousel.sass'\n\n// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport VProgressLinear from '../VProgressLinear'\n\n// Mixins\n// TODO: Move this into core components v2.0\nimport ButtonGroup from '../../mixins/button-group'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\nexport default VWindow.extend({\n name: 'v-carousel',\n\n props: {\n continuous: {\n type: Boolean,\n default: true,\n },\n cycle: Boolean,\n delimiterIcon: {\n type: String,\n default: '$delimiter',\n },\n height: {\n type: [Number, String],\n default: 500,\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: (value: string | number) => value > 0,\n },\n mandatory: {\n type: Boolean,\n default: true,\n },\n progress: Boolean,\n progressColor: String,\n showArrows: {\n type: Boolean,\n default: true,\n },\n verticalDelimiters: {\n type: String as PropType<'' | 'left' | 'right'>,\n default: undefined,\n },\n },\n\n // pass down the parent's theme\n provide (): object {\n return {\n parentTheme: this.theme,\n }\n },\n\n data () {\n return {\n internalHeight: this.height,\n slideTimeout: undefined as number | undefined,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.options.computed.classes.call(this),\n 'v-carousel': true,\n 'v-carousel--hide-delimiter-background': this.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': this.isVertical,\n }\n },\n isDark (): boolean {\n return this.dark || !this.light\n },\n isVertical (): boolean {\n return this.verticalDelimiters != null\n },\n },\n\n watch: {\n internalValue: 'restartTimeout',\n interval: 'restartTimeout',\n height (val, oldVal) {\n if (val === oldVal || !val) return\n this.internalHeight = val\n },\n cycle (val) {\n if (val) {\n this.restartTimeout()\n } else {\n clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('hide-controls')) {\n breaking('hide-controls', ':show-arrows=\"false\"', this)\n }\n },\n\n mounted () {\n this.startTimeout()\n },\n\n methods: {\n genControlIcons () {\n if (this.isVertical) return null\n\n return VWindow.options.methods.genControlIcons.call(this)\n },\n genDelimiters (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-carousel__controls',\n style: {\n left: this.verticalDelimiters === 'left' && this.isVertical ? 0 : 'auto',\n right: this.verticalDelimiters === 'right' ? 0 : 'auto',\n },\n }, [this.genItems()])\n },\n genItems (): VNode {\n const length = this.items.length\n const children = []\n\n for (let i = 0; i < length; i++) {\n const child = this.$createElement(VBtn, {\n staticClass: 'v-carousel__controls__item',\n attrs: {\n 'aria-label': this.$vuetify.lang.t('$vuetify.carousel.ariaLabel.delimiter', i + 1, length),\n },\n props: {\n icon: true,\n small: true,\n value: this.getValue(this.items[i], i),\n },\n key: i,\n }, [\n this.$createElement(VIcon, {\n props: { size: 18 },\n }, this.delimiterIcon),\n ])\n\n children.push(child)\n }\n\n return this.$createElement(ButtonGroup, {\n props: {\n value: this.internalValue,\n mandatory: this.mandatory,\n },\n on: {\n change: (val: unknown) => {\n this.internalValue = val\n },\n },\n }, children)\n },\n genProgress () {\n return this.$createElement(VProgressLinear, {\n staticClass: 'v-carousel__progress',\n props: {\n color: this.progressColor,\n value: (this.internalIndex + 1) / this.items.length * 100,\n },\n })\n },\n restartTimeout () {\n this.slideTimeout && clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n\n window.requestAnimationFrame(this.startTimeout)\n },\n startTimeout () {\n if (!this.cycle) return\n\n this.slideTimeout = window.setTimeout(this.next, +this.interval > 0 ? +this.interval : 6000)\n },\n },\n\n render (h): VNode {\n const render = VWindow.options.render.call(this, h)\n\n render.data!.style = `height: ${convertToUnit(this.height)};`\n\n /* istanbul ignore else */\n if (!this.hideDelimiters) {\n render.children!.push(this.genDelimiters())\n }\n\n /* istanbul ignore else */\n if (this.progress || this.progressColor) {\n render.children!.push(this.genProgress())\n }\n\n return render\n },\n})\n","import VCard from './VCard'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VCardActions = createSimpleFunctional('v-card__actions')\nconst VCardSubtitle = createSimpleFunctional('v-card__subtitle')\nconst VCardText = createSimpleFunctional('v-card__text')\nconst VCardTitle = createSimpleFunctional('v-card__title')\n\nexport {\n VCard,\n VCardActions,\n VCardSubtitle,\n VCardText,\n VCardTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VCard,\n VCardActions,\n VCardSubtitle,\n VCardText,\n VCardTitle,\n },\n}\n"],"sourceRoot":""}