{"version":3,"file":"index-sgDna3FW.chunk.mjs","sources":["../node_modules/@nextcloud/dialogs/node_modules/@ckpack/vue-color/libs/defaultConfig.js","../node_modules/@nextcloud/dialogs/node_modules/@ckpack/vue-color/libs/style-inject.es-746bb8ed.js","../node_modules/@nextcloud/dialogs/node_modules/@ckpack/vue-color/libs/utils/compoent.js","../node_modules/@nextcloud/dialogs/node_modules/@ckpack/vue-color/libs/components/checkboard/index.js","../node_modules/@nextcloud/dialogs/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/@nextcloud/dialogs/node_modules/@ckpack/vue-color/libs/mixin/color.js","../node_modules/@nextcloud/dialogs/node_modules/@ckpack/vue-color/libs/components/editable-input/index.js","../node_modules/@nextcloud/dialogs/node_modules/@ckpack/vue-color/libs/utils/utils.js","../node_modules/@nextcloud/dialogs/node_modules/@ckpack/vue-color/libs/components/saturation/index.js","../node_modules/@nextcloud/dialogs/node_modules/@ckpack/vue-color/libs/components/hue/index.js","../node_modules/@nextcloud/dialogs/node_modules/@ckpack/vue-color/libs/components/chrome/index.js","../node_modules/@nextcloud/dialogs/node_modules/@nextcloud/vue/dist/chunks/colors-BHGKZFDI.mjs","../node_modules/@nextcloud/dialogs/node_modules/@nextcloud/vue/dist/chunks/NcColorPicker-DDHxR-iN.mjs"],"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 * <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\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// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * <http://www.w3.org/TR/css3-color/>\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// <http://www.w3.org/TR/css3-values/#integers>\nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// <http://www.w3.org/TR/css3-values/#number-value>\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, normalizeStyle, createBlock, createCommentVNode, withDirectives, vShow } from 'vue';\nimport { s as styleInject } from '../../style-inject.es-746bb8ed.js';\nimport { install } from '../../utils/compoent.js';\nimport '@ctrl/tinycolor';\nimport '../../utils/utils.js';\nimport '../../defaultConfig.js';\n\nvar script = {\n  name: 'Chrome',\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    disableAlpha: {\n      type: Boolean,\n      default: false,\n    },\n    disableFields: {\n      type: Boolean,\n      default: false,\n    },\n    format: {\n      type: String,\n      default: 'hex',\n    },\n  },\n  data() {\n    return {\n      fieldsIndex: 'hex',\n      highlight: false,\n    };\n  },\n  computed: {\n    hsl() {\n      const { h, s, l } = this.colors.hsl;\n      return {\n        h: h.toFixed(),\n        s: `${(s * 100).toFixed()}%`,\n        l: `${(l * 100).toFixed()}%`,\n      };\n    },\n    activeColor() {\n      const { rgba } = this.colors;\n      return `rgba(${[rgba.r, rgba.g, rgba.b, rgba.a].join(',')})`;\n    },\n    hasAlpha() {\n      return this.colors.a < 1;\n    },\n  },\n  watch: {\n    format: {\n      handler(val) {\n        this.fieldsIndex = val;\n      },\n      immediate: true,\n    },\n  },\n  methods: {\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      else if (data.h || data.s || data.l) {\n        const s = data.s ? (data.s.replace('%', '') / 100) : this.colors.hsl.s;\n        const l = data.l ? (data.l.replace('%', '') / 100) : this.colors.hsl.l;\n\n        this.colorChange({\n          h: data.h || this.colors.hsl.h,\n          s,\n          l,\n          source: 'hsl',\n        });\n      }\n    },\n    toggleViews() {\n      switch (this.fieldsIndex) {\n        case 'hex':\n          this.fieldsIndex = `rgb${this.disableAlpha ? '' : 'a'}`;\n          break;\n        case 'rgb':\n        case 'rgba':\n          this.fieldsIndex = `hsl${this.disableAlpha ? '' : 'a'}`;\n          break;\n        default:\n          this.fieldsIndex = 'hex';\n          break;\n      }\n      this.$emit('update:format', this.fieldsIndex);\n    },\n    showHighlight() {\n      this.highlight = true;\n    },\n    hideHighlight() {\n      this.highlight = false;\n    },\n  },\n};\n\nconst _hoisted_1 = { class: \"vc-chrome-saturation-wrap\" };\nconst _hoisted_2 = { class: \"vc-chrome-body\" };\nconst _hoisted_3 = { class: \"vc-chrome-controls\" };\nconst _hoisted_4 = { class: \"vc-chrome-color-wrap\" };\nconst _hoisted_5 = [\"aria-label\"];\nconst _hoisted_6 = { class: \"vc-chrome-sliders\" };\nconst _hoisted_7 = { class: \"vc-chrome-hue-wrap\" };\nconst _hoisted_8 = {\n  key: 0,\n  class: \"vc-chrome-alpha-wrap\"\n};\nconst _hoisted_9 = {\n  key: 0,\n  class: \"vc-chrome-fields-wrap\"\n};\nconst _hoisted_10 = { class: \"vc-chrome-fields\" };\nconst _hoisted_11 = { class: \"vc-chrome-field\" };\nconst _hoisted_12 = { class: \"vc-chrome-fields\" };\nconst _hoisted_13 = { class: \"vc-chrome-field\" };\nconst _hoisted_14 = { class: \"vc-chrome-field\" };\nconst _hoisted_15 = { class: \"vc-chrome-field\" };\nconst _hoisted_16 = {\n  key: 0,\n  class: \"vc-chrome-field\"\n};\nconst _hoisted_17 = { class: \"vc-chrome-fields\" };\nconst _hoisted_18 = { class: \"vc-chrome-field\" };\nconst _hoisted_19 = { class: \"vc-chrome-field\" };\nconst _hoisted_20 = { class: \"vc-chrome-field\" };\nconst _hoisted_21 = {\n  key: 0,\n  class: \"vc-chrome-field\"\n};\nconst _hoisted_22 = { class: \"vc-chrome-toggle-icon\" };\nconst _hoisted_23 = /*#__PURE__*/createElementVNode(\"path\", {\n  fill: \"#333\",\n  d: \"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z\"\n}, null, -1 /* HOISTED */);\nconst _hoisted_24 = [\n  _hoisted_23\n];\nconst _hoisted_25 = { class: \"vc-chrome-toggle-icon-highlight\" };\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n  const _component_Saturation = resolveComponent(\"Saturation\");\n  const _component_Checkboard = resolveComponent(\"Checkboard\");\n  const _component_Hue = resolveComponent(\"Hue\");\n  const _component_Alpha = resolveComponent(\"Alpha\");\n  const _component_EdIn = resolveComponent(\"EdIn\");\n\n  return (openBlock(), createElementBlock(\"div\", {\n    role: \"application\",\n    \"aria-label\": \"Chrome color picker\",\n    class: normalizeClass([\"vc-chrome\", [$props.disableAlpha ? 'vc-chrome__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          createElementVNode(\"div\", {\n            \"aria-label\": `current color is ${_ctx.colors.hex}`,\n            class: \"vc-chrome-active-color\",\n            style: normalizeStyle({ background: $options.activeColor })\n          }, null, 12 /* STYLE, PROPS */, _hoisted_5),\n          (!$props.disableAlpha)\n            ? (openBlock(), createBlock(_component_Checkboard, { key: 0 }))\n            : createCommentVNode(\"v-if\", true)\n        ]),\n        createElementVNode(\"div\", _hoisted_6, [\n          createElementVNode(\"div\", _hoisted_7, [\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_8, [\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      ]),\n      (!$props.disableFields)\n        ? (openBlock(), createElementBlock(\"div\", _hoisted_9, [\n            withDirectives(createElementVNode(\"div\", _hoisted_10, [\n              createCommentVNode(\" hex \"),\n              createElementVNode(\"div\", _hoisted_11, [\n                (!$options.hasAlpha)\n                  ? (openBlock(), createBlock(_component_EdIn, {\n                      key: 0,\n                      label: \"hex\",\n                      value: _ctx.colors.hex,\n                      onChange: $options.inputChange\n                    }, null, 8 /* PROPS */, [\"value\", \"onChange\"]))\n                  : createCommentVNode(\"v-if\", true),\n                ($options.hasAlpha)\n                  ? (openBlock(), createBlock(_component_EdIn, {\n                      key: 1,\n                      label: \"hex\",\n                      value: _ctx.colors.hex8,\n                      onChange: $options.inputChange\n                    }, null, 8 /* PROPS */, [\"value\", \"onChange\"]))\n                  : createCommentVNode(\"v-if\", true)\n              ])\n            ], 512 /* NEED_PATCH */), [\n              [vShow, $data.fieldsIndex === 'hex']\n            ]),\n            withDirectives(createElementVNode(\"div\", _hoisted_12, [\n              createCommentVNode(\" rgba \"),\n              createElementVNode(\"div\", _hoisted_13, [\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_14, [\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_15, [\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_16, [\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            ], 512 /* NEED_PATCH */), [\n              [vShow, ['rgb', 'rgba'].includes($data.fieldsIndex)]\n            ]),\n            withDirectives(createElementVNode(\"div\", _hoisted_17, [\n              createCommentVNode(\" hsla \"),\n              createElementVNode(\"div\", _hoisted_18, [\n                createVNode(_component_EdIn, {\n                  label: \"h\",\n                  value: $options.hsl.h,\n                  onChange: $options.inputChange\n                }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n              ]),\n              createElementVNode(\"div\", _hoisted_19, [\n                createVNode(_component_EdIn, {\n                  label: \"s\",\n                  value: $options.hsl.s,\n                  onChange: $options.inputChange\n                }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n              ]),\n              createElementVNode(\"div\", _hoisted_20, [\n                createVNode(_component_EdIn, {\n                  label: \"l\",\n                  value: $options.hsl.l,\n                  onChange: $options.inputChange\n                }, null, 8 /* PROPS */, [\"value\", \"onChange\"])\n              ]),\n              (!$props.disableAlpha)\n                ? (openBlock(), createElementBlock(\"div\", _hoisted_21, [\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            ], 512 /* NEED_PATCH */), [\n              [vShow, ['hsl', 'hsla'].includes($data.fieldsIndex)]\n            ]),\n            createCommentVNode(\" btn \"),\n            createElementVNode(\"div\", {\n              class: \"vc-chrome-toggle-btn\",\n              role: \"button\",\n              \"aria-label\": \"Change another color definition\",\n              onClick: _cache[3] || (_cache[3] = (...args) => ($options.toggleViews && $options.toggleViews(...args)))\n            }, [\n              createElementVNode(\"div\", _hoisted_22, [\n                (openBlock(), createElementBlock(\"svg\", {\n                  style: {\"width\":\"24px\",\"height\":\"24px\"},\n                  viewBox: \"0 0 24 24\",\n                  onMouseover: _cache[0] || (_cache[0] = (...args) => ($options.showHighlight && $options.showHighlight(...args))),\n                  onMouseenter: _cache[1] || (_cache[1] = (...args) => ($options.showHighlight && $options.showHighlight(...args))),\n                  onMouseout: _cache[2] || (_cache[2] = (...args) => ($options.hideHighlight && $options.hideHighlight(...args)))\n                }, _hoisted_24, 32 /* HYDRATE_EVENTS */))\n              ]),\n              withDirectives(createElementVNode(\"div\", _hoisted_25, null, 512 /* NEED_PATCH */), [\n                [vShow, $data.highlight]\n              ])\n            ]),\n            createCommentVNode(\" btn \")\n          ]))\n        : createCommentVNode(\"v-if\", true)\n    ])\n  ], 2 /* CLASS */))\n}\n\nvar css_248z = \".vc-chrome{background:#fff;background-color:#fff;border-radius:2px;box-shadow:0 0 2px rgba(0,0,0,.3),0 4px 8px rgba(0,0,0,.3);box-sizing:initial;font-family:Menlo;width:225px}.vc-chrome-controls{display:flex}.vc-chrome-color-wrap{position:relative;width:36px}.vc-chrome-active-color{border-radius:15px;height:30px;overflow:hidden;position:relative;width:30px;z-index:1}.vc-chrome-color-wrap .vc-checkerboard{background-size:auto;border-radius:15px;height:30px;width:30px}.vc-chrome-sliders{flex:1}.vc-chrome-fields-wrap{display:flex;padding-top:16px}.vc-chrome-fields{display:flex;flex:1;margin-left:-6px}.vc-chrome-field{padding-left:6px;width:100%}.vc-chrome-toggle-btn{position:relative;text-align:right;width:32px}.vc-chrome-toggle-icon{cursor:pointer;margin-right:-4px;margin-top:12px;position:relative;z-index:2}.vc-chrome-toggle-icon-highlight{background:#eee;border-radius:4px;height:28px;left:12px;position:absolute;top:10px;width:24px}.vc-chrome-hue-wrap{margin-bottom:8px}.vc-chrome-alpha-wrap,.vc-chrome-hue-wrap{height:10px;position:relative}.vc-chrome-alpha-wrap .vc-alpha-gradient,.vc-chrome-hue-wrap .vc-hue{border-radius:2px}.vc-chrome-alpha-wrap .vc-alpha-picker,.vc-chrome-hue-wrap .vc-hue-picker{background-color:#f8f8f8;border-radius:6px;box-shadow:0 1px 4px 0 rgba(0,0,0,.37);height:12px;transform:translate(-6px,-2px);width:12px}.vc-chrome-body{background-color:#fff;padding:16px 16px 12px}.vc-chrome-saturation-wrap{border-radius:2px 2px 0 0;overflow:hidden;padding-bottom:55%;position:relative;width:100%}.vc-chrome-saturation-wrap .vc-saturation-circle{height:12px;width:12px}.vc-chrome-fields .vc-input__input{border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #dadada;color:#333;font-size:11px;height:21px;text-align:center;width:100%}.vc-chrome-fields .vc-input__label{color:#969696;display:block;font-size:11px;line-height:11px;margin-top:12px;text-align:center;text-transform:uppercase}.vc-chrome__disable-alpha .vc-chrome-active-color{height:18px;width:18px}.vc-chrome__disable-alpha .vc-chrome-color-wrap{width:30px}.vc-chrome__disable-alpha .vc-chrome-hue-wrap{margin-bottom:4px;margin-top:4px}\";\nstyleInject(css_248z);\n\nscript.render = render;\nscript.__file = \"src/components/chrome/chrome.vue\";\n\nscript.install = install;\n\nexport { script as default };\n","import { r as register, t as t3, a as t } from \"./_l10n-Dq_eYxz_.mjs\";\nregister(t3);\nclass Color {\n  /**\n   * @param r - The red value\n   * @param g - The green value\n   * @param b - The blue value\n   * @param name - The name of the color\n   */\n  constructor(r, g, b, name) {\n    this.r = r;\n    this.g = g;\n    this.b = b;\n    this.name = name;\n    this.r = Math.min(r, 255);\n    this.g = Math.min(g, 255);\n    this.b = Math.min(b, 255);\n    this.name = name;\n  }\n  /**\n   * The hexadecimal color string.\n   */\n  get color() {\n    const toHex = (int) => `00${int.toString(16)}`.slice(-2);\n    return `#${toHex(this.r)}${toHex(this.g)}${toHex(this.b)}`;\n  }\n}\nfunction calculateStepIncrement(steps, color1, color2) {\n  return {\n    r: (color2.r - color1.r) / steps,\n    g: (color2.g - color1.g) / steps,\n    b: (color2.b - color1.b) / steps\n  };\n}\nfunction mixPalette(steps, color1, color2) {\n  const palette = [];\n  palette.push(color1);\n  const increment = calculateStepIncrement(steps, color1, color2);\n  for (let i = 1; i < steps; i++) {\n    const r = Math.floor(color1.r + increment.r * i);\n    const g = Math.floor(color1.g + increment.g * i);\n    const b = Math.floor(color1.b + increment.b * i);\n    palette.push(new Color(r, g, b));\n  }\n  return palette;\n}\nconst COLOR_RED = new Color(182, 70, 157, t(\"Purple\"));\nconst COLOR_YELLOW = new Color(221, 203, 85, t(\"Gold\"));\nconst COLOR_BLUE = new Color(0, 130, 201, t(\"Nextcloud blue\"));\nconst COLOR_BLACK = new Color(0, 0, 0, t(\"Black\"));\nconst COLOR_WHITE = new Color(255, 255, 255, t(\"White\"));\nconst defaultPalette = [\n  COLOR_RED,\n  new Color(\n    ...[191, 103, 139],\n    t(\"Rosy brown\")\n    // TRANSLATORS: A color name for RGB(191, 103, 139)\n  ),\n  new Color(\n    ...[201, 136, 121],\n    t(\"Feldspar\")\n    // TRANSLATORS: A color name for RGB(201, 136, 121)\n  ),\n  new Color(\n    ...[211, 169, 103],\n    t(\"Whiskey\")\n    // TRANSLATORS: A color name for RGB(211, 169, 103)\n  ),\n  COLOR_YELLOW,\n  new Color(\n    ...[165, 184, 114],\n    t(\"Olivine\")\n    // TRANSLATORS: A color name for RGB(165, 184, 114)\n  ),\n  new Color(\n    ...[110, 166, 143],\n    t(\"Acapulco\")\n    // TRANSLATORS: A color name for RGB(110, 166, 143)\n  ),\n  new Color(\n    ...[55, 148, 172],\n    t(\"Boston Blue\")\n    // TRANSLATORS: A color name for RGB(55, 148, 172)\n  ),\n  COLOR_BLUE,\n  new Color(\n    ...[45, 115, 190],\n    t(\"Mariner\")\n    // TRANSLATORS: A color name for RGB(45, 115, 190)\n  ),\n  new Color(\n    ...[91, 100, 179],\n    t(\"Blue Violet\")\n    // TRANSLATORS: A color name for RGB(91, 100, 179)\n  ),\n  new Color(\n    ...[136, 85, 168],\n    t(\"Deluge\")\n    // TRANSLATORS: A color name for RGB(136, 85, 168)\n  )\n];\nfunction generatePalette(steps) {\n  const palette1 = mixPalette(steps, COLOR_RED, COLOR_YELLOW);\n  const palette2 = mixPalette(steps, COLOR_YELLOW, COLOR_BLUE);\n  const palette3 = mixPalette(steps, COLOR_BLUE, COLOR_RED);\n  return palette1.concat(palette2).concat(palette3);\n}\nexport {\n  Color as C,\n  COLOR_BLACK as a,\n  COLOR_WHITE as b,\n  defaultPalette as d,\n  generatePalette as g\n};\n//# sourceMappingURL=colors-BHGKZFDI.mjs.map\n","import '../assets/NcColorPicker-CCanY5eB.css';\nimport { defineComponent, mergeModels, useModel, ref, computed, createBlock, openBlock, unref, withCtx, createElementVNode, normalizeClass, createVNode, createElementBlock, createCommentVNode, Transition, Fragment, renderList, normalizeStyle, createTextVNode, toDisplayString, renderSlot, normalizeProps, guardReactiveProps } from \"vue\";\nimport { Chrome } from \"@ckpack/vue-color\";\nimport { d as mdiCheck, u as mdiCloseCircleOutline, v as mdiArrowLeft, w as mdiDotsHorizontal } from \"./mdi-CpchYUUV.mjs\";\nimport { r as register, w as t1, a as t } from \"./_l10n-Dq_eYxz_.mjs\";\nimport { d as defaultPalette, a as COLOR_BLACK, b as COLOR_WHITE } from \"./colors-BHGKZFDI.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { N as NcButton } from \"./NcButton-C9D47Igd.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-BvLanNaW.mjs\";\nimport { N as NcPopover } from \"./NcPopover-OqcYrWOx.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t1);\nconst _hoisted_1 = [\"aria-label\"];\nconst _hoisted_2 = {\n  key: 0,\n  class: \"color-picker__simple\"\n};\nconst _hoisted_3 = [\"aria-label\", \"name\", \"checked\", \"onClick\"];\nconst _hoisted_4 = [\"title\"];\nconst _hoisted_5 = [\"aria-label\", \"name\", \"checked\"];\nconst _hoisted_6 = {\n  key: 0,\n  class: \"color-picker__navigation\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n  __name: \"NcColorPicker\",\n  props: /* @__PURE__ */ mergeModels({\n    advancedFields: { type: Boolean },\n    clearable: { type: Boolean },\n    container: { default: \"body\" },\n    palette: { default: () => [] },\n    paletteOnly: { type: Boolean }\n  }, {\n    \"modelValue\": { required: true },\n    \"modelModifiers\": {},\n    \"open\": { type: Boolean },\n    \"openModifiers\": {}\n  }),\n  emits: /* @__PURE__ */ mergeModels([\"submit\", \"closed\"], [\"update:modelValue\", \"update:open\"]),\n  setup(__props, { emit: __emit }) {\n    const currentColor = useModel(__props, \"modelValue\");\n    const open = useModel(__props, \"open\");\n    const props = __props;\n    const emit = __emit;\n    const HEX_REGEX = /^#([a-f0-9]{3}|[a-f0-9]{6})$/i;\n    const id = createElementId();\n    const advanced = ref(false);\n    const normalizedPalette = computed(() => {\n      let palette = props.palette;\n      for (const color of palette) {\n        if (typeof color === \"string\" && !color.match(HEX_REGEX) || typeof color === \"object\" && !color.color?.match(HEX_REGEX)) {\n          logger.error(\"[NcColorPicker] Invalid palette passed\", { color });\n          palette = [];\n          break;\n        }\n      }\n      if (palette.length === 0) {\n        palette = props.clearable ? [...defaultPalette, COLOR_BLACK, COLOR_WHITE] : [...defaultPalette];\n      }\n      return palette.map((item) => ({\n        color: typeof item === \"object\" ? item.color : item,\n        name: typeof item === \"object\" && item.name ? item.name : t(\"A color with a HEX value {hex}\", { hex: typeof item === \"string\" ? item : item.color })\n      }));\n    });\n    function handleConfirm(hideCallback) {\n      emit(\"submit\", currentColor.value);\n      hideCallback();\n      advanced.value = false;\n    }\n    function toggleColor(color) {\n      color = typeof color === \"string\" ? color : color.color;\n      if (props.clearable && currentColor.value === color) {\n        currentColor.value = void 0;\n      } else {\n        currentColor.value = color;\n      }\n    }\n    function pickCustomColor(color) {\n      currentColor.value = color.hex;\n    }\n    function getContrastColor(color) {\n      return calculateLuma(color) > 0.5 ? COLOR_BLACK.color : COLOR_WHITE.color;\n    }\n    function calculateLuma(color) {\n      const [red, green, blue] = hexToRGB(color);\n      return (0.2126 * red + 0.7152 * green + 0.0722 * blue) / 255;\n    }\n    function hexToRGB(hex) {\n      const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n      if (!result) {\n        return [0, 0, 0];\n      }\n      return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)];\n    }\n    return (_ctx, _cache) => {\n      return openBlock(), createBlock(unref(NcPopover), {\n        shown: open.value,\n        \"onUpdate:shown\": _cache[3] || (_cache[3] = ($event) => open.value = $event),\n        container: _ctx.container,\n        popupRole: \"dialog\",\n        onApplyHide: _cache[4] || (_cache[4] = ($event) => emit(\"closed\"))\n      }, {\n        trigger: withCtx((slotProps) => [\n          renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(slotProps)), void 0, true)\n        ]),\n        default: withCtx((slotProps) => [\n          createElementVNode(\"div\", {\n            role: \"dialog\",\n            class: normalizeClass([\"color-picker\", {\n              \"color-picker--advanced-fields\": advanced.value && _ctx.advancedFields,\n              \"color-picker--clearable\": _ctx.clearable\n            }]),\n            \"aria-modal\": \"true\",\n            \"aria-label\": unref(t)(\"Color picker\")\n          }, [\n            createVNode(Transition, {\n              name: \"slide\",\n              mode: \"out-in\"\n            }, {\n              default: withCtx(() => [\n                !advanced.value ? (openBlock(), createElementBlock(\"div\", _hoisted_2, [\n                  (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedPalette.value, ({ color, name }, index) => {\n                    return openBlock(), createElementBlock(\"label\", {\n                      key: index,\n                      class: normalizeClass([\"color-picker__simple-color-circle\", { \"color-picker__simple-color-circle--active\": color === currentColor.value }]),\n                      style: normalizeStyle({\n                        backgroundColor: color,\n                        color: getContrastColor(color)\n                      })\n                    }, [\n                      color === currentColor.value ? (openBlock(), createBlock(unref(NcIconSvgWrapper), {\n                        key: 0,\n                        path: unref(mdiCheck)\n                      }, null, 8, [\"path\"])) : createCommentVNode(\"\", true),\n                      createElementVNode(\"input\", {\n                        type: \"radio\",\n                        class: \"hidden-visually\",\n                        \"aria-label\": name,\n                        name: `color-picker-${unref(id)}`,\n                        checked: color === currentColor.value,\n                        onClick: ($event) => toggleColor(color)\n                      }, null, 8, _hoisted_3)\n                    ], 6);\n                  }), 128)),\n                  _ctx.clearable ? (openBlock(), createElementBlock(\"label\", {\n                    key: 0,\n                    class: \"color-picker__clear\",\n                    title: unref(t)(\"No color\")\n                  }, [\n                    createVNode(unref(NcIconSvgWrapper), {\n                      size: currentColor.value ? 28 : 34,\n                      path: unref(mdiCloseCircleOutline)\n                    }, null, 8, [\"size\", \"path\"]),\n                    createElementVNode(\"input\", {\n                      type: \"radio\",\n                      class: \"hidden-visually\",\n                      \"aria-label\": unref(t)(\"No color\"),\n                      name: `color-picker-${unref(id)}`,\n                      checked: !currentColor.value,\n                      onClick: _cache[0] || (_cache[0] = ($event) => currentColor.value = void 0)\n                    }, null, 8, _hoisted_5)\n                  ], 8, _hoisted_4)) : createCommentVNode(\"\", true)\n                ])) : (openBlock(), createBlock(unref(Chrome), {\n                  key: 1,\n                  class: \"color-picker__advanced\",\n                  disableAlpha: \"\",\n                  disableFields: !_ctx.advancedFields,\n                  modelValue: currentColor.value ?? \"#000000\",\n                  \"onUpdate:modelValue\": pickCustomColor\n                }, null, 8, [\"disableFields\", \"modelValue\"]))\n              ]),\n              _: 1\n            }),\n            !_ctx.paletteOnly ? (openBlock(), createElementBlock(\"div\", _hoisted_6, [\n              advanced.value ? (openBlock(), createBlock(unref(NcButton), {\n                key: 0,\n                \"aria-label\": unref(t)(\"Back\"),\n                title: unref(t)(\"Back\"),\n                variant: \"tertiary\",\n                onClick: _cache[1] || (_cache[1] = ($event) => advanced.value = false)\n              }, {\n                icon: withCtx(() => [\n                  createVNode(unref(NcIconSvgWrapper), {\n                    directional: \"\",\n                    path: unref(mdiArrowLeft)\n                  }, null, 8, [\"path\"])\n                ]),\n                _: 1\n              }, 8, [\"aria-label\", \"title\"])) : (openBlock(), createBlock(unref(NcButton), {\n                key: 1,\n                \"aria-label\": unref(t)(\"More options\"),\n                title: unref(t)(\"More options\"),\n                variant: \"tertiary\",\n                onClick: _cache[2] || (_cache[2] = ($event) => advanced.value = true)\n              }, {\n                icon: withCtx(() => [\n                  createVNode(unref(NcIconSvgWrapper), { path: unref(mdiDotsHorizontal) }, null, 8, [\"path\"])\n                ]),\n                _: 1\n              }, 8, [\"aria-label\", \"title\"])),\n              createVNode(unref(NcButton), {\n                variant: \"primary\",\n                onClick: ($event) => handleConfirm(slotProps.hide)\n              }, {\n                default: withCtx(() => [\n                  createTextVNode(toDisplayString(unref(t)(\"Choose\")), 1)\n                ]),\n                _: 2\n              }, 1032, [\"onClick\"])\n            ])) : createCommentVNode(\"\", true)\n          ], 10, _hoisted_1)\n        ]),\n        _: 3\n      }, 8, [\"shown\", \"container\"]);\n    };\n  }\n});\nconst NcColorPicker = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-45e1396f\"]]);\nexport {\n  NcColorPicker as N\n};\n//# sourceMappingURL=NcColorPicker-DDHxR-iN.mjs.map\n"],"names":["prefix","styleInject","css","ref","insertAt","head","style","install","app","options","componentPrefix","_checkboardCache","script","getCheckboard","renderCheckboard","c1","c2","size","canvas","ctx","key","checkboard","render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","normalizeStyle","css_248z","script$1","rgba","rgbStr","skip","container","containerWidth","xOffset","left","a","_hoisted_1","_hoisted_2","_hoisted_3","createElementVNode","_hoisted_4","_component_Checkboard","resolveComponent","createVNode","args","bound01","n","max","isOnePointZero","isPercent","isPercentage","clamp01","val","boundAlpha","convertToPercentage","pad2","c","rgbToRgb","r","g","b","rgbToHsl","min","h","s","l","d","hue2rgb","p","q","t","hslToRgb","rgbToHsv","v","hsvToRgb","i","f","mod","rgbToHex","allow3Char","hex","rgbaToHex","allow4Char","convertDecimalToHex","convertHexToDecimal","parseIntFromHex","numberInputToObject","color","names","inputToRGB","rgb","ok","format","stringInputToObject","isValidCSSUnit","CSS_INTEGER","CSS_NUMBER","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","matchers","named","match","TinyColor","opts","_a","R","G","B","RsRGB","GsRGB","BsRGB","alpha","hsv","hsl","allowShortChar","fmt","x","rnd","_i","_b","value","formatSet","formattedString","hasAlpha","needsAlphaFormat","amount","hue","rgb1","rgb2","results","slices","part","ret","res","modification","background","fg","bg","result","increment","tinycolor","_colorChange","data","oldHue","colorMixin","newVal","keysToCheck","checked","passed","letter","palette","number","withDirectives","$event","vModelText","toDisplayString","clamp","containerHeight","yOffset","pageX","pageY","top","saturation","bright","param","oldVal","percent","normalizeClass","script$2","script$3","script$4","script$5","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_component_Saturation","_component_Hue","_component_Alpha","_component_EdIn","createCommentVNode","createBlock","vShow","register","t3","Color","name","toHex","int","COLOR_RED","COLOR_YELLOW","COLOR_BLUE","COLOR_BLACK","COLOR_WHITE","defaultPalette","t1","_sfc_main","defineComponent","mergeModels","__props","__emit","currentColor","useModel","open","props","emit","HEX_REGEX","id","createElementId","advanced","normalizedPalette","computed","logger","item","handleConfirm","hideCallback","toggleColor","pickCustomColor","getContrastColor","calculateLuma","red","green","blue","hexToRGB","unref","NcPopover","withCtx","slotProps","renderSlot","normalizeProps","guardReactiveProps","Transition","Chrome","Fragment","renderList","index","NcIconSvgWrapper","mdiCheck","mdiCloseCircleOutline","NcButton","mdiArrowLeft","mdiDotsHorizontal","createTextVNode","NcColorPicker","_export_sfc"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]}