{"version":3,"sources":["webpack:///../../../../src/components/VColorPicker/util/index.ts","webpack:///../../../src/components/VColorPicker/VColorPickerPreview.ts","webpack:///../../../src/components/VColorPicker/VColorPickerCanvas.ts","webpack:///../../../src/components/VColorPicker/VColorPickerEdit.ts","webpack:///../../../src/components/VColorPicker/VColorPickerSwatches.ts","webpack:///../../../src/components/VColorPicker/VColorPicker.ts","webpack:///./src/components/InputImage.vue","webpack:///src/components/InputImage.vue","webpack:///./src/components/InputImage.vue?b6cf","webpack:///./src/components/InputImage.vue?d7e1","webpack:///../../../src/components/VGrid/VRow.ts","webpack:///../../../src/components/VGrid/VCol.ts","webpack:///./src/components/InputImage.vue?579b","webpack:///../../../src/components/VSlider/VSlider.ts","webpack:///../../src/util/colors.ts"],"names":["fromHSVA","hsva","hexa","HSVAtoHex","hsla","HSVAtoHSLA","rgba","HSVAtoRGBA","alpha","a","hex","substr","hue","h","fromHSLA","HSLAtoHSVA","fromRGBA","RGBAtoHSVA","RGBAtoHex","fromHexa","HexToHSVA","fromHex","parseHex","has","obj","key","every","k","hasOwnProperty","parseColor","color","oldColor","r","g","b","parseFloat","stripAlpha","rest","extractColor","input","length","shouldStrip","hasAlpha","Vue","extend","name","props","Object","disabled","Boolean","hideAlpha","methods","genAlpha","this","genTrack","staticClass","thumbColor","hideDetails","value","step","min","max","style","backgroundImage","undefined","$vuetify","rtl","RGBtoCSS","on","val","$emit","genSliders","$createElement","genHue","genDot","background","RGBAtoCSS","options","VSlider","class","render","type","default","dotSize","Number","String","height","width","data","boundingRect","left","top","computed","dot","x","s","parseInt","y","v","watch","mounted","updateCanvas","emitColor","clamp","canvas","$refs","ctx","getContext","saturationGradient","createLinearGradient","addColorStop","fillStyle","fillRect","valueGradient","handleClick","e","$el","getBoundingClientRect","clientX","clientY","handleMouseDown","preventDefault","window","addEventListener","handleMouseMove","handleMouseUp","removeEventListener","genCanvas","ref","attrs","radius","convertToUnit","transform","click","mousedown","modes","inputs","from","hideModeSwitch","mode","validator","keys","includes","internalMode","currentMode","created","getValue","Math","round","parseValue","changeMode","index","indexOf","newMode","genInput","target","domProps","toUpperCase","genInputs","endsWith","maxlength","change","el","slice","map","newVal","assign","genSwitch","VBtn","small","icon","VIcon","parseDefaultColors","colors","base","darken4","darken3","darken2","darken1","lighten1","lighten2","lighten3","lighten4","lighten5","black","white","transparent","mixins","Themeable","swatches","Array","maxWidth","maxHeight","genColor","content","deepEqual","dark","contrastRatio","light","genSwatches","swatch","Elevatable","canvasHeight","flat","hideCanvas","hideSliders","hideInputs","showSwatches","swatchesMaxHeight","internalValue","handler","updateColor","immediate","VColorPickerCanvas","genControls","genPreview","genEdit","VColorPickerEdit","VColorPickerPreview","VColorPickerSwatches","VSheet","themeClasses","elevationClasses","_vm","_c","_self","$event","img_input","staticStyle","handleFiles","$slots","_t","loading","_v","_s","$t","isImages","stopPropagation","removeImages","apply","arguments","_e","keyImg","onlyTitle","images","$getImgSrc","staticRenderFns","_createFileReader","fr","reject","resolve","result","_fileLimit","_fileRegex","_readFiles","files","multi","promises","_createImage","image","_getImgSize","size","_createCanvases","formats","context","dx","dy","resize","canvases","components","Loading","originalImage","originalSize","innerFormats","required","keepOriginal","keepOriginalName","randomName","timestampName","debug","p","imgName","component","breakpoints","ALIGNMENT","makeProps","prefix","def","reduce","upperFirst","alignValidator","str","alignProps","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","align","justify","alignContent","classMap","breakpointClass","prop","className","breakpoint","replace","toLowerCase","cache","Map","functional","tag","dense","noGutters","children","cacheKey","classList","get","forEach","push","set","mergeData","breakpointProps","offsetProps","orderProps","col","offset","order","cols","alignSelf","parent","hasColClasses","some","startsWith","VInput","Loadable","directives","ClickOutside","inverseLabel","thumbLabel","thumbSize","tickLabels","ticks","tickSize","trackColor","trackFillColor","vertical","app","oldValue","thumbPressed","mouseTimeout","isFocused","isActive","noClick","startOffset","classes","call","lazyValue","isNaN","minValue","roundValue","maxValue","trackTransition","showTicks","stepNumeric","inputWidth","trackFillStyles","startDir","endDir","valueDir","start","end","isDisabled","transition","trackStyles","numTicks","ceil","showThumbLabel","$scopedSlots","computedTrackColor","isDark","validationState","computedTrackFillColor","computedColor","computedThumbColor","parsed","beforeMount","document","querySelector","consoleWarn","genDefaultSlot","genLabel","slider","genSlider","unshift","genProgress","isReadonly","onBlur","onSliderClick","onSliderMouseDown","touchstart","genChildren","genTrackContainer","genSteps","genThumbContainer","onFocus","id","computedId","readonly","tabindex","$attrs","setBackgroundColor","range","createRange","direction","offsetDirection","reverse","filled","valueWidth","genThumb","thumbLabelContent","genThumbLabelContent","genThumbLabel","setTextColor","getThumbContainerStyles","role","label","focus","blur","keydown","onKeyDown","VScaleTransition","origin","_e$target","matches","domRect","touch","touches","clearTimeout","setTimeout","mouseUpOptions","passiveSupported","passive","capture","mouseMoveOptions","isTouchEvent","onMouseMove","addOnceEventListener","onSliderMouseUp","parseMouseMove","isInteractive","parseKeyDown","thumb","trackStart","trackLength","track","clickOffset","clickPos","pageup","pagedown","home","right","down","up","keyCodes","keyCode","steps","increase","multiplier","shiftKey","ctrlKey","trimmedStep","toString","trim","decimals","newValue","toFixed","red","freeze","accent1","accent2","accent3","accent4","pink","purple","deepPurple","indigo","blue","lightBlue","cyan","teal","green","lightGreen","lime","yellow","amber","orange","deepOrange","brown","blueGrey","grey","shades"],"mappings":"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","file":"js/chunk-ba26f98c.026cf439.js","sourcesContent":["// Utilities\nimport {\n HSVA,\n HSVAtoRGBA,\n HSVAtoHex,\n RGBA,\n Hex,\n RGBAtoHSVA,\n HexToHSVA,\n HSLA,\n HSVAtoHSLA,\n RGBAtoHex,\n HSLAtoHSVA,\n parseHex,\n Hexa,\n} from '../../../util/colorUtils'\n\nexport interface VColorPickerColor {\n alpha: number\n hex: Hex\n hexa: Hexa\n hsla: HSLA\n hsva: HSVA\n hue: number\n rgba: RGBA\n}\n\nexport function fromHSVA (hsva: HSVA): VColorPickerColor {\n hsva = { ...hsva }\n const hexa = HSVAtoHex(hsva)\n const hsla = HSVAtoHSLA(hsva)\n const rgba = HSVAtoRGBA(hsva)\n return {\n alpha: hsva.a,\n hex: hexa.substr(0, 7),\n hexa,\n hsla,\n hsva,\n hue: hsva.h,\n rgba,\n }\n}\n\nexport function fromHSLA (hsla: HSLA): VColorPickerColor {\n const hsva = HSLAtoHSVA(hsla)\n const hexa = HSVAtoHex(hsva)\n const rgba = HSVAtoRGBA(hsva)\n return {\n alpha: hsva.a,\n hex: hexa.substr(0, 7),\n hexa,\n hsla,\n hsva,\n hue: hsva.h,\n rgba,\n }\n}\n\nexport function fromRGBA (rgba: RGBA): VColorPickerColor {\n const hsva = RGBAtoHSVA(rgba)\n const hexa = RGBAtoHex(rgba)\n const hsla = HSVAtoHSLA(hsva)\n return {\n alpha: hsva.a,\n hex: hexa.substr(0, 7),\n hexa,\n hsla,\n hsva,\n hue: hsva.h,\n rgba,\n }\n}\n\nexport function fromHexa (hexa: Hexa): VColorPickerColor {\n const hsva = HexToHSVA(hexa)\n const hsla = HSVAtoHSLA(hsva)\n const rgba = HSVAtoRGBA(hsva)\n return {\n alpha: hsva.a,\n hex: hexa.substr(0, 7),\n hexa,\n hsla,\n hsva,\n hue: hsva.h,\n rgba,\n }\n}\n\nexport function fromHex (hex: Hex): VColorPickerColor {\n return fromHexa(parseHex(hex))\n}\n\nfunction has (obj: object, key: string[]) {\n return key.every(k => obj.hasOwnProperty(k))\n}\n\nexport function parseColor (color: any, oldColor: VColorPickerColor | null) {\n if (!color) return fromRGBA({ r: 255, g: 0, b: 0, a: 1 })\n\n if (typeof color === 'string') {\n if (color === 'transparent') return fromHexa('#00000000')\n\n const hex = parseHex(color)\n\n if (oldColor && hex === oldColor.hexa) return oldColor\n else return fromHexa(hex)\n }\n\n if (typeof color === 'object') {\n if (color.hasOwnProperty('alpha')) return color\n\n const a = color.hasOwnProperty('a') ? parseFloat(color.a) : 1\n\n if (has(color, ['r', 'g', 'b'])) {\n if (oldColor && color === oldColor.rgba) return oldColor\n else return fromRGBA({ ...color, a })\n } else if (has(color, ['h', 's', 'l'])) {\n if (oldColor && color === oldColor.hsla) return oldColor\n else return fromHSLA({ ...color, a })\n } else if (has(color, ['h', 's', 'v'])) {\n if (oldColor && color === oldColor.hsva) return oldColor\n else return fromHSVA({ ...color, a })\n }\n }\n\n return fromRGBA({ r: 255, g: 0, b: 0, a: 1 })\n}\n\nfunction stripAlpha (color: any, stripAlpha: boolean) {\n if (stripAlpha) {\n const { a, ...rest } = color\n\n return rest\n }\n\n return color\n}\n\nexport function extractColor (color: VColorPickerColor, input: any) {\n if (input == null) return color\n\n if (typeof input === 'string') {\n return input.length === 7 ? color.hex : color.hexa\n }\n\n if (typeof input === 'object') {\n const shouldStrip = typeof input.a === 'number' && input.a === 0 ? !!input.a : !input.a\n if (has(input, ['r', 'g', 'b'])) return stripAlpha(color.rgba, shouldStrip)\n else if (has(input, ['h', 's', 'l'])) return stripAlpha(color.hsla, shouldStrip)\n else if (has(input, ['h', 's', 'v'])) return stripAlpha(color.hsva, shouldStrip)\n }\n\n return color\n}\n\nexport function hasAlpha (color: any) {\n if (!color) return false\n\n if (typeof color === 'string') {\n return color.length > 7\n }\n\n if (typeof color === 'object') {\n return has(color, ['a']) || has(color, ['alpha'])\n }\n\n return false\n}\n","// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport VSlider from '../VSlider/VSlider'\n\n// Utilities\nimport { RGBtoCSS, RGBAtoCSS } from '../../util/colorUtils'\n\n// Types\nimport Vue, { VNode, VNodeData, PropType } from 'vue'\nimport { VColorPickerColor, fromHSVA } from './util'\n\nexport default Vue.extend({\n name: 'v-color-picker-preview',\n\n props: {\n color: Object as PropType,\n disabled: Boolean,\n hideAlpha: Boolean,\n },\n\n methods: {\n genAlpha (): VNode {\n return this.genTrack({\n staticClass: 'v-color-picker__alpha',\n props: {\n thumbColor: 'grey lighten-2',\n hideDetails: true,\n value: this.color.alpha,\n step: 0,\n min: 0,\n max: 1,\n },\n style: {\n backgroundImage: this.disabled\n ? undefined\n : `linear-gradient(to ${this.$vuetify.rtl ? 'left' : 'right'}, transparent, ${RGBtoCSS(this.color.rgba)})`,\n },\n on: {\n input: (val: number) => this.color.alpha !== val && this.$emit('update:color', fromHSVA({ ...this.color.hsva, a: val })),\n },\n })\n },\n genSliders (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-color-picker__sliders',\n }, [\n this.genHue(),\n !this.hideAlpha && this.genAlpha(),\n ])\n },\n genDot (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-color-picker__dot',\n }, [\n this.$createElement('div', {\n style: {\n background: RGBAtoCSS(this.color.rgba),\n },\n }),\n ])\n },\n genHue (): VNode {\n return this.genTrack({\n staticClass: 'v-color-picker__hue',\n props: {\n thumbColor: 'grey lighten-2',\n hideDetails: true,\n value: this.color.hue,\n step: 0,\n min: 0,\n max: 360,\n },\n on: {\n input: (val: number) => this.color.hue !== val && this.$emit('update:color', fromHSVA({ ...this.color.hsva, h: val })),\n },\n })\n },\n genTrack (options: VNodeData): VNode {\n return this.$createElement(VSlider, {\n class: 'v-color-picker__track',\n ...options,\n props: {\n disabled: this.disabled,\n ...options.props,\n },\n })\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-color-picker__preview',\n class: {\n 'v-color-picker__preview--hide-alpha': this.hideAlpha,\n },\n }, [\n this.genDot(),\n this.genSliders(),\n ])\n },\n})\n","// Styles\nimport './VColorPickerCanvas.sass'\n\n// Helpers\nimport { clamp, convertToUnit } from '../../util/helpers'\nimport { fromHSVA, VColorPickerColor, fromRGBA } from './util'\n\n// Types\nimport Vue, { VNode, PropType } from 'vue'\n\nexport default Vue.extend({\n name: 'v-color-picker-canvas',\n\n props: {\n color: {\n type: Object as PropType,\n default: () => fromRGBA({ r: 255, g: 0, b: 0, a: 1 }),\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n height: {\n type: [Number, String],\n default: 150,\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n data () {\n return {\n boundingRect: {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n } as ClientRect,\n }\n },\n\n computed: {\n dot (): { x: number, y: number} {\n if (!this.color) return { x: 0, y: 0 }\n\n return {\n x: this.color.hsva.s * parseInt(this.width, 10),\n y: (1 - this.color.hsva.v) * parseInt(this.height, 10),\n }\n },\n },\n\n watch: {\n 'color.hue': 'updateCanvas',\n },\n\n mounted () {\n this.updateCanvas()\n },\n\n methods: {\n emitColor (x: number, y: number) {\n const { left, top, width, height } = this.boundingRect\n\n this.$emit('update:color', fromHSVA({\n h: this.color.hue,\n s: clamp(x - left, 0, width) / width,\n v: 1 - clamp(y - top, 0, height) / height,\n a: this.color.alpha,\n }))\n },\n updateCanvas () {\n if (!this.color) return\n\n const canvas = this.$refs.canvas as HTMLCanvasElement\n const ctx = canvas.getContext('2d')\n\n if (!ctx) return\n\n const saturationGradient = ctx.createLinearGradient(0, 0, canvas.width, 0)\n saturationGradient.addColorStop(0, 'hsla(0, 0%, 100%, 1)') // white\n saturationGradient.addColorStop(1, `hsla(${this.color.hue}, 100%, 50%, 1)`)\n ctx.fillStyle = saturationGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n\n const valueGradient = ctx.createLinearGradient(0, 0, 0, canvas.height)\n valueGradient.addColorStop(0, 'hsla(0, 0%, 100%, 0)') // transparent\n valueGradient.addColorStop(1, 'hsla(0, 0%, 0%, 1)') // black\n ctx.fillStyle = valueGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n },\n handleClick (e: MouseEvent) {\n if (this.disabled) return\n\n this.boundingRect = this.$el.getBoundingClientRect()\n this.emitColor(e.clientX, e.clientY)\n },\n handleMouseDown (e: MouseEvent) {\n // To prevent selection while moving cursor\n e.preventDefault()\n\n if (this.disabled) return\n\n this.boundingRect = this.$el.getBoundingClientRect()\n\n window.addEventListener('mousemove', this.handleMouseMove)\n window.addEventListener('mouseup', this.handleMouseUp)\n },\n handleMouseMove (e: MouseEvent) {\n if (this.disabled) return\n\n this.emitColor(e.clientX, e.clientY)\n },\n handleMouseUp () {\n window.removeEventListener('mousemove', this.handleMouseMove)\n window.removeEventListener('mouseup', this.handleMouseUp)\n },\n genCanvas (): VNode {\n return this.$createElement('canvas', {\n ref: 'canvas',\n attrs: {\n width: this.width,\n height: this.height,\n },\n })\n },\n genDot (): VNode {\n const radius = parseInt(this.dotSize, 10) / 2\n const x = convertToUnit(this.dot.x - radius)\n const y = convertToUnit(this.dot.y - radius)\n\n return this.$createElement('div', {\n staticClass: 'v-color-picker__canvas-dot',\n class: {\n 'v-color-picker__canvas-dot--disabled': this.disabled,\n },\n style: {\n width: convertToUnit(this.dotSize),\n height: convertToUnit(this.dotSize),\n transform: `translate(${x}, ${y})`,\n },\n })\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-color-picker__canvas',\n style: {\n width: convertToUnit(this.width),\n height: convertToUnit(this.height),\n },\n on: {\n click: this.handleClick,\n mousedown: this.handleMouseDown,\n },\n }, [\n this.genCanvas(),\n this.genDot(),\n ])\n },\n})\n","// Styles\nimport './VColorPickerEdit.sass'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Helpers\nimport { parseHex } from '../../util/colorUtils'\n\n// Types\nimport Vue, { VNode, PropType } from 'vue'\nimport { VColorPickerColor, fromRGBA, fromHexa, fromHSLA } from './util'\n\ntype Input = [string, number, string]\n\nexport type Mode = {\n inputs?: Input[]\n from: Function\n}\n\nexport const modes = {\n rgba: {\n inputs: [\n ['r', 255, 'int'],\n ['g', 255, 'int'],\n ['b', 255, 'int'],\n ['a', 1, 'float'],\n ],\n from: fromRGBA,\n },\n hsla: {\n inputs: [\n ['h', 360, 'int'],\n ['s', 1, 'float'],\n ['l', 1, 'float'],\n ['a', 1, 'float'],\n ],\n from: fromHSLA,\n },\n hexa: {\n from: fromHexa,\n },\n} as { [key: string]: Mode }\n\nexport default Vue.extend({\n name: 'v-color-picker-edit',\n\n props: {\n color: Object as PropType,\n disabled: Boolean,\n hideAlpha: Boolean,\n hideModeSwitch: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n },\n\n data () {\n return {\n modes,\n internalMode: this.mode,\n }\n },\n\n computed: {\n currentMode (): Mode {\n return this.modes[this.internalMode]\n },\n },\n\n watch: {\n mode (mode) {\n this.internalMode = mode\n },\n },\n\n created () {\n this.internalMode = this.mode\n },\n\n methods: {\n getValue (v: any, type: string) {\n if (type === 'float') return Math.round(v * 100) / 100\n else if (type === 'int') return Math.round(v)\n else return 0\n },\n parseValue (v: string, type: string) {\n if (type === 'float') return parseFloat(v)\n else if (type === 'int') return parseInt(v, 10) || 0\n else return 0\n },\n changeMode () {\n const modes = Object.keys(this.modes)\n const index = modes.indexOf(this.internalMode)\n const newMode = modes[(index + 1) % modes.length]\n this.internalMode = newMode\n this.$emit('update:mode', newMode)\n },\n genInput (target: string, attrs: any, value: any, on: any): VNode {\n return this.$createElement('div', {\n staticClass: 'v-color-picker__input',\n }, [\n this.$createElement('input', {\n key: target,\n attrs,\n domProps: {\n value,\n },\n on,\n }),\n this.$createElement('span', target.toUpperCase()),\n ])\n },\n genInputs (): VNode[] | VNode {\n if (this.internalMode === 'hexa') {\n const hex = this.color.hexa\n const value = this.hideAlpha && hex.endsWith('FF') ? hex.substr(0, 7) : hex\n return this.genInput(\n 'hex',\n {\n maxlength: this.hideAlpha ? 7 : 9,\n disabled: this.disabled,\n },\n value,\n {\n change: (e: Event) => {\n const el = e.target as HTMLInputElement\n this.$emit('update:color', this.currentMode.from(parseHex(el.value)))\n },\n }\n )\n } else {\n const inputs = this.hideAlpha ? this.currentMode.inputs!.slice(0, -1) : this.currentMode.inputs!\n return inputs.map(([target, max, type]) => {\n const value = this.color[this.internalMode as keyof VColorPickerColor] as any\n return this.genInput(\n target,\n {\n type: 'number',\n min: 0,\n max,\n step: type === 'float' ? '0.01' : type === 'int' ? '1' : undefined,\n disabled: this.disabled,\n },\n this.getValue(value[target], type),\n {\n input: (e: Event) => {\n const el = e.target as HTMLInputElement\n const newVal = this.parseValue(el.value || '0', type)\n\n this.$emit('update:color', this.currentMode.from(\n Object.assign({}, value, { [target]: newVal }),\n this.color.alpha\n ))\n },\n }\n )\n })\n }\n },\n genSwitch (): VNode {\n return this.$createElement(VBtn, {\n props: {\n small: true,\n icon: true,\n disabled: this.disabled,\n },\n on: {\n click: this.changeMode,\n },\n }, [\n this.$createElement(VIcon, '$unfold'),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-color-picker__edit',\n }, [\n this.genInputs(),\n !this.hideModeSwitch && this.genSwitch(),\n ])\n },\n})\n","// Styles\nimport './VColorPickerSwatches.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Helpers\nimport colors from '../../util/colors'\nimport { VColorPickerColor, fromHex, parseColor } from './util'\nimport { convertToUnit, deepEqual } from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode, PropType } from 'vue'\nimport { contrastRatio } from '../../util/colorUtils'\n\nfunction parseDefaultColors (colors: Record>) {\n return Object.keys(colors).map(key => {\n const color = colors[key]\n return color.base ? [\n color.base,\n color.darken4,\n color.darken3,\n color.darken2,\n color.darken1,\n color.lighten1,\n color.lighten2,\n color.lighten3,\n color.lighten4,\n color.lighten5,\n ] : [\n color.black,\n color.white,\n color.transparent,\n ]\n })\n}\n\nconst white = fromHex('#FFFFFF').rgba\nconst black = fromHex('#000000').rgba\n\nexport default mixins(Themeable).extend({\n name: 'v-color-picker-swatches',\n\n props: {\n swatches: {\n type: Array as PropType,\n default: () => parseDefaultColors(colors),\n },\n disabled: Boolean,\n color: Object as PropType,\n maxWidth: [Number, String],\n maxHeight: [Number, String],\n },\n\n methods: {\n genColor (color: string) {\n const content = this.$createElement('div', {\n style: {\n background: color,\n },\n }, [\n deepEqual(this.color, parseColor(color, null)) && this.$createElement(VIcon, {\n props: {\n small: true,\n dark: contrastRatio(this.color.rgba, white) > 2 && this.color.alpha > 0.5,\n light: contrastRatio(this.color.rgba, black) > 2 && this.color.alpha > 0.5,\n },\n }, '$success'),\n ])\n\n return this.$createElement('div', {\n staticClass: 'v-color-picker__color',\n on: {\n // TODO: Less hacky way of catching transparent\n click: () => this.disabled || this.$emit('update:color', fromHex(color === 'transparent' ? '#00000000' : color)),\n },\n }, [content])\n },\n genSwatches () {\n return this.swatches.map(swatch => {\n const colors = swatch.map(this.genColor)\n\n return this.$createElement('div', {\n staticClass: 'v-color-picker__swatch',\n }, colors)\n })\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-color-picker__swatches',\n style: {\n maxWidth: convertToUnit(this.maxWidth),\n maxHeight: convertToUnit(this.maxHeight),\n },\n }, [\n this.$createElement('div', this.genSwatches()),\n ])\n },\n})\n","// Styles\nimport './VColorPicker.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\nimport VColorPickerPreview from './VColorPickerPreview'\nimport VColorPickerCanvas from './VColorPickerCanvas'\nimport VColorPickerEdit, { Mode, modes } from './VColorPickerEdit'\nimport VColorPickerSwatches from './VColorPickerSwatches'\n\n// Helpers\nimport { VColorPickerColor, parseColor, fromRGBA, extractColor, hasAlpha } from './util'\nimport mixins from '../../util/mixins'\nimport { deepEqual } from '../../util/helpers'\n\n// Mixins\nimport Elevatable from '../../mixins/elevatable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\nexport default mixins(Elevatable, Themeable).extend({\n name: 'v-color-picker',\n\n props: {\n canvasHeight: {\n type: [String, Number],\n default: 150,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n flat: Boolean,\n hideCanvas: Boolean,\n hideSliders: Boolean,\n hideInputs: Boolean,\n hideModeSwitch: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n showSwatches: Boolean,\n swatches: Array as PropType,\n swatchesMaxHeight: {\n type: [Number, String],\n default: 150,\n },\n value: {\n type: [Object, String],\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n data: () => ({\n internalValue: fromRGBA({ r: 255, g: 0, b: 0, a: 1 }),\n }),\n\n computed: {\n hideAlpha (): boolean {\n if (!this.value) return false\n\n return !hasAlpha(this.value)\n },\n },\n\n watch: {\n value: {\n handler (color: any) {\n this.updateColor(parseColor(color, this.internalValue))\n },\n immediate: true,\n },\n },\n\n methods: {\n updateColor (color: VColorPickerColor) {\n this.internalValue = color\n const value = extractColor(this.internalValue, this.value)\n\n if (!deepEqual(value, this.value)) {\n this.$emit('input', value)\n this.$emit('update:color', this.internalValue)\n }\n },\n genCanvas (): VNode {\n return this.$createElement(VColorPickerCanvas, {\n props: {\n color: this.internalValue,\n disabled: this.disabled,\n dotSize: this.dotSize,\n width: this.width,\n height: this.canvasHeight,\n },\n on: {\n 'update:color': this.updateColor,\n },\n })\n },\n genControls (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-color-picker__controls',\n }, [\n !this.hideSliders && this.genPreview(),\n !this.hideInputs && this.genEdit(),\n ])\n },\n genEdit (): VNode {\n return this.$createElement(VColorPickerEdit, {\n props: {\n color: this.internalValue,\n disabled: this.disabled,\n hideAlpha: this.hideAlpha,\n hideModeSwitch: this.hideModeSwitch,\n mode: this.mode,\n },\n on: {\n 'update:color': this.updateColor,\n 'update:mode': (v: Mode) => this.$emit('update:mode', v),\n },\n })\n },\n genPreview (): VNode {\n return this.$createElement(VColorPickerPreview, {\n props: {\n color: this.internalValue,\n disabled: this.disabled,\n hideAlpha: this.hideAlpha,\n },\n on: {\n 'update:color': this.updateColor,\n },\n })\n },\n genSwatches (): VNode {\n return this.$createElement(VColorPickerSwatches, {\n props: {\n dark: this.dark,\n light: this.light,\n disabled: this.disabled,\n swatches: this.swatches,\n color: this.internalValue,\n maxHeight: this.swatchesMaxHeight,\n },\n on: {\n 'update:color': this.updateColor,\n },\n })\n },\n },\n\n render (h): VNode {\n return h(VSheet, {\n staticClass: 'v-color-picker',\n class: {\n 'v-color-picker--flat': this.flat,\n ...this.themeClasses,\n ...this.elevationClasses,\n },\n props: {\n maxWidth: this.width,\n },\n }, [\n !this.hideCanvas && this.genCanvas(),\n (!this.hideSliders || !this.hideInputs) && this.genControls(),\n this.showSwatches && this.genSwatches(),\n ])\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"input-image\",on:{\"click\":function($event){return _vm.$refs.img_input.click()}}},[_c('input',{ref:\"img_input\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\",\"accept\":\"image/*\"},on:{\"change\":_vm.handleFiles}}),(this.$slots.default)?[_vm._t(\"default\")]:[_c('fieldset',{staticClass:\"input-image rounded d-flex flex-column align-stretch\"},[_c('Loading',{attrs:{\"value\":_vm.loading}}),_c('legend',{staticClass:\"v-label v-label--active\"},[_vm._v(_vm._s(_vm.$t('INPUT.IMAGE')))]),(_vm.isImages)?_c('div',{staticClass:\"input-image-remove\"},[_c('v-btn',{attrs:{\"fab\":\"\",\"x-small\":\"\",\"depressed\":\"\",\"color\":\"white\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeImages.apply(null, arguments)}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1):_vm._e(),_c('div',{key:_vm.keyImg},[(_vm.onlyTitle)?_c('div',{staticClass:\"text-ellipsis text-nowrap ma-2\"},[_c('small',[_vm._v(_vm._s((Object.keys(_vm.images || {}).length > 0 ? '1 image' : 'Click to download')))])]):_c('div',{staticClass:\"pr-2 pl-2 input-image-upload-area\"},[_c('img',{key:_vm.keyImg,staticClass:\"rounded\",attrs:{\"src\":_vm.$getImgSrc(_vm.images, 0, '/img/empty-image.png'),\"width\":\"100%\"}})])])],1)]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\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!./InputImage.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!./InputImage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InputImage.vue?vue&type=template&id=261110bd&\"\nimport script from \"./InputImage.vue?vue&type=script&lang=js&\"\nexport * from \"./InputImage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InputImage.vue?vue&type=style&index=0&id=261110bd&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","import './VGrid.sass'\n\nimport Vue, { PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst ALIGNMENT = ['start', 'end', 'center']\n\nfunction makeProps (prefix: string, def: () => PropOptions) {\n return breakpoints.reduce((props, val) => {\n props[prefix + upperFirst(val)] = def()\n return props\n }, {} as Dictionary)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-row',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'div',\n },\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n },\n render (h, { props, data, children }) {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'no-gutters': props.noGutters,\n 'row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'row',\n class: classList,\n }),\n children\n )\n },\n})\n","import './VGrid.sass'\n\nimport Vue, { VNode, PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-col',\n functional: true,\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n tag: {\n type: String,\n default: 'div',\n },\n },\n render (h, { props, data, children, parent }): VNode {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: !hasColClasses || !props.cols,\n [`col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n },\n})\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputImage.vue?vue&type=style&index=0&id=261110bd&prod&lang=scss&\"","import './VSlider.sass'\n\n// Components\nimport VInput from '../VInput'\nimport { VScaleTransition } from '../transitions'\n\n// Mixins\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { addOnceEventListener, deepEqual, keyCodes, createRange, convertToUnit, passiveSupported } from '../../util/helpers'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue, { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { ScopedSlotChildren } from 'vue/types/vnode'\nimport { PropValidator } from 'vue/types/options'\n\ninterface options extends Vue {\n $refs: {\n track: HTMLElement\n }\n}\n\nexport default mixins\n/* eslint-enable indent */\n>(\n VInput,\n Loadable\n/* @vue/component */\n).extend({\n name: 'v-slider',\n\n directives: {\n ClickOutside,\n },\n\n mixins: [Loadable],\n\n props: {\n disabled: Boolean,\n inverseLabel: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 1,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType,\n default: undefined,\n validator: v => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 32,\n },\n tickLabels: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n ticks: {\n type: [Boolean, String] as PropType,\n default: false,\n validator: v => typeof v === 'boolean' || v === 'always',\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n trackColor: String,\n trackFillColor: String,\n value: [Number, String],\n vertical: Boolean,\n },\n\n data: () => ({\n app: null as any,\n oldValue: null as any,\n thumbPressed: false,\n mouseTimeout: -1,\n isFocused: false,\n isActive: false,\n noClick: false, // Prevent click event if dragging took place, hack for #7915\n startOffset: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input__slider': true,\n 'v-input__slider--vertical': this.vertical,\n 'v-input__slider--inverse-label': this.inverseLabel,\n }\n },\n internalValue: {\n get (): number {\n return this.lazyValue\n },\n set (val: number) {\n val = isNaN(val) ? this.minValue : val\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n const value = this.roundValue(Math.min(Math.max(val, this.minValue), this.maxValue))\n\n if (value === this.lazyValue) return\n\n this.lazyValue = value\n\n this.$emit('input', value)\n },\n },\n trackTransition (): string {\n return this.thumbPressed\n ? this.showTicks || this.stepNumeric\n ? '0.1s cubic-bezier(0.25, 0.8, 0.5, 1)'\n : 'none'\n : ''\n },\n minValue (): number {\n return parseFloat(this.min)\n },\n maxValue (): number {\n return parseFloat(this.max)\n },\n stepNumeric (): number {\n return this.step > 0 ? parseFloat(this.step) : 0\n },\n inputWidth (): number {\n const inputWidth = (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100\n\n return isNaN(inputWidth) ? 0 : inputWidth\n },\n trackFillStyles (): Partial {\n const startDir = this.vertical ? 'bottom' : 'left'\n const endDir = this.vertical ? 'top' : 'right'\n const valueDir = this.vertical ? 'height' : 'width'\n\n const start = this.$vuetify.rtl ? 'auto' : '0'\n const end = this.$vuetify.rtl ? '0' : 'auto'\n const value = this.isDisabled ? `calc(${this.inputWidth}% - 10px)` : `${this.inputWidth}%`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n [valueDir]: value,\n }\n },\n trackStyles (): Partial {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'bottom' : 'top' : this.$vuetify.rtl ? 'left' : 'right'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = '0px'\n const end = this.isDisabled ? `calc(${100 - this.inputWidth}% - 10px)` : `calc(${100 - this.inputWidth}%)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n showTicks (): boolean {\n return this.tickLabels.length > 0 ||\n !!(!this.isDisabled && this.stepNumeric && this.ticks)\n },\n numTicks (): number {\n return Math.ceil((this.maxValue - this.minValue) / this.stepNumeric)\n },\n showThumbLabel (): boolean {\n return !this.isDisabled && !!(\n this.thumbLabel ||\n this.$scopedSlots['thumb-label']\n )\n },\n computedTrackColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackColor) return this.trackColor\n if (this.isDark) return this.validationState\n return this.validationState || 'primary lighten-3'\n },\n computedTrackFillColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackFillColor) return this.trackFillColor\n return this.validationState || this.computedColor\n },\n computedThumbColor (): string | undefined {\n if (this.thumbColor) return this.thumbColor\n return this.validationState || this.computedColor\n },\n },\n\n watch: {\n min (val) {\n const parsed = parseFloat(val)\n parsed > this.internalValue && this.$emit('input', parsed)\n },\n max (val) {\n const parsed = parseFloat(val)\n parsed < this.internalValue && this.$emit('input', parsed)\n },\n value: {\n handler (v: number) {\n this.internalValue = v\n },\n },\n },\n\n // If done in as immediate in\n // value watcher, causes issues\n // with vue-test-utils\n beforeMount () {\n this.internalValue = this.value\n },\n\n mounted () {\n // Without a v-app, iOS does not work with body selectors\n this.app = document.querySelector('[data-app]') ||\n consoleWarn('Missing v-app or a non-body wrapping element with the [data-app] attribute', this)\n },\n\n methods: {\n genDefaultSlot (): VNodeChildrenArrayContents {\n const children: VNodeChildrenArrayContents = [this.genLabel()]\n const slider = this.genSlider()\n this.inverseLabel\n ? children.unshift(slider)\n : children.push(slider)\n\n children.push(this.genProgress())\n\n return children\n },\n genSlider (): VNode {\n return this.$createElement('div', {\n class: {\n 'v-slider': true,\n 'v-slider--horizontal': !this.vertical,\n 'v-slider--vertical': this.vertical,\n 'v-slider--focused': this.isFocused,\n 'v-slider--active': this.isActive,\n 'v-slider--disabled': this.isDisabled,\n 'v-slider--readonly': this.isReadonly,\n ...this.themeClasses,\n },\n directives: [{\n name: 'click-outside',\n value: this.onBlur,\n }],\n on: {\n click: this.onSliderClick,\n mousedown: this.onSliderMouseDown,\n touchstart: this.onSliderMouseDown,\n },\n }, this.genChildren())\n },\n genChildren (): VNodeChildrenArrayContents {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n this.genThumbContainer(\n this.internalValue,\n this.inputWidth,\n this.isActive,\n this.isFocused,\n this.onFocus,\n this.onBlur,\n ),\n ]\n },\n genInput (): VNode {\n return this.$createElement('input', {\n attrs: {\n value: this.internalValue,\n id: this.computedId,\n disabled: true,\n readonly: true,\n tabindex: -1,\n ...this.$attrs,\n },\n // on: this.genListeners(), // TODO: do we need to attach the listeners to input?\n })\n },\n genTrackContainer (): VNode {\n const children = [\n this.$createElement('div', this.setBackgroundColor(this.computedTrackColor, {\n staticClass: 'v-slider__track-background',\n style: this.trackStyles,\n })),\n this.$createElement('div', this.setBackgroundColor(this.computedTrackFillColor, {\n staticClass: 'v-slider__track-fill',\n style: this.trackFillStyles,\n })),\n ]\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genSteps (): VNode | null {\n if (!this.step || !this.showTicks) return null\n\n const tickSize = parseFloat(this.tickSize)\n const range = createRange(this.numTicks + 1)\n const direction = this.vertical ? 'bottom' : (this.$vuetify.rtl ? 'right' : 'left')\n const offsetDirection = this.vertical ? (this.$vuetify.rtl ? 'left' : 'right') : 'top'\n\n if (this.vertical) range.reverse()\n\n const ticks = range.map(index => {\n const children = []\n\n if (this.tickLabels[index]) {\n children.push(this.$createElement('div', {\n staticClass: 'v-slider__tick-label',\n }, this.tickLabels[index]))\n }\n\n const width = index * (100 / this.numTicks)\n const filled = this.$vuetify.rtl ? (100 - this.inputWidth) < width : width < this.inputWidth\n\n return this.$createElement('span', {\n key: index,\n staticClass: 'v-slider__tick',\n class: {\n 'v-slider__tick--filled': filled,\n },\n style: {\n width: `${tickSize}px`,\n height: `${tickSize}px`,\n [direction]: `calc(${width}% - ${tickSize / 2}px)`,\n [offsetDirection]: `calc(50% - ${tickSize / 2}px)`,\n },\n }, children)\n })\n\n return this.$createElement('div', {\n staticClass: 'v-slider__ticks-container',\n class: {\n 'v-slider__ticks-container--always-show': this.ticks === 'always' || this.tickLabels.length > 0,\n },\n }, ticks)\n },\n genThumbContainer (\n value: number,\n valueWidth: number,\n isActive: boolean,\n isFocused: boolean,\n onFocus: Function,\n onBlur: Function,\n ref = 'thumb'\n ): VNode {\n const children = [this.genThumb()]\n\n const thumbLabelContent = this.genThumbLabelContent(value)\n this.showThumbLabel && children.push(this.genThumbLabel(thumbLabelContent))\n\n return this.$createElement('div', this.setTextColor(this.computedThumbColor, {\n ref,\n key: ref,\n staticClass: 'v-slider__thumb-container',\n class: {\n 'v-slider__thumb-container--active': isActive,\n 'v-slider__thumb-container--focused': isFocused,\n 'v-slider__thumb-container--show-label': this.showThumbLabel,\n },\n style: this.getThumbContainerStyles(valueWidth),\n attrs: {\n role: 'slider',\n tabindex: this.isDisabled ? -1 : this.$attrs.tabindex ? this.$attrs.tabindex : 0,\n 'aria-label': this.$attrs['aria-label'] || this.label,\n 'aria-valuemin': this.min,\n 'aria-valuemax': this.max,\n 'aria-valuenow': this.internalValue,\n 'aria-readonly': String(this.isReadonly),\n 'aria-orientation': this.vertical ? 'vertical' : 'horizontal',\n },\n on: {\n focus: onFocus,\n blur: onBlur,\n keydown: this.onKeyDown,\n },\n }), children)\n },\n genThumbLabelContent (value: number | string): ScopedSlotChildren {\n return this.$scopedSlots['thumb-label']\n ? this.$scopedSlots['thumb-label']!({ value })\n : [this.$createElement('span', [String(value)])]\n },\n genThumbLabel (content: ScopedSlotChildren): VNode {\n const size = convertToUnit(this.thumbSize)\n\n const transform = this.vertical\n ? `translateY(20%) translateY(${(Number(this.thumbSize) / 3) - 1}px) translateX(55%) rotate(135deg)`\n : `translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)`\n\n return this.$createElement(VScaleTransition, {\n props: { origin: 'bottom center' },\n }, [\n this.$createElement('div', {\n staticClass: 'v-slider__thumb-label-container',\n directives: [{\n name: 'show',\n value: this.isFocused || this.isActive || this.thumbLabel === 'always',\n }],\n }, [\n this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb-label',\n style: {\n height: size,\n width: size,\n transform,\n },\n }), [this.$createElement('div', content)]),\n ]),\n ])\n },\n genThumb (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb',\n }))\n },\n getThumbContainerStyles (width: number): object {\n const direction = this.vertical ? 'top' : 'left'\n let value = this.$vuetify.rtl ? 100 - width : width\n value = this.vertical ? 100 - value : value\n\n return {\n transition: this.trackTransition,\n [direction]: `${value}%`,\n }\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderMouseUp (e: Event) {\n e.stopPropagation()\n window.clearTimeout(this.mouseTimeout)\n this.thumbPressed = false\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n this.app.removeEventListener('touchmove', this.onMouseMove, mouseMoveOptions)\n this.app.removeEventListener('mousemove', this.onMouseMove, mouseMoveOptions)\n\n this.$emit('mouseup', e)\n this.$emit('end', this.internalValue)\n if (!deepEqual(this.oldValue, this.internalValue)) {\n this.$emit('change', this.internalValue)\n this.noClick = true\n }\n\n this.isActive = false\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n this.internalValue = this.parseMouseMove(e)\n },\n onKeyDown (e: KeyboardEvent) {\n if (!this.isInteractive) return\n\n const value = this.parseKeyDown(e, this.internalValue)\n\n if (\n value == null ||\n value < this.minValue ||\n value > this.maxValue\n ) return\n\n this.internalValue = value\n this.$emit('change', value)\n },\n onSliderClick (e: MouseEvent) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n const thumb = this.$refs.thumb as HTMLElement\n thumb.focus()\n\n this.onMouseMove(e)\n this.$emit('change', this.internalValue)\n },\n onBlur (e: Event) {\n this.isFocused = false\n\n this.$emit('blur', e)\n },\n onFocus (e: Event) {\n this.isFocused = true\n\n this.$emit('focus', e)\n },\n parseMouseMove (e: MouseEvent | TouchEvent) {\n const start = this.vertical ? 'top' : 'left'\n const length = this.vertical ? 'height' : 'width'\n const click = this.vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = this.$refs.track.getBoundingClientRect()\n const clickOffset = 'touches' in e ? e.touches[0][click] : e[click]\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - this.startOffset) / trackLength, 0), 1) || 0\n\n if (this.vertical) clickPos = 1 - clickPos\n if (this.$vuetify.rtl) clickPos = 1 - clickPos\n\n return parseFloat(this.min) + clickPos * (this.maxValue - this.minValue)\n },\n parseKeyDown (e: KeyboardEvent, value: number) {\n if (!this.isInteractive) return\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyCodes\n\n if (![pageup, pagedown, end, home, left, right, down, up].includes(e.keyCode)) return\n\n e.preventDefault()\n const step = this.stepNumeric || 1\n const steps = (this.maxValue - this.minValue) / step\n if ([left, right, down, up].includes(e.keyCode)) {\n const increase = this.$vuetify.rtl ? [left, up] : [right, up]\n const direction = increase.includes(e.keyCode) ? 1 : -1\n const multiplier = e.shiftKey ? 3 : (e.ctrlKey ? 2 : 1)\n\n value = value + (direction * step * multiplier)\n } else if (e.keyCode === home) {\n value = this.minValue\n } else if (e.keyCode === end) {\n value = this.maxValue\n } else {\n const direction = e.keyCode === pagedown ? 1 : -1\n value = value - (direction * step * (steps > 100 ? steps / 10 : 10))\n }\n\n return value\n },\n roundValue (value: number): number {\n if (!this.stepNumeric) return value\n // Format input value using the same number\n // of decimals places as in the step prop\n const trimmedStep = this.step.toString().trim()\n const decimals = trimmedStep.indexOf('.') > -1\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n const offset = this.minValue % this.stepNumeric\n\n const newValue = Math.round((value - offset) / this.stepNumeric) * this.stepNumeric + offset\n\n return parseFloat(Math.min(newValue, this.maxValue).toFixed(decimals))\n },\n },\n})\n","const red = Object.freeze({\n base: '#f44336',\n lighten5: '#ffebee',\n lighten4: '#ffcdd2',\n lighten3: '#ef9a9a',\n lighten2: '#e57373',\n lighten1: '#ef5350',\n darken1: '#e53935',\n darken2: '#d32f2f',\n darken3: '#c62828',\n darken4: '#b71c1c',\n accent1: '#ff8a80',\n accent2: '#ff5252',\n accent3: '#ff1744',\n accent4: '#d50000',\n})\n\nconst pink = Object.freeze({\n base: '#e91e63',\n lighten5: '#fce4ec',\n lighten4: '#f8bbd0',\n lighten3: '#f48fb1',\n lighten2: '#f06292',\n lighten1: '#ec407a',\n darken1: '#d81b60',\n darken2: '#c2185b',\n darken3: '#ad1457',\n darken4: '#880e4f',\n accent1: '#ff80ab',\n accent2: '#ff4081',\n accent3: '#f50057',\n accent4: '#c51162',\n})\n\nconst purple = Object.freeze({\n base: '#9c27b0',\n lighten5: '#f3e5f5',\n lighten4: '#e1bee7',\n lighten3: '#ce93d8',\n lighten2: '#ba68c8',\n lighten1: '#ab47bc',\n darken1: '#8e24aa',\n darken2: '#7b1fa2',\n darken3: '#6a1b9a',\n darken4: '#4a148c',\n accent1: '#ea80fc',\n accent2: '#e040fb',\n accent3: '#d500f9',\n accent4: '#aa00ff',\n})\n\nconst deepPurple = Object.freeze({\n base: '#673ab7',\n lighten5: '#ede7f6',\n lighten4: '#d1c4e9',\n lighten3: '#b39ddb',\n lighten2: '#9575cd',\n lighten1: '#7e57c2',\n darken1: '#5e35b1',\n darken2: '#512da8',\n darken3: '#4527a0',\n darken4: '#311b92',\n accent1: '#b388ff',\n accent2: '#7c4dff',\n accent3: '#651fff',\n accent4: '#6200ea',\n})\n\nconst indigo = Object.freeze({\n base: '#3f51b5',\n lighten5: '#e8eaf6',\n lighten4: '#c5cae9',\n lighten3: '#9fa8da',\n lighten2: '#7986cb',\n lighten1: '#5c6bc0',\n darken1: '#3949ab',\n darken2: '#303f9f',\n darken3: '#283593',\n darken4: '#1a237e',\n accent1: '#8c9eff',\n accent2: '#536dfe',\n accent3: '#3d5afe',\n accent4: '#304ffe',\n})\n\nconst blue = Object.freeze({\n base: '#2196f3',\n lighten5: '#e3f2fd',\n lighten4: '#bbdefb',\n lighten3: '#90caf9',\n lighten2: '#64b5f6',\n lighten1: '#42a5f5',\n darken1: '#1e88e5',\n darken2: '#1976d2',\n darken3: '#1565c0',\n darken4: '#0d47a1',\n accent1: '#82b1ff',\n accent2: '#448aff',\n accent3: '#2979ff',\n accent4: '#2962ff',\n})\n\nconst lightBlue = Object.freeze({\n base: '#03a9f4',\n lighten5: '#e1f5fe',\n lighten4: '#b3e5fc',\n lighten3: '#81d4fa',\n lighten2: '#4fc3f7',\n lighten1: '#29b6f6',\n darken1: '#039be5',\n darken2: '#0288d1',\n darken3: '#0277bd',\n darken4: '#01579b',\n accent1: '#80d8ff',\n accent2: '#40c4ff',\n accent3: '#00b0ff',\n accent4: '#0091ea',\n})\n\nconst cyan = Object.freeze({\n base: '#00bcd4',\n lighten5: '#e0f7fa',\n lighten4: '#b2ebf2',\n lighten3: '#80deea',\n lighten2: '#4dd0e1',\n lighten1: '#26c6da',\n darken1: '#00acc1',\n darken2: '#0097a7',\n darken3: '#00838f',\n darken4: '#006064',\n accent1: '#84ffff',\n accent2: '#18ffff',\n accent3: '#00e5ff',\n accent4: '#00b8d4',\n})\n\nconst teal = Object.freeze({\n base: '#009688',\n lighten5: '#e0f2f1',\n lighten4: '#b2dfdb',\n lighten3: '#80cbc4',\n lighten2: '#4db6ac',\n lighten1: '#26a69a',\n darken1: '#00897b',\n darken2: '#00796b',\n darken3: '#00695c',\n darken4: '#004d40',\n accent1: '#a7ffeb',\n accent2: '#64ffda',\n accent3: '#1de9b6',\n accent4: '#00bfa5',\n})\n\nconst green = Object.freeze({\n base: '#4caf50',\n lighten5: '#e8f5e9',\n lighten4: '#c8e6c9',\n lighten3: '#a5d6a7',\n lighten2: '#81c784',\n lighten1: '#66bb6a',\n darken1: '#43a047',\n darken2: '#388e3c',\n darken3: '#2e7d32',\n darken4: '#1b5e20',\n accent1: '#b9f6ca',\n accent2: '#69f0ae',\n accent3: '#00e676',\n accent4: '#00c853',\n})\n\nconst lightGreen = Object.freeze({\n base: '#8bc34a',\n lighten5: '#f1f8e9',\n lighten4: '#dcedc8',\n lighten3: '#c5e1a5',\n lighten2: '#aed581',\n lighten1: '#9ccc65',\n darken1: '#7cb342',\n darken2: '#689f38',\n darken3: '#558b2f',\n darken4: '#33691e',\n accent1: '#ccff90',\n accent2: '#b2ff59',\n accent3: '#76ff03',\n accent4: '#64dd17',\n})\n\nconst lime = Object.freeze({\n base: '#cddc39',\n lighten5: '#f9fbe7',\n lighten4: '#f0f4c3',\n lighten3: '#e6ee9c',\n lighten2: '#dce775',\n lighten1: '#d4e157',\n darken1: '#c0ca33',\n darken2: '#afb42b',\n darken3: '#9e9d24',\n darken4: '#827717',\n accent1: '#f4ff81',\n accent2: '#eeff41',\n accent3: '#c6ff00',\n accent4: '#aeea00',\n})\n\nconst yellow = Object.freeze({\n base: '#ffeb3b',\n lighten5: '#fffde7',\n lighten4: '#fff9c4',\n lighten3: '#fff59d',\n lighten2: '#fff176',\n lighten1: '#ffee58',\n darken1: '#fdd835',\n darken2: '#fbc02d',\n darken3: '#f9a825',\n darken4: '#f57f17',\n accent1: '#ffff8d',\n accent2: '#ffff00',\n accent3: '#ffea00',\n accent4: '#ffd600',\n})\n\nconst amber = Object.freeze({\n base: '#ffc107',\n lighten5: '#fff8e1',\n lighten4: '#ffecb3',\n lighten3: '#ffe082',\n lighten2: '#ffd54f',\n lighten1: '#ffca28',\n darken1: '#ffb300',\n darken2: '#ffa000',\n darken3: '#ff8f00',\n darken4: '#ff6f00',\n accent1: '#ffe57f',\n accent2: '#ffd740',\n accent3: '#ffc400',\n accent4: '#ffab00',\n})\n\nconst orange = Object.freeze({\n base: '#ff9800',\n lighten5: '#fff3e0',\n lighten4: '#ffe0b2',\n lighten3: '#ffcc80',\n lighten2: '#ffb74d',\n lighten1: '#ffa726',\n darken1: '#fb8c00',\n darken2: '#f57c00',\n darken3: '#ef6c00',\n darken4: '#e65100',\n accent1: '#ffd180',\n accent2: '#ffab40',\n accent3: '#ff9100',\n accent4: '#ff6d00',\n})\n\nconst deepOrange = Object.freeze({\n base: '#ff5722',\n lighten5: '#fbe9e7',\n lighten4: '#ffccbc',\n lighten3: '#ffab91',\n lighten2: '#ff8a65',\n lighten1: '#ff7043',\n darken1: '#f4511e',\n darken2: '#e64a19',\n darken3: '#d84315',\n darken4: '#bf360c',\n accent1: '#ff9e80',\n accent2: '#ff6e40',\n accent3: '#ff3d00',\n accent4: '#dd2c00',\n})\n\nconst brown = Object.freeze({\n base: '#795548',\n lighten5: '#efebe9',\n lighten4: '#d7ccc8',\n lighten3: '#bcaaa4',\n lighten2: '#a1887f',\n lighten1: '#8d6e63',\n darken1: '#6d4c41',\n darken2: '#5d4037',\n darken3: '#4e342e',\n darken4: '#3e2723',\n})\n\nconst blueGrey = Object.freeze({\n base: '#607d8b',\n lighten5: '#eceff1',\n lighten4: '#cfd8dc',\n lighten3: '#b0bec5',\n lighten2: '#90a4ae',\n lighten1: '#78909c',\n darken1: '#546e7a',\n darken2: '#455a64',\n darken3: '#37474f',\n darken4: '#263238',\n})\n\nconst grey = Object.freeze({\n base: '#9e9e9e',\n lighten5: '#fafafa',\n lighten4: '#f5f5f5',\n lighten3: '#eeeeee',\n lighten2: '#e0e0e0',\n lighten1: '#bdbdbd',\n darken1: '#757575',\n darken2: '#616161',\n darken3: '#424242',\n darken4: '#212121',\n})\n\nconst shades = Object.freeze({\n black: '#000000',\n white: '#ffffff',\n transparent: 'transparent',\n})\n\nexport default Object.freeze({\n red,\n pink,\n purple,\n deepPurple,\n indigo,\n blue,\n lightBlue,\n cyan,\n teal,\n green,\n lightGreen,\n lime,\n yellow,\n amber,\n orange,\n deepOrange,\n brown,\n blueGrey,\n grey,\n shades,\n})\n"],"sourceRoot":""}