{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./src/js/utils/utils.js","webpack:///./src/js/utils/color.js","webpack:///./src/js/utils/hsvacolor.js","webpack:///./src/js/libs/moveable.js","webpack:///./src/js/libs/selectable.js","webpack:///./src/js/libs/nanopop.js","webpack:///./src/js/template.js","webpack:///./src/js/pickr.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","on","eventListener","off","method","elements","events","fn","options","HTMLCollection","NodeList","Array","from","isArray","el","ev","capture","slice","arguments","createElementFromString","html","div","document","createElement","innerHTML","trim","firstElementChild","removeAttribute","getAttribute","createFromTemplate","str","resolve","element","base","con","subtree","child","children","arr","sub","push","keys","length","eventPath","evt","path","composedPath","target","parentElement","resolveElement","val","Element","split","reduce","pv","cv","ci","a","querySelector","shadowRoot","adjustableInputNumbers","mapper","v","handleScroll","e","inc","Number","shiftKey","ctrlKey","deltaY","index","selectionStart","replace","focus","setSelectionRange","preventDefault","dispatchEvent","Event","passive","min","max","floor","round","Math","hsvToRgb","h","f","q","mod","hsvToHsl","rgbToHsv","g","b","minVal","maxVal","delta","dr","dg","db","cmykToHsv","y","k","hslToHsv","hexToHsv","hex","match","map","parseInt","parseToHSVA","toLowerCase","ctx","getContext","fillStyle","standardizeColor","regex","cmyk","rgba","hsla","hsva","hexa","numarize","array","test","undefined","invalid","type","exec","alphaValid","values","join","raw","substring","HSVaColor","original","next","precision","toFixed","that","toHSVA","toString","toHSLA","toRGBA","toCMYK","rgb","hsvToCmyk","toHEXA","padStart","hsvToHex","alpha","toUpperCase","clone","clamp","Moveable","opt","assign","lock","onchange","onstop","_keyboard","activeElement","wrapper","up","right","down","left","xm","ym","update","cache","x","startsWith","_tapstart","_","_tapstop","_tapmove","getBoundingClientRect","touch","touches","clientX","clientY","width","top","height","style","offsetWidth","offsetHeight","cx","cy","trigger","destroy","Selectable","className","onTap","forEach","classList","Nanopop","reference","padding","vBehaviour","start","middle","end","hBehaviour","bottom","getInfo","pos","cached","position","variant","isVertical","rb","eb","positions","vertical","variants","leastApplied","apply","bevs","vars","styleprop","adder","win","ch","sv","rot","v2Ok","v1Ok","components","strings","useAsButton","inline","appClass","theme","lockOpacity","lo","hidden","palette","preview","hue","opacity","interaction","input","save","cancel","clear","int","find","add","contains","Pickr","constructor","init","hide","show","change","changestop","swatchselect","this","disabled","comparison","closeOnScroll","outputPrecision","autoReposition","container","swatches","sliders","default","defaultRepresentation","adjustableNumbers","showAlways","closeWithKey","includes","_preBuild","_buildComponents","_bindEvents","_finalBuild","color","addSwatch","button","app","_root","_nanopop","setAttribute","requestAnimationFrame","cb","setColor","_rePositioningPicker","_representation","setColorRepresentation","_initializingActive","_emit","buildPickr","appendChild","removeChild","parent","nextSibling","insertBefore","remove","parentNode","replaceChild","disable","transition","lastColor","inst","cs","repeat","so","sh","getColor","_color","_lastColor","picker","_recalc","_updateOutput","cssRGBaString","background","_swatchColors","currentColor","slider","backgroundColor","selectable","_components","eventBindings","_clearColor","setHSVA","applyColor","result","stopImmediatePropagation","ck","isOpen","code","some","ranges","step","range","getColorRepresentation","nv","toPrecision","timeout","setTimeout","rs","clearTimeout","_eventBindings","matchMedia","matches","margin","silent","_parseLocalColor","alphaMakesAChange","event","args","_eventListener","callBacks","indexOf","splice","removeSwatch","swatchColor","destroyAndRemove","recalc","string","utype","click","getSelectedColor","getRoot","enable","utils","libs","version"],"mappings":"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","file":"pickr.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Pickr\"] = factory();\n\telse\n\t\troot[\"Pickr\"] = factory();\n})(window, function() {\nreturn "," \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, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/**\r\n * Add event(s) to element(s).\r\n * @param elements DOM-Elements\r\n * @param events Event names\r\n * @param fn Callback\r\n * @param options Optional options\r\n * @return Array passed arguments\r\n */\r\nexport const on = eventListener.bind(null, 'addEventListener');\r\n\r\n/**\r\n * Remove event(s) from element(s).\r\n * @param elements DOM-Elements\r\n * @param events Event names\r\n * @param fn Callback\r\n * @param options Optional options\r\n * @return Array passed arguments\r\n */\r\nexport const off = eventListener.bind(null, 'removeEventListener');\r\n\r\nfunction eventListener(method, elements, events, fn, options = {}) {\r\n\r\n // Normalize array\r\n if (elements instanceof HTMLCollection || elements instanceof NodeList) {\r\n elements = Array.from(elements);\r\n } else if (!Array.isArray(elements)) {\r\n elements = [elements];\r\n }\r\n\r\n if (!Array.isArray(events)) {\r\n events = [events];\r\n }\r\n\r\n for (const el of elements) {\r\n for (const ev of events) {\r\n el[method](ev, fn, {capture: false, ...options});\r\n }\r\n }\r\n\r\n return Array.prototype.slice.call(arguments, 1);\r\n}\r\n\r\n/**\r\n * Creates an DOM-Element out of a string (Single element).\r\n * @param html HTML representing a single element\r\n * @returns {Element | null} The element.\r\n */\r\nexport function createElementFromString(html) {\r\n const div = document.createElement('div');\r\n div.innerHTML = html.trim();\r\n return div.firstElementChild;\r\n}\r\n\r\n/**\r\n * Removes an attribute from a HTMLElement and returns the value.\r\n * @param el\r\n * @param name\r\n * @return {string}\r\n */\r\nexport function removeAttribute(el, name) {\r\n const value = el.getAttribute(name);\r\n el.removeAttribute(name);\r\n return value;\r\n}\r\n\r\n/**\r\n * Creates a new html element, every element which has\r\n * a ':ref' attribute will be saved in a object (which will be returned)\r\n * where the value of ':ref' is the object-key and the value the HTMLElement.\r\n *\r\n * It's possible to create a hierarchy if you add a ':obj' attribute. Every\r\n * sibling will be added to the object which will get the name from the 'data-con' attribute.\r\n *\r\n * If you want to create an Array out of multiple elements, you can use the ':arr' attribute,\r\n * the value defines the key and all elements, which has the same parent and the same 'data-arr' attribute,\r\n * would be added to it.\r\n *\r\n * @param str - The HTML String.\r\n */\r\nexport function createFromTemplate(str) {\r\n\r\n // Recursive function to resolve template\r\n function resolve(element, base = {}) {\r\n\r\n // Check key and container attribute\r\n const con = removeAttribute(element, ':obj');\r\n const key = removeAttribute(element, ':ref');\r\n const subtree = con ? (base[con] = {}) : base;\r\n\r\n // Check and save element\r\n key && (base[key] = element);\r\n for (const child of Array.from(element.children)) {\r\n const arr = removeAttribute(child, ':arr');\r\n const sub = resolve(child, arr ? {} : subtree);\r\n\r\n if (arr) {\r\n\r\n // Check if there is already an array and add element\r\n (subtree[arr] || (subtree[arr] = []))\r\n .push(Object.keys(sub).length ? sub : child);\r\n }\r\n }\r\n\r\n return base;\r\n }\r\n\r\n return resolve(createElementFromString(str));\r\n}\r\n\r\n/**\r\n * Polyfill for safari & firefox for the eventPath event property.\r\n * @param evt The event object.\r\n * @return [String] event path.\r\n */\r\nexport function eventPath(evt) {\r\n let path = evt.path || (evt.composedPath && evt.composedPath());\r\n if (path) return path;\r\n\r\n let el = evt.target.parentElement;\r\n path = [evt.target, el];\r\n while (el = el.parentElement) path.push(el);\r\n\r\n path.push(document, window);\r\n return path;\r\n}\r\n\r\n/**\r\n * Resolves a HTMLElement by query.\r\n * @param val\r\n * @returns {null|Document|Element}\r\n */\r\nexport function resolveElement(val) {\r\n if (val instanceof Element) {\r\n return val;\r\n } else if (typeof val === 'string') {\r\n return val.split(/>>/g).reduce((pv, cv, ci, a) => {\r\n pv = pv.querySelector(cv);\r\n return ci < a.length - 1 ? pv.shadowRoot : pv;\r\n }, document);\r\n }\r\n\r\n return null;\r\n}\r\n\r\n/**\r\n * Creates the ability to change numbers in an input field with the scroll-wheel.\r\n * @param el\r\n * @param mapper\r\n */\r\nexport function adjustableInputNumbers(el, mapper = v => v) {\r\n\r\n function handleScroll(e) {\r\n const inc = ([0.001, 0.01, 0.1])[Number(e.shiftKey || e.ctrlKey * 2)] * (e.deltaY < 0 ? 1 : -1);\r\n\r\n let index = 0;\r\n let off = el.selectionStart;\r\n el.value = el.value.replace(/[\\d.]+/g, (v, i) => {\r\n\r\n // Check if number is in cursor range and increase it\r\n if (i <= off && i + v.length >= off) {\r\n off = i;\r\n return mapper(Number(v), inc, index);\r\n }\r\n\r\n index++;\r\n return v;\r\n });\r\n\r\n el.focus();\r\n el.setSelectionRange(off, off);\r\n\r\n // Prevent default and trigger input event\r\n e.preventDefault();\r\n el.dispatchEvent(new Event('input'));\r\n }\r\n\r\n // Bind events\r\n on(el, 'focus', () => on(window, 'wheel', handleScroll, {passive: false}));\r\n on(el, 'blur', () => off(window, 'wheel', handleScroll));\r\n}\r\n","// Shorthands\r\nconst {min, max, floor, round} = Math;\r\n\r\n/**\r\n * Tries to convert a color name to rgb/a hex representation\r\n * @param name\r\n * @returns {string | CanvasGradient | CanvasPattern}\r\n */\r\nfunction standardizeColor(name) {\r\n\r\n // Since invalid color's will be parsed as black, filter them out\r\n if (name.toLowerCase() === 'black') {\r\n return '#000000';\r\n }\r\n\r\n const ctx = document.createElement('canvas').getContext('2d');\r\n ctx.fillStyle = name;\r\n return ctx.fillStyle === '#000000' ? null : ctx.fillStyle;\r\n}\r\n\r\n/**\r\n * Convert HSV spectrum to RGB.\r\n * @param h Hue\r\n * @param s Saturation\r\n * @param v Value\r\n * @returns {number[]} Array with rgb values.\r\n */\r\nexport function hsvToRgb(h, s, v) {\r\n h = (h / 360) * 6;\r\n s /= 100;\r\n v /= 100;\r\n\r\n const i = floor(h);\r\n\r\n const f = h - i;\r\n const p = v * (1 - s);\r\n const q = v * (1 - f * s);\r\n const t = v * (1 - (1 - f) * s);\r\n\r\n const mod = i % 6;\r\n const r = [v, q, p, p, t, v][mod];\r\n const g = [t, v, v, q, p, p][mod];\r\n const b = [p, p, t, v, v, q][mod];\r\n\r\n return [\r\n r * 255,\r\n g * 255,\r\n b * 255\r\n ];\r\n}\r\n\r\n/**\r\n * Convert HSV spectrum to Hex.\r\n * @param h Hue\r\n * @param s Saturation\r\n * @param v Value\r\n * @returns {string[]} Hex values\r\n */\r\nexport function hsvToHex(h, s, v) {\r\n return hsvToRgb(h, s, v).map(v =>\r\n round(v).toString(16).padStart(2, '0')\r\n );\r\n}\r\n\r\n/**\r\n * Convert HSV spectrum to CMYK.\r\n * @param h Hue\r\n * @param s Saturation\r\n * @param v Value\r\n * @returns {number[]} CMYK values\r\n */\r\nexport function hsvToCmyk(h, s, v) {\r\n const rgb = hsvToRgb(h, s, v);\r\n const r = rgb[0] / 255;\r\n const g = rgb[1] / 255;\r\n const b = rgb[2] / 255;\r\n\r\n let k, c, m, y;\r\n\r\n k = min(1 - r, 1 - g, 1 - b);\r\n\r\n c = k === 1 ? 0 : (1 - r - k) / (1 - k);\r\n m = k === 1 ? 0 : (1 - g - k) / (1 - k);\r\n y = k === 1 ? 0 : (1 - b - k) / (1 - k);\r\n\r\n return [\r\n c * 100,\r\n m * 100,\r\n y * 100,\r\n k * 100\r\n ];\r\n}\r\n\r\n/**\r\n * Convert HSV spectrum to HSL.\r\n * @param h Hue\r\n * @param s Saturation\r\n * @param v Value\r\n * @returns {number[]} HSL values\r\n */\r\nexport function hsvToHsl(h, s, v) {\r\n s /= 100, v /= 100;\r\n\r\n const l = (2 - s) * v / 2;\r\n\r\n if (l !== 0) {\r\n if (l === 1) {\r\n s = 0;\r\n } else if (l < 0.5) {\r\n s = s * v / (l * 2);\r\n } else {\r\n s = s * v / (2 - l * 2);\r\n }\r\n }\r\n\r\n return [\r\n h,\r\n s * 100,\r\n l * 100\r\n ];\r\n}\r\n\r\n/**\r\n * Convert RGB to HSV.\r\n * @param r Red\r\n * @param g Green\r\n * @param b Blue\r\n * @return {number[]} HSV values.\r\n */\r\nfunction rgbToHsv(r, g, b) {\r\n r /= 255, g /= 255, b /= 255;\r\n\r\n let h, s, v;\r\n const minVal = min(r, g, b);\r\n const maxVal = max(r, g, b);\r\n const delta = maxVal - minVal;\r\n\r\n v = maxVal;\r\n if (delta === 0) {\r\n h = s = 0;\r\n } else {\r\n s = delta / maxVal;\r\n const dr = (((maxVal - r) / 6) + (delta / 2)) / delta;\r\n const dg = (((maxVal - g) / 6) + (delta / 2)) / delta;\r\n const db = (((maxVal - b) / 6) + (delta / 2)) / delta;\r\n\r\n if (r === maxVal) {\r\n h = db - dg;\r\n } else if (g === maxVal) {\r\n h = (1 / 3) + dr - db;\r\n } else if (b === maxVal) {\r\n h = (2 / 3) + dg - dr;\r\n }\r\n\r\n if (h < 0) {\r\n h += 1;\r\n } else if (h > 1) {\r\n h -= 1;\r\n }\r\n }\r\n\r\n return [\r\n h * 360,\r\n s * 100,\r\n v * 100\r\n ];\r\n}\r\n\r\n/**\r\n * Convert CMYK to HSV.\r\n * @param c Cyan\r\n * @param m Magenta\r\n * @param y Yellow\r\n * @param k Key (Black)\r\n * @return {number[]} HSV values.\r\n */\r\nfunction cmykToHsv(c, m, y, k) {\r\n c /= 100;\r\n m /= 100;\r\n y /= 100;\r\n k /= 100;\r\n\r\n const r = (1 - min(1, c * (1 - k) + k)) * 255;\r\n const g = (1 - min(1, m * (1 - k) + k)) * 255;\r\n const b = (1 - min(1, y * (1 - k) + k)) * 255;\r\n\r\n return [...rgbToHsv(r, g, b)];\r\n}\r\n\r\n/**\r\n * Convert HSL to HSV.\r\n * @param h Hue\r\n * @param s Saturation\r\n * @param l Lightness\r\n * @return {number[]} HSV values.\r\n */\r\nfunction hslToHsv(h, s, l) {\r\n s /= 100;\r\n l /= 100;\r\n s *= l < 0.5 ? l : 1 - l;\r\n\r\n const ns = (2 * s / (l + s)) * 100;\r\n const v = (l + s) * 100;\r\n return [h, ns, v];\r\n}\r\n\r\n/**\r\n * Convert HEX to HSV.\r\n * @param hex Hexadecimal string of rgb colors, can have length 3 or 6.\r\n * @return {number[]} HSV values.\r\n */\r\nfunction hexToHsv(hex) {\r\n return rgbToHsv(...hex.match(/.{2}/g).map(v => parseInt(v, 16)));\r\n}\r\n\r\n/**\r\n * Try's to parse a string which represents a color to a HSV array.\r\n * Current supported types are cmyk, rgba, hsla and hexadecimal.\r\n * @param str\r\n * @return {*}\r\n */\r\nexport function parseToHSVA(str) {\r\n\r\n // Check if string is a color-name\r\n str = str.match(/^[a-zA-Z]+$/) ? standardizeColor(str) : str;\r\n\r\n // Regular expressions to match different types of color represention\r\n const regex = {\r\n cmyk: /^cmyk[\\D]+([\\d.]+)[\\D]+([\\d.]+)[\\D]+([\\d.]+)[\\D]+([\\d.]+)/i,\r\n rgba: /^((rgba)|rgb)[\\D]+([\\d.]+)[\\D]+([\\d.]+)[\\D]+([\\d.]+)[\\D]*?([\\d.]+|$)/i,\r\n hsla: /^((hsla)|hsl)[\\D]+([\\d.]+)[\\D]+([\\d.]+)[\\D]+([\\d.]+)[\\D]*?([\\d.]+|$)/i,\r\n hsva: /^((hsva)|hsv)[\\D]+([\\d.]+)[\\D]+([\\d.]+)[\\D]+([\\d.]+)[\\D]*?([\\d.]+|$)/i,\r\n hexa: /^#?(([\\dA-Fa-f]{3,4})|([\\dA-Fa-f]{6})|([\\dA-Fa-f]{8}))$/i\r\n };\r\n\r\n /**\r\n * Takes an Array of any type, convert strings which represents\r\n * a number to a number an anything else to undefined.\r\n * @param array\r\n * @return {*}\r\n */\r\n const numarize = array => array.map(v => /^(|\\d+)\\.\\d+|\\d+$/.test(v) ? Number(v) : undefined);\r\n\r\n let match;\r\n invalid: for (const type in regex) {\r\n\r\n // Check if current scheme passed\r\n if (!(match = regex[type].exec(str)))\r\n continue;\r\n\r\n // match[2] does only contain a truly value if rgba, hsla, or hsla got matched\r\n const alphaValid = a => (!!match[2] === (typeof a === 'number'))\r\n\r\n // Try to convert\r\n switch (type) {\r\n case 'cmyk': {\r\n const [, c, m, y, k] = numarize(match);\r\n\r\n if (c > 100 || m > 100 || y > 100 || k > 100)\r\n break invalid;\r\n\r\n return {values: cmykToHsv(c, m, y, k), type};\r\n }\r\n case 'rgba': {\r\n const [, , , r, g, b, a] = numarize(match);\r\n\r\n if (r > 255 || g > 255 || b > 255 || a < 0 || a > 1 || !alphaValid(a))\r\n break invalid;\r\n\r\n return {values: [...rgbToHsv(r, g, b), a], a, type};\r\n }\r\n case 'hexa': {\r\n let [, hex] = match;\r\n\r\n if (hex.length === 4 || hex.length === 3) {\r\n hex = hex.split('').map(v => v + v).join('');\r\n }\r\n\r\n const raw = hex.substring(0, 6);\r\n let a = hex.substring(6);\r\n\r\n // Convert 0 - 255 to 0 - 1 for opacity\r\n a = a ? (parseInt(a, 16) / 255) : undefined;\r\n\r\n return {values: [...hexToHsv(raw), a], a, type};\r\n }\r\n case 'hsla': {\r\n const [, , , h, s, l, a] = numarize(match);\r\n\r\n if (h > 360 || s > 100 || l > 100 || a < 0 || a > 1 || !alphaValid(a))\r\n break invalid;\r\n\r\n return {values: [...hslToHsv(h, s, l), a], a, type};\r\n }\r\n case 'hsva': {\r\n const [, , , h, s, v, a] = numarize(match);\r\n\r\n if (h > 360 || s > 100 || v > 100 || a < 0 || a > 1 || !alphaValid(a))\r\n break invalid;\r\n\r\n return {values: [h, s, v, a], a, type};\r\n }\r\n }\r\n }\r\n\r\n return {values: null, type: null};\r\n}\r\n","import {hsvToHsl, hsvToRgb, hsvToCmyk, hsvToHex} from './color';\r\n\r\n/**\r\n * Simple class which holds the properties\r\n * of the color represention model hsla (hue saturation lightness alpha)\r\n */\r\nexport function HSVaColor(h = 0, s = 0, v = 0, a = 1) {\r\n const mapper = (original, next) => (precision = -1) => {\r\n return next(~precision ? original.map(v => Number(v.toFixed(precision))) : original);\r\n };\r\n\r\n const that = {\r\n h, s, v, a,\r\n\r\n toHSVA() {\r\n const hsva = [that.h, that.s, that.v, that.a];\r\n hsva.toString = mapper(hsva, arr => `hsva(${arr[0]}, ${arr[1]}%, ${arr[2]}%, ${that.a})`);\r\n return hsva;\r\n },\r\n\r\n toHSLA() {\r\n const hsla = [...hsvToHsl(that.h, that.s, that.v), that.a];\r\n hsla.toString = mapper(hsla, arr => `hsla(${arr[0]}, ${arr[1]}%, ${arr[2]}%, ${that.a})`);\r\n return hsla;\r\n },\r\n\r\n toRGBA() {\r\n const rgba = [...hsvToRgb(that.h, that.s, that.v), that.a];\r\n rgba.toString = mapper(rgba, arr => `rgba(${arr[0]}, ${arr[1]}, ${arr[2]}, ${that.a})`);\r\n return rgba;\r\n },\r\n\r\n toCMYK() {\r\n const cmyk = hsvToCmyk(that.h, that.s, that.v);\r\n cmyk.toString = mapper(cmyk, arr => `cmyk(${arr[0]}%, ${arr[1]}%, ${arr[2]}%, ${arr[3]}%)`);\r\n return cmyk;\r\n },\r\n\r\n toHEXA() {\r\n const hex = hsvToHex(that.h, that.s, that.v);\r\n\r\n // Check if alpha channel make sense, convert it to 255 number space, convert\r\n // to hex and pad it with zeros if needet.\r\n const alpha = that.a >= 1 ? '' : Number((that.a * 255).toFixed(0))\r\n .toString(16)\r\n .toUpperCase().padStart(2, '0');\r\n\r\n alpha && hex.push(alpha);\r\n hex.toString = () => `#${hex.join('').toUpperCase()}`;\r\n return hex;\r\n },\r\n\r\n clone: () => HSVaColor(that.h, that.s, that.v, that.a)\r\n };\r\n\r\n return that;\r\n}\r\n","import * as _ from '../utils/utils';\n\nconst clamp = v => Math.max(Math.min(v, 1), 0);\nexport default function Moveable(opt) {\n\n const that = {\n\n // Assign default values\n options: Object.assign({\n lock: null,\n onchange: () => 0,\n onstop: () => 0\n }, opt),\n\n _keyboard(e) {\n const {type, key} = e;\n\n // Check to see if the Movable is focused and then move it based on arrow key inputs\n // for improved accessibility\n if (document.activeElement === options.wrapper) {\n const {lock} = that.options;\n const up = key === 'ArrowUp';\n const right = key === 'ArrowRight';\n const down = key === 'ArrowDown';\n const left = key === 'ArrowLeft';\n\n if (type === 'keydown' && (up || right || down || left)) {\n let xm = 0;\n let ym = 0;\n\n if (lock === 'v') {\n xm = (up || right) ? 1 : -1;\n } else if (lock === 'h') {\n xm = (up || right) ? -1 : 1;\n } else {\n ym = up ? -1 : (down ? 1 : 0);\n xm = left ? -1 : (right ? 1 : 0);\n }\n\n that.update(\n clamp(that.cache.x + (0.01 * xm)),\n clamp(that.cache.y + (0.01 * ym))\n );\n } else if (key.startsWith('Arrow')) {\n that.options.onstop();\n e.preventDefault();\n }\n }\n },\n\n _tapstart(evt) {\n _.on(document, ['mouseup', 'touchend', 'touchcancel'], that._tapstop);\n _.on(document, ['mousemove', 'touchmove'], that._tapmove);\n\n // Prevent default touch event\n evt.preventDefault();\n\n // Trigger\n that._tapmove(evt);\n },\n\n _tapmove(evt) {\n const {options: {lock}, cache} = that;\n const {element, wrapper} = options;\n const b = wrapper.getBoundingClientRect();\n\n let x = 0, y = 0;\n if (evt) {\n const touch = evt && evt.touches && evt.touches[0];\n x = evt ? (touch || evt).clientX : 0;\n y = evt ? (touch || evt).clientY : 0;\n\n // Reset to bounds\n if (x < b.left) x = b.left;\n else if (x > b.left + b.width) x = b.left + b.width;\n if (y < b.top) y = b.top;\n else if (y > b.top + b.height) y = b.top + b.height;\n\n // Normalize\n x -= b.left;\n y -= b.top;\n } else if (cache) {\n x = cache.x * b.width;\n y = cache.y * b.height;\n }\n\n if (lock !== 'h') {\n element.style.left = `calc(${x / b.width * 100}% - ${element.offsetWidth / 2}px)`;\n }\n\n if (lock !== 'v') {\n element.style.top = `calc(${y / b.height * 100}% - ${element.offsetHeight / 2}px)`;\n }\n\n that.cache = {x: x / b.width, y: y / b.height};\n const cx = clamp(x / wrapper.offsetWidth);\n const cy = clamp(y / wrapper.offsetHeight);\n\n switch (lock) {\n case 'v':\n return options.onchange(cx);\n case 'h':\n return options.onchange(cy);\n default:\n return options.onchange(cx, cy);\n }\n },\n\n _tapstop() {\n that.options.onstop();\n _.off(document, ['mouseup', 'touchend', 'touchcancel'], that._tapstop);\n _.off(document, ['mousemove', 'touchmove'], that._tapmove);\n },\n\n trigger() {\n that._tapmove();\n },\n\n update(x = 0, y = 0) {\n const {left, top, width, height} = that.options.wrapper.getBoundingClientRect();\n\n if (that.options.lock === 'h') {\n y = x;\n }\n\n that._tapmove({\n clientX: left + width * x,\n clientY: top + height * y\n });\n },\n\n destroy() {\n const {options, _tapstart} = that;\n _.off([options.wrapper, options.element], 'mousedown', _tapstart);\n _.off([options.wrapper, options.element], 'touchstart', _tapstart, {\n passive: false\n });\n }\n };\n\n // Initilize\n const {options, _tapstart, _keyboard} = that;\n _.on([options.wrapper, options.element], 'mousedown', _tapstart);\n _.on([options.wrapper, options.element], 'touchstart', _tapstart, {\n passive: false\n });\n\n _.on(document, ['keydown', 'keyup'], _keyboard);\n\n\n return that;\n}\n","import * as _ from '../utils/utils';\r\n\r\nexport default function Selectable(opt = {}) {\r\n opt = Object.assign({\r\n onchange: () => 0,\r\n className: '',\r\n elements: []\r\n }, opt);\r\n\r\n const onTap = _.on(opt.elements, 'click', evt => {\r\n opt.elements.forEach(e =>\r\n e.classList[evt.target === e ? 'add' : 'remove'](opt.className)\r\n );\r\n\r\n opt.onchange(evt);\r\n });\r\n\r\n return {\r\n destroy: () => _.off(...onTap)\r\n };\r\n}\r\n","/**\r\n * Micro positioning-engine\r\n * @param el\r\n * @param reference\r\n * @param pos\r\n * @param padding\r\n * @returns {{update(): void}}\r\n * @constructor\r\n */\r\nexport default function Nanopop({el, reference, padding = 8}) {\r\n const vBehaviour = {start: 'sme', middle: 'mse', end: 'ems'};\r\n const hBehaviour = {top: 'tbrl', right: 'rltb', bottom: 'btrl', left: 'lrbt'};\r\n\r\n const getInfo = ((cache = {}) => (pos, cached = cache[pos]) => {\r\n if (cached) return cached;\r\n const [position, variant = 'middle'] = pos.split('-');\r\n const isVertical = (position === 'top' || position === 'bottom');\r\n\r\n return cache[pos] = {\r\n position,\r\n variant,\r\n isVertical\r\n };\r\n })();\r\n\r\n return {\r\n update(pos) {\r\n const {position, variant, isVertical} = getInfo(pos);\r\n const rb = reference.getBoundingClientRect();\r\n const eb = el.getBoundingClientRect();\r\n\r\n const positions = vertical => vertical ? {\r\n t: rb.top - eb.height - padding,\r\n b: rb.bottom + padding\r\n } : {\r\n r: rb.right + padding,\r\n l: rb.left - eb.width - padding\r\n };\r\n\r\n const variants = vertical => vertical ? {\r\n s: rb.left + rb.width - eb.width,\r\n m: (-eb.width / 2) + (rb.left + rb.width / 2),\r\n e: rb.left\r\n } : {\r\n s: rb.bottom - eb.height,\r\n m: rb.bottom - rb.height / 2 - eb.height / 2,\r\n e: rb.bottom - rb.height\r\n };\r\n\r\n const leastApplied = {};\r\n\r\n function apply(bevs, vars, styleprop) {\r\n const vertical = styleprop === 'top';\r\n const adder = vertical ? eb.height : eb.width;\r\n const win = window[vertical ? 'innerHeight' : 'innerWidth'];\r\n\r\n for (const ch of bevs) {\r\n const v = vars[ch];\r\n const sv = leastApplied[styleprop] = `${v}px`;\r\n\r\n if (v > 0 && (v + adder) < win) {\r\n el.style[styleprop] = sv;\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n for (const rot of [isVertical, !isVertical]) {\r\n const v2Ok = apply(hBehaviour[position], positions(rot), rot ? 'top' : 'left');\r\n const v1Ok = apply(vBehaviour[variant], variants(rot), rot ? 'left' : 'top');\r\n\r\n if (v2Ok && v1Ok) {\r\n return;\r\n }\r\n }\r\n\r\n el.style.left = leastApplied.left;\r\n el.style.top = leastApplied.top;\r\n }\r\n };\r\n}\r\n","import * as _ from './utils/utils';\r\n\r\nexport default ({components: c, strings: s, useAsButton, inline, appClass, theme, lockOpacity: lo}) => {\r\n const hidden = con => con ? '' : 'style=\"display:none\" hidden';\r\n\r\n const root = _.createFromTemplate(`\r\n