OwlCyberSecurity - MANAGER
Edit File: bootstrap-colorpicker.js.map
/*! * Bootstrap Colorpicker - Simple and customizable colorpicker component for Twitter Bootstrap. * @package bootstrap-colorpicker * @version v3.0.0-wip * @license MIT * @link https://farbelous.github.io/bootstrap-colorpicker/ * @link https://github.com/farbelous/bootstrap-colorpicker.git */ {"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 32081b809d19519bb29c","webpack:///external \"jQuery\"","webpack:///./src/js/Extension.js","webpack:///./src/js/extensions/Palette.js","webpack:///./src/js/jquery-plugin.js","webpack:///./src/js/Colorpicker.js","webpack:///./src/js/Color.js","webpack:///./node_modules/tinycolor2/tinycolor.js","webpack:///./src/js/options.js","webpack:///./src/js/extensions/index.js","webpack:///./src/js/extensions/Debugger.js","webpack:///./src/js/extensions/Preview.js","webpack:///./src/js/extensions/Swatches.js"],"names":["Extension","colorpicker","options","element","length","Error","on","proxy","onCreate","onDestroy","onUpdate","onChange","onInvalid","onShow","onHide","onEnable","onDisable","color","event","off","defaults","colors","namesAsValues","Palette","Object","assign","Array","isArray","keys","getLength","indexOf","toUpperCase","toLowerCase","getValue","getName","value","defaultValue","name","hasOwnProperty","plugin","fn","option","apiArgs","prototype","slice","call","arguments","isSingleElement","returnValue","$jq","each","$this","inst","data","isFunction","apply","constructor","colorPickerIdCounter","Colorpicker","id","addClass","attr","extensions","component","find","container","currentSlider","mousePointer","left","top","lastEvent","e","input","is","debug","push","forEach","ext","addExtension","colorValue","createColor","format","disabled","$picker","picker","template","customClass","inline","horizontal","useAlpha","hasColor","hasTransparency","align","target","currentTarget","preventDefault","_mousedown","appendTo","hasInput","_keyup","_change","show","hide","has","update","trigger","type","extensionName","ExtensionClass","config","remove","removeData","removeClass","str","toCssColorString","useHashPrefix","replace","_resolveColor","toString","window","document","body","offset","outerWidth","css","outerHeight","isVisible","isDisabled","_reposition","stopPropagation","isHidden","parents","hasClass","val","toInputColorString","prop","vertical","sl","sliders","slidersHorz","saturationGuide","hueGuide","alphaGuide","hsva","hsvaRatio","hue","maxTop","maxLeft","h","alpha","a","saturation","v","s","getHueOnlyCopy","toHexString","icn","eq","force","_shouldUpdate","_updateComponent","preventInputUpdate","autoInputFallback","_updateInput","_updatePicker","fallbackColor","candidates","map","item","equals","shouldForceUpdate","useFallback","isValid","invalidColor","fallback","previous","isAlphaEnabled","setAlpha","prevHsva","setHueRatio","extResolvedColor","resolveColor","pageX","pageY","originalEvent","touches","zone","closest","extend","guide","style","_mousemove","_mouseup","getCopy","Math","max","min","callLeft","callTop","setValue","match","enableHex8","unwrapColor","r","_r","g","_g","b","_b","_a","getCompatibleFormat","String","Color","_tc_id","_format","gradientType","_gradientType","toHsv","hsv","_originalInput","_hbak","_roundA","_ok","importRgb","importHsv","setHue","setSaturation","setBrightness","colorStr","isTransparent","showText","Debugger","Preview","Swatches","eventCounter","onChangeInput","eventName","args","logMessage","debugger","logArgs","log","elementInner","append","toRgbString","html","isDark","barTemplate","swatchTemplate","isEnabled","swatchContainer","isAliased","$swatch"],"mappings":"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ACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;;AAEA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wCAAwC;AAC3D,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uCAAuC;AAC1D,mBAAmB,wCAAwC;AAC3D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+DAA+D,WAAW;AAC1E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2DAA2D,wBAAwB;;AAEnF;AACA;AACA,2CAA2C,wBAAwB;AACnE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,8EAA8E,4BAA4B,gBAAgB;AAC1H,8EAA8E,2BAA2B,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,0BAA0B;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA,KAAK,kBAAkB,YAAY,kBAAkB;AACrD;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4BAA4B,YAAY;;AAExC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE;AACjE,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE;AACjE,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACjF,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACjF;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,UAAU,OAAO,UAAU,OAAO,SAAS;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAwB,kBAAkB;AAAA;AAC1C;AACA;AACA;AACA;AACA;;AAEA,CAAC;;;;;;;;AC1qCD;AACA;;;;AAIA;;;;;;;kBAGe;AACb;;;;;AAKA1I,SAAO,KANM;AAOb;;;;;;AAMAzD,SAAO,K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","file":"bootstrap-colorpicker.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"jQuery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"bootstrap-colorpicker\", [\"jQuery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"bootstrap-colorpicker\"] = factory(require(\"jQuery\"));\n\telse\n\t\troot[\"bootstrap-colorpicker\"] = factory(root[\"jQuery\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 32081b809d19519bb29c","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"jQuery\"\n// module id = 0\n// module chunks = 0 1","'use strict';\n\nimport $ from 'jquery';\n\n/**\n * Colorpicker extension class.\n */\nclass Extension {\n /**\n * @param {Colorpicker} colorpicker\n * @param {Object} options\n */\n constructor(colorpicker, options = {}) {\n /**\n * @type {Colorpicker}\n */\n this.colorpicker = colorpicker;\n /**\n * @type {Object}\n */\n this.options = options;\n\n if (!(this.colorpicker.element && this.colorpicker.element.length)) {\n throw new Error('Extension: this.colorpicker.element is not valid');\n }\n\n this.colorpicker.element.on('colorpickerCreate.colorpicker-ext', $.proxy(this.onCreate, this));\n this.colorpicker.element.on('colorpickerDestroy.colorpicker-ext', $.proxy(this.onDestroy, this));\n this.colorpicker.element.on('colorpickerUpdate.colorpicker-ext', $.proxy(this.onUpdate, this));\n this.colorpicker.element.on('colorpickerChange.colorpicker-ext', $.proxy(this.onChange, this));\n this.colorpicker.element.on('colorpickerInvalid.colorpicker-ext', $.proxy(this.onInvalid, this));\n this.colorpicker.element.on('colorpickerShow.colorpicker-ext', $.proxy(this.onShow, this));\n this.colorpicker.element.on('colorpickerHide.colorpicker-ext', $.proxy(this.onHide, this));\n this.colorpicker.element.on('colorpickerEnable.colorpicker-ext', $.proxy(this.onEnable, this));\n this.colorpicker.element.on('colorpickerDisable.colorpicker-ext', $.proxy(this.onDisable, this));\n }\n\n /**\n * Function called every time a new color needs to be created.\n * Return false to skip this resolver and continue with other extensions' ones\n * or return anything else to consider the color resolved.\n *\n * @param {Color|String|*} color\n * @return {Color|String|*}\n */\n resolveColor(color) {\n return false;\n }\n\n /**\n * @listens colorpickerCreate\n * @param {Event} event\n */\n onCreate(event) {\n // to be extended\n }\n\n /**\n * @listens colorpickerDestroy\n * @param {Event} event\n */\n onDestroy(event) {\n this.colorpicker.element.off('.colorpicker-ext');\n }\n\n /**\n * @listens colorpickerUpdate\n * @param {Event} event\n */\n onUpdate(event) {\n // to be extended\n }\n\n /**\n * @listens colorpickerChange\n * @param {Event} event\n */\n onChange(event) {\n // to be extended\n }\n\n /**\n * @listens colorpickerInvalid\n * @param {Event} event\n */\n onInvalid(event) {\n // to be extended\n }\n\n /**\n * @listens colorpickerHide\n * @param {Event} event\n */\n onHide(event) {\n // to be extended\n }\n\n /**\n * @listens colorpickerShow\n * @param {Event} event\n */\n onShow(event) {\n // to be extended\n }\n\n /**\n * @listens colorpickerDisable\n * @param {Event} event\n */\n onDisable(event) {\n // to be extended\n }\n\n /**\n * @listens colorpickerEnable\n * @param {Event} event\n */\n onEnable(event) {\n // to be extended\n }\n}\n\nexport default Extension;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/Extension.js","'use strict';\n\nimport Extension from 'Extension';\n\nlet defaults = {\n /**\n * Key-value pairs defining a color alias and its CSS color representation.\n *\n * They can also be just an array of values. In that case, no special names are used, only the real colors.\n *\n * @type {Object|Array}\n * @default null\n * @example\n * {\n * 'black': '#000000',\n * 'white': '#ffffff',\n * 'red': '#FF0000',\n * 'default': '#777777',\n * 'primary': '#337ab7',\n * 'success': '#5cb85c',\n * 'info': '#5bc0de',\n * 'warning': '#f0ad4e',\n * 'danger': '#d9534f'\n * }\n *\n * @example ['#f0ad4e', '#337ab7', '#5cb85c']\n */\n colors: null,\n /**\n * If true, the when a color swatch is selected the name (alias) will be used as input value,\n * otherwise the swatch real color value will be used.\n *\n * @type {boolean}\n * @default true\n */\n namesAsValues: true\n};\n\nclass Palette extends Extension {\n\n /**\n * @returns {Object|Array}\n */\n get colors() {\n return this.options.colors;\n }\n\n constructor(colorpicker, options = {}) {\n super(colorpicker, Object.assign({}, defaults, options));\n\n if ((!Array.isArray(this.options.colors)) && (typeof this.options.colors !== 'object')) {\n this.options.colors = null;\n }\n }\n\n /**\n * @returns {int}\n */\n getLength() {\n if (!this.options.colors) {\n return 0;\n }\n\n if (Array.isArray(this.options.colors)) {\n return this.options.colors.length;\n }\n\n if (typeof this.options.colors === 'object') {\n return Object.keys(this.options.colors).length;\n }\n\n return 0;\n }\n\n resolveColor(color) {\n if (this.getLength() <= 0) {\n return false;\n }\n\n if (Array.isArray(this.options.colors)) {\n if (this.options.colors.indexOf(color) >= 0) {\n return color;\n }\n if (this.options.colors.indexOf(color.toUpperCase()) >= 0) {\n return color.toUpperCase();\n }\n if (this.options.colors.indexOf(color.toLowerCase()) >= 0) {\n return color.toLowerCase();\n }\n return false;\n }\n\n if (typeof this.options.colors !== 'object') {\n return false;\n }\n\n if (!this.options.namesAsValues) {\n return this.getValue(color, false);\n }\n return this.getName(color, this.getName('#' + color, this.getValue(color, false)));\n }\n\n /**\n * Given a color value, returns the corresponding color name or defaultValue.\n *\n * @param {String} value\n * @param {*} defaultValue\n * @returns {*}\n */\n getName(value, defaultValue = false) {\n if (!(typeof value === 'string') || !this.options.colors) {\n return defaultValue;\n }\n for (let name in this.options.colors) {\n if (!this.options.colors.hasOwnProperty(name)) {\n continue;\n }\n if (this.options.colors[name].toLowerCase() === value.toLowerCase()) {\n return name;\n }\n }\n return defaultValue;\n }\n\n /**\n * Given a color name, returns the corresponding color value or defaultValue.\n *\n * @param {String} name\n * @param {*} defaultValue\n * @returns {*}\n */\n getValue(name, defaultValue = false) {\n if (!(typeof name === 'string') || !this.options.colors) {\n return defaultValue;\n }\n if (this.options.colors.hasOwnProperty(name)) {\n return this.options.colors[name];\n }\n return defaultValue;\n }\n}\n\nexport default Palette;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/extensions/Palette.js","'use strict';\n\nimport Colorpicker from './Colorpicker';\nimport $ from 'jquery';\n\nlet plugin = 'colorpicker';\n\n$[plugin] = Colorpicker;\n\n$.fn[plugin] = function (option) {\n let apiArgs = Array.prototype.slice.call(arguments, 1),\n isSingleElement = (this.length === 1),\n returnValue = null;\n\n let $jq = this.each(function () {\n let $this = $(this),\n inst = $this.data(plugin),\n options = ((typeof option === 'object') ? option : {});\n\n if (!inst) {\n inst = new Colorpicker(this, options);\n $this.data(plugin, inst);\n }\n\n if (typeof option === 'string') {\n if (option === 'colorpicker') {\n returnValue = inst;\n } else if ($.isFunction(inst[option])) {\n returnValue = inst[option].apply(inst, apiArgs);\n } else { // its a property ?\n if (apiArgs.length) {\n // set property\n inst[option] = apiArgs[0];\n }\n returnValue = inst[option];\n }\n } else {\n returnValue = $this;\n }\n });\n\n return isSingleElement ? returnValue : $jq;\n};\n\n$.fn[plugin].constructor = Colorpicker;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/jquery-plugin.js","'use strict';\n\nimport Color from './Color';\nimport Extension from './Extension';\nimport defaults from './options';\nimport bundledExtensions from 'extensions';\nimport $ from 'jquery';\n\nlet colorPickerIdCounter = 0;\n\n/**\n * Colorpicker widget class\n */\nclass Colorpicker {\n /**\n * Color class\n *\n * @static\n * @type {Color}\n */\n static get Color() {\n return Color;\n }\n\n /**\n * Extension class\n *\n * @static\n * @type {Extension}\n */\n static get Extension() {\n return Extension;\n }\n\n /**\n * Colorpicker bundled extension classes\n *\n * @static\n * @type {{Extension}}\n */\n static get Extensions() {\n return bundledExtensions;\n }\n\n /**\n * color getter\n *\n * @type {Color|null}\n */\n get color() {\n return this.element.data('color');\n }\n\n /**\n * color setter\n *\n * @ignore\n * @param {Color|null} value\n */\n set color(value) {\n this.element.data('color', value);\n }\n\n /**\n * @fires colorpickerCreate\n * @param {Object|String} element\n * @param {Object} options\n * @constructor\n */\n constructor(element, options) {\n colorPickerIdCounter += 1;\n /**\n * The colorpicker instance number\n * @type {number}\n */\n this.id = colorPickerIdCounter;\n\n /**\n * @type {*|jQuery}\n */\n this.element = $(element).addClass('colorpicker-element');\n this.element.attr('data-colorpicker-id', this.id);\n\n /**\n * @type {defaults}\n */\n this.options = Object.assign({}, defaults, options, this.element.data());\n\n /**\n * @type {Extension[]}\n */\n this.extensions = [];\n\n if (!Array.isArray(this.options.extensions)) {\n this.options.extensions = [];\n }\n\n /**\n * @type {*|jQuery}\n */\n this.component = this.options.component;\n this.component = (this.component !== false) ? this.element.find(this.component) : false;\n if (this.component && (this.component.length === 0)) {\n this.component = false;\n }\n\n /**\n * @type {*|jQuery}\n */\n this.container = (this.options.container === true) ? this.element : this.options.container;\n this.container = (this.container !== false) ? $(this.container) : false;\n\n /**\n * @type {*|String}\n * @private\n */\n this.currentSlider = null;\n\n /**\n * @type {{left: number, top: number}}\n * @private\n */\n this.mousePointer = {\n left: 0,\n top: 0\n };\n\n /**\n * Latest external event\n *\n * @type {{name: String, e: *}}\n * @private\n */\n this.lastEvent = {\n name: null,\n e: null\n };\n\n // Is the element an input? Should we search inside for any input?\n /**\n * @type {*|jQuery}\n */\n this.input = this.element.is('input') ? this.element : (this.options.input ?\n this.element.find(this.options.input) : false);\n\n if (this.input && (this.input.length === 0)) {\n this.input = false;\n }\n\n if (this.options.debug) {\n this.options.extensions.push({name: 'Debugger'});\n }\n\n // Register extensions\n this.options.extensions.forEach((ext) => {\n this.addExtension(ext.name, bundledExtensions[ext.name.toLowerCase()], ext);\n });\n\n let colorValue = this.options.color !== false ? this.options.color : this.getValue();\n\n this.color = colorValue ? this.createColor(colorValue) : false;\n\n if (this.options.format === false) {\n // If format is false, use the first parsed one from now on\n this.options.format = this.color.format;\n }\n\n /**\n * @type {boolean}\n * @private\n */\n this.disabled = false;\n\n // Setup picker\n let $picker = this.picker = $(this.options.template);\n\n if (this.options.customClass) {\n $picker.addClass(this.options.customClass);\n }\n if (this.options.inline) {\n $picker.addClass('colorpicker-inline colorpicker-visible');\n } else {\n $picker.addClass('colorpicker-hidden');\n }\n if (this.options.horizontal) {\n $picker.addClass('colorpicker-horizontal');\n }\n\n if (\n (this.options.useAlpha || (this.hasColor() && this.color.hasTransparency())) &&\n (this.options.useAlpha !== false)\n ) {\n this.options.useAlpha = true;\n $picker.addClass('colorpicker-with-alpha');\n }\n\n if (this.options.align === 'right') {\n $picker.addClass('colorpicker-right');\n }\n if (this.options.inline === true) {\n $picker.addClass('colorpicker-no-arrow');\n }\n\n // Prevent closing the colorpicker when clicking on itself\n $picker.on('mousedown.colorpicker touchstart.colorpicker', $.proxy(function (e) {\n if (e.target === e.currentTarget) {\n e.preventDefault();\n }\n }, this));\n\n // Bind click/tap events on the sliders\n $picker.find('.colorpicker-saturation, .colorpicker-hue, .colorpicker-alpha')\n .on('mousedown.colorpicker touchstart.colorpicker', $.proxy(this._mousedown, this));\n\n $picker.appendTo(this.container ? this.container : $('body'));\n\n // Bind other events\n if (this.hasInput()) {\n this.input.on({\n 'keyup.colorpicker': $.proxy(this._keyup, this)\n });\n this.input.on({\n 'change.colorpicker': $.proxy(this._change, this)\n });\n if (this.component === false) {\n this.element.on({\n 'focus.colorpicker': $.proxy(this.show, this)\n });\n }\n if (this.options.inline === false) {\n this.element.on({\n 'focusout.colorpicker': $.proxy(this.hide, this)\n });\n }\n }\n\n if (this.component !== false) {\n this.component.on({\n 'click.colorpicker': $.proxy(this.show, this)\n });\n }\n\n if ((this.hasInput() === false) && (this.component === false) && !this.element.has('.colorpicker')) {\n this.element.on({\n 'click.colorpicker': $.proxy(this.show, this)\n });\n }\n\n // for HTML5 input[type='color']\n if (this.hasInput() && (this.component !== false) && (this.input.attr('type') === 'color')) {\n this.input.on({\n 'click.colorpicker': $.proxy(this.show, this),\n 'focus.colorpicker': $.proxy(this.show, this)\n });\n }\n\n // Update if there is a color option\n this.update(this.options.color !== false);\n\n $($.proxy(function () {\n /**\n * (Colorpicker) When the Colorpicker instance has been created and the DOM is ready.\n *\n * @event colorpickerCreate\n */\n this.element.trigger({\n type: 'colorpickerCreate',\n colorpicker: this,\n color: this.color\n });\n }, this));\n }\n\n /**\n * Creates and registers the given extension\n *\n * @param {String|Extension} extensionName\n * @param {Extension} ExtensionClass\n * @param {Object} [config]\n * @returns {Extension}\n */\n addExtension(extensionName, ExtensionClass, config = {}) {\n let ext = (extensionName instanceof Extension) ? extensionName : new ExtensionClass(this, config);\n\n this.extensions.push(ext);\n return ext;\n }\n\n /**\n * Destroys the current instance\n *\n * @fires colorpickerDestroy\n */\n destroy() {\n this.picker.remove();\n this.element.removeData('colorpicker', 'color').off('.colorpicker');\n if (this.hasInput()) {\n this.input.off('.colorpicker');\n }\n if (this.component !== false) {\n this.component.off('.colorpicker');\n }\n this.element.removeClass('colorpicker-element');\n\n /**\n * (Colorpicker) When the instance is destroyed with all events unbound.\n *\n * @event colorpickerDestroy\n */\n this.element.trigger({\n type: 'colorpickerDestroy',\n colorpicker: this,\n color: this.color\n });\n }\n\n /**\n * Returns true if the current color object is an instance of Color, false otherwise.\n * @returns {boolean}\n */\n hasColor() {\n return this.color instanceof Color;\n }\n\n /**\n * @returns {*|String|Color}\n */\n get fallbackColor() {\n return this.options.fallbackColor ? this.options.fallbackColor : (this.hasColor() ? this.color : '#000');\n }\n\n get format() {\n if (this.options.format) {\n return this.options.format;\n }\n\n if (this.hasColor() && this.color.hasTransparency() && this.color.format.match(/^hex/)) {\n return this.options.enableHex8 ? 'hex8' : (this.isAlphaEnabled() ? 'rgba' : 'hex');\n }\n\n if (this.hasColor()) {\n return this.color.format;\n }\n\n return null;\n }\n\n /**\n * Formatted color string, with the formatting options applied\n * (e.g. useHashPrefix)\n * @returns {String}\n */\n toInputColorString() {\n let str = this.toCssColorString();\n\n if (!str) {\n return str;\n }\n\n if (this.options.useHashPrefix === false) {\n str = str.replace(/^#/g, '');\n }\n\n return this._resolveColor(str);\n }\n\n /**\n * Formatted color string, suitable for CSS\n * @returns {String}\n */\n toCssColorString() {\n if (!this.hasColor()) {\n return '';\n }\n return this.color.toString(this.format);\n }\n\n /**\n * If the widget is not inside a container or inline, rearranges its position relative to its element offset.\n *\n * @param {Event} [e]\n * @private\n * @returns {boolean} Returns false if the widget is inside a container or inline, true otherwise\n */\n _reposition(e) {\n this.lastEvent.name = 'reposition';\n this.lastEvent.e = e;\n\n if (this.options.inline !== false || this.options.container) {\n return false;\n }\n let type = this.container && this.container[0] !== window.document.body ? 'position' : 'offset';\n let element = this.component || this.element;\n let offset = element[type]();\n\n if (this.options.align === 'right') {\n offset.left -= this.picker.outerWidth() - element.outerWidth();\n }\n this.picker.css({\n top: offset.top + element.outerHeight(),\n left: offset.left\n });\n return true;\n }\n\n /**\n * Shows the colorpicker widget if hidden.\n * If the input is disabled this call will be ignored.\n *\n * @fires colorpickerShow\n * @param {Event} [e]\n * @returns {boolean} True if was hidden and afterwards visible, false if nothing happened.\n */\n show(e) {\n this.lastEvent.name = 'show';\n this.lastEvent.e = e;\n\n if (this.isVisible() || this.isDisabled()) {\n // Don't show the widget if it's already visible or it is disabled\n return false;\n }\n this.picker.addClass('colorpicker-visible').removeClass('colorpicker-hidden');\n\n this._reposition(e);\n $(window).on('resize.colorpicker', $.proxy(this._reposition, this));\n\n if (e && (!this.hasInput() || this.input.attr('type') === 'color')) {\n if (e.stopPropagation && e.preventDefault) {\n e.stopPropagation();\n e.preventDefault();\n }\n }\n if ((this.component || !this.input) && (this.options.inline === false)) {\n $(window.document).on({\n 'mousedown.colorpicker': $.proxy(this.hide, this)\n });\n }\n\n /**\n * (Colorpicker) When show() is called and the widget can be shown.\n *\n * @event colorpickerShow\n */\n this.element.trigger({\n type: 'colorpickerShow',\n colorpicker: this,\n color: this.color\n });\n\n return true;\n }\n\n /**\n * Hides the colorpicker widget.\n * Hide is prevented when it is triggered by an event whose target element has been clicked/touched.\n *\n * @fires colorpickerHide\n * @param {Event} [e]\n * @returns {boolean} True if was visible and afterwards hidden, false if nothing happened.\n */\n hide(e) {\n this.lastEvent.name = 'hide';\n this.lastEvent.e = e;\n\n if (this.isHidden()) {\n // Do not trigger if already hidden\n return false;\n }\n if ((typeof e !== 'undefined') && e.target) {\n // Prevent hide if triggered by an event and an element inside the colorpicker has been clicked/touched\n if (\n $(e.currentTarget).parents('.colorpicker').length > 0 ||\n $(e.target).parents('.colorpicker').length > 0\n ) {\n return false;\n }\n }\n this.picker.addClass('colorpicker-hidden').removeClass('colorpicker-visible');\n $(window).off('resize.colorpicker', this._reposition);\n $(window.document).off({\n 'mousedown.colorpicker': this.hide\n });\n\n /**\n * (Colorpicker) When hide() is called and the widget can be hidden.\n *\n * @event colorpickerHide\n */\n this.element.trigger({\n type: 'colorpickerHide',\n colorpicker: this,\n color: this.color\n });\n return true;\n }\n\n /**\n * Returns true if the colorpicker element has the colorpicker-visible class and not the colorpicker-hidden one.\n * False otherwise.\n *\n * @returns {boolean}\n */\n isVisible() {\n return this.picker.hasClass('colorpicker-visible') && !this.picker.hasClass('colorpicker-hidden');\n }\n\n /**\n * Returns true if the colorpicker element has the colorpicker-hidden class and not the colorpicker-visible one.\n * False otherwise.\n *\n * @returns {boolean}\n */\n isHidden() {\n return this.picker.hasClass('colorpicker-hidden') && !this.picker.hasClass('colorpicker-visible');\n }\n\n /**\n * If the input element is present, it updates the value with the current color object color string.\n * If value is set, this method fires a \"change\" event on the input element.\n *\n * @fires change\n * @private\n */\n _updateInput() {\n if (this.hasInput()) {\n let val = this.toInputColorString();\n\n if (val === this.input.prop('value')) {\n // No need to set value or trigger any event if nothing changed\n return;\n }\n\n this.input.prop('value', val ? val : '');\n\n /**\n * (Input) Triggered on the input element when a new color is selected.\n *\n * @event change\n */\n this.input.trigger({\n type: 'change',\n colorpicker: this,\n color: this.color,\n value: val\n });\n }\n }\n\n /**\n * Changes the color adjustment bars using the current color object information.\n * @private\n */\n _updatePicker() {\n if (!this.hasColor()) {\n return;\n }\n\n let vertical = (this.options.horizontal === false),\n sl = vertical ? this.options.sliders : this.options.slidersHorz;\n\n let saturationGuide = this.picker.find('.colorpicker-saturation .colorpicker-guide'),\n hueGuide = this.picker.find('.colorpicker-hue .colorpicker-guide'),\n alphaGuide = this.picker.find('.colorpicker-alpha .colorpicker-guide');\n\n let hsva = this.color.hsvaRatio;\n\n if (hueGuide.length) {\n hueGuide.css(vertical ? 'top' : 'left', (vertical ? sl.hue.maxTop : sl.hue.maxLeft) * (1 - hsva.h));\n }\n\n if (alphaGuide.length) {\n alphaGuide.css(vertical ? 'top' : 'left', (vertical ? sl.alpha.maxTop : sl.alpha.maxLeft) * (1 - hsva.a));\n }\n\n if (saturationGuide.length) {\n saturationGuide.css({\n 'top': sl.saturation.maxTop - hsva.v * sl.saturation.maxTop,\n 'left': hsva.s * sl.saturation.maxLeft\n });\n }\n\n this.picker.find('.colorpicker-saturation')\n .css('backgroundColor', this.color.getHueOnlyCopy().toHexString()); // we only need hue\n\n this.picker.find('.colorpicker-alpha')\n .css('backgroundColor', this.color.toString('hex6')); // we don't need alpha\n }\n\n /**\n * If the component element is present, its background color is updated\n * @private\n */\n _updateComponent() {\n if (!this.hasColor()) {\n return;\n }\n\n if (this.component !== false) {\n let icn = this.component.find('i').eq(0);\n\n if (icn.length > 0) {\n icn.css({\n 'backgroundColor': this.toCssColorString()\n });\n } else {\n this.component.css({\n 'backgroundColor': this.toCssColorString()\n });\n }\n }\n }\n\n /**\n * @private\n * @returns {boolean}\n */\n _shouldUpdate() {\n return (this.hasColor() && ((this.getValue(false) !== false)));\n }\n\n /**\n * Updated the component color, the input value and the widget if a color is present.\n *\n * If force is true, it is updated anyway.\n *\n * @fires colorpickerUpdate\n * @param {boolean} [force]\n */\n update(force = false) {\n if (this._shouldUpdate() || (force === true)) {\n // Update only if the current value (from input or data) is not empty\n this._updateComponent();\n\n // Do not update input when autoInputFallback is disabled and last event is keyup.\n let preventInputUpdate = (\n (this.options.autoInputFallback !== true) &&\n (\n // this.isInvalidColor() || // prevent also on invalid color (on create, leaves invalid colors)\n (this.lastEvent.name === 'keyup')\n )\n );\n\n if (!preventInputUpdate) {\n this._updateInput();\n }\n\n this._updatePicker();\n\n /**\n * (Colorpicker) Fired when the widget is updated.\n *\n * @event colorpickerUpdate\n */\n this.element.trigger({\n type: 'colorpickerUpdate',\n colorpicker: this,\n color: this.color\n });\n }\n }\n\n /**\n * Returns the color string from the input value or the 'data-color' attribute of the input or element.\n * If empty, it returns the defaultValue parameter.\n *\n * @param {String|*} [defaultValue]\n * @returns {String|*}\n */\n getValue(defaultValue = null) {\n defaultValue = (typeof defaultValue === 'undefined') ? this.fallbackColor : defaultValue;\n let candidates = [], val = false;\n\n if (this.hasInput()) {\n candidates.push(this.input.val());\n candidates.push(this.input.data('color'));\n }\n candidates.push(this.element.data('color'));\n\n candidates.map((item) => {\n if (item && (val === false)) {\n val = item;\n }\n });\n\n val = ((val === false) ? defaultValue : val);\n\n if (val instanceof Color) {\n return val.toString(this.format);\n }\n\n return val;\n }\n\n /**\n * Sets the color manually\n *\n * @fires colorpickerChange\n * @param {String|Color} val\n */\n setValue(val) {\n if (this.hasColor() && this.color.equals(val)) {\n // equal color object\n return;\n }\n\n let color = val ? this.createColor(val) : false;\n\n if (!this.hasColor() && !color) {\n // color was empty and the new one too\n return;\n }\n\n // force update if color is changed to empty\n let shouldForceUpdate = this.hasColor() && !color;\n\n this.color = color;\n\n /**\n * (Colorpicker) When the color is set programmatically with setValue().\n *\n * @event colorpickerChange\n */\n this.element.trigger({\n type: 'colorpickerChange',\n colorpicker: this,\n color: this.color,\n value: val\n });\n\n // force update if color has changed to empty\n this.update(shouldForceUpdate);\n }\n\n /**\n * Creates a new color using the widget instance options (fallbackColor, format).\n *\n * @fires colorpickerInvalid\n * @param {*} val\n * @param {boolean} useFallback\n * @returns {Color}\n */\n createColor(val, useFallback = true) {\n let color = new Color(this._resolveColor(val), {format: this.format});\n\n if (!color.isValid()) {\n let invalidColor = color, fallback;\n\n if (useFallback) {\n fallback = ((this.fallbackColor instanceof Color) && this.fallbackColor.isValid()) ?\n this.fallbackColor : this._resolveColor(this.fallbackColor);\n\n color = new Color(fallback, {format: this.format});\n\n if (!color.isValid() && useFallback) {\n throw new Error('The fallback color is invalid.');\n }\n }\n\n color.previous = invalidColor;\n\n /**\n * (Colorpicker) Fired when the color is invalid and the fallback color is going to be used.\n *\n * @event colorpickerInvalid\n */\n this.element.trigger({\n type: 'colorpickerInvalid',\n colorpicker: this,\n color: color,\n value: val\n });\n }\n\n if (!this.isAlphaEnabled() && color.hasTransparency()) {\n // Alpha is disabled\n color.setAlpha(1);\n }\n\n if (!this.hasColor()) {\n // No previous color, so no need to compare\n return color;\n }\n\n let hsva = color.hsvaRatio;\n let prevHsva = this.color.hsvaRatio;\n\n if (\n hsva.s === 0 &&\n hsva.h === 0 &&\n prevHsva.h !== 0\n ) {\n // Hue was set to 0 because saturation was 0, use previous hue, since it was not meant to change...\n color.setHueRatio(prevHsva.h);\n }\n\n if (!this.isAlphaEnabled() && color.hasTransparency()) {\n // Alpha is disabled\n color.setAlpha(1);\n }\n\n return color;\n }\n\n /**\n * Checks if there is a color object, that it is valid and it is not a fallback\n * @returns {boolean}\n */\n isInvalidColor() {\n return !this.hasColor() || !this.color.isValid() || !!this.color.previous;\n }\n\n /**\n * Returns true if the useAlpha option is exactly true, false otherwise\n * @returns {boolean}\n */\n isAlphaEnabled() {\n return this.options.useAlpha === true;\n }\n\n /**\n * Resolves a color, in case is not in a standard format (e.g. a custom color alias)\n *\n * @private\n * @param {String|*} color\n * @returns {String|*|null}\n */\n _resolveColor(color) {\n let extResolvedColor = false;\n\n $.each(this.extensions, function (name, ext) {\n if (extResolvedColor !== false) {\n // skip if resolved\n return;\n }\n extResolvedColor = ext.resolveColor(color);\n });\n\n if (extResolvedColor !== false) {\n color = extResolvedColor;\n }\n\n return color;\n }\n\n /**\n * Returns true if the widget has an associated input element, false otherwise\n * @returns {boolean}\n */\n hasInput() {\n return (this.input !== false);\n }\n\n /**\n * Returns true if this instance is disabled\n * @returns {boolean}\n */\n isDisabled() {\n return this.disabled === true;\n }\n\n /**\n * Disables the widget and the input if any\n *\n * @fires colorpickerDisable\n * @returns {boolean}\n */\n disable() {\n if (this.hasInput()) {\n this.input.prop('disabled', true);\n }\n this.disabled = true;\n\n /**\n * (Colorpicker) When the widget has been disabled.\n *\n * @event colorpickerDisable\n */\n this.element.trigger({\n type: 'colorpickerDisable',\n colorpicker: this,\n color: this.color\n });\n return true;\n }\n\n /**\n * Enables the widget and the input if any\n *\n * @fires colorpickerEnable\n * @returns {boolean}\n */\n enable() {\n if (this.hasInput()) {\n this.input.prop('disabled', false);\n }\n this.disabled = false;\n\n /**\n * (Colorpicker) When the widget has been enabled.\n *\n * @event colorpickerEnable\n */\n this.element.trigger({\n type: 'colorpickerEnable',\n colorpicker: this,\n color: this.color\n });\n return true;\n }\n\n /**\n * Function triggered when clicking in one of the color adjustment bars\n *\n * @private\n * @fires mousemove\n * @param {Event} e\n * @returns {boolean}\n */\n _mousedown(e) {\n this.lastEvent.name = 'mousedown';\n this.lastEvent.e = e;\n\n if (!e.pageX && !e.pageY && e.originalEvent && e.originalEvent.touches) {\n e.pageX = e.originalEvent.touches[0].pageX;\n e.pageY = e.originalEvent.touches[0].pageY;\n }\n e.stopPropagation();\n e.preventDefault();\n\n let target = $(e.target);\n\n // detect the slider and set the limits and callbacks\n let zone = target.closest('div');\n let sl = this.options.horizontal ? this.options.slidersHorz : this.options.sliders;\n\n if (!zone.is('.colorpicker')) {\n if (zone.is('.colorpicker-saturation')) {\n this.currentSlider = $.extend({}, sl.saturation);\n } else if (zone.is('.colorpicker-hue')) {\n this.currentSlider = $.extend({}, sl.hue);\n } else if (zone.is('.colorpicker-alpha')) {\n this.currentSlider = $.extend({}, sl.alpha);\n } else {\n return false;\n }\n let offset = zone.offset();\n // reference to guide's style\n\n this.currentSlider.guide = zone.find('.colorpicker-guide')[0].style;\n this.currentSlider.left = e.pageX - offset.left;\n this.currentSlider.top = e.pageY - offset.top;\n this.mousePointer = {\n left: e.pageX,\n top: e.pageY\n };\n\n /**\n * (window.document) Triggered on mousedown for the document object,\n * so the color adjustment guide is moved to the clicked position.\n *\n * @event mousemove\n */\n $(window.document).on({\n 'mousemove.colorpicker': $.proxy(this._mousemove, this),\n 'touchmove.colorpicker': $.proxy(this._mousemove, this),\n 'mouseup.colorpicker': $.proxy(this._mouseup, this),\n 'touchend.colorpicker': $.proxy(this._mouseup, this)\n }).trigger('mousemove');\n }\n return false;\n }\n\n /**\n * Function triggered when dragging a guide inside one of the color adjustment bars.\n *\n * @private\n * @param {Event} e\n * @returns {boolean}\n */\n _mousemove(e) {\n this.lastEvent.name = 'mousemove';\n this.lastEvent.e = e;\n\n let color = !this.hasColor() ? this.createColor(this.fallbackColor) : this.color.getCopy();\n\n if (!e.pageX && !e.pageY && e.originalEvent && e.originalEvent.touches) {\n e.pageX = e.originalEvent.touches[0].pageX;\n e.pageY = e.originalEvent.touches[0].pageY;\n }\n e.stopPropagation();\n e.preventDefault();\n let left = Math.max(\n 0,\n Math.min(\n this.currentSlider.maxLeft,\n this.currentSlider.left + ((e.pageX || this.mousePointer.left) - this.mousePointer.left)\n )\n );\n let top = Math.max(\n 0,\n Math.min(\n this.currentSlider.maxTop,\n this.currentSlider.top + ((e.pageY || this.mousePointer.top) - this.mousePointer.top)\n )\n );\n\n this.currentSlider.guide.left = left + 'px';\n this.currentSlider.guide.top = top + 'px';\n if (this.currentSlider.callLeft) {\n color[this.currentSlider.callLeft].call(color, left / this.currentSlider.maxLeft);\n }\n if (this.currentSlider.callTop) {\n color[this.currentSlider.callTop].call(color, top / this.currentSlider.maxTop);\n }\n\n this.setValue(color);\n return false;\n }\n\n /**\n * Function triggered when releasing the click in one of the color adjustment bars.\n *\n * @private\n * @param {Event} e\n * @returns {boolean}\n */\n _mouseup(e) {\n this.lastEvent.name = 'mouseup';\n this.lastEvent.e = e;\n\n e.stopPropagation();\n e.preventDefault();\n $(window.document).off({\n 'mousemove.colorpicker': this._mousemove,\n 'touchmove.colorpicker': this._mousemove,\n 'mouseup.colorpicker': this._mouseup,\n 'touchend.colorpicker': this._mouseup\n });\n return false;\n }\n\n /**\n * Function triggered when the input has changed, so the colorpicker gets updated.\n *\n * @private\n * @param {Event} e\n * @returns {boolean}\n */\n _change(e) {\n this.lastEvent.name = 'change';\n this.lastEvent.e = e;\n\n let val = this.input.val();\n\n if (val !== this.toInputColorString()) {\n this.setValue(val);\n }\n }\n\n /**\n * Function triggered after a keyboard key has been released.\n *\n * @private\n * @param {Event} e\n * @returns {boolean}\n */\n _keyup(e) {\n this.lastEvent.name = 'keyup';\n this.lastEvent.e = e;\n\n let val = this.input.val();\n\n if (val !== this.toInputColorString()) {\n this.setValue(val);\n }\n }\n}\n\nexport default Colorpicker;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/Colorpicker.js","'use strict';\n\nimport tinycolor from 'tinycolor2';\n\nfunction unwrapColor(color) {\n if (color instanceof tinycolor) {\n return {\n r: color._r,\n g: color._g,\n b: color._b,\n a: color._a\n };\n }\n return color;\n}\n\n/**\n * Sanitizes a format string, so it is compatible with tinycolor,\n * or returns the same value if it is not a string.\n *\n * @param {String} format\n * @returns {String|*}\n * @private\n */\nfunction getCompatibleFormat(format) {\n if (format instanceof String || typeof format === 'string') {\n return format.replace(/a$/gi, '');\n }\n\n return format;\n}\n\n/**\n * Color manipulation class that extends the tinycolor library class.\n */\nclass Color extends tinycolor {\n /**\n * Identifier of the color instance.\n *\n * @type {int}\n * @readonly\n */\n get id() {\n return this._tc_id;\n }\n\n /**\n * Format of the parsed color.\n *\n * @type {String}\n * @readonly\n */\n get format() {\n return this._format;\n }\n\n /**\n * All options of the current instance.\n *\n * @type {{format: String, gradientType: String}}\n * @readonly\n */\n get options() {\n return {\n format: this._format,\n gradientType: this._gradientType\n };\n }\n\n /**\n * @returns {{h, s, v, a}}\n */\n get hsva() {\n return this.toHsv();\n }\n\n /**\n * @returns {{h, s, v, a}}\n */\n get hsvaRatio() {\n let hsv = this.hsva;\n\n return {\n h: hsv.h / 360,\n s: hsv.s,\n v: hsv.v,\n a: hsv.a\n };\n }\n\n /**\n * foo bar\n * @param {Color|*} color\n * @param {{format}} [options]\n * @constructor\n */\n constructor(color, options = {format: null}) {\n if (options.format) {\n options.format = getCompatibleFormat(options.format);\n }\n super(unwrapColor(color), options);\n\n /**\n * @type {Color|*}\n */\n this._originalInput = color; // keep real original color\n /**\n * Hue backup to not lose the information when saturation is 0.\n * @type {number}\n */\n this._hbak = this.hsva.h;\n /**\n * If set, it contains a reference to a previous color that caused the creation of this one.\n * @type {Color}\n */\n this.previous = null;\n }\n\n /**\n * Compares a color object with this one and returns true if it is equal or false if not.\n *\n * @param {Color} color\n * @returns {boolean}\n */\n equals(color) {\n if (!(color instanceof tinycolor)) {\n return false;\n }\n return this._r === color._r &&\n this._g === color._g &&\n this._b === color._b &&\n this._a === color._a &&\n this._roundA === color._roundA &&\n this._format === color._format &&\n this._gradientType === color._gradientType &&\n this._ok === color._ok;\n }\n\n /**\n * Imports all variables of the given color to this instance, excepting `_tc_id`.\n * @param {Color} color\n */\n importColor(color) {\n if (!(color instanceof tinycolor)) {\n throw new Error('Color.importColor: The color argument is not an instance of tinycolor.');\n }\n this._originalInput = color._originalInput;\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this._a = color._a;\n this._roundA = color._roundA;\n this._format = getCompatibleFormat(color._format);\n this._gradientType = color._gradientType;\n this._ok = color._ok;\n // omit .previous and ._tc_id import\n }\n\n /**\n * Imports the _r, _g, _b, _a, _hbak and _ok variables of the given color to this instance.\n * @param {Color} color\n */\n importRgb(color) {\n if (!color instanceof Color) {\n throw new Error('Color.importColor: The color argument is not an instance of tinycolor.');\n }\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this._a = color._a;\n this._ok = color._ok;\n this._hbak = color._hbak;\n }\n\n /**\n * @param {{h,s,v,a}} hsv\n */\n importHsv(hsv) {\n this._hbak = hsv.h;\n this.importRgb(new Color(hsv, this.options));\n }\n\n /**\n * @returns {Color}\n */\n getCopy() {\n return new Color(this.hsva, this.options);\n }\n\n /**\n * @returns {Color}\n */\n getHueOnlyCopy() {\n return new Color({h: this._hbak ? this._hbak : this.hsva.h, s: 100, v: 100}, this.options);\n }\n\n /**\n * @returns {Color}\n */\n getOpaqueCopy() {\n return new Color(Object.assign({}, this.hsva, {a: 1}), this.options);\n }\n\n /**\n * @param {number} h Degrees from 0 to 360\n */\n setHue(h) {\n this.importHsv(Object.assign({}, this.hsva, {h: h}));\n }\n\n /**\n * @param {number} s Percent from 0 o 100\n */\n setSaturation(s) {\n this.importHsv(Object.assign({}, this.hsva, {s: s}));\n }\n\n /**\n * @param {number} v Percent from 0 o 100\n */\n setBrightness(v) {\n this.importHsv(Object.assign({}, this.hsva, {v: v}));\n }\n\n /**\n * @param {number} h Ratio from 0.0 to 1.0\n */\n setHueRatio(h) {\n if (h === 0) {\n return;\n }\n this.setHue((1 - h) * 360);\n }\n\n /**\n * @param {number} s Ratio from 0.0 to 1.0\n */\n setSaturationRatio(s) {\n this.setSaturation(s);\n }\n\n /**\n * @param {number} v Ratio from 0.0 to 1.0\n */\n setBrightnessRatio(v) {\n this.setBrightness(1 - v);\n }\n\n /**\n * @param {number} a Ratio from 0.0 to 1.0\n */\n setAlphaRatio(a) {\n this.setAlpha(1 - a);\n }\n\n /**\n * @returns {boolean}\n */\n isTransparent() {\n return this._a === 0;\n }\n\n /**\n * @returns {boolean}\n */\n hasTransparency() {\n return this._a !== 1;\n }\n\n /**\n * @param {string|null} [format] One of \"rgb\", \"prgb\", \"hex\"/\"hex6\", \"hex3\", \"hex8\", \"hsl\", \"hsv\"/\"hsb\", \"name\"\n * @returns {String}\n */\n toString(format = null) {\n format = format ? getCompatibleFormat(format) : this.format;\n\n let colorStr = super.toString(format);\n\n if (colorStr && colorStr.match(/^#[0-9a-f]{3,8}$/i)) {\n // Support transparent for hex formats\n if (this.isTransparent() && (this._r === 0) && (this._g === 0) && (this._b === 0)) {\n return 'transparent';\n }\n }\n\n return colorStr;\n }\n}\n\nexport default Color;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/Color.js","// TinyColor v1.4.1\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\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 = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\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) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n 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 getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n 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 toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n 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 toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\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\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\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//\nfunction inputToRGB(color) {\n\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\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\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\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\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// `rgbToRgb`\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]\nfunction 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// `rgbToHsl`\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]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 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: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\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]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\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\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\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 function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\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\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\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.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\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\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// `contrast`\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function(color1, color2) {\n var c1 = tinycolor(color1);\n var c2 = tinycolor(color2);\n return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);\n};\n\n// `isReadable`\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n// the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n// the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n// tinycolor.isReadable(\"#000\", \"#111\") => false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// <http://www.w3.org/TR/css3-color/#svg-color>\nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\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: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\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 lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\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: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\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: \"f00\",\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: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\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>\nfunction 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\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // <http://www.w3.org/TR/css3-values/#integers>\n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // <http://www.w3.org/TR/css3-values/#number-value>\n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\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\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\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}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\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\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;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\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 if ((match = matchers.hex6.exec(color))) {\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 if ((match = matchers.hex4.exec(color))) {\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 if ((match = matchers.hex3.exec(color))) {\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\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/tinycolor2/tinycolor.js\n// module id = 6\n// module chunks = 0 1","'use strict';\n/**\n * @module\n */\n\n/**\n * Colorpicker default options\n */\nexport default {\n /**\n * If true, loads the Debugger extension automatically into the current instance\n * @type {boolean}\n * @default false\n */\n debug: false,\n /**\n * Forces a color, ignoring the one from the elements value or data-color attribute.\n *\n * @type {(String|Color|boolean)}\n * @default false\n */\n color: false,\n /**\n * Forces an specific color format. If false, it will be automatically detected the first time,\n * but if null it will be always recalculated.\n *\n * Note that the ending 'a' of the format meaning \"alpha\" has currently no effect, meaning that rgb is the same as\n * rgba excepting if the alpha channel is disabled (see useAlpha).\n *\n * @type {('rgb'|'rgba'|'prgb'|'prgba'|'hex'|'hex3'|'hex6'|'hex8'|'hsl'|'hsla'|'hsv'|'hsva'|'name'|boolean)}\n * @default false\n */\n format: false,\n /**\n * Horizontal mode layout.\n *\n * If true, the hue and alpha channel bars will be rendered horizontally, above the saturation selector.\n *\n * @type {boolean}\n * @default false\n */\n horizontal: false,\n /**\n * Forces to show the colorpicker as an inline element\n *\n * @type {boolean}\n * @default false\n */\n inline: false,\n /**\n * Children input CSS selector\n *\n * @type {String}\n * @default 'input'\n */\n input: 'input',\n /**\n * Colorpicker container CSS selector. If given, the colorpicker will be placed inside this container.\n * If true, the colorpicker element itself will be used as the container.\n *\n * @type {String|boolean}\n * @default false\n */\n container: false, // container selector\n /**\n * Children color component CSS selector.\n * If it exists, the child <i> element background will be changed on color change.\n *\n * @type {String|boolean}\n * @default '.add-on, .input-group-addon'\n */\n component: '.add-on, .input-group-addon',\n /**\n * Fallback color to use when the given color is invalid.\n * If false, the latest valid color will be used as a fallback.\n *\n * @type {String|Color|boolean}\n * @default false\n */\n fallbackColor: false,\n /**\n * If enabled, the input content will be replaced always with a valid color,\n * if not enabled the invalid color will be left in the input, but valid in the internal color object.\n *\n * @type {boolean}\n * @default false\n */\n autoInputFallback: false,\n /**\n * If true a hash will be prepended to hexadecimal colors.\n * If false, the hash will be removed.\n * This only affects the input values.\n *\n * @type {boolean}\n * @default false\n */\n useHashPrefix: true,\n /**\n * If true or false the alpha adjustment bar will be displayed no matter what.\n * If false it will be always hidden and alpha channel won't be allowed programmatically for this instance,\n * so the selected or typed color will be always opaque.\n *\n * @type {boolean}\n * @default true\n */\n useAlpha: true,\n /**\n * This only applies when the color format is hexadecimal.\n * If true, the alpha channel will be allowed for hexadecimal formatted colors, making them having 4 or 8 chars\n * (RGBA or RRGGBBAA). This format is not yet supported in all modern browsers, so it is disabled by default.\n * If false, rgba will be used whenever there is an alpha change different than 1 and the color format is\n * automatic.\n *\n * @type {boolean}\n * @default true\n */\n enableHex8: false,\n /**\n * Vertical sliders configuration\n * @type {Object}\n */\n sliders: {\n saturation: {\n maxLeft: 100,\n maxTop: 100,\n callLeft: 'setSaturationRatio',\n callTop: 'setBrightnessRatio'\n },\n hue: {\n maxLeft: 0,\n maxTop: 100,\n callLeft: false,\n callTop: 'setHueRatio'\n },\n alpha: {\n maxLeft: 0,\n maxTop: 100,\n callLeft: false,\n callTop: 'setAlphaRatio'\n }\n },\n /**\n * Horizontal sliders configuration\n * @type {Object}\n */\n slidersHorz: {\n saturation: {\n maxLeft: 100,\n maxTop: 100,\n callLeft: 'setSaturationRatio',\n callTop: 'setBrightnessRatio'\n },\n hue: {\n maxLeft: 100,\n maxTop: 0,\n callLeft: 'setHueRatio',\n callTop: false\n },\n alpha: {\n maxLeft: 100,\n maxTop: 0,\n callLeft: 'setAlphaRatio',\n callTop: false\n }\n },\n /**\n * Colorpicker popup alignment.\n * For now only right is supported.\n *\n * @type {('right')}\n * @default 'right'\n */ // TODO: add 'left' and 'auto' support.\n align: 'right',\n /**\n * Custom class to be added to the colorpicker element\n *\n * @type {String}\n */\n customClass: null,\n /**\n * Colorpicker widget template\n * @type {String}\n * @example\n * <!-- This is the default template: -->\n * <div class=\"colorpicker\">\n * <div class=\"colorpicker-saturation\"><i class=\"colorpicker-guide\"><i></i></i></div>\n * <div class=\"colorpicker-hue\"><i class=\"colorpicker-guide\"></i></div>\n * <div class=\"colorpicker-alpha\"><i class=\"colorpicker-guide\"></i></div>\n * <div class=\"colorpicker-color\"><div /></div>\n * </div>\n */\n template: `<div class=\"colorpicker\">\n <div class=\"colorpicker-saturation\"><i class=\"colorpicker-guide\"><i /></div>\n <div class=\"colorpicker-hue\"><i class=\"colorpicker-guide\"></i></div>\n <div class=\"colorpicker-alpha\"><i class=\"colorpicker-guide\"></i></div></div>`,\n /**\n *\n * Associative object with the extension class name and its config.\n * Colorpicker comes with many bundled extensions: debugger, palette, preview and swatches (a superset of Palette).\n *\n * @type {Object}\n * @example\n * extensions: [\n * {\n * name: 'swatches'\n * colors: {\n * 'primary': '#337ab7',\n * 'success': '#5cb85c',\n * 'info': '#5bc0de',\n * 'warning': '#f0ad4e',\n * 'danger': '#d9534f'\n * },\n * namesAsValues: true\n * }\n * ]\n */\n extensions: [\n {\n name: 'preview',\n showText: false\n }\n ]\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/options.js","import Debugger from './Debugger';\nimport Preview from './Preview';\nimport Swatches from './Swatches';\nimport Palette from './Palette';\n\nexport {\n Debugger, Preview, Swatches, Palette\n};\n\nexport default {\n 'debugger': Debugger,\n 'preview': Preview,\n 'swatches': Swatches,\n 'palette': Palette\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/extensions/index.js","'use strict';\n\nimport Extension from 'Extension';\nimport $ from 'jquery';\n\nclass Debugger extends Extension {\n constructor(colorpicker, options = {}) {\n super(colorpicker, options);\n\n /**\n * @type {number}\n */\n this.eventCounter = 0;\n if (this.colorpicker.hasInput()) {\n this.colorpicker.input.on('change.colorpicker-ext', $.proxy(this.onChangeInput, this));\n }\n }\n\n /**\n * @fires colorpickerDebug\n * @param {string} eventName\n * @param {*} args\n */\n log(eventName, ...args) {\n this.eventCounter += 1;\n\n let logMessage = `#${this.eventCounter}: Colorpicker#${this.colorpicker.id} [${eventName}]`;\n\n console.debug(logMessage, ...args);\n\n /**\n * (Colorpicker) Fired by the ConsoleDebug extension whenever it logs something\n *\n * @event colorpickerDebug\n */\n this.colorpicker.element.trigger({\n type: 'colorpickerDebug',\n colorpicker: this.colorpicker,\n color: this.color,\n debug: {\n debugger: this,\n eventName: eventName,\n logArgs: args,\n logMessage: logMessage\n }\n });\n }\n\n resolveColor(color) {\n this.log('resolveColor()', color);\n return false;\n }\n\n onCreate(event) {\n this.log('colorpickerCreate');\n return super.onCreate(event);\n }\n\n onDestroy(event) {\n this.log('colorpickerDestroy');\n this.eventCounter = 0;\n\n if (this.colorpicker.hasInput()) {\n this.colorpicker.input.off('.colorpicker-ext');\n }\n\n return super.onDestroy(event);\n }\n\n onUpdate(event) {\n this.log('colorpickerUpdate');\n }\n\n /**\n * @listens _change\n * @param {Event} event\n */\n onChangeInput(event) {\n this.log('input:change.colorpicker', event.value, event.color);\n }\n\n onChange(event) {\n this.log('colorpickerChange', event.value, event.color);\n }\n\n onInvalid(event) {\n this.log('colorpickerInvalid', event.value, event.color);\n }\n\n onHide(event) {\n this.log('colorpickerHide');\n this.eventCounter = 0;\n }\n\n onShow(event) {\n this.log('colorpickerShow');\n }\n\n onDisable(event) {\n this.log('colorpickerDisable');\n }\n\n onEnable(event) {\n this.log('colorpickerEnable');\n }\n}\n\nexport default Debugger;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/extensions/Debugger.js","'use strict';\n\nimport Extension from 'Extension';\nimport $ from 'jquery';\n\nclass Preview extends Extension {\n constructor(colorpicker, options = {}) {\n super(colorpicker, Object.assign({},\n {\n template: '<div class=\"colorpicker-bar colorpicker-preview\"><div /></div>',\n showText: true,\n format: colorpicker.format\n },\n options\n ));\n\n this.element = $(this.options.template);\n this.elementInner = this.element.find('div');\n }\n\n onCreate(event) {\n super.onCreate(event);\n this.colorpicker.picker.append(this.element);\n }\n\n onUpdate(event) {\n super.onUpdate(event);\n\n this.elementInner\n .css('backgroundColor', event.color.toRgbString());\n\n if (this.options.showText) {\n this.elementInner\n .html(event.color.toString(this.options.format || this.colorpicker.format));\n\n if (event.color.isDark()) {\n this.elementInner.css('color', 'white');\n } else {\n this.elementInner.css('color', 'black');\n }\n }\n }\n}\n\nexport default Preview;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/extensions/Preview.js","'use strict';\n\nimport Palette from './Palette';\nimport $ from 'jquery';\n\nlet defaults = {\n barTemplate: '<div class=\"colorpicker-bar colorpicker-swatches\"></div>',\n swatchTemplate: '<i class=\"colorpicker-swatch\"></i>'\n};\n\nclass Swatches extends Palette {\n constructor(colorpicker, options = {}) {\n super(colorpicker, Object.assign({}, defaults, options));\n }\n\n isEnabled() {\n return this.getLength() > 0;\n }\n\n onCreate(event) {\n super.onCreate(event);\n\n if (!this.isEnabled()) {\n return;\n }\n\n let colorpicker = this.colorpicker,\n swatchContainer = $(this.options.barTemplate),\n isAliased = (this.options.namesAsValues === true) && !Array.isArray(this.colors);\n\n $.each(this.colors, (name, value) => {\n let $swatch = $(this.options.swatchTemplate)\n .css('background-color', value)\n .attr('data-name', name)\n .attr('data-value', value)\n .attr('title', `${name}: ${value}`);\n\n $swatch.on('mousedown.colorpicker touchstart.colorpicker',\n function (e) {\n e.preventDefault();\n colorpicker.setValue(isAliased ? $(this).data('name') : $(this).data('value'));\n }\n );\n swatchContainer.append($swatch);\n });\n\n colorpicker.picker.append(swatchContainer);\n }\n}\n\nexport default Swatches;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/extensions/Swatches.js"],"sourceRoot":""}