{"version":3,"file":"QuickStart.vue_vue_type_script_setup_true_lang-CYobtd2V.js","sources":["../../node_modules/@ckpack/vue-color/libs/defaultConfig.js","../../node_modules/@ckpack/vue-color/libs/style-inject.es-746bb8ed.js","../../node_modules/@ckpack/vue-color/libs/utils/compoent.js","../../node_modules/@ckpack/vue-color/libs/components/checkboard/index.js","../../node_modules/@ckpack/vue-color/libs/components/alpha/index.js","../../node_modules/@ctrl/tinycolor/dist/module/util.js","../../node_modules/@ctrl/tinycolor/dist/module/conversion.js","../../node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","../../node_modules/@ctrl/tinycolor/dist/module/format-input.js","../../node_modules/@ctrl/tinycolor/dist/module/index.js","../../node_modules/@ckpack/vue-color/libs/mixin/color.js","../../node_modules/@ckpack/vue-color/libs/components/editable-input/index.js","../../node_modules/@ckpack/vue-color/libs/utils/utils.js","../../node_modules/@ckpack/vue-color/libs/components/saturation/index.js","../../node_modules/@ckpack/vue-color/libs/components/hue/index.js","../../node_modules/@ckpack/vue-color/libs/components/sketch/index.js","../../src/views/project/_components/color/ColorSelector.vue","../../src/views/project/_components/color/ExperimentColor.vue","../../src/views/project/_components/quick-start/CodeArea.vue","../../src/views/project/_components/quick-start/DetailWrapper.vue","../../src/components/DeploymentBoundary.vue","../../src/views/project/_components/quick-start/_/SelfHostedLogin.vue","../../src/views/project/_components/quick-start/StepOne.vue","../../src/views/project/_components/quick-start/StepTwo.vue","../../src/views/project/_components/quick-start/StepThree.vue","../../src/views/project/_components/QuickStart.vue"],"sourcesContent":["const name = 'VueColor';\n// 自定义组件前缀\nconst prefix = '';\nconst cssPrefix = '';\nconst size = 'medium';\n\nexport { cssPrefix, name, prefix, size };\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport { styleInject as s };\n","import { prefix } from '../defaultConfig.js';\n\nconst install = function (app, options) {\n const { componentPrefix = prefix } = options || {};\n app.component(`${componentPrefix}${this.name}`, this);\n};\n\nexport { install };\n","import { openBlock, createElementBlock, normalizeStyle } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '../../defaultConfig.js';\n\nconst _checkboardCache = {};\n\nvar script = {\n name: 'Checkboard',\n props: {\n size: {\n type: [Number, String],\n default: 8,\n },\n white: {\n type: String,\n default: '#fff',\n },\n grey: {\n type: String,\n default: '#e6e6e6',\n },\n },\n computed: {\n bgStyle() {\n return {\n 'background-image': `url(${getCheckboard(this.white, this.grey, this.size)})`,\n };\n },\n },\n};\n\n/**\n * get base 64 data by canvas\n *\n * @param {String} c1 hex color\n * @param {String} c2 hex color\n * @param {Number} size\n */\n\nfunction renderCheckboard(c1, c2, size) {\n // Dont Render On Server\n if (typeof document === 'undefined')\n return null;\n\n const canvas = document.createElement('canvas');\n canvas.width = canvas.height = size * 2;\n const ctx = canvas.getContext('2d');\n // If no context can be found, return early.\n if (!ctx)\n return null;\n\n ctx.fillStyle = c1;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n ctx.fillStyle = c2;\n ctx.fillRect(0, 0, size, size);\n ctx.translate(size, size);\n ctx.fillRect(0, 0, size, size);\n return canvas.toDataURL();\n}\n\n/**\n * get checkboard base data and cache\n *\n * @param {String} c1 hex color\n * @param {String} c2 hex color\n * @param {Number} size\n */\n\nfunction getCheckboard(c1, c2, size) {\n const key = `${c1},${c2},${size}`;\n\n if (_checkboardCache[key])\n return _checkboardCache[key];\n\n const checkboard = renderCheckboard(c1, c2, size);\n _checkboardCache[key] = checkboard;\n return checkboard;\n}\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (openBlock(), createElementBlock(\"div\", {\n class: \"vc-checkerboard\",\n style: normalizeStyle($options.bgStyle)\n }, null, 4 /* STYLE */))\n}\n\nvar css_248z = \".vc-checkerboard{background-size:contain;bottom:0;left:0;position:absolute;right:0;top:0}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/checkboard/checkboard.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","import script$1 from '../checkboard/index.js';\nimport { resolveComponent, openBlock, createElementBlock, createElementVNode, createVNode, normalizeStyle } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '../../defaultConfig.js';\n\nvar script = {\n name: 'Alpha',\n components: {\n Checkboard: script$1,\n },\n props: {\n value: Object,\n onChange: Function,\n },\n computed: {\n colors() {\n return this.value;\n },\n gradientColor() {\n const { rgba } = this.colors;\n const rgbStr = [rgba.r, rgba.g, rgba.b].join(',');\n return `linear-gradient(to right, rgba(${rgbStr}, 0) 0%, rgba(${rgbStr}, 1) 100%)`;\n },\n },\n methods: {\n handleChange(e, skip) {\n !skip && e.preventDefault();\n const { container } = this.$refs;\n if (!container) {\n // for some edge cases, container may not exist. see #220\n return;\n }\n const containerWidth = container.clientWidth;\n\n const xOffset = container.getBoundingClientRect().left + window.pageXOffset;\n const pageX = e.pageX || (e.touches ? e.touches[0].pageX : 0);\n const left = pageX - xOffset;\n\n let a;\n if (left < 0)\n a = 0;\n else if (left > containerWidth)\n a = 1;\n else\n a = Math.round(left * 100 / containerWidth) / 100;\n\n if (this.colors.a !== a) {\n this.$emit('change', {\n h: this.colors.hsl.h,\n s: this.colors.hsl.s,\n l: this.colors.hsl.l,\n a,\n source: 'rgba',\n });\n }\n },\n handleMouseDown(e) {\n this.handleChange(e, true);\n window.addEventListener('mousemove', this.handleChange);\n window.addEventListener('mouseup', this.handleMouseUp);\n },\n handleMouseUp() {\n this.unbindEventListeners();\n },\n unbindEventListeners() {\n window.removeEventListener('mousemove', this.handleChange);\n window.removeEventListener('mouseup', this.handleMouseUp);\n },\n },\n};\n\nconst _hoisted_1 = { class: \"vc-alpha\" };\nconst _hoisted_2 = { class: \"vc-alpha-checkboard-wrap\" };\nconst _hoisted_3 = /*#__PURE__*/createElementVNode(\"div\", { class: \"vc-alpha-picker\" }, null, -1 /* HOISTED */);\nconst _hoisted_4 = [\n _hoisted_3\n];\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_Checkboard = resolveComponent(\"Checkboard\");\n\n return (openBlock(), createElementBlock(\"div\", _hoisted_1, [\n createElementVNode(\"div\", _hoisted_2, [\n createVNode(_component_Checkboard)\n ]),\n createElementVNode(\"div\", {\n class: \"vc-alpha-gradient\",\n style: normalizeStyle({ background: $options.gradientColor })\n }, null, 4 /* STYLE */),\n createElementVNode(\"div\", {\n ref: \"container\",\n class: \"vc-alpha-container\",\n onMousedown: _cache[0] || (_cache[0] = (...args) => ($options.handleMouseDown && $options.handleMouseDown(...args))),\n onTouchmove: _cache[1] || (_cache[1] = (...args) => ($options.handleChange && $options.handleChange(...args))),\n onTouchstart: _cache[2] || (_cache[2] = (...args) => ($options.handleChange && $options.handleChange(...args)))\n }, [\n createElementVNode(\"div\", {\n class: \"vc-alpha-pointer\",\n style: normalizeStyle({ left: `${$options.colors.a * 100}%` })\n }, _hoisted_4, 4 /* STYLE */)\n ], 544 /* HYDRATE_EVENTS, NEED_PATCH */)\n ]))\n}\n\nvar css_248z = \".vc-alpha,.vc-alpha-checkboard-wrap{bottom:0;left:0;position:absolute;right:0;top:0}.vc-alpha-checkboard-wrap{overflow:hidden}.vc-alpha-gradient{bottom:0;left:0;position:absolute;right:0;top:0}.vc-alpha-container{cursor:pointer;height:100%;margin:0 3px;position:relative;z-index:2}.vc-alpha-pointer{position:absolute;z-index:2}.vc-alpha-picker{background:#fff;border-radius:1px;box-shadow:0 0 2px rgba(0,0,0,.6);cursor:pointer;height:8px;margin-top:1px;transform:translateX(-2px);width:4px}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/alpha/alpha.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * \n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return \"\".concat(Number(n) * 100, \"%\");\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n","import { bound01, pad2 } from './util.js';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * \n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n","/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\nimport { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb, } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { boundAlpha, convertToPercentage } from './util.js';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// \nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// \nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\".concat(CSS_NUMBER, \")|(?:\").concat(CSS_INTEGER, \")\");\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n","import { numberInputToObject, rgbaToHex, rgbToHex, rgbToHsl, rgbToHsv } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { inputToRGB } from './format-input';\nimport { bound01, boundAlpha, clamp01 } from './util.js';\nvar TinyColor = /** @class */ (function () {\n function TinyColor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n var _a;\n // If input is already a tinycolor, return itself\n if (color instanceof TinyColor) {\n // eslint-disable-next-line no-constructor-return\n return color;\n }\n if (typeof color === 'number') {\n color = numberInputToObject(color);\n }\n this.originalInput = color;\n var rgb = inputToRGB(color);\n this.originalInput = color;\n this.r = rgb.r;\n this.g = rgb.g;\n this.b = rgb.b;\n this.a = rgb.a;\n this.roundA = Math.round(100 * this.a) / 100;\n this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format;\n this.gradientType = opts.gradientType;\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this.r < 1) {\n this.r = Math.round(this.r);\n }\n if (this.g < 1) {\n this.g = Math.round(this.g);\n }\n if (this.b < 1) {\n this.b = Math.round(this.b);\n }\n this.isValid = rgb.ok;\n }\n TinyColor.prototype.isDark = function () {\n return this.getBrightness() < 128;\n };\n TinyColor.prototype.isLight = function () {\n return !this.isDark();\n };\n /**\n * Returns the perceived brightness of the color, from 0-255.\n */\n TinyColor.prototype.getBrightness = function () {\n // http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n };\n /**\n * Returns the perceived luminance of a color, from 0-1.\n */\n TinyColor.prototype.getLuminance = function () {\n // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var R;\n var G;\n var B;\n var RsRGB = rgb.r / 255;\n var GsRGB = rgb.g / 255;\n var BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) {\n R = RsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n }\n if (GsRGB <= 0.03928) {\n G = GsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n }\n if (BsRGB <= 0.03928) {\n B = BsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n };\n /**\n * Returns the alpha value of a color, from 0-1.\n */\n TinyColor.prototype.getAlpha = function () {\n return this.a;\n };\n /**\n * Sets the alpha value on the current color.\n *\n * @param alpha - The new alpha value. The accepted range is 0-1.\n */\n TinyColor.prototype.setAlpha = function (alpha) {\n this.a = boundAlpha(alpha);\n this.roundA = Math.round(100 * this.a) / 100;\n return this;\n };\n /**\n * Returns whether the color is monochrome.\n */\n TinyColor.prototype.isMonochrome = function () {\n var s = this.toHsl().s;\n return s === 0;\n };\n /**\n * Returns the object as a HSVA object.\n */\n TinyColor.prototype.toHsv = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a };\n };\n /**\n * Returns the hsva values interpolated into a string with the following format:\n * \"hsva(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHsvString = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n var h = Math.round(hsv.h * 360);\n var s = Math.round(hsv.s * 100);\n var v = Math.round(hsv.v * 100);\n return this.a === 1 ? \"hsv(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%)\") : \"hsva(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a HSLA object.\n */\n TinyColor.prototype.toHsl = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a };\n };\n /**\n * Returns the hsla values interpolated into a string with the following format:\n * \"hsla(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHslString = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n var h = Math.round(hsl.h * 360);\n var s = Math.round(hsl.s * 100);\n var l = Math.round(hsl.l * 100);\n return this.a === 1 ? \"hsl(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%)\") : \"hsla(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the hex value of the color.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHex = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return rgbToHex(this.r, this.g, this.b, allow3Char);\n };\n /**\n * Returns the hex value of the color -with a # prefixed.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHexString = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return '#' + this.toHex(allow3Char);\n };\n /**\n * Returns the hex 8 value of the color.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8 = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\n };\n /**\n * Returns the hex 8 value of the color -with a # prefixed.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8String = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return '#' + this.toHex8(allow4Char);\n };\n /**\n * Returns the shorter hex value of the color depends on its alpha -with a # prefixed.\n * @param allowShortChar will shorten hex value to 3 or 4 char if possible\n */\n TinyColor.prototype.toHexShortString = function (allowShortChar) {\n if (allowShortChar === void 0) { allowShortChar = false; }\n return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar);\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toRgb = function () {\n return {\n r: Math.round(this.r),\n g: Math.round(this.g),\n b: Math.round(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA values interpolated into a string with the following format:\n * \"RGBA(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toRgbString = function () {\n var r = Math.round(this.r);\n var g = Math.round(this.g);\n var b = Math.round(this.b);\n return this.a === 1 ? \"rgb(\".concat(r, \", \").concat(g, \", \").concat(b, \")\") : \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toPercentageRgb = function () {\n var fmt = function (x) { return \"\".concat(Math.round(bound01(x, 255) * 100), \"%\"); };\n return {\n r: fmt(this.r),\n g: fmt(this.g),\n b: fmt(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA relative values interpolated into a string\n */\n TinyColor.prototype.toPercentageRgbString = function () {\n var rnd = function (x) { return Math.round(bound01(x, 255) * 100); };\n return this.a === 1\n ? \"rgb(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%)\")\n : \"rgba(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%, \").concat(this.roundA, \")\");\n };\n /**\n * The 'real' name of the color -if there is one.\n */\n TinyColor.prototype.toName = function () {\n if (this.a === 0) {\n return 'transparent';\n }\n if (this.a < 1) {\n return false;\n }\n var hex = '#' + rgbToHex(this.r, this.g, this.b, false);\n for (var _i = 0, _a = Object.entries(names); _i < _a.length; _i++) {\n var _b = _a[_i], key = _b[0], value = _b[1];\n if (hex === value) {\n return key;\n }\n }\n return false;\n };\n TinyColor.prototype.toString = function (format) {\n var formatSet = Boolean(format);\n format = format !== null && format !== void 0 ? format : this.format;\n var formattedString = false;\n var hasAlpha = this.a < 1 && this.a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name');\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === 'name' && this.a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === 'rgb') {\n formattedString = this.toRgbString();\n }\n if (format === 'prgb') {\n formattedString = this.toPercentageRgbString();\n }\n if (format === 'hex' || format === 'hex6') {\n formattedString = this.toHexString();\n }\n if (format === 'hex3') {\n formattedString = this.toHexString(true);\n }\n if (format === 'hex4') {\n formattedString = this.toHex8String(true);\n }\n if (format === 'hex8') {\n formattedString = this.toHex8String();\n }\n if (format === 'name') {\n formattedString = this.toName();\n }\n if (format === 'hsl') {\n formattedString = this.toHslString();\n }\n if (format === 'hsv') {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n };\n TinyColor.prototype.toNumber = function () {\n return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n };\n TinyColor.prototype.clone = function () {\n return new TinyColor(this.toString());\n };\n /**\n * Lighten the color a given amount. Providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.lighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Brighten the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.brighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var rgb = this.toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return new TinyColor(rgb);\n };\n /**\n * Darken the color a given amount, from 0 to 100.\n * Providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.darken = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.tint = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('white', amount);\n };\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.shade = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('black', amount);\n };\n /**\n * Desaturate the color a given amount, from 0 to 100.\n * Providing 100 will is the same as calling greyscale\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.desaturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Saturate the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.saturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Completely desaturates a color into greyscale.\n * Same as calling `desaturate(100)`\n */\n TinyColor.prototype.greyscale = function () {\n return this.desaturate(100);\n };\n /**\n * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n * Values outside of this range will be wrapped into this range.\n */\n TinyColor.prototype.spin = function (amount) {\n var hsl = this.toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return new TinyColor(hsl);\n };\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n TinyColor.prototype.mix = function (color, amount) {\n if (amount === void 0) { amount = 50; }\n var rgb1 = this.toRgb();\n var rgb2 = new TinyColor(color).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a,\n };\n return new TinyColor(rgba);\n };\n TinyColor.prototype.analogous = function (results, slices) {\n if (results === void 0) { results = 6; }\n if (slices === void 0) { slices = 30; }\n var hsl = this.toHsl();\n var part = 360 / slices;\n var ret = [this];\n for (hsl.h = (hsl.h - ((part * results) >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(new TinyColor(hsl));\n }\n return ret;\n };\n /**\n * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js\n */\n TinyColor.prototype.complement = function () {\n var hsl = this.toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return new TinyColor(hsl);\n };\n TinyColor.prototype.monochromatic = function (results) {\n if (results === void 0) { results = 6; }\n var hsv = this.toHsv();\n var h = hsv.h;\n var s = hsv.s;\n var v = hsv.v;\n var res = [];\n var modification = 1 / results;\n while (results--) {\n res.push(new TinyColor({ h: h, s: s, v: v }));\n v = (v + modification) % 1;\n }\n return res;\n };\n TinyColor.prototype.splitcomplement = function () {\n var hsl = this.toHsl();\n var h = hsl.h;\n return [\n this,\n new TinyColor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }),\n new TinyColor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }),\n ];\n };\n /**\n * Compute how the color would appear on a background\n */\n TinyColor.prototype.onBackground = function (background) {\n var fg = this.toRgb();\n var bg = new TinyColor(background).toRgb();\n var alpha = fg.a + bg.a * (1 - fg.a);\n return new TinyColor({\n r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha,\n g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha,\n b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha,\n a: alpha,\n });\n };\n /**\n * Alias for `polyad(3)`\n */\n TinyColor.prototype.triad = function () {\n return this.polyad(3);\n };\n /**\n * Alias for `polyad(4)`\n */\n TinyColor.prototype.tetrad = function () {\n return this.polyad(4);\n };\n /**\n * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)\n * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...\n */\n TinyColor.prototype.polyad = function (n) {\n var hsl = this.toHsl();\n var h = hsl.h;\n var result = [this];\n var increment = 360 / n;\n for (var i = 1; i < n; i++) {\n result.push(new TinyColor({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l }));\n }\n return result;\n };\n /**\n * compare color vs current color\n */\n TinyColor.prototype.equals = function (color) {\n return this.toRgbString() === new TinyColor(color).toRgbString();\n };\n return TinyColor;\n}());\nexport { TinyColor };\n// kept for backwards compatability with v1\nexport function tinycolor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n return new TinyColor(color, opts);\n}\n","import { TinyColor } from '@ctrl/tinycolor';\n\nfunction tinycolor(...args) {\n return new TinyColor(...args);\n}\n\nfunction _colorChange(data, oldHue) {\n const alpha = data && data.a;\n let color;\n\n // hsl is better than hex between conversions\n if (data && data.hsl)\n color = tinycolor(data.hsl);\n else if (data && data.hex && data.hex.length > 0)\n color = tinycolor(data.hex);\n else if (data && data.hsv)\n color = tinycolor(data.hsv);\n else if (data && data.rgba)\n color = tinycolor(data.rgba);\n else if (data && data.rgb)\n color = tinycolor(data.rgb);\n else\n color = tinycolor(data);\n\n if (color && (color._a === undefined || color._a === null))\n color.setAlpha(alpha || color.getAlpha());\n\n const hsl = color.toHsl();\n const hsv = color.toHsv();\n\n if (hsl.s === 0)\n hsv.h = hsl.h = data.h || (data.hsl && data.hsl.h) || oldHue || 0;\n\n /* --- comment this block to fix #109, may cause #25 again --- */\n // when the hsv.v is less than 0.0164 (base on test)\n // because of possible loss of precision\n // the result of hue and saturation would be miscalculated\n if (hsv.v < 0.0164) {\n hsv.h = data.h || (data.hsv && data.hsv.h) || 0;\n hsv.s = data.s || (data.hsv && data.hsv.s) || 0;\n }\n\n if (hsl.l < 0.01) {\n hsl.h = data.h || (data.hsl && data.hsl.h) || 0;\n hsl.s = data.s || (data.hsl && data.hsl.s) || 0;\n }\n /* ------ */\n\n return {\n hsl,\n hex: color.toHexString().toUpperCase(),\n hex8: color.toHex8String().toUpperCase(),\n rgba: color.toRgb(),\n hsv,\n oldHue: data.h || oldHue || hsl.h,\n source: data.source,\n a: color.getAlpha(),\n };\n}\n\nvar colorMixin = {\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n props: ['modelValue'],\n data() {\n return {\n val: _colorChange(this.modelValue),\n };\n },\n computed: {\n colors: {\n get() {\n return this.val;\n },\n set(newVal) {\n this.val = newVal;\n this.$emit('update:modelValue', newVal);\n },\n },\n },\n watch: {\n modelValue(newVal) {\n this.val = _colorChange(newVal);\n },\n },\n methods: {\n colorChange(data, oldHue) {\n this.oldHue = this.colors.hsl.h;\n this.colors = _colorChange(data, oldHue || this.oldHue);\n },\n isValidHex(hex) {\n return tinycolor(hex).isValid;\n },\n simpleCheckForValidColor(data) {\n const keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v'];\n let checked = 0;\n let passed = 0;\n\n for (let i = 0; i < keysToCheck.length; i++) {\n const letter = keysToCheck[i];\n if (data[letter]) {\n checked++;\n if (!isNaN(data[letter]))\n passed++;\n }\n }\n\n if (checked === passed)\n return data;\n },\n paletteUpperCase(palette) {\n return palette.map(c => c.toUpperCase());\n },\n isTransparent(color) {\n return tinycolor(color).getAlpha() === 0;\n },\n },\n};\n\nexport { colorMixin as default };\n","import { openBlock, createElementBlock, withDirectives, createElementVNode, vModelText, toDisplayString } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '../../defaultConfig.js';\n\nvar script = {\n name: 'EditableInput',\n props: {\n label: String,\n labelText: String,\n desc: String,\n value: [String, Number],\n max: Number,\n min: Number,\n arrowOffset: {\n type: Number,\n default: 1,\n },\n },\n computed: {\n val: {\n get() {\n return this.value;\n },\n set(v) {\n // TODO: min\n if (!(this.max === undefined) && +v > this.max)\n this.$refs.input.value = this.max;\n else\n return v;\n },\n },\n labelId() {\n return `input__label__${this.label}__${Math.random().toString().slice(2, 5)}`;\n },\n labelSpanText() {\n return this.labelText || this.label;\n },\n },\n methods: {\n update(e) {\n this.handleChange(e.target.value);\n },\n handleChange(newVal) {\n const data = {};\n data[this.label] = newVal;\n if (data.hex === undefined && data['#'] === undefined)\n this.$emit('change', data);\n else if (newVal.length > 5)\n this.$emit('change', data);\n },\n // **** unused\n // handleBlur (e) {\n // console.log(e)\n // },\n handleKeyDown(e) {\n let { val } = this;\n const number = Number(val);\n\n if (number) {\n const amount = this.arrowOffset || 1;\n\n // Up\n if (e.keyCode === 38) {\n val = number + amount;\n this.handleChange(val);\n e.preventDefault();\n }\n\n // Down\n if (e.keyCode === 40) {\n val = number - amount;\n this.handleChange(val);\n e.preventDefault();\n }\n }\n },\n // **** unused\n // handleDrag (e) {\n // console.log(e)\n // },\n // handleMouseDown (e) {\n // console.log(e)\n // }\n },\n};\n\nconst _hoisted_1 = { class: \"vc-editable-input\" };\nconst _hoisted_2 = [\"aria-labelledby\"];\nconst _hoisted_3 = [\"id\", \"for\"];\nconst _hoisted_4 = { class: \"vc-input__desc\" };\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (openBlock(), createElementBlock(\"div\", _hoisted_1, [\n withDirectives(createElementVNode(\"input\", {\n ref: \"input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => (($options.val) = $event)),\n \"aria-labelledby\": $options.labelId,\n class: \"vc-input__input\",\n onKeydown: _cache[1] || (_cache[1] = (...args) => ($options.handleKeyDown && $options.handleKeyDown(...args))),\n onInput: _cache[2] || (_cache[2] = (...args) => ($options.update && $options.update(...args)))\n }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_2), [\n [vModelText, $options.val]\n ]),\n createElementVNode(\"span\", {\n id: $options.labelId,\n for: $props.label,\n class: \"vc-input__label\"\n }, toDisplayString($options.labelSpanText), 9 /* TEXT, PROPS */, _hoisted_3),\n createElementVNode(\"span\", _hoisted_4, toDisplayString($props.desc), 1 /* TEXT */)\n ]))\n}\n\nvar css_248z = \".vc-editable-input{position:relative}.vc-input__input{border:0;outline:none;padding:0}.vc-input__label{text-transform:capitalize}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/editable-input/editable-input.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","function clamp(value, min, max) {\n return min < max\n ? (value < min ? min : value > max ? max : value)\n : (value < max ? max : value > min ? min : value);\n}\n\nexport { clamp };\n","import { clamp } from '../../utils/utils.js';\nimport { openBlock, createElementBlock, normalizeStyle, createElementVNode } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '../../defaultConfig.js';\n\nvar script = {\n name: 'Saturation',\n props: {\n value: Object,\n },\n computed: {\n colors() {\n return this.value;\n },\n bgColor() {\n return `hsl(${this.colors.hsv.h}, 100%, 50%)`;\n },\n pointerTop() {\n return `${(-(this.colors.hsv.v * 100) + 1) + 100}%`;\n },\n pointerLeft() {\n return `${this.colors.hsv.s * 100}%`;\n },\n },\n methods: {\n handleChange(e, skip) {\n !skip && e.preventDefault();\n const { container } = this.$refs;\n if (!container) {\n // for some edge cases, container may not exist. see #220\n return;\n }\n const containerWidth = container.clientWidth;\n const containerHeight = container.clientHeight;\n\n const xOffset = container.getBoundingClientRect().left + window.pageXOffset;\n const yOffset = container.getBoundingClientRect().top + window.pageYOffset;\n const pageX = e.pageX || (e.touches ? e.touches[0].pageX : 0);\n const pageY = e.pageY || (e.touches ? e.touches[0].pageY : 0);\n const left = clamp(pageX - xOffset, 0, containerWidth);\n const top = clamp(pageY - yOffset, 0, containerHeight);\n const saturation = left / containerWidth;\n const bright = clamp(-(top / containerHeight) + 1, 0, 1);\n\n this.onChange({\n h: this.colors.hsv.h,\n s: saturation,\n v: bright,\n a: this.colors.hsv.a,\n source: 'hsva',\n });\n },\n onChange(param) {\n this.$emit('change', param);\n },\n handleMouseDown(e) {\n // this.handleChange(e, true)\n window.addEventListener('mousemove', this.handleChange);\n window.addEventListener('mouseup', this.handleChange);\n window.addEventListener('mouseup', this.handleMouseUp);\n },\n handleMouseUp(e) {\n this.unbindEventListeners();\n },\n unbindEventListeners() {\n window.removeEventListener('mousemove', this.handleChange);\n window.removeEventListener('mouseup', this.handleChange);\n window.removeEventListener('mouseup', this.handleMouseUp);\n },\n },\n};\n\nconst _hoisted_1 = /*#__PURE__*/createElementVNode(\"div\", { class: \"vc-saturation--white\" }, null, -1 /* HOISTED */);\nconst _hoisted_2 = /*#__PURE__*/createElementVNode(\"div\", { class: \"vc-saturation--black\" }, null, -1 /* HOISTED */);\nconst _hoisted_3 = /*#__PURE__*/createElementVNode(\"div\", { class: \"vc-saturation-circle\" }, null, -1 /* HOISTED */);\nconst _hoisted_4 = [\n _hoisted_3\n];\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (openBlock(), createElementBlock(\"div\", {\n ref: \"container\",\n class: \"vc-saturation\",\n style: normalizeStyle({ background: $options.bgColor }),\n onMousedown: _cache[0] || (_cache[0] = (...args) => ($options.handleMouseDown && $options.handleMouseDown(...args))),\n onTouchmove: _cache[1] || (_cache[1] = (...args) => ($options.handleChange && $options.handleChange(...args))),\n onTouchstart: _cache[2] || (_cache[2] = (...args) => ($options.handleChange && $options.handleChange(...args)))\n }, [\n _hoisted_1,\n _hoisted_2,\n createElementVNode(\"div\", {\n class: \"vc-saturation-pointer\",\n style: normalizeStyle({ top: $options.pointerTop, left: $options.pointerLeft })\n }, _hoisted_4, 4 /* STYLE */)\n ], 36 /* STYLE, HYDRATE_EVENTS */))\n}\n\nvar css_248z = \".vc-saturation,.vc-saturation--black,.vc-saturation--white{bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0}.vc-saturation--white{background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.vc-saturation--black{background:linear-gradient(0deg,#000,transparent)}.vc-saturation-pointer{cursor:pointer;position:absolute}.vc-saturation-circle{border-radius:50%;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);cursor:head;height:4px;transform:translate(-2px,-2px);width:4px}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/saturation/saturation.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","import { openBlock, createElementBlock, normalizeClass, createElementVNode, normalizeStyle } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '../../defaultConfig.js';\n\nvar script = {\n name: 'Hue',\n props: {\n value: Object,\n direction: {\n type: String,\n // [horizontal | vertical]\n default: 'horizontal',\n },\n },\n data() {\n return {\n oldHue: 0,\n pullDirection: '',\n };\n },\n computed: {\n colors() {\n return this.value;\n },\n directionClass() {\n return {\n 'vc-hue--horizontal': this.direction === 'horizontal',\n 'vc-hue--vertical': this.direction === 'vertical',\n };\n },\n pointerTop() {\n if (this.direction === 'vertical') {\n if (this.colors.hsl.h === 0 && this.pullDirection === 'right')\n return 0;\n return `${-((this.colors.hsl.h * 100) / 360) + 100}%`;\n }\n return 0;\n },\n pointerLeft() {\n if (this.direction === 'vertical')\n return 0;\n\n if (this.colors.hsl.h === 0 && this.pullDirection === 'right')\n return '100%';\n return `${(this.colors.hsl.h * 100) / 360}%`;\n },\n },\n watch: {\n value: {\n handler(value, oldVal) {\n const { h } = value.hsl;\n if (h !== 0 && h - this.oldHue > 0)\n this.pullDirection = 'right';\n if (h !== 0 && h - this.oldHue < 0)\n this.pullDirection = 'left';\n this.oldHue = h;\n },\n deep: true,\n immediate: true,\n },\n },\n methods: {\n handleChange(e, skip) {\n !skip && e.preventDefault();\n\n const { container } = this.$refs;\n if (!container) {\n // for some edge cases, container may not exist. see #220\n return;\n }\n const containerWidth = container.clientWidth;\n const containerHeight = container.clientHeight;\n\n const xOffset = container.getBoundingClientRect().left + window.pageXOffset;\n const yOffset = container.getBoundingClientRect().top + window.pageYOffset;\n const pageX = e.pageX || (e.touches ? e.touches[0].pageX : 0);\n const pageY = e.pageY || (e.touches ? e.touches[0].pageY : 0);\n const left = pageX - xOffset;\n const top = pageY - yOffset;\n\n let h;\n let percent;\n\n if (this.direction === 'vertical') {\n if (top < 0) {\n h = 360;\n }\n else if (top > containerHeight) {\n h = 0;\n }\n else {\n percent = -(top * 100 / containerHeight) + 100;\n h = (360 * percent / 100);\n }\n\n if (this.colors.hsl.h !== h) {\n this.$emit('change', {\n h,\n s: this.colors.hsl.s,\n l: this.colors.hsl.l,\n a: this.colors.hsl.a,\n source: 'hsl',\n });\n }\n }\n else {\n if (left < 0) {\n h = 0;\n }\n else if (left > containerWidth) {\n h = 360;\n }\n else {\n percent = left * 100 / containerWidth;\n h = (360 * percent / 100);\n }\n\n if (this.colors.hsl.h !== h) {\n this.$emit('change', {\n h,\n s: this.colors.hsl.s,\n l: this.colors.hsl.l,\n a: this.colors.hsl.a,\n source: 'hsl',\n });\n }\n }\n },\n handleMouseDown(e) {\n this.handleChange(e, true);\n window.addEventListener('mousemove', this.handleChange);\n window.addEventListener('mouseup', this.handleChange);\n window.addEventListener('mouseup', this.handleMouseUp);\n },\n handleMouseUp(e) {\n this.unbindEventListeners();\n },\n unbindEventListeners() {\n window.removeEventListener('mousemove', this.handleChange);\n window.removeEventListener('mouseup', this.handleChange);\n window.removeEventListener('mouseup', this.handleMouseUp);\n },\n },\n};\n\nconst _hoisted_1 = [\"aria-valuenow\"];\nconst _hoisted_2 = /*#__PURE__*/createElementVNode(\"div\", { class: \"vc-hue-picker\" }, null, -1 /* HOISTED */);\nconst _hoisted_3 = [\n _hoisted_2\n];\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"vc-hue\", [$options.directionClass]])\n }, [\n createElementVNode(\"div\", {\n ref: \"container\",\n class: \"vc-hue-container\",\n role: \"slider\",\n \"aria-valuenow\": $options.colors.hsl.h,\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": \"360\",\n onMousedown: _cache[0] || (_cache[0] = (...args) => ($options.handleMouseDown && $options.handleMouseDown(...args))),\n onTouchmove: _cache[1] || (_cache[1] = (...args) => ($options.handleChange && $options.handleChange(...args))),\n onTouchstart: _cache[2] || (_cache[2] = (...args) => ($options.handleChange && $options.handleChange(...args)))\n }, [\n createElementVNode(\"div\", {\n class: \"vc-hue-pointer\",\n style: normalizeStyle({ top: $options.pointerTop, left: $options.pointerLeft }),\n role: \"presentation\"\n }, _hoisted_3, 4 /* STYLE */)\n ], 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_1)\n ], 2 /* CLASS */))\n}\n\nvar css_248z = \".vc-hue{border-radius:2px;bottom:0;left:0;position:absolute;right:0;top:0}.vc-hue--horizontal{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.vc-hue--vertical{background:linear-gradient(0deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.vc-hue-container{cursor:pointer;height:100%;margin:0 2px;position:relative}.vc-hue-pointer{position:absolute;z-index:2}.vc-hue-picker{background:#fff;border-radius:1px;box-shadow:0 0 2px rgba(0,0,0,.6);cursor:pointer;height:8px;margin-top:1px;transform:translateX(-2px);width:4px}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/hue/hue.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","import colorMixin from '../../mixin/color.js';\nimport script$4 from '../editable-input/index.js';\nimport script$1 from '../saturation/index.js';\nimport script$2 from '../hue/index.js';\nimport script$3 from '../alpha/index.js';\nimport script$5 from '../checkboard/index.js';\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, createVNode, createCommentVNode, normalizeStyle, Fragment, renderList } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '@ctrl/tinycolor';\nimport '../../defaultConfig.js';\nimport '../../utils/utils.js';\n\nconst presetColors = [\n '#D0021B', '#F5A623', '#F8E71C', '#8B572A', '#7ED321',\n '#417505', '#BD10E0', '#9013FE', '#4A90E2', '#50E3C2',\n '#B8E986', '#000000', '#4A4A4A', '#9B9B9B', '#FFFFFF',\n 'rgba(0,0,0,0)',\n];\n\nvar script = {\n name: 'Sketch',\n components: {\n Saturation: script$1,\n Hue: script$2,\n Alpha: script$3,\n EdIn: script$4,\n Checkboard: script$5,\n },\n mixins: [colorMixin],\n props: {\n presetColors: {\n type: Array,\n default() {\n return presetColors;\n },\n },\n disableAlpha: {\n type: Boolean,\n default: false,\n },\n disableFields: {\n type: Boolean,\n default: false,\n },\n },\n computed: {\n hex() {\n let hex;\n if (this.colors.a < 1)\n hex = this.colors.hex8;\n else\n hex = this.colors.hex;\n\n return hex.replace('#', '');\n },\n activeColor() {\n const { rgba } = this.colors;\n return `rgba(${[rgba.r, rgba.g, rgba.b, rgba.a].join(',')})`;\n },\n },\n methods: {\n handlePreset(c) {\n this.colorChange(c);\n },\n childChange(data) {\n this.colorChange(data);\n },\n inputChange(data) {\n if (!data)\n return;\n\n if (data.hex) {\n this.isValidHex(data.hex) && this.colorChange({\n hex: data.hex,\n source: 'hex',\n });\n }\n else if (data.r || data.g || data.b || data.a) {\n this.colorChange({\n r: data.r || this.colors.rgba.r,\n g: data.g || this.colors.rgba.g,\n b: data.b || this.colors.rgba.b,\n a: data.a || this.colors.rgba.a,\n source: 'rgba',\n });\n }\n },\n },\n};\n\nconst _hoisted_1 = { class: \"vc-sketch-saturation-wrap\" };\nconst _hoisted_2 = { class: \"vc-sketch-controls\" };\nconst _hoisted_3 = { class: \"vc-sketch-sliders\" };\nconst _hoisted_4 = { class: \"vc-sketch-hue-wrap\" };\nconst _hoisted_5 = {\n key: 0,\n class: \"vc-sketch-alpha-wrap\"\n};\nconst _hoisted_6 = { class: \"vc-sketch-color-wrap\" };\nconst _hoisted_7 = [\"aria-label\"];\nconst _hoisted_8 = {\n key: 0,\n class: \"vc-sketch-field\"\n};\nconst _hoisted_9 = { class: \"vc-sketch-field--double\" };\nconst _hoisted_10 = { class: \"vc-sketch-field--single\" };\nconst _hoisted_11 = { class: \"vc-sketch-field--single\" };\nconst _hoisted_12 = { class: \"vc-sketch-field--single\" };\nconst _hoisted_13 = {\n key: 0,\n class: \"vc-sketch-field--single\"\n};\nconst _hoisted_14 = {\n class: \"vc-sketch-presets\",\n role: \"group\",\n \"aria-label\": \"A color preset, pick one to set as current color\"\n};\nconst _hoisted_15 = [\"aria-label\", \"onClick\"];\nconst _hoisted_16 = [\"aria-label\", \"onClick\"];\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_Saturation = resolveComponent(\"Saturation\");\n const _component_Hue = resolveComponent(\"Hue\");\n const _component_Alpha = resolveComponent(\"Alpha\");\n const _component_Checkboard = resolveComponent(\"Checkboard\");\n const _component_EdIn = resolveComponent(\"EdIn\");\n\n return (openBlock(), createElementBlock(\"div\", {\n role: \"application\",\n \"aria-label\": \"Sketch color picker\",\n class: normalizeClass([\"vc-sketch\", [$props.disableAlpha ? 'vc-sketch__disable-alpha' : '']])\n }, [\n createElementVNode(\"div\", _hoisted_1, [\n createVNode(_component_Saturation, {\n value: _ctx.colors,\n onChange: $options.childChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n createElementVNode(\"div\", _hoisted_2, [\n createElementVNode(\"div\", _hoisted_3, [\n createElementVNode(\"div\", _hoisted_4, [\n createVNode(_component_Hue, {\n value: _ctx.colors,\n onChange: $options.childChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n (!$props.disableAlpha)\n ? (openBlock(), createElementBlock(\"div\", _hoisted_5, [\n createVNode(_component_Alpha, {\n value: _ctx.colors,\n onChange: $options.childChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]))\n : createCommentVNode(\"v-if\", true)\n ]),\n createElementVNode(\"div\", _hoisted_6, [\n createElementVNode(\"div\", {\n \"aria-label\": `Current color is ${$options.activeColor}`,\n class: \"vc-sketch-active-color\",\n style: normalizeStyle({ background: $options.activeColor })\n }, null, 12 /* STYLE, PROPS */, _hoisted_7),\n createVNode(_component_Checkboard)\n ])\n ]),\n (!$props.disableFields)\n ? (openBlock(), createElementBlock(\"div\", _hoisted_8, [\n createCommentVNode(\" rgba \"),\n createElementVNode(\"div\", _hoisted_9, [\n createVNode(_component_EdIn, {\n label: \"hex\",\n value: $options.hex,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n createElementVNode(\"div\", _hoisted_10, [\n createVNode(_component_EdIn, {\n label: \"r\",\n value: _ctx.colors.rgba.r,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n createElementVNode(\"div\", _hoisted_11, [\n createVNode(_component_EdIn, {\n label: \"g\",\n value: _ctx.colors.rgba.g,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n createElementVNode(\"div\", _hoisted_12, [\n createVNode(_component_EdIn, {\n label: \"b\",\n value: _ctx.colors.rgba.b,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n ]),\n (!$props.disableAlpha)\n ? (openBlock(), createElementBlock(\"div\", _hoisted_13, [\n createVNode(_component_EdIn, {\n label: \"a\",\n value: _ctx.colors.a,\n \"arrow-offset\": 0.01,\n max: 1,\n onChange: $options.inputChange\n }, null, 8 /* PROPS */, [\"value\", \"arrow-offset\", \"onChange\"])\n ]))\n : createCommentVNode(\"v-if\", true)\n ]))\n : createCommentVNode(\"v-if\", true),\n createElementVNode(\"div\", _hoisted_14, [\n (openBlock(true), createElementBlock(Fragment, null, renderList($props.presetColors, (c) => {\n return (openBlock(), createElementBlock(Fragment, null, [\n (!_ctx.isTransparent(c))\n ? (openBlock(), createElementBlock(\"div\", {\n key: `!${c}`,\n class: \"vc-sketch-presets-color\",\n \"aria-label\": `Color:${c}`,\n style: normalizeStyle({ background: c }),\n onClick: $event => ($options.handlePreset(c))\n }, null, 12 /* STYLE, PROPS */, _hoisted_15))\n : (openBlock(), createElementBlock(\"div\", {\n key: c,\n \"aria-label\": `Color:${c}`,\n class: \"vc-sketch-presets-color\",\n onClick: $event => ($options.handlePreset(c))\n }, [\n createVNode(_component_Checkboard)\n ], 8 /* PROPS */, _hoisted_16))\n ], 64 /* STABLE_FRAGMENT */))\n }), 256 /* UNKEYED_FRAGMENT */))\n ])\n ], 2 /* CLASS */))\n}\n\nvar css_248z = \".vc-sketch{background:#fff;border-radius:4px;box-shadow:0 0 0 1px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.15);box-sizing:initial;padding:10px 10px 0;position:relative;width:200px}.vc-sketch-saturation-wrap{overflow:hidden;padding-bottom:75%;position:relative;width:100%}.vc-sketch-controls{display:flex}.vc-sketch-sliders{flex:1;padding:4px 0}.vc-sketch-sliders .vc-alpha-gradient,.vc-sketch-sliders .vc-hue{border-radius:2px}.vc-sketch-alpha-wrap,.vc-sketch-hue-wrap{height:10px;position:relative}.vc-sketch-alpha-wrap{margin-top:4px;overflow:hidden}.vc-sketch-color-wrap{border-radius:3px;height:24px;margin-left:4px;margin-top:4px;position:relative;width:24px}.vc-sketch-active-color{border-radius:2px;bottom:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15),inset 0 0 4px rgba(0,0,0,.25);left:0;position:absolute;right:0;top:0;z-index:2}.vc-sketch-color-wrap .vc-checkerboard{background-size:auto}.vc-sketch-field{display:flex;padding-top:4px}.vc-sketch-field .vc-input__input{border:none;box-shadow:inset 0 0 0 1px #ccc;font-size:10px;padding:4px 0 3px 10%;width:90%}.vc-sketch-field .vc-input__label{color:#222;display:block;font-size:11px;padding-bottom:4px;padding-top:3px;text-align:center;text-transform:capitalize}.vc-sketch-field--single{flex:1;padding-left:6px}.vc-sketch-field--double{flex:2}.vc-sketch-presets{border-top:1px solid #eee;margin-left:-10px;margin-right:-10px;padding-left:10px;padding-top:10px}.vc-sketch-presets-color{cursor:pointer;display:inline-block;height:16px;margin:0 10px 10px 0;overflow:hidden;position:relative;vertical-align:top;width:16px}.vc-sketch-presets-color,.vc-sketch-presets-color .vc-checkerboard{border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.vc-sketch__disable-alpha .vc-sketch-color-wrap{height:10px}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/sketch/sketch.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","\n\n\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n"],"names":["prefix","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","install","app","options","componentPrefix","component","this","name","_checkboardCache","script","props","size","Number","String","default","white","grey","computed","bgStyle","getCheckboard","c1","c2","key","checkboard","canvas","width","height","ctx","getContext","fillStyle","fillRect","translate","toDataURL","renderCheckboard","render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","class","normalizeStyle","__file","components","Checkboard","script$1","value","Object","onChange","Function","colors","gradientColor","rgba","rgbStr","r","g","b","join","methods","handleChange","e","skip","preventDefault","container","$refs","containerWidth","clientWidth","xOffset","getBoundingClientRect","left","window","pageXOffset","pageX","touches","a","Math","round","$emit","h","hsl","s","l","source","handleMouseDown","addEventListener","handleMouseUp","unbindEventListeners","removeEventListener","_hoisted_1","_hoisted_2","_hoisted_4","createElementVNode","bound01","n","max","indexOf","parseFloat","isOnePointZero","isPercent","isPercentage","min","parseInt","abs","clamp01","val","boundAlpha","isNaN","convertToPercentage","concat","pad2","c","length","rgbToHsl","d","hue2rgb","p","q","t","rgbToHsv","v","rgbToHex","allow3Char","hex","toString","startsWith","charAt","convertHexToDecimal","parseIntFromHex","_component_Checkboard","resolveComponent","createVNode","background","onMousedown","args","onTouchmove","onTouchstart","names","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","goldenrod","gold","gray","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavenderblush","lavender","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellow","yellowgreen","inputToRGB","color","rgb","ok","format","trim","toLowerCase","named","match","matchers","exec","hsla","hsv","hsva","hex8","hex6","hex4","hex3","stringInputToObject","isValidCSSUnit","substr","i","floor","f","mod","hsvToRgb","hslToRgb","prototype","hasOwnProperty","call","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","RegExp","Boolean","TinyColor","opts","_a","numberInputToObject","originalInput","roundA","gradientType","isValid","isDark","getBrightness","isLight","toRgb","getLuminance","RsRGB","GsRGB","BsRGB","pow","getAlpha","setAlpha","alpha","isMonochrome","toHsl","toHsv","toHsvString","toHslString","toHex","toHexString","toHex8","allow4Char","rgbaToHex","toHex8String","toHexShortString","allowShortChar","toRgbString","toPercentageRgb","fmt","x","toPercentageRgbString","rnd","toName","_i","entries","_b","formatSet","formattedString","hasAlpha","toNumber","clone","lighten","amount","brighten","darken","tint","mix","shade","desaturate","saturate","greyscale","spin","hue","rgb1","rgb2","analogous","results","slices","part","ret","push","complement","monochromatic","res","modification","splitcomplement","onBackground","fg","bg","triad","polyad","tetrad","result","increment","equals","tinycolor","_colorChange","data","oldHue","toUpperCase","colorMixin","model","prop","event","modelValue","get","set","newVal","watch","colorChange","isValidHex","simpleCheckForValidColor","keysToCheck","checked","passed","letter","paletteUpperCase","palette","map","isTransparent","label","labelText","desc","arrowOffset","input","labelId","random","slice","labelSpanText","update","target","handleKeyDown","number","keyCode","_hoisted_3","clamp","withDirectives","$event","onKeydown","onInput","vModelText","id","for","toDisplayString","bgColor","pointerTop","pointerLeft","containerHeight","clientHeight","yOffset","top","pageYOffset","pageY","saturation","bright","param","direction","pullDirection","directionClass","handler","oldVal","deep","immediate","percent","normalizeClass","role","presetColors","Saturation","Hue","script$2","Alpha","script$3","EdIn","script$4","script$5","mixins","Array","disableAlpha","disableFields","replace","activeColor","handlePreset","childChange","inputChange","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_component_Saturation","_component_Hue","_component_Alpha","_component_EdIn","createCommentVNode","Fragment","renderList","onClick","emits","__emit","__props","defaultColor","watchEffect","colorValue","projStore","useProjStore","canManage","updateColor","username","projname","fmtExpColor","nowColor","handleChangeColor","debounceChangeColor","cuid","debounce","updateColors","$onAction","useTranslations","toast","useToast","handleCopy","async","copyTextToClipboard","text","title","duration","targetComponent","fallback","hostCommand","url","URL","location","href","protocol","host","command","userStore","useUserStore","apiKey","code","codeHtml","onBeforeRouteUpdate","isShowQuickStart"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]}