{"version":3,"sources":["webpack:///./src/components/services/organization/ColorPicker.vue?e8e5","webpack:///src/components/services/organization/ColorPicker.vue","webpack:///./src/components/services/organization/ColorPicker.vue?c5cb","webpack:///../../../src/components/VSlider/VSlider.ts","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/util/colors.ts","webpack:///../../../src/components/VColorPicker/VColorPickerSwatches.ts","webpack:///../../../src/components/VColorPicker/VColorPicker.ts","webpack:///./src/components/services/organization/ColorPicker.vue","webpack:///../../../src/components/VBtn/index.ts"],"names":["_vm","this","_h","$createElement","_c","_self","attrs","staticClass","scopedSlots","_u","key","fn","ref","on","_g","color","_v","model","value","callback","$$v","expression","staticRenderFns","mixins","name","directives","ClickOutside","props","disabled","inverseLabel","max","type","Number","default","min","step","thumbColor","thumbLabel","Boolean","validator","v","thumbSize","tickLabels","ticks","tickSize","trackColor","trackFillColor","vertical","data","app","oldValue","thumbPressed","mouseTimeout","isFocused","isActive","noClick","computed","classes","VInput","internalValue","get","set","val","isNaN","roundValue","Math","trackTransition","showTicks","minValue","parseFloat","maxValue","stepNumeric","inputWidth","trackFillStyles","startDir","endDir","valueDir","start","$vuetify","rtl","end","isDisabled","transition","trackStyles","length","numTicks","showThumbLabel","$scopedSlots","computedTrackColor","validationState","computedTrackFillColor","computedThumbColor","watch","parsed","$emit","handler","beforeMount","mounted","document","console","methods","genDefaultSlot","children","slider","genSlider","class","themeClasses","onBlur","click","mousedown","touchstart","onSliderMouseDown","genChildren","genThumbContainer","genInput","id","readonly","tabindex","$attrs","genTrackContainer","setBackgroundColor","style","genSteps","range","direction","offsetDirection","index","width","filled","height","thumbLabelContent","genThumbLabelContent","genThumbLabel","setTextColor","getThumbContainerStyles","role","String","focus","blur","keydown","onKeyDown","size","transform","origin","genThumb","e","mouseUpOptions","passive","capture","mouseMoveOptions","window","isTouchEvent","onSliderMouseUp","onMouseMove","parseMouseMove","parseKeyDown","onSliderClick","thumb","$refs","onFocus","track","trackLength","clickOffset","clickPos","up","pageup","pagedown","home","left","right","down","includes","steps","increase","multiplier","trimmedStep","toString","decimals","offset","newValue","hsva","hexa","hsla","rgba","alpha","hex","hue","fromHexa","has","k","obj","fromRGBA","r","g","b","a","oldColor","fromHSLA","fromHSVA","rest","input","shouldStrip","hideAlpha","genAlpha","genTrack","hideDetails","backgroundImage","genSliders","genDot","background","genHue","h","options","render","dotSize","boundingRect","top","dot","x","s","parseInt","y","emitColor","updateCanvas","canvas","ctx","saturationGradient","valueGradient","handleClick","$el","handleMouseDown","handleMouseMove","handleMouseUp","genCanvas","radius","modes","inputs","from","hideModeSwitch","mode","Object","internalMode","currentMode","created","getValue","parseValue","changeMode","newMode","domProps","target","genInputs","maxlength","change","el","newVal","genSwitch","small","icon","VIcon","red","base","lighten5","lighten4","lighten3","lighten2","lighten1","darken1","darken2","darken3","darken4","accent1","accent2","accent3","accent4","pink","purple","deepPurple","indigo","blue","lightBlue","cyan","teal","green","lightGreen","lime","yellow","amber","orange","deepOrange","brown","blueGrey","grey","shades","black","white","transparent","parseDefaultColors","colors","fromHex","swatches","maxWidth","maxHeight","genColor","content","parseColor","dark","light","genSwatches","map","swatch","canvasHeight","flat","hideCanvas","hideSliders","hideInputs","showSwatches","swatchesMaxHeight","hasAlpha","immediate","updateColor","extractColor","genControls","genEdit","genPreview","VSheet","elevationClasses","component","VApp","VBtn","VColorPicker","VMenu"],"mappings":"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","file":"js/chunk-89d2cece.2ac4c13a.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('v-app',{attrs:{\"id\":\"inspire\"}},[_c('div',{staticClass:\"text-center\"},[_c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"color\":_vm.color,\"dark\":\"\"}},on),[_vm._v(\" Event Color \")])]}}])},[_c('v-color-picker',{staticClass:\"mx-auto\",attrs:{\"value\":\"#7417BE\",\"hide-canvas\":\"\",\"hide-inputs\":\"\",\"show-swatches\":\"\"},model:{value:(_vm.color),callback:function ($$v) {_vm.color=$$v},expression:\"color\"}})],1)],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPicker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPicker.vue?vue&type=script&lang=js&\"","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 }),\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 return (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100\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.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 ...this.$attrs,\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) {\n e.preventDefault()\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n } else {\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\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) {\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) {\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() as any\n const clickOffset = 'touches' in e ? (e as any).touches[0][click] : e[click] // Can we get rid of any here?\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart) / 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","// 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","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","// 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","import { render, staticRenderFns } from \"./ColorPicker.vue?vue&type=template&id=21f7a922&scoped=true&\"\nimport script from \"./ColorPicker.vue?vue&type=script&lang=js&\"\nexport * from \"./ColorPicker.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 \"21f7a922\",\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 { VApp } from 'vuetify/lib/components/VApp';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VColorPicker } from 'vuetify/lib/components/VColorPicker';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VApp,VBtn,VColorPicker,VMenu})\n","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n"],"sourceRoot":""}