@bigbinary/neetoui 8.3.48 → 8.3.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ActionDropdown.js +2 -2
- package/dist/Alert.js +3 -2
- package/dist/Alert.js.map +1 -1
- package/dist/Checkbox.js +2 -1
- package/dist/Checkbox.js.map +1 -1
- package/dist/ColorPicker.js +3 -3
- package/dist/DatePicker.js +8 -8
- package/dist/Dropdown.js +3 -3
- package/dist/Dropdown.js.map +1 -1
- package/dist/Input.js +2 -1
- package/dist/Input.js.map +1 -1
- package/dist/Modal.js +3 -2
- package/dist/Modal.js.map +1 -1
- package/dist/MultiEmailInput.js +2 -1
- package/dist/MultiEmailInput.js.map +1 -1
- package/dist/Pagination.js +2 -1
- package/dist/Pagination.js.map +1 -1
- package/dist/Pane.js +3 -2
- package/dist/Pane.js.map +1 -1
- package/dist/Radio.js +2 -1
- package/dist/Radio.js.map +1 -1
- package/dist/Select.js +2 -1
- package/dist/Select.js.map +1 -1
- package/dist/Sidebar.js +2 -1
- package/dist/Sidebar.js.map +1 -1
- package/dist/Slider.js +3 -3
- package/dist/Slider.js.map +1 -1
- package/dist/Switch.js +2 -1
- package/dist/Switch.js.map +1 -1
- package/dist/Table.js +34 -22
- package/dist/Table.js.map +1 -1
- package/dist/{Textarea-CoY3q1mA.js → Textarea-D3WmOs_6.js} +2 -2
- package/dist/{Textarea-CoY3q1mA.js.map → Textarea-D3WmOs_6.js.map} +1 -1
- package/dist/Textarea.js +3 -2
- package/dist/Textarea.js.map +1 -1
- package/dist/TimePicker.js +7 -7
- package/dist/Toastr.js +4 -4
- package/dist/Toastr.js.map +1 -1
- package/dist/Tree.js +2 -1
- package/dist/Tree.js.map +1 -1
- package/dist/TreeSelect.js +2 -1
- package/dist/TreeSelect.js.map +1 -1
- package/dist/cjs/ActionDropdown.js +2 -2
- package/dist/cjs/Alert.js +3 -2
- package/dist/cjs/Alert.js.map +1 -1
- package/dist/cjs/Checkbox.js +2 -1
- package/dist/cjs/Checkbox.js.map +1 -1
- package/dist/cjs/ColorPicker.js +3 -3
- package/dist/cjs/DatePicker.js +8 -8
- package/dist/cjs/Dropdown.js +3 -3
- package/dist/cjs/Dropdown.js.map +1 -1
- package/dist/cjs/Input.js +2 -1
- package/dist/cjs/Input.js.map +1 -1
- package/dist/cjs/Modal.js +3 -2
- package/dist/cjs/Modal.js.map +1 -1
- package/dist/cjs/MultiEmailInput.js +2 -1
- package/dist/cjs/MultiEmailInput.js.map +1 -1
- package/dist/cjs/Pagination.js +2 -1
- package/dist/cjs/Pagination.js.map +1 -1
- package/dist/cjs/Pane.js +3 -2
- package/dist/cjs/Pane.js.map +1 -1
- package/dist/cjs/Radio.js +2 -1
- package/dist/cjs/Radio.js.map +1 -1
- package/dist/cjs/Select.js +2 -1
- package/dist/cjs/Select.js.map +1 -1
- package/dist/cjs/Sidebar.js +2 -1
- package/dist/cjs/Sidebar.js.map +1 -1
- package/dist/cjs/Slider.js +3 -3
- package/dist/cjs/Slider.js.map +1 -1
- package/dist/cjs/Switch.js +2 -1
- package/dist/cjs/Switch.js.map +1 -1
- package/dist/cjs/Table.js +36 -24
- package/dist/cjs/Table.js.map +1 -1
- package/dist/cjs/{Textarea-DzetFleJ.js → Textarea-JUquK4ix.js} +2 -2
- package/dist/cjs/{Textarea-DzetFleJ.js.map → Textarea-JUquK4ix.js.map} +1 -1
- package/dist/cjs/Textarea.js +3 -2
- package/dist/cjs/Textarea.js.map +1 -1
- package/dist/cjs/TimePicker.js +7 -7
- package/dist/cjs/Toastr.js +3 -3
- package/dist/cjs/Toastr.js.map +1 -1
- package/dist/cjs/Tree.js +2 -1
- package/dist/cjs/Tree.js.map +1 -1
- package/dist/cjs/TreeSelect.js +2 -1
- package/dist/cjs/TreeSelect.js.map +1 -1
- package/dist/cjs/formik/ActionBlock.js +2 -1
- package/dist/cjs/formik/ActionBlock.js.map +1 -1
- package/dist/cjs/formik/BlockNavigation.js +3 -2
- package/dist/cjs/formik/BlockNavigation.js.map +1 -1
- package/dist/cjs/formik/Checkbox.js +2 -1
- package/dist/cjs/formik/Checkbox.js.map +1 -1
- package/dist/cjs/formik/Input.js +2 -1
- package/dist/cjs/formik/Input.js.map +1 -1
- package/dist/cjs/formik/MultiEmailInput.js +2 -1
- package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
- package/dist/cjs/formik/Radio.js +2 -1
- package/dist/cjs/formik/Radio.js.map +1 -1
- package/dist/cjs/formik/Select.js +2 -1
- package/dist/cjs/formik/Select.js.map +1 -1
- package/dist/cjs/formik/Slider.js +1 -1
- package/dist/cjs/formik/Switch.js +2 -1
- package/dist/cjs/formik/Switch.js.map +1 -1
- package/dist/cjs/formik/Textarea.js +3 -2
- package/dist/cjs/formik/Textarea.js.map +1 -1
- package/dist/cjs/formik/TreeSelect.js +2 -1
- package/dist/cjs/formik/TreeSelect.js.map +1 -1
- package/dist/cjs/formik/index.js +4 -4
- package/dist/cjs/{index-DZI1iRpm.js → index-Bb1Sdwl7.js} +23 -36
- package/dist/cjs/index-Bb1Sdwl7.js.map +1 -0
- package/dist/cjs/{index-BlcVTw2b.js → index-kRTNbSPu.js} +6 -1
- package/dist/cjs/index-kRTNbSPu.js.map +1 -0
- package/dist/cjs/index.js +6 -6
- package/dist/cjs/layouts.js +2 -1
- package/dist/cjs/layouts.js.map +1 -1
- package/dist/cjs/{useOverlayManager-T0kuI6q4.js → useOverlayManager-BKMTt29E.js} +2 -2
- package/dist/cjs/{useOverlayManager-T0kuI6q4.js.map → useOverlayManager-BKMTt29E.js.map} +1 -1
- package/dist/cjs/{useRecentlyUsedColors-CThW5BOM.js → useRecentlyUsedColors-Cqmsh4rp.js} +2 -2
- package/dist/cjs/{useRecentlyUsedColors-CThW5BOM.js.map → useRecentlyUsedColors-Cqmsh4rp.js.map} +1 -1
- package/dist/formik/ActionBlock.js +2 -1
- package/dist/formik/ActionBlock.js.map +1 -1
- package/dist/formik/BlockNavigation.js +3 -2
- package/dist/formik/BlockNavigation.js.map +1 -1
- package/dist/formik/Checkbox.js +2 -1
- package/dist/formik/Checkbox.js.map +1 -1
- package/dist/formik/Input.js +2 -1
- package/dist/formik/Input.js.map +1 -1
- package/dist/formik/MultiEmailInput.js +2 -1
- package/dist/formik/MultiEmailInput.js.map +1 -1
- package/dist/formik/Radio.js +2 -1
- package/dist/formik/Radio.js.map +1 -1
- package/dist/formik/Select.js +2 -1
- package/dist/formik/Select.js.map +1 -1
- package/dist/formik/Slider.js +1 -1
- package/dist/formik/Switch.js +2 -1
- package/dist/formik/Switch.js.map +1 -1
- package/dist/formik/Textarea.js +3 -2
- package/dist/formik/Textarea.js.map +1 -1
- package/dist/formik/TreeSelect.js +2 -1
- package/dist/formik/TreeSelect.js.map +1 -1
- package/dist/formik/index.js +4 -4
- package/dist/{index--eYuJ-Gq.js → index-CvjkomhM.js} +25 -37
- package/dist/index-CvjkomhM.js.map +1 -0
- package/dist/{index-BbZEp6Op.js → index-D_BsZoxj.js} +6 -2
- package/dist/index-D_BsZoxj.js.map +1 -0
- package/dist/index.js +6 -6
- package/dist/layouts.js +2 -1
- package/dist/layouts.js.map +1 -1
- package/dist/{useOverlayManager-BtEqSq_z.js → useOverlayManager-B2c6fBF6.js} +2 -2
- package/dist/{useOverlayManager-BtEqSq_z.js.map → useOverlayManager-B2c6fBF6.js.map} +1 -1
- package/dist/{useRecentlyUsedColors-C18GFyJC.js → useRecentlyUsedColors-DVZT_MHc.js} +2 -2
- package/dist/{useRecentlyUsedColors-C18GFyJC.js.map → useRecentlyUsedColors-DVZT_MHc.js.map} +1 -1
- package/package.json +1 -1
- package/dist/cjs/index-BlcVTw2b.js.map +0 -1
- package/dist/cjs/index-DZI1iRpm.js.map +0 -1
- package/dist/index--eYuJ-Gq.js.map +0 -1
- package/dist/index-BbZEp6Op.js.map +0 -1
package/dist/{useRecentlyUsedColors-C18GFyJC.js.map → useRecentlyUsedColors-DVZT_MHc.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRecentlyUsedColors-C18GFyJC.js","sources":["../node_modules/tinycolor2/esm/tinycolor.js","../src/components/ColorPicker/hooks/useRecentlyUsedColors.js"],"sourcesContent":["// This file is autogenerated. It's used to publish ESM to npm.\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\nvar trimLeft = /^\\s+/;\nvar trimRight = /\\s+$/;\nfunction tinycolor(color, opts) {\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 var rgb = inputToRGB(color);\n this._originalInput = color, this._r = rgb.r, this._g = rgb.g, this._b = rgb.b, this._a = rgb.a, this._roundA = Math.round(100 * this._a) / 100, 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 = Math.round(this._r);\n if (this._g < 1) this._g = Math.round(this._g);\n if (this._b < 1) this._b = Math.round(this._b);\n this._ok = rgb.ok;\n}\ntinycolor.prototype = {\n isDark: function isDark() {\n return this.getBrightness() < 128;\n },\n isLight: function isLight() {\n return !this.isDark();\n },\n isValid: function isValid() {\n return this._ok;\n },\n getOriginalInput: function getOriginalInput() {\n return this._originalInput;\n },\n getFormat: function getFormat() {\n return this._format;\n },\n getAlpha: function getAlpha() {\n return this._a;\n },\n getBrightness: function getBrightness() {\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 getLuminance() {\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 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 setAlpha(value) {\n this._a = boundAlpha(value);\n this._roundA = Math.round(100 * this._a) / 100;\n return this;\n },\n toHsv: function toHsv() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v,\n a: this._a\n };\n },\n toHsvString: function toHsvString() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = Math.round(hsv.h * 360),\n s = Math.round(hsv.s * 100),\n v = Math.round(hsv.v * 100);\n return this._a == 1 ? \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" : \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \" + this._roundA + \")\";\n },\n toHsl: function toHsl() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return {\n h: hsl.h * 360,\n s: hsl.s,\n l: hsl.l,\n a: this._a\n };\n },\n toHslString: function toHslString() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = Math.round(hsl.h * 360),\n s = Math.round(hsl.s * 100),\n l = Math.round(hsl.l * 100);\n return this._a == 1 ? \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" : \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \" + this._roundA + \")\";\n },\n toHex: function toHex(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function toHexString(allow3Char) {\n return \"#\" + this.toHex(allow3Char);\n },\n toHex8: function toHex8(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function toHex8String(allow4Char) {\n return \"#\" + this.toHex8(allow4Char);\n },\n toRgb: function toRgb() {\n return {\n r: Math.round(this._r),\n g: Math.round(this._g),\n b: Math.round(this._b),\n a: this._a\n };\n },\n toRgbString: function toRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \")\" : \"rgba(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function toPercentageRgb() {\n return {\n r: Math.round(bound01(this._r, 255) * 100) + \"%\",\n g: Math.round(bound01(this._g, 255) * 100) + \"%\",\n b: Math.round(bound01(this._b, 255) * 100) + \"%\",\n a: this._a\n };\n },\n toPercentageRgbString: function toPercentageRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%)\" : \"rgba(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function toName() {\n if (this._a === 0) {\n return \"transparent\";\n }\n if (this._a < 1) {\n return false;\n }\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function toFilter(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 if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = \"#\" + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n return \"progid:DXImageTransform.Microsoft.gradient(\" + gradientType + \"startColorstr=\" + hex8String + \",endColorstr=\" + secondHex8String + \")\";\n },\n toString: function toString(format) {\n var formatSet = !!format;\n format = format || this._format;\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 if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n },\n clone: function clone() {\n return tinycolor(this.toString());\n },\n _applyModification: function _applyModification(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 lighten() {\n return this._applyModification(_lighten, arguments);\n },\n brighten: function brighten() {\n return this._applyModification(_brighten, arguments);\n },\n darken: function darken() {\n return this._applyModification(_darken, arguments);\n },\n desaturate: function desaturate() {\n return this._applyModification(_desaturate, arguments);\n },\n saturate: function saturate() {\n return this._applyModification(_saturate, arguments);\n },\n greyscale: function greyscale() {\n return this._applyModification(_greyscale, arguments);\n },\n spin: function spin() {\n return this._applyModification(_spin, arguments);\n },\n _applyCombination: function _applyCombination(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function analogous() {\n return this._applyCombination(_analogous, arguments);\n },\n complement: function complement() {\n return this._applyCombination(_complement, arguments);\n },\n monochromatic: function monochromatic() {\n return this._applyCombination(_monochromatic, arguments);\n },\n splitcomplement: function splitcomplement() {\n return this._applyCombination(_splitcomplement, arguments);\n },\n // Disabled until https://github.com/bgrins/TinyColor/issues/254\n // polyad: function (number) {\n // return this._applyCombination(polyad, [number]);\n // },\n triad: function triad() {\n return this._applyCombination(polyad, [3]);\n },\n tetrad: function tetrad() {\n return this._applyCombination(polyad, [4]);\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 } else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\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 var rgb = {\n r: 0,\n g: 0,\n b: 0\n };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n if (_typeof(color) == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n } 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 } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a\n };\n}\n\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 r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n l = (max + min) / 2;\n if (max == min) {\n h = s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n l: l\n };\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 h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\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 if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\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 r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n v = max;\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n if (max == min) {\n h = 0; // achromatic\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n v: v\n };\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]\nfunction hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h),\n 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 return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\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 var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\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 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 var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16)), pad2(convertDecimalToHex(a))];\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 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 var hex = [pad2(convertDecimalToHex(a)), pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\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};\ntinycolor.random = function () {\n return tinycolor.fromRatio({\n r: Math.random(),\n g: Math.random(),\n b: Math.random()\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}\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}\nfunction _greyscale(color) {\n return tinycolor(color).desaturate(100);\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}\nfunction _brighten(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var rgb = tinycolor(color).toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return tinycolor(rgb);\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}\nfunction polyad(color, number) {\n if (isNaN(number) || number <= 0) {\n throw new Error(\"Argument to polyad must be a positive number\");\n }\n var hsl = tinycolor(color).toHsl();\n var result = [tinycolor(color)];\n var step = 360 / number;\n for (var i = 1; i < number; i++) {\n result.push(tinycolor({\n h: (hsl.h + i * step) % 360,\n s: hsl.s,\n l: hsl.l\n }));\n }\n return result;\n}\nfunction _splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [tinycolor(color), tinycolor({\n h: (h + 72) % 360,\n s: hsl.s,\n l: hsl.l\n }), tinycolor({\n h: (h + 216) % 360,\n s: hsl.s,\n l: hsl.l\n })];\n}\nfunction _analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\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}\nfunction _monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h,\n s = hsv.s,\n v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n while (results--) {\n ret.push(tinycolor({\n h: h,\n s: s,\n v: v\n }));\n v = (v + modification) % 1;\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 var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a\n };\n return tinycolor(rgba);\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 out = false;\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// `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 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 if (tinycolor.isReadable(baseColor, bestColor, {\n level: level,\n size: size\n }) || !includeFallbackColors) {\n return bestColor;\n } else {\n args.includeFallbackColors = false;\n return tinycolor.mostReadable(baseColor, [\"#fff\", \"#000\"], args);\n }\n};\n\n// Big List of Colors\n// ------------------\n// <https://www.w3.org/TR/css-color-4/#named-colors>\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// 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 if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\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 var processPercent = isPercentage(n);\n n = Math.min(max, Math.max(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 Math.min(1, Math.max(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 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}\nvar matchers = function () {\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 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 color = color.replace(trimLeft, \"\").replace(trimRight, \"\").toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n } else if (color == \"transparent\") {\n return {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n format: \"name\"\n };\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 {\n r: match[1],\n g: match[2],\n b: match[3]\n };\n }\n if (match = matchers.rgba.exec(color)) {\n return {\n r: match[1],\n g: match[2],\n b: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsl.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3]\n };\n }\n if (match = matchers.hsla.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsv.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3]\n };\n }\n if (match = matchers.hsva.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3],\n a: match[4]\n };\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 return false;\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 || {\n level: \"AA\",\n size: \"small\"\n };\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 {\n level: level,\n size: size\n };\n}\n\nexport { tinycolor as default };\n","import { useSyncExternalStore } from \"react\";\n\nimport { getFromLocalStorage, setToLocalStorage } from \"utils\";\n\nconst createSyncedStore = ({ initialValue, storageKey }) => {\n const listeners = new Set();\n\n const getStoredValue = () => getFromLocalStorage(storageKey, initialValue);\n\n const setStoredValue = value => {\n setToLocalStorage(storageKey, value);\n listeners.forEach(listener => listener());\n };\n\n const store = {\n value: getStoredValue(),\n getSnapshot: () => store.value,\n setValue: newValue => {\n store.value = newValue;\n setStoredValue(newValue);\n },\n subscribe: callback => {\n listeners.add(callback);\n\n const storageEventHandler = event => {\n if (event.key !== storageKey) return;\n\n store.value = getStoredValue();\n listeners.forEach(listener => listener());\n };\n\n if (listeners.size === 1) {\n window.addEventListener(\"storage\", storageEventHandler);\n }\n\n return () => {\n listeners.delete(callback);\n\n if (listeners.size === 0) {\n window.removeEventListener(\"storage\", storageEventHandler);\n }\n };\n },\n };\n\n return store;\n};\n\nconst store = createSyncedStore({\n initialValue: [],\n storageKey: \"recently-used-colors\",\n});\n\nconst useRecentlyUsedColors = () => [\n useSyncExternalStore(store.subscribe, store.getSnapshot),\n store.setValue,\n];\n\nexport default useRecentlyUsedColors;\n"],"names":["createSyncedStore","_ref","initialValue","storageKey","listeners","Set","getStoredValue","getFromLocalStorage","setStoredValue","value","setToLocalStorage","forEach","listener","store","getSnapshot","setValue","newValue","subscribe","callback","add","storageEventHandler","event","key","size","window","addEventListener","removeEventListener","useRecentlyUsedColors","useSyncExternalStore"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"useRecentlyUsedColors-DVZT_MHc.js","sources":["../node_modules/tinycolor2/esm/tinycolor.js","../src/components/ColorPicker/hooks/useRecentlyUsedColors.js"],"sourcesContent":["// This file is autogenerated. It's used to publish ESM to npm.\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\nvar trimLeft = /^\\s+/;\nvar trimRight = /\\s+$/;\nfunction tinycolor(color, opts) {\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 var rgb = inputToRGB(color);\n this._originalInput = color, this._r = rgb.r, this._g = rgb.g, this._b = rgb.b, this._a = rgb.a, this._roundA = Math.round(100 * this._a) / 100, 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 = Math.round(this._r);\n if (this._g < 1) this._g = Math.round(this._g);\n if (this._b < 1) this._b = Math.round(this._b);\n this._ok = rgb.ok;\n}\ntinycolor.prototype = {\n isDark: function isDark() {\n return this.getBrightness() < 128;\n },\n isLight: function isLight() {\n return !this.isDark();\n },\n isValid: function isValid() {\n return this._ok;\n },\n getOriginalInput: function getOriginalInput() {\n return this._originalInput;\n },\n getFormat: function getFormat() {\n return this._format;\n },\n getAlpha: function getAlpha() {\n return this._a;\n },\n getBrightness: function getBrightness() {\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 getLuminance() {\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 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 setAlpha(value) {\n this._a = boundAlpha(value);\n this._roundA = Math.round(100 * this._a) / 100;\n return this;\n },\n toHsv: function toHsv() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v,\n a: this._a\n };\n },\n toHsvString: function toHsvString() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = Math.round(hsv.h * 360),\n s = Math.round(hsv.s * 100),\n v = Math.round(hsv.v * 100);\n return this._a == 1 ? \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" : \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \" + this._roundA + \")\";\n },\n toHsl: function toHsl() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return {\n h: hsl.h * 360,\n s: hsl.s,\n l: hsl.l,\n a: this._a\n };\n },\n toHslString: function toHslString() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = Math.round(hsl.h * 360),\n s = Math.round(hsl.s * 100),\n l = Math.round(hsl.l * 100);\n return this._a == 1 ? \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" : \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \" + this._roundA + \")\";\n },\n toHex: function toHex(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function toHexString(allow3Char) {\n return \"#\" + this.toHex(allow3Char);\n },\n toHex8: function toHex8(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function toHex8String(allow4Char) {\n return \"#\" + this.toHex8(allow4Char);\n },\n toRgb: function toRgb() {\n return {\n r: Math.round(this._r),\n g: Math.round(this._g),\n b: Math.round(this._b),\n a: this._a\n };\n },\n toRgbString: function toRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \")\" : \"rgba(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function toPercentageRgb() {\n return {\n r: Math.round(bound01(this._r, 255) * 100) + \"%\",\n g: Math.round(bound01(this._g, 255) * 100) + \"%\",\n b: Math.round(bound01(this._b, 255) * 100) + \"%\",\n a: this._a\n };\n },\n toPercentageRgbString: function toPercentageRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%)\" : \"rgba(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function toName() {\n if (this._a === 0) {\n return \"transparent\";\n }\n if (this._a < 1) {\n return false;\n }\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function toFilter(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 if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = \"#\" + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n return \"progid:DXImageTransform.Microsoft.gradient(\" + gradientType + \"startColorstr=\" + hex8String + \",endColorstr=\" + secondHex8String + \")\";\n },\n toString: function toString(format) {\n var formatSet = !!format;\n format = format || this._format;\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 if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n },\n clone: function clone() {\n return tinycolor(this.toString());\n },\n _applyModification: function _applyModification(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 lighten() {\n return this._applyModification(_lighten, arguments);\n },\n brighten: function brighten() {\n return this._applyModification(_brighten, arguments);\n },\n darken: function darken() {\n return this._applyModification(_darken, arguments);\n },\n desaturate: function desaturate() {\n return this._applyModification(_desaturate, arguments);\n },\n saturate: function saturate() {\n return this._applyModification(_saturate, arguments);\n },\n greyscale: function greyscale() {\n return this._applyModification(_greyscale, arguments);\n },\n spin: function spin() {\n return this._applyModification(_spin, arguments);\n },\n _applyCombination: function _applyCombination(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function analogous() {\n return this._applyCombination(_analogous, arguments);\n },\n complement: function complement() {\n return this._applyCombination(_complement, arguments);\n },\n monochromatic: function monochromatic() {\n return this._applyCombination(_monochromatic, arguments);\n },\n splitcomplement: function splitcomplement() {\n return this._applyCombination(_splitcomplement, arguments);\n },\n // Disabled until https://github.com/bgrins/TinyColor/issues/254\n // polyad: function (number) {\n // return this._applyCombination(polyad, [number]);\n // },\n triad: function triad() {\n return this._applyCombination(polyad, [3]);\n },\n tetrad: function tetrad() {\n return this._applyCombination(polyad, [4]);\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 } else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\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 var rgb = {\n r: 0,\n g: 0,\n b: 0\n };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n if (_typeof(color) == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n } 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 } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a\n };\n}\n\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 r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n l = (max + min) / 2;\n if (max == min) {\n h = s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n l: l\n };\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 h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\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 if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\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 r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n v = max;\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n if (max == min) {\n h = 0; // achromatic\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n v: v\n };\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]\nfunction hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h),\n 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 return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\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 var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\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 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 var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16)), pad2(convertDecimalToHex(a))];\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 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 var hex = [pad2(convertDecimalToHex(a)), pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\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};\ntinycolor.random = function () {\n return tinycolor.fromRatio({\n r: Math.random(),\n g: Math.random(),\n b: Math.random()\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}\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}\nfunction _greyscale(color) {\n return tinycolor(color).desaturate(100);\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}\nfunction _brighten(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var rgb = tinycolor(color).toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return tinycolor(rgb);\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}\nfunction polyad(color, number) {\n if (isNaN(number) || number <= 0) {\n throw new Error(\"Argument to polyad must be a positive number\");\n }\n var hsl = tinycolor(color).toHsl();\n var result = [tinycolor(color)];\n var step = 360 / number;\n for (var i = 1; i < number; i++) {\n result.push(tinycolor({\n h: (hsl.h + i * step) % 360,\n s: hsl.s,\n l: hsl.l\n }));\n }\n return result;\n}\nfunction _splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [tinycolor(color), tinycolor({\n h: (h + 72) % 360,\n s: hsl.s,\n l: hsl.l\n }), tinycolor({\n h: (h + 216) % 360,\n s: hsl.s,\n l: hsl.l\n })];\n}\nfunction _analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\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}\nfunction _monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h,\n s = hsv.s,\n v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n while (results--) {\n ret.push(tinycolor({\n h: h,\n s: s,\n v: v\n }));\n v = (v + modification) % 1;\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 var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a\n };\n return tinycolor(rgba);\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 out = false;\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// `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 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 if (tinycolor.isReadable(baseColor, bestColor, {\n level: level,\n size: size\n }) || !includeFallbackColors) {\n return bestColor;\n } else {\n args.includeFallbackColors = false;\n return tinycolor.mostReadable(baseColor, [\"#fff\", \"#000\"], args);\n }\n};\n\n// Big List of Colors\n// ------------------\n// <https://www.w3.org/TR/css-color-4/#named-colors>\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// 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 if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\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 var processPercent = isPercentage(n);\n n = Math.min(max, Math.max(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 Math.min(1, Math.max(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 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}\nvar matchers = function () {\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 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 color = color.replace(trimLeft, \"\").replace(trimRight, \"\").toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n } else if (color == \"transparent\") {\n return {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n format: \"name\"\n };\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 {\n r: match[1],\n g: match[2],\n b: match[3]\n };\n }\n if (match = matchers.rgba.exec(color)) {\n return {\n r: match[1],\n g: match[2],\n b: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsl.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3]\n };\n }\n if (match = matchers.hsla.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsv.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3]\n };\n }\n if (match = matchers.hsva.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3],\n a: match[4]\n };\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 return false;\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 || {\n level: \"AA\",\n size: \"small\"\n };\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 {\n level: level,\n size: size\n };\n}\n\nexport { tinycolor as default };\n","import { useSyncExternalStore } from \"react\";\n\nimport { getFromLocalStorage, setToLocalStorage } from \"utils\";\n\nconst createSyncedStore = ({ initialValue, storageKey }) => {\n const listeners = new Set();\n\n const getStoredValue = () => getFromLocalStorage(storageKey, initialValue);\n\n const setStoredValue = value => {\n setToLocalStorage(storageKey, value);\n listeners.forEach(listener => listener());\n };\n\n const store = {\n value: getStoredValue(),\n getSnapshot: () => store.value,\n setValue: newValue => {\n store.value = newValue;\n setStoredValue(newValue);\n },\n subscribe: callback => {\n listeners.add(callback);\n\n const storageEventHandler = event => {\n if (event.key !== storageKey) return;\n\n store.value = getStoredValue();\n listeners.forEach(listener => listener());\n };\n\n if (listeners.size === 1) {\n window.addEventListener(\"storage\", storageEventHandler);\n }\n\n return () => {\n listeners.delete(callback);\n\n if (listeners.size === 0) {\n window.removeEventListener(\"storage\", storageEventHandler);\n }\n };\n },\n };\n\n return store;\n};\n\nconst store = createSyncedStore({\n initialValue: [],\n storageKey: \"recently-used-colors\",\n});\n\nconst useRecentlyUsedColors = () => [\n useSyncExternalStore(store.subscribe, store.getSnapshot),\n store.setValue,\n];\n\nexport default useRecentlyUsedColors;\n"],"names":["createSyncedStore","_ref","initialValue","storageKey","listeners","Set","getStoredValue","getFromLocalStorage","setStoredValue","value","setToLocalStorage","forEach","listener","store","getSnapshot","setValue","newValue","subscribe","callback","add","storageEventHandler","event","key","size","window","addEventListener","removeEventListener","useRecentlyUsedColors","useSyncExternalStore"],"mappings":"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","x_google_ignoreList":[0]}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-BlcVTw2b.js","sources":["../../src/utils/dayjs/timezonePlugin.js","../../src/utils/dayjs/index.js","../../src/utils/index.js"],"sourcesContent":["const typeToPos = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5,\n};\n\nconst dateTimeFormatDefaults = {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n};\n\n// Cache time-zone lookups from Intl.DateTimeFormat,\n// as it is a *very* slow method.\nconst dtfCache = {};\nconst getDateTimeFormat = (timezone, options = {}) => {\n const timeZoneName = options.timeZoneName || \"short\";\n const key = `${timezone}|${timeZoneName}`;\n let dtf = dtfCache[key];\n if (!dtf) {\n dtf = new Intl.DateTimeFormat(\"en-US\", {\n ...dateTimeFormatDefaults,\n hour12: false,\n timeZone: timezone,\n timeZoneName,\n });\n dtfCache[key] = dtf;\n }\n\n return dtf;\n};\n\nconst localeStringifierCache = {};\nconst getLocaleStringifier = timezone => {\n let localeStringifier = localeStringifierCache[timezone];\n if (!localeStringifier) {\n localeStringifier = new Intl.DateTimeFormat(\"en-US\", {\n ...dateTimeFormatDefaults,\n timeZone: timezone,\n });\n localeStringifierCache[timezone] = localeStringifier;\n }\n\n return localeStringifier;\n};\n\n// eslint-disable-next-line no-unused-vars\nexport default (o, c, d) => {\n let defaultTimezone;\n\n const makeFormatParts = (timestamp, timezone, options = {}) => {\n const date = new Date(timestamp);\n const dtf = getDateTimeFormat(timezone, options);\n\n return dtf.formatToParts(date);\n };\n\n const tzOffset = (timestamp, timezone) => {\n const formatResult = makeFormatParts(timestamp, timezone);\n const filled = [];\n for (let i = 0; i < formatResult.length; i += 1) {\n const { type, value } = formatResult[i];\n const pos = typeToPos[type];\n\n if (pos >= 0) {\n filled[pos] = parseInt(value, 10);\n }\n }\n const hour = filled[3];\n // Workaround for the same behavior in different node version\n // https://github.com/nodejs/node/issues/33027\n /* istanbul ignore next */\n const fixedHour = hour === 24 ? 0 : hour;\n const utcString = `${filled[0]}-${filled[1]}-${filled[2]} ${fixedHour}:${filled[4]}:${filled[5]}:000`;\n const utcTs = d.utc(utcString).valueOf();\n let asTS = Number(timestamp);\n const over = asTS % 1000;\n asTS -= over;\n\n return (utcTs - asTS) / (60 * 1000);\n };\n\n // find the right offset a given local time. The o input is our guess, which determines which\n // offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST)\n // https://github.com/moment/luxon/blob/master/src/datetime.js#L76\n const fixOffset = (localTS, o0, tz) => {\n // Our UTC time is just a guess because our offset is just a guess\n let utcGuess = localTS - o0 * 60 * 1000;\n // Test whether the zone matches the offset for this ts\n const o2 = tzOffset(utcGuess, tz);\n // If so, offset didn't change and we're done\n if (o0 === o2) {\n return [utcGuess, o0];\n }\n // If not, change the ts by the difference in the offset\n utcGuess -= (o2 - o0) * 60 * 1000;\n // If that gives us the local time we want, we're done\n const o3 = tzOffset(utcGuess, tz);\n if (o2 === o3) {\n return [utcGuess, o2];\n }\n\n // If it's different, we're in a hole time.\n // The offset has changed, but the we don't adjust the time\n return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];\n };\n\n const proto = c.prototype;\n\n // eslint-disable-next-line default-param-last\n proto.tz = function (timezone = defaultTimezone, keepLocalTime) {\n const oldOffset = this.utcOffset();\n const date = this.toDate();\n const target = getLocaleStringifier(timezone).format(date);\n const diff = Math.round((date - new Date(target)) / 1000 / 60);\n let ins = d(target)\n .$set(\"millisecond\", this.$ms)\n .utcOffset(-Math.round(date.getTimezoneOffset() / 15) * 15 - diff, true);\n if (keepLocalTime) {\n const newOffset = ins.utcOffset();\n ins = ins.add(oldOffset - newOffset, \"minute\");\n }\n ins.$x.$timezone = timezone;\n\n return ins;\n };\n\n proto.offsetName = function (type) {\n // type: short(default) / long\n const zone = this.$x.$timezone || d.tz.guess();\n const result = makeFormatParts(this.valueOf(), zone, {\n timeZoneName: type,\n }).find(m => m.type.toLowerCase() === \"timezonename\");\n\n return result && result.value;\n };\n\n const oldStartOf = proto.startOf;\n proto.startOf = function (units, startOf) {\n if (!this.$x || !this.$x.$timezone) {\n return oldStartOf.call(this, units, startOf);\n }\n\n const withoutTz = d(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"));\n const startOfWithoutTz = oldStartOf.call(withoutTz, units, startOf);\n\n return startOfWithoutTz.tz(this.$x.$timezone, true);\n };\n\n d.tz = function (input, arg1, arg2) {\n const parseFormat = arg2 && arg1;\n const timezone = arg2 || arg1 || defaultTimezone;\n const previousOffset = tzOffset(Number(d()), timezone);\n if (typeof input !== \"string\") {\n // timestamp number || js Date || Day.js\n return d(input).tz(timezone);\n }\n const localTs = d.utc(input, parseFormat).valueOf();\n const [targetTs, targetOffset] = fixOffset(\n localTs,\n previousOffset,\n timezone\n );\n const ins = d(targetTs).utcOffset(targetOffset);\n ins.$x.$timezone = timezone;\n\n return ins;\n };\n\n d.tz.guess = function () {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n };\n\n d.tz.setDefault = function (timezone) {\n defaultTimezone = timezone;\n };\n};\n","import pureDayjs from \"dayjs\";\nimport localeData from \"dayjs/plugin/localeData\";\nimport utc from \"dayjs/plugin/utc\";\nimport weekday from \"dayjs/plugin/weekday\";\nimport weekOfYear from \"dayjs/plugin/weekOfYear\";\n\nimport timezone from \"./timezonePlugin\";\n\npureDayjs.extend(weekOfYear);\npureDayjs.extend(weekday);\npureDayjs.extend(localeData);\npureDayjs.extend(utc);\npureDayjs.extend(timezone);\n\nclass LRUCache {\n constructor(limit) {\n this.limit = limit;\n this.cache = new Map();\n }\n\n get(key) {\n const value = this.cache.get(key);\n this.cache.delete(key);\n this.cache.set(key, value);\n\n return value;\n }\n\n set(key, value) {\n if (this.cache.size >= this.limit) {\n const oldestKey = this.cache.keys().next().value;\n this.cache.delete(oldestKey);\n }\n this.cache.set(key, value);\n }\n\n has(key) {\n return this.cache.has(key);\n }\n}\n\nconst hasTimezone = dateString => {\n const timezoneRegex = /Z|[+-]\\d{2}:\\d{2}$|[+-]\\d{4}$|GMT([+-]\\d{4})?$/;\n\n return timezoneRegex.test(dateString);\n};\n\nconst cache = new LRUCache(1000);\n\nconst dayjs = (...args) => {\n const cacheKey = JSON.stringify(args);\n\n if (cache.has(cacheKey) && args[0] !== undefined) return cache.get(cacheKey);\n\n const userTimezone = pureDayjs.tz().$x.$timezone;\n const browserTimezone = pureDayjs.tz.guess();\n const timezone = userTimezone || browserTimezone;\n\n if (userTimezone === browserTimezone || userTimezone === undefined) {\n const result = pureDayjs(...args);\n\n if (args[0] !== undefined) cache.set(cacheKey, result);\n\n return result;\n }\n\n if (args.length > 0 && (typeof args[0] === \"string\" || args[0] === null)) {\n const pureDayjsArgs = args.slice(0, Math.min(args.length, 2));\n\n if (hasTimezone(args[0])) {\n args[0] = pureDayjs(...pureDayjsArgs);\n } else {\n args[0] = pureDayjs(...pureDayjsArgs).format(\"YYYY-MM-DD HH:mm:ss\");\n args[1] = \"YYYY-MM-DD HH:mm:ss\";\n }\n }\n\n if (args[0]?.toString() === \"Invalid Date\") {\n const result = pureDayjs(...args);\n\n if (args[0] !== undefined) cache.set(cacheKey, result);\n\n return result;\n }\n\n const result =\n args.length === 2 ? pureDayjs.tz(...args, timezone) : pureDayjs.tz(...args);\n\n if (args[0] !== undefined) cache.set(cacheKey, result);\n\n return result;\n};\n\nObject.assign(dayjs, { ...pureDayjs });\n\nexport default dayjs;\n","import { preprocessForSerialization } from \"neetocist\";\nimport { parse, stringify } from \"qs\";\nimport { complement, equals, isEmpty, omit, pipe, toPairs } from \"ramda\";\n\n// eslint-disable-next-line import/extensions\nimport en from \"src/translations/en.json\";\n\nimport dayjs from \"./dayjs\";\n\nconst getEnTranslationValue = translationKey =>\n translationKey.split(\".\").reduce((acc, key) => acc[key], en);\n\nconst getScrollbarWidth = () => {\n const parentDiv = document.createElement(\"div\");\n parentDiv.style.visibility = \"hidden\";\n parentDiv.style.overflow = \"scroll\";\n document.body.appendChild(parentDiv);\n const childDiv = document.createElement(\"div\");\n parentDiv.appendChild(childDiv);\n const scrollbarWidth = parentDiv.offsetWidth - childDiv.offsetWidth;\n parentDiv?.parentNode?.removeChild(parentDiv);\n\n return scrollbarWidth;\n};\n\nexport const getTimezoneAppliedDateTime = inputDateTime => {\n const timezoneAppliedDateTime = date =>\n date && typeof date.format === \"function\"\n ? dayjs(date.format(\"YYYY-MM-DD HH:mm:ss\"))\n : null;\n\n return Array.isArray(inputDateTime)\n ? inputDateTime.map(timezoneAppliedDateTime)\n : timezoneAppliedDateTime(inputDateTime);\n};\n\nexport const noop = () => {};\n\nexport const hyphenize = input => {\n const fallbackString = \"nui\";\n\n if (typeof input === \"number\") return String(input);\n\n if (input && typeof input === \"string\" && input.replace) {\n return input\n .replace(/[\\s_]/g, \"-\")\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/-+/g, \"-\")\n .toLowerCase();\n }\n\n return fallbackString;\n};\n\nexport const convertToDayjsObjects = value =>\n value instanceof Array\n ? value.map(date => (date ? dayjs(date) : date))\n : value && dayjs(value);\n\nexport class UniqueArray {\n constructor() {\n this.array = [];\n }\n\n add(item) {\n if (this.array.some(equals(item))) return false;\n this.array.push(item);\n\n return true;\n }\n\n remove(item) {\n this.array = this.array.filter(complement(equals(item)));\n }\n}\n\nexport const trapFocusOnFocusableElements = ref => {\n const focusableElements =\n 'button,[href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n\n const firstFocusableElement =\n ref?.current?.querySelectorAll(focusableElements)[0];\n const focusableContent = ref?.current?.querySelectorAll(focusableElements);\n const lastFocusableElement = focusableContent[focusableContent?.length - 1];\n\n const onKeyDown = e => {\n const isTabPressed = e.key === \"Tab\" || e.keyCode === 9;\n if (!isTabPressed) {\n return;\n }\n\n if (e.shiftKey) {\n if (document.activeElement === firstFocusableElement) {\n lastFocusableElement.focus();\n e.preventDefault();\n }\n } else {\n if (document.activeElement === lastFocusableElement) {\n firstFocusableElement.focus();\n e.preventDefault();\n }\n }\n };\n\n document.addEventListener(\"keydown\", onKeyDown);\n\n return () => document.removeEventListener(\"keydown\", onKeyDown);\n};\n\nexport const focusFirstFocusableElement = ref => {\n const focusableElements =\n 'button,[href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n\n const firstFocusableElement =\n ref?.current?.querySelectorAll(focusableElements)[0];\n\n firstFocusableElement?.focus();\n};\n\nexport const hideScrollAndAddMargin = () => {\n if (!document.body) return;\n\n const scrollbarWidth = getScrollbarWidth();\n document.body.style.overflow = \"hidden\";\n document.body.style.marginRight = `${scrollbarWidth}px`;\n};\n\nexport const showScrollAndRemoveMargin = () => {\n if (!document.body) return;\n\n document.body.style.overflow = \"auto\";\n document.body.style.marginRight = \"0px\";\n};\n\nexport const ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES = {\n colorBgContainer: \"rgb(var(--neeto-ui-white))\",\n colorBorder: \"rgb(var(--neeto-ui-gray-300))\",\n colorBorderSecondary: \"rgb(var(--neeto-ui-gray-200))\",\n colorFillAlter: \"rgb(var(--neeto-ui-gray-100))\",\n colorFillContent: \"rgb(var(--neeto-ui-gray-100))\",\n colorFillSecondary: \"rgb(var(--neeto-ui-gray-100))\",\n colorIcon: \"rgb(var(--neeto-ui-gray-700))\",\n colorIconHover: \"rgb(var(--neeto-ui-gray-800))\",\n colorLink: \"rgb(var(--neeto-ui-primary-500))\",\n colorLinkActive: \"rgb(var(--neeto-ui-primary-800))\",\n colorLinkHover: \"rgb(var(--neeto-ui-primary-600))\",\n colorPrimary: \"rgb(var(--neeto-ui-primary-500))\",\n colorSplit: \"rgb(var(--neeto-ui-gray-100))\",\n colorText: \"rgb(var(--neeto-ui-gray-800))\",\n colorTextDescription: \"rgb(var(--neeto-ui-gray-700))\",\n colorTextDisabled: \"rgb(var(--neeto-ui-gray-600))\",\n colorTextHeading: \"rgb(var(--neeto-ui-black))\",\n colorTextPlaceholder: \"rgb(var(--neeto-ui-gray-500))\",\n controlItemBgActive: \"rgb(var(--neeto-ui-primary-100))\",\n controlItemBgActiveHover: \"rgb(var(--neeto-ui-pastel-purple))\",\n controlItemBgHover: \"rgb(var(--neeto-ui-gray-100))\",\n};\n\nexport const getQueryParams = (options = {}) =>\n parse(location.search, { ignoreQueryPrefix: true, ...options });\n\nexport const buildUrl = (route, params) => {\n const placeHolders = [];\n toPairs(params).forEach(([key, value]) => {\n if (!route.includes(`:${key}`)) return;\n placeHolders.push(key);\n route = route.replace(`:${key}`, encodeURIComponent(value));\n });\n\n const queryParams = pipe(\n omit(placeHolders),\n preprocessForSerialization,\n stringify\n )(params);\n\n return isEmpty(queryParams) ? route : `${route}?${queryParams}`;\n};\n\nexport const getLocale = (i18n, t, translationKey) => {\n if (isEmpty(i18n)) return getEnTranslationValue(translationKey);\n\n return i18n.exists(translationKey)\n ? t(translationKey)\n : getEnTranslationValue(translationKey);\n};\n\nexport const setToLocalStorage = (key, value) => {\n try {\n // eslint-disable-next-line @bigbinary/neeto/no-local-storage\n localStorage.setItem(key, JSON.stringify(value));\n } catch {\n // localStorage access can fail due to private browsing mode or storage restrictions\n }\n};\n\nexport const removeFromLocalStorage = key => {\n try {\n // eslint-disable-next-line @bigbinary/neeto/no-local-storage\n localStorage.removeItem(key);\n } catch {\n // localStorage access can fail due to private browsing mode or storage restrictions\n }\n};\n\nexport const getFromLocalStorage = (key, defaultValue) => {\n try {\n // eslint-disable-next-line @bigbinary/neeto/no-local-storage\n const storedValue = localStorage.getItem(key);\n\n return storedValue ? JSON.parse(storedValue) : defaultValue;\n } catch {\n // localStorage access can fail due to private browsing mode or storage restrictions\n return defaultValue;\n }\n};\n\nexport { dayjs };\n"],"names":["typeToPos","year","month","day","hour","minute","second","dateTimeFormatDefaults","dtfCache","getDateTimeFormat","timezone","options","arguments","length","undefined","timeZoneName","key","concat","dtf","Intl","DateTimeFormat","_objectSpread","hour12","timeZone","localeStringifierCache","getLocaleStringifier","localeStringifier","o","c","d","defaultTimezone","makeFormatParts","timestamp","date","Date","formatToParts","tzOffset","formatResult","filled","i","_formatResult$i","type","value","pos","parseInt","fixedHour","utcString","utcTs","utc","valueOf","asTS","Number","over","fixOffset","localTS","o0","tz","utcGuess","o2","o3","Math","min","max","proto","prototype","keepLocalTime","oldOffset","utcOffset","toDate","target","format","diff","round","ins","$set","$ms","getTimezoneOffset","newOffset","add","$x","$timezone","offsetName","zone","guess","result","find","m","toLowerCase","oldStartOf","startOf","units","call","withoutTz","startOfWithoutTz","input","arg1","arg2","parseFormat","previousOffset","localTs","_fixOffset","_fixOffset2","_slicedToArray","targetTs","targetOffset","resolvedOptions","setDefault","pureDayjs","extend","weekOfYear","weekday","localeData","LRUCache","limit","_classCallCheck","cache","Map","_createClass","get","set","size","oldestKey","keys","next","has","hasTimezone","dateString","timezoneRegex","test","dayjs","_args$","_len","args","Array","_key","cacheKey","JSON","stringify","userTimezone","browserTimezone","apply","pureDayjsArgs","slice","_toConsumableArray","toString","Object","assign","getEnTranslationValue","translationKey","split","reduce","acc","en","getScrollbarWidth","_parentDiv$parentNode","parentDiv","document","createElement","style","visibility","overflow","body","appendChild","childDiv","scrollbarWidth","offsetWidth","parentNode","removeChild","getTimezoneAppliedDateTime","inputDateTime","timezoneAppliedDateTime","isArray","map","noop","hyphenize","fallbackString","String","replace","convertToDayjsObjects","UniqueArray","array","item","some","equals","push","remove","filter","complement","trapFocusOnFocusableElements","ref","_ref$current","_ref$current2","focusableElements","firstFocusableElement","current","querySelectorAll","focusableContent","lastFocusableElement","onKeyDown","e","isTabPressed","keyCode","shiftKey","activeElement","focus","preventDefault","addEventListener","removeEventListener","focusFirstFocusableElement","_ref$current3","hideScrollAndAddMargin","marginRight","showScrollAndRemoveMargin","ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES","colorBgContainer","colorBorder","colorBorderSecondary","colorFillAlter","colorFillContent","colorFillSecondary","colorIcon","colorIconHover","colorLink","colorLinkActive","colorLinkHover","colorPrimary","colorSplit","colorText","colorTextDescription","colorTextDisabled","colorTextHeading","colorTextPlaceholder","controlItemBgActive","controlItemBgActiveHover","controlItemBgHover","buildUrl","route","params","placeHolders","toPairs","forEach","_ref","_ref2","includes","encodeURIComponent","queryParams","pipe","omit","preprocessForSerialization","isEmpty","getLocale","i18n","t","exists","setToLocalStorage","localStorage","setItem","_unused","removeFromLocalStorage","removeItem","_unused2","getFromLocalStorage","defaultValue","storedValue","getItem","parse","_unused3"],"mappings":"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"}
|