reanimated-color-picker 2.2.0-beta.4 → 2.2.0
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/lib/commonjs/AppContext.js +2 -2
- package/lib/commonjs/AppContext.js.map +3 -3
- package/lib/commonjs/ColorPicker.js +6 -5
- package/lib/commonjs/ColorPicker.js.map +6 -4
- package/lib/commonjs/colorKit/PrivateMethods.js.map +2 -2
- package/lib/commonjs/colorKit/colorKit.js.map +2 -2
- package/lib/commonjs/colorKit/types.js.map +1 -1
- package/lib/commonjs/components/InputWidget/InputWidget.js.map +3 -3
- package/lib/commonjs/components/Panels/Panel1.js.map +3 -3
- package/lib/commonjs/components/Panels/Panel2.js.map +3 -3
- package/lib/commonjs/components/Panels/Panel3.js.map +3 -3
- package/lib/commonjs/components/Panels/Panel4.js.map +3 -3
- package/lib/commonjs/components/Panels/Panel5.js +15 -7
- package/lib/commonjs/components/Panels/Panel5.js.map +5 -3
- package/lib/commonjs/components/Preview.js.map +3 -3
- package/lib/commonjs/components/PreviewText.js.map +3 -3
- package/lib/commonjs/components/Sliders/BrightnessSlider.js.map +3 -3
- package/lib/commonjs/components/Sliders/HueCircular.js.map +3 -3
- package/lib/commonjs/components/Sliders/HueSlider.js.map +3 -3
- package/lib/commonjs/components/Sliders/OpacitySlider.js.map +3 -3
- package/lib/commonjs/components/Sliders/RGB/BlueSlider.js.map +3 -3
- package/lib/commonjs/components/Sliders/RGB/GreenSlider.js.map +3 -3
- package/lib/commonjs/components/Sliders/RGB/RedSlider.js.map +3 -3
- package/lib/commonjs/components/Sliders/SaturationSlider.js.map +3 -3
- package/lib/commonjs/components/Swatches.js.map +3 -3
- package/lib/commonjs/components/Thumb/Thumb.js.map +3 -3
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/AppContext.js +2 -2
- package/lib/module/AppContext.js.map +3 -3
- package/lib/module/ColorPicker.js +8 -7
- package/lib/module/ColorPicker.js.map +6 -4
- package/lib/module/colorKit/PrivateMethods.js.map +2 -2
- package/lib/module/colorKit/colorKit.js.map +2 -2
- package/lib/module/colorKit/types.js.map +1 -1
- package/lib/module/components/InputWidget/InputWidget.js +2 -2
- package/lib/module/components/InputWidget/InputWidget.js.map +3 -3
- package/lib/module/components/Panels/Panel1.js +2 -2
- package/lib/module/components/Panels/Panel1.js.map +3 -3
- package/lib/module/components/Panels/Panel2.js +2 -2
- package/lib/module/components/Panels/Panel2.js.map +3 -3
- package/lib/module/components/Panels/Panel3.js +2 -2
- package/lib/module/components/Panels/Panel3.js.map +3 -3
- package/lib/module/components/Panels/Panel4.js +2 -2
- package/lib/module/components/Panels/Panel4.js.map +3 -3
- package/lib/module/components/Panels/Panel5.js +17 -9
- package/lib/module/components/Panels/Panel5.js.map +5 -3
- package/lib/module/components/Preview.js +2 -2
- package/lib/module/components/Preview.js.map +3 -3
- package/lib/module/components/PreviewText.js +2 -2
- package/lib/module/components/PreviewText.js.map +3 -3
- package/lib/module/components/Sliders/BrightnessSlider.js +2 -2
- package/lib/module/components/Sliders/BrightnessSlider.js.map +3 -3
- package/lib/module/components/Sliders/HueCircular.js +2 -2
- package/lib/module/components/Sliders/HueCircular.js.map +3 -3
- package/lib/module/components/Sliders/HueSlider.js +2 -2
- package/lib/module/components/Sliders/HueSlider.js.map +3 -3
- package/lib/module/components/Sliders/OpacitySlider.js +2 -2
- package/lib/module/components/Sliders/OpacitySlider.js.map +3 -3
- package/lib/module/components/Sliders/RGB/BlueSlider.js +2 -2
- package/lib/module/components/Sliders/RGB/BlueSlider.js.map +3 -3
- package/lib/module/components/Sliders/RGB/GreenSlider.js +2 -2
- package/lib/module/components/Sliders/RGB/GreenSlider.js.map +3 -3
- package/lib/module/components/Sliders/RGB/RedSlider.js +2 -2
- package/lib/module/components/Sliders/RGB/RedSlider.js.map +3 -3
- package/lib/module/components/Sliders/SaturationSlider.js +2 -2
- package/lib/module/components/Sliders/SaturationSlider.js.map +3 -3
- package/lib/module/components/Swatches.js +2 -2
- package/lib/module/components/Swatches.js.map +3 -3
- package/lib/module/components/Thumb/Thumb.js +2 -2
- package/lib/module/components/Thumb/Thumb.js.map +3 -3
- package/lib/module/types.js.map +1 -1
- package/lib/src/AppContext.js +2 -2
- package/lib/src/ColorPicker.js +7 -7
- package/lib/src/components/InputWidget/InputWidget.js +2 -2
- package/lib/src/components/Panels/Panel1.js +2 -2
- package/lib/src/components/Panels/Panel2.js +2 -2
- package/lib/src/components/Panels/Panel3.js +2 -2
- package/lib/src/components/Panels/Panel4.js +2 -2
- package/lib/src/components/Panels/Panel5.js +9 -7
- package/lib/src/components/Preview.js +2 -2
- package/lib/src/components/PreviewText.js +2 -2
- package/lib/src/components/Sliders/BrightnessSlider.js +2 -2
- package/lib/src/components/Sliders/HueCircular.js +2 -2
- package/lib/src/components/Sliders/HueSlider.js +2 -2
- package/lib/src/components/Sliders/OpacitySlider.js +2 -2
- package/lib/src/components/Sliders/RGB/BlueSlider.js +2 -2
- package/lib/src/components/Sliders/RGB/GreenSlider.js +2 -2
- package/lib/src/components/Sliders/RGB/RedSlider.js +2 -2
- package/lib/src/components/Sliders/SaturationSlider.js +2 -2
- package/lib/src/components/Swatches.js +2 -2
- package/lib/src/components/Thumb/Thumb.js +2 -2
- package/lib/typescript/AppContext.d.ts +3 -3
- package/lib/typescript/AppContext.d.ts.map +1 -1
- package/lib/typescript/ColorPicker.d.ts.map +1 -1
- package/lib/typescript/colorKit/PrivateMethods.d.ts +2 -2
- package/lib/typescript/colorKit/PrivateMethods.d.ts.map +1 -1
- package/lib/typescript/colorKit/colorKit.d.ts +48 -48
- package/lib/typescript/colorKit/colorKit.d.ts.map +1 -1
- package/lib/typescript/colorKit/types.d.ts +1 -1
- package/lib/typescript/colorKit/types.d.ts.map +1 -1
- package/lib/typescript/components/Panels/Panel5.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +10 -10
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = require('react');
|
|
8
|
-
const
|
|
9
|
-
var _default =
|
|
8
|
+
const pickerContext = /*#__PURE__*/ (0, _react.createContext)(null);
|
|
9
|
+
var _default = pickerContext;
|
|
10
10
|
exports.default = _default;
|
|
11
11
|
//# sourceMappingURL=AppContext.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"file": "AppContext.js",
|
|
4
|
-
"names": ["_react", "require", "
|
|
4
|
+
"names": ["_react", "require", "pickerContext", "createContext", "_default", "exports", "default"],
|
|
5
5
|
"sources": ["../../src/AppContext.ts"],
|
|
6
6
|
"sourcesContent": [
|
|
7
|
-
"import { createContext } from 'react';\r\nimport type {
|
|
7
|
+
"import { createContext } from 'react';\r\nimport type { ColorPickerContext } from '@types';\r\n\r\nconst pickerContext = createContext<ColorPickerContext>(null!);\r\n\r\nexport default pickerContext;\r\n"
|
|
8
8
|
],
|
|
9
|
-
"mappings": ";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,MAAMC,
|
|
9
|
+
"mappings": ";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,MAAMC,aAAa,gBAAG,IAAAC,oBAAa,EAAqB,IAAI,CAAE;AAAC,IAAAC,QAAA,GAEhDF,aAAa;AAAAG,OAAA,CAAAC,OAAA,GAAAF,QAAA"
|
|
10
10
|
}
|
|
@@ -110,19 +110,20 @@ const ColorPicker = /*#__PURE__*/ (0, _react.forwardRef)((_ref, ref) => {
|
|
|
110
110
|
const onGestureChange = color => {
|
|
111
111
|
onChange === null || onChange === void 0 ? void 0 : onChange(returnedResults(color));
|
|
112
112
|
};
|
|
113
|
-
const setColor = color
|
|
113
|
+
const setColor = function (color) {
|
|
114
|
+
let duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : thumbAnimationDuration;
|
|
114
115
|
const { h, s, v, a } = _colorKit.default.HSV(color).object();
|
|
115
116
|
hueValue.value = (0, _reactNativeReanimated.withTiming)(h, {
|
|
116
|
-
duration
|
|
117
|
+
duration,
|
|
117
118
|
});
|
|
118
119
|
saturationValue.value = (0, _reactNativeReanimated.withTiming)(s, {
|
|
119
|
-
duration
|
|
120
|
+
duration,
|
|
120
121
|
});
|
|
121
122
|
brightnessValue.value = (0, _reactNativeReanimated.withTiming)(v, {
|
|
122
|
-
duration
|
|
123
|
+
duration,
|
|
123
124
|
});
|
|
124
125
|
alphaValue.value = (0, _reactNativeReanimated.withTiming)(a, {
|
|
125
|
-
duration
|
|
126
|
+
duration,
|
|
126
127
|
});
|
|
127
128
|
};
|
|
128
129
|
(0, _react.useEffect)(() => {
|
|
@@ -95,21 +95,23 @@
|
|
|
95
95
|
"onGestureEnd",
|
|
96
96
|
"onGestureChange",
|
|
97
97
|
"setColor",
|
|
98
|
-
"withTiming",
|
|
99
98
|
"duration",
|
|
99
|
+
"arguments",
|
|
100
|
+
"length",
|
|
101
|
+
"undefined",
|
|
102
|
+
"withTiming",
|
|
100
103
|
"useEffect",
|
|
101
104
|
"useImperativeHandle",
|
|
102
105
|
"ctxValue",
|
|
103
106
|
"GestureHandlerRootView",
|
|
104
107
|
"direction",
|
|
105
|
-
"undefined",
|
|
106
108
|
"Provider",
|
|
107
109
|
"_default",
|
|
108
110
|
"exports"
|
|
109
111
|
],
|
|
110
112
|
"sources": ["../../src/ColorPicker.tsx"],
|
|
111
113
|
"sourcesContent": [
|
|
112
|
-
"import React, { useEffect, useRef, forwardRef, useImperativeHandle } from 'react';\r\nimport { Text } from 'react-native';\r\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\r\nimport { useSharedValue, withTiming } from 'react-native-reanimated';\r\n\r\nimport { isWeb } from '@utils';\r\nimport colorKit from '@colorKit';\r\nimport
|
|
114
|
+
"import React, { useEffect, useRef, forwardRef, useImperativeHandle } from 'react';\r\nimport { Text } from 'react-native';\r\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\r\nimport { useSharedValue, withTiming } from 'react-native-reanimated';\r\n\r\nimport { isWeb } from '@utils';\r\nimport colorKit from '@colorKit';\r\nimport pickerContext from '@context';\r\n\r\nimport type { SupportedColorFormats } from './colorKit/types';\r\nimport type { ColorPickerProps, ColorPickerRef, ColorPickerContext } from '@types';\r\n\r\nif (isWeb) {\r\n // @ts-ignore\r\n if (!global.setImmediate) global.setImmediate = setTimeout;\r\n try {\r\n const { enableExperimentalWebImplementation } = require('react-native-gesture-handler');\r\n enableExperimentalWebImplementation(true);\r\n } catch (error) {\r\n // ignore\r\n }\r\n}\r\n\r\nconst ColorPicker = forwardRef<ColorPickerRef, ColorPickerProps>(\r\n (\r\n {\r\n adaptSpectrum = false,\r\n sliderThickness = 25,\r\n thumbAnimationDuration = 200,\r\n thumbSize = 35,\r\n thumbShape = 'ring',\r\n boundedThumb = false,\r\n thumbColor,\r\n renderThumb,\r\n thumbStyle,\r\n thumbInnerStyle,\r\n value = '#fff',\r\n onChange,\r\n onComplete,\r\n style = {},\r\n children = <Text>NO CHILDREN</Text>,\r\n },\r\n ref\r\n ) => {\r\n const initialColor = useRef(colorKit.HSV(value).object()).current;\r\n // color's channels values.\r\n const hueValue = useSharedValue(initialColor.h);\r\n const saturationValue = useSharedValue(initialColor.s);\r\n const brightnessValue = useSharedValue(initialColor.v);\r\n const alphaValue = useSharedValue(initialColor.a);\r\n\r\n const returnedResults = (color?: SupportedColorFormats) => {\r\n color = color ?? {\r\n h: hueValue.value,\r\n s: saturationValue.value,\r\n v: brightnessValue.value,\r\n a: alphaValue.value,\r\n };\r\n return {\r\n hex: colorKit.HEX(color),\r\n rgb: colorKit.RGB(color).string(false),\r\n rgba: colorKit.RGB(color).string(true),\r\n hsl: colorKit.HSL(color).string(false),\r\n hsla: colorKit.HSL(color).string(true),\r\n hsv: colorKit.HSV(color).string(false),\r\n hsva: colorKit.HSV(color).string(true),\r\n hwb: colorKit.HWB(color).string(false),\r\n hwba: colorKit.HWB(color).string(true),\r\n };\r\n };\r\n\r\n const onGestureEnd = (color?: SupportedColorFormats) => {\r\n onComplete?.(returnedResults(color));\r\n };\r\n\r\n const onGestureChange = (color?: SupportedColorFormats) => {\r\n onChange?.(returnedResults(color));\r\n };\r\n\r\n const setColor = (color: string, duration = thumbAnimationDuration) => {\r\n const { h, s, v, a } = colorKit.HSV(color).object();\r\n\r\n hueValue.value = withTiming(h, { duration });\r\n saturationValue.value = withTiming(s, { duration });\r\n brightnessValue.value = withTiming(v, { duration });\r\n alphaValue.value = withTiming(a, { duration });\r\n };\r\n\r\n useEffect(() => {\r\n setColor(value);\r\n }, [value]);\r\n\r\n useImperativeHandle(ref, () => ({ setColor }));\r\n\r\n const ctxValue: ColorPickerContext = {\r\n hueValue,\r\n saturationValue,\r\n brightnessValue,\r\n alphaValue,\r\n\r\n adaptSpectrum,\r\n\r\n sliderThickness,\r\n thumbSize,\r\n thumbShape,\r\n boundedThumb,\r\n thumbColor,\r\n renderThumb,\r\n thumbStyle,\r\n thumbInnerStyle,\r\n\r\n value,\r\n setColor,\r\n\r\n returnedResults,\r\n onGestureEnd,\r\n onGestureChange,\r\n };\r\n\r\n return (\r\n <GestureHandlerRootView style={[{ direction: isWeb ? 'ltr' : undefined }, style]}>\r\n <pickerContext.Provider value={ctxValue}>{children}</pickerContext.Provider>\r\n </GestureHandlerRootView>\r\n );\r\n }\r\n);\r\n\r\nexport default ColorPicker;\r\n"
|
|
113
115
|
],
|
|
114
|
-
"mappings": ";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AAEA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,WAAA,GAAAD,sBAAA,CAAAN,OAAA;
|
|
116
|
+
"mappings": "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"
|
|
115
117
|
}
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
],
|
|
149
149
|
"sources": ["../../../src/colorKit/PrivateMethods.ts"],
|
|
150
150
|
"sourcesContent": [
|
|
151
|
-
"import colorsRegex from './colorsRegex';\r\nimport { clamp100, clampAlpha, clampHue, clampRGB } from './utilities';\r\n\r\nimport type { AnyFormat, ColorFormats, hslaT, hslT, hsvaT, hsvT, hwbaT, hwbT, rgbaT, rgbT } from './types';\r\n\r\nexport default class PrivateMethods {\r\n /** - Identify the color format of a given `string` or `object` */\r\n detectColorFormat(color: AnyFormat): ColorFormats | null {\r\n // color int\r\n if (typeof color === 'number') color = '#' + color.toString(16);\r\n\r\n // color string\r\n if (typeof color === 'string') {\r\n color = color.trim().toLowerCase();\r\n for (const key in colorsRegex) {\r\n const format = key as ColorFormats;\r\n const entry = colorsRegex[format];\r\n if (Array.isArray(entry)) {\r\n for (let i = 0; i < entry.length; i++) if (entry[i].test(color)) return format;\r\n continue;\r\n }\r\n if (entry.test(color)) return format;\r\n }\r\n }\r\n\r\n // color object\r\n if (typeof color === 'object') {\r\n const rgbaKeys = ['r', 'g', 'b', 'a'] as (keyof rgbaT)[];\r\n const isRgbaOb = rgbaKeys.every(k => color.hasOwnProperty(k) && typeof (color as rgbaT)[k] === 'number');\r\n if (isRgbaOb) return 'rgba';\r\n\r\n const rgbKeys = ['r', 'g', 'b'] as (keyof rgbT)[];\r\n const isRgbOb = rgbKeys.every(k => color.hasOwnProperty(k) && typeof (color as rgbT)[k] === 'number');\r\n if (isRgbOb) return 'rgb';\r\n\r\n const hslaKeys = ['h', 's', 'l', 'a'] as (keyof hslaT)[];\r\n const isHslaOb = hslaKeys.every(k => color.hasOwnProperty(k) && typeof (color as hslaT)[k] === 'number');\r\n if (isHslaOb) return 'hsla';\r\n\r\n const hslKeys = ['h', 's', 'l'] as (keyof hslT)[];\r\n const isHslOb = hslKeys.every(k => color.hasOwnProperty(k) && typeof (color as hslT)[k] === 'number');\r\n if (isHslOb) return 'hsl';\r\n\r\n const hsvaKeys = ['h', 's', 'v', 'a'] as (keyof hsvaT)[];\r\n const isHsvaOb = hsvaKeys.every(k => color.hasOwnProperty(k) && typeof (color as hsvaT)[k] === 'number');\r\n if (isHsvaOb) return 'hsva';\r\n\r\n const hsvKeys = ['h', 's', 'v'] as (keyof hsvT)[];\r\n const isHsvOb = hsvKeys.every(k => color.hasOwnProperty(k) && typeof (color as hsvT)[k] === 'number');\r\n if (isHsvOb) return 'hsv';\r\n\r\n const hwbaKeys = ['h', 'w', 'b', 'a'] as (keyof hwbaT)[];\r\n const isHwbaOb = hwbaKeys.every(k => color.hasOwnProperty(k) && typeof (color as hwbaT)[k] === 'number');\r\n if (isHwbaOb) return 'hwba';\r\n\r\n const hwbKeys = ['h', 'w', 'b'] as (keyof hwbT)[];\r\n const isHwbOb = hwbKeys.every(k => color.hasOwnProperty(k) && typeof (color as hwbT)[k] === 'number');\r\n if (isHwbOb) return 'hwb';\r\n }\r\n\r\n return null;\r\n }\r\n\r\n // * RGB\r\n /** - Get `RGB` or `RGBA` color values as an `object` */\r\n getRgbObject(color: string): rgbaT {\r\n color = color.trim().toLowerCase();\r\n const colorType = this.detectColorFormat(color);\r\n\r\n if (!colorType?.includes('rgb')) {\r\n console.error(\r\n '[colorKit] is unable to parse the string into an `RGB` or `RGBA` object. As a result, the color \"black\" will be returned instead.'\r\n );\r\n return { r: 0, g: 0, b: 0, a: 1 };\r\n }\r\n\r\n let match: RegExpMatchArray | null = null;\r\n const entry = colorsRegex[colorType];\r\n if (Array.isArray(entry)) {\r\n for (let i = 0; i < entry.length; i++) if (entry[i].test(color)) match = color.match(entry[i]);\r\n } else match = color.match(entry);\r\n\r\n if (!match)\r\n console.error('[colorKit] An error occurred while attempting to destructuring `RGB` values from the given string!!');\r\n\r\n return {\r\n r: clampRGB(parseInt(match?.[1] ?? '0', 10)),\r\n g: clampRGB(parseInt(match?.[2] ?? '0', 10)),\r\n b: clampRGB(parseInt(match?.[3] ?? '0', 10)),\r\n a: clampAlpha(parseFloat(match?.[4] ?? '1')),\r\n };\r\n }\r\n /** - Convert an `RGB` or `RGBA` color to its corresponding `Hex` color */\r\n RGB_HEX(color: string | rgbaT | rgbT): string {\r\n const { r, g, b, a } =\r\n typeof color === 'string'\r\n ? this.getRgbObject(color.trim().toLowerCase())\r\n : { r: color.r, g: color.g, b: color.b, a: (color as rgbaT).a ?? 1 };\r\n\r\n const toHex = (c: number): string => {\r\n c = clampRGB(c);\r\n const hex = c.toString(16);\r\n return hex.length === 1 ? '0' + hex : hex;\r\n };\r\n\r\n const red = toHex(r),\r\n green = toHex(g),\r\n blue = toHex(b),\r\n alpha = a === 1 ? '' : toHex(a * 255);\r\n return `#${red + green + blue + alpha}`;\r\n }\r\n /** - Convert an `RGB` or `RGBA` color to an `HSLA` object representation */\r\n RGB_HSLA(color: string | rgbaT | rgbT): hslaT {\r\n const rgb = typeof color === 'string' ? this.getRgbObject(color.trim().toLowerCase()) : color,\r\n r = rgb.r / 255,\r\n g = rgb.g / 255,\r\n b = rgb.b / 255,\r\n a = (rgb as rgbaT).a ?? 1;\r\n\r\n let max = Math.max(r, g, b),\r\n min = Math.min(r, g, b),\r\n h = 0,\r\n s,\r\n l = (max + min) / 2;\r\n\r\n if (max === min) {\r\n h = s = 0;\r\n } else {\r\n let d = max - min;\r\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\r\n switch (max) {\r\n case r:\r\n h = (g - b) / d + (g < b ? 6 : 0);\r\n break;\r\n case g:\r\n h = (b - r) / d + 2;\r\n break;\r\n case b:\r\n h = (r - g) / d + 4;\r\n break;\r\n }\r\n h /= 6;\r\n }\r\n\r\n h = clampHue(h * 360);\r\n s = clamp100(s * 100);\r\n l = clamp100(l * 100);\r\n\r\n return { h, s, l, a: clampAlpha(a) };\r\n }\r\n /** - Convert `RGB` or `RGBA` color to an `HSVA` object representation */\r\n RGB_HSVA(color: string | rgbaT | rgbT): hsvaT {\r\n const rgb = typeof color === 'string' ? this.getRgbObject(color.trim().toLowerCase()) : color,\r\n r = rgb.r / 255,\r\n g = rgb.g / 255,\r\n b = rgb.b / 255,\r\n a = (rgb as rgbaT).a ?? 1;\r\n\r\n const max = Math.max(r, g, b),\r\n min = Math.min(r, g, b),\r\n d = max - min;\r\n\r\n let v = max,\r\n h = 0,\r\n s = max === 0 ? 0 : d / max;\r\n\r\n if (max === min) {\r\n h = 0;\r\n } else {\r\n if (max === r) {\r\n h = (g - b) / d + (g < b ? 6 : 0);\r\n } else if (max === g) {\r\n h = (b - r) / d + 2;\r\n } else if (max === b) {\r\n h = (r - g) / d + 4;\r\n }\r\n h = h / 6;\r\n }\r\n\r\n return {\r\n h: clampHue(h * 360),\r\n s: clamp100(s * 100),\r\n v: clamp100(v * 100),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n /** - Convert `RGB` or `RGBA` color to an `HWBA` object representation */\r\n RGB_HWBA(color: string | rgbaT | rgbT): hwbaT {\r\n const rgb = typeof color === 'string' ? this.getRgbObject(color.trim().toLowerCase()) : color,\r\n red = rgb.r / 255,\r\n green = rgb.g / 255,\r\n blue = rgb.b / 255,\r\n a = (rgb as rgbaT).a ?? 1;\r\n\r\n const { h } = this.RGB_HSLA(color);\r\n\r\n const white = Math.min(red, green, blue) * 100;\r\n const black = (1 - Math.max(red, green, blue)) * 100;\r\n\r\n return {\r\n h: clampHue(h),\r\n w: clamp100(white),\r\n b: clamp100(black),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n\r\n // * HEX * 100\r\n /** - Convert any `HEX` color to 8-digit `HEX` color (#rrggbbaa) */\r\n normalizeHexColor(color: string | number): string {\r\n if (typeof color === 'number') color = '#' + color.toString(16); // color int\r\n\r\n const colorType = this.detectColorFormat(color.trim().toLowerCase());\r\n\r\n if (!colorType?.includes('hex')) {\r\n console.error(\r\n '[colorKit] is unable to normalize the `HEX` string provided. As a result, the color \"black\" will be returned instead.'\r\n );\r\n return '#000000ff';\r\n }\r\n\r\n const hex = color.replace(/^#/, '').split('');\r\n\r\n if (hex.length === 3) return `#${hex.map(x => x + x).join('')}ff`;\r\n if (hex.length === 4) return `#${hex.map(x => x + x).join('')}`;\r\n if (hex.length === 6) return `#${hex.join('')}ff`;\r\n\r\n return color;\r\n }\r\n /** - Convert any `HEX` color to an `RGBA` object representation */\r\n HEX_RGBA(color: string | number): rgbaT {\r\n if (typeof color === 'number') color = '#' + color.toString(16); // color int\r\n\r\n const hex = this.normalizeHexColor(color.trim().toLowerCase());\r\n\r\n let match: RegExpMatchArray | null = null;\r\n const entry = colorsRegex.hex8;\r\n if (Array.isArray(entry)) {\r\n for (let i = 0; i < entry.length; i++) if (entry[i].test(hex)) match = hex.match(entry[i]);\r\n } else match = hex.match(entry);\r\n\r\n if (!match)\r\n console.error('[colorKit] An error occurred while attempting to destructuring `HEX` values from the given string!!');\r\n\r\n return {\r\n r: clampRGB(parseInt(match?.[1] ?? '0', 16)),\r\n g: clampRGB(parseInt(match?.[2] ?? '0', 16)),\r\n b: clampRGB(parseInt(match?.[3] ?? '0', 16)),\r\n a: clampAlpha(parseInt(match?.[4] ?? '0', 16) / 255),\r\n };\r\n }\r\n /** - Convert any `HEX` color to an `HSVA` object representation */\r\n HEX_HSVA(color: string | number): hsvaT {\r\n const rgb = this.HEX_RGBA(color);\r\n const hsva = this.RGB_HSVA(rgb);\r\n return hsva;\r\n }\r\n /** - Convert any `HEX` color to an `HSLA` object representation */\r\n HEX_HSLA(color: string): hslaT {\r\n const rgb = this.HEX_RGBA(color);\r\n return this.RGB_HSLA(rgb);\r\n }\r\n /** - Convert any `HEX` color to an `HWBA` object representation */\r\n HEX_HWBA(color: string): hwbaT {\r\n const rgba = this.HEX_RGBA(color);\r\n return this.RGB_HWBA(rgba);\r\n }\r\n\r\n // * HSL\r\n /** - Get `HSL` or `HSLA` color values as an `object` */\r\n getHslObject(color: string): hslaT {\r\n color = color.trim().toLowerCase();\r\n const colorType = this.detectColorFormat(color);\r\n\r\n if (!colorType?.includes('hsl')) {\r\n console.error(\r\n '[colorKit] is unable to parse the string into an `HSL` or `HSLA` object. As a result, the color \"black\" will be returned instead.'\r\n );\r\n return { h: 0, s: 0, l: 0, a: 1 };\r\n }\r\n\r\n let match: RegExpMatchArray | null = null;\r\n const entry = colorsRegex[colorType];\r\n if (Array.isArray(entry)) {\r\n for (let i = 0; i < entry.length; i++) if (entry[i].test(color)) match = color.match(entry[i]);\r\n } else match = color.match(entry);\r\n\r\n if (!match)\r\n console.error('[colorKit] An error occurred while attempting to destructuring `HSL` values from the given string!!');\r\n\r\n return {\r\n h: clampHue(parseInt(match?.[1] ?? '0', 10)),\r\n s: clamp100(parseInt(match?.[2] ?? '0', 10)),\r\n l: clamp100(parseInt(match?.[3] ?? '0', 10)),\r\n a: clampAlpha(parseFloat(match?.[4] ?? '1')),\r\n };\r\n }\r\n /** - Convert `HSL` or `HSLA` color to an `RGBA` object representation */\r\n HSL_RGBA(color: string | hslaT | hslT): rgbaT {\r\n const hsla = typeof color === 'string' ? this.getHslObject(color.trim().toLowerCase()) : color;\r\n\r\n const hue2rgb = (p: number, q: number, t: number) => {\r\n if (t < 0) t += 1;\r\n if (t > 1) t -= 1;\r\n if (t < 1 / 6) return p + (q - p) * 6 * t;\r\n if (t < 1 / 2) return q;\r\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\r\n return p;\r\n };\r\n\r\n const h = hsla.h / 360,\r\n s = hsla.s / 100,\r\n l = hsla.l / 100,\r\n a = (hsla as hslaT).a ?? 1;\r\n\r\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s,\r\n p = 2 * l - q;\r\n\r\n const r = hue2rgb(p, q, h + 1 / 3),\r\n g = hue2rgb(p, q, h),\r\n b = hue2rgb(p, q, h - 1 / 3);\r\n\r\n return {\r\n r: clampRGB(r * 255),\r\n g: clampRGB(g * 255),\r\n b: clampRGB(b * 255),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n /** - Convert `HSL` or `HSLA` color to `HEX` color */\r\n HSL_HEX(color: string | hslaT | hslT): string {\r\n const hsla =\r\n typeof color === 'string'\r\n ? this.getHslObject(color.trim().toLowerCase())\r\n : { h: color.h, s: color.s, l: color.l, a: (color as hslaT).a ?? 1 };\r\n\r\n const toHex = (c: number): string => {\r\n c = clampRGB(c);\r\n const hex = c.toString(16);\r\n return hex.length === 1 ? '0' + hex : hex;\r\n };\r\n\r\n const { r, g, b, a } = this.HSL_RGBA(hsla),\r\n red = toHex(r),\r\n green = toHex(g),\r\n blue = toHex(b),\r\n alpha = a === 1 ? '' : toHex(a * 255);\r\n\r\n return `#${red + green + blue + alpha}`;\r\n }\r\n /** - Convert `HSL` or `HSLA` color to an `HSVA` object representation */\r\n HSL_HSVA(color: string | hslaT | hslT): hsvaT {\r\n const hsla = typeof color === 'string' ? this.getHslObject(color.trim().toLowerCase()) : color;\r\n const h = hsla.h;\r\n\r\n const s = hsla.s / 100,\r\n l = hsla.l / 100,\r\n a = (hsla as hslaT).a ?? 1,\r\n v = l + s * Math.min(l, 1 - l),\r\n sNew = v === 0 ? 0 : 2 - (2 * l) / v;\r\n\r\n return {\r\n h: clampHue(h),\r\n s: clamp100(sNew * 100),\r\n v: clamp100(v * 100),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n /** - Convert `HSL` or `HSLA` color to an `HWBA` object representation */\r\n HSL_HWBA(color: string | hslaT | hslT): hwbaT {\r\n const hsva = this.HSL_HSVA(color);\r\n return this.HSV_HWBA(hsva);\r\n }\r\n\r\n // * HSV\r\n /** - Get `HSV` or `HSVA` color values as an `object` */\r\n getHsvObject(color: string): hsvaT {\r\n color = color.trim().toLowerCase();\r\n const colorType = this.detectColorFormat(color);\r\n\r\n if (!colorType?.includes('hsv')) {\r\n console.error(\r\n '[colorKit] is unable to parse the string into an `HSV` or `HSVA` object. As a result, the color \"black\" will be returned instead.'\r\n );\r\n return { h: 0, s: 0, v: 0, a: 1 };\r\n }\r\n\r\n let match: RegExpMatchArray | null = null;\r\n const entry = colorsRegex[colorType];\r\n if (Array.isArray(entry)) {\r\n for (let i = 0; i < entry.length; i++) if (entry[i].test(color)) match = color.match(entry[i]);\r\n } else match = color.match(entry);\r\n\r\n if (!match)\r\n console.error('[colorKit] An error occurred while attempting to destructuring `HSL` values from the given string!!');\r\n\r\n return {\r\n h: clampHue(parseInt(match?.[1] ?? '0', 10)),\r\n s: clamp100(parseInt(match?.[2] ?? '0', 10)),\r\n v: clamp100(parseInt(match?.[3] ?? '0', 10)),\r\n a: clampAlpha(parseFloat(match?.[4] ?? '1')),\r\n };\r\n }\r\n /** - Convert `HSV` color to an `RGBA` object representation */\r\n HSV_RGBA(color: hsvaT | hsvT | string): rgbaT {\r\n const hsva = typeof color === 'string' ? this.getHsvObject(color.trim().toLowerCase()) : color;\r\n\r\n const h = hsva.h / 360,\r\n s = hsva.s / 100,\r\n v = hsva.v / 100,\r\n a = (hsva as hsvaT).a ?? 1;\r\n\r\n const i = Math.floor(h * 6),\r\n f = h * 6 - i,\r\n p = v * (1 - s),\r\n q = v * (1 - f * s),\r\n t = v * (1 - (1 - f) * s);\r\n\r\n let r = 0,\r\n g = 0,\r\n b = 0;\r\n switch (i % 6) {\r\n case 0:\r\n r = v;\r\n g = t;\r\n b = p;\r\n break;\r\n case 1:\r\n r = q;\r\n g = v;\r\n b = p;\r\n break;\r\n case 2:\r\n r = p;\r\n g = v;\r\n b = t;\r\n break;\r\n case 3:\r\n r = p;\r\n g = q;\r\n b = v;\r\n break;\r\n case 4:\r\n r = t;\r\n g = p;\r\n b = v;\r\n break;\r\n case 5:\r\n r = v;\r\n g = p;\r\n b = q;\r\n break;\r\n }\r\n\r\n return {\r\n r: clampRGB(r * 255),\r\n g: clampRGB(g * 255),\r\n b: clampRGB(b * 255),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n /** - Convert `HSV` color to an `HSLA` object representation */\r\n HSV_HSLA(color: hsvaT | hsvT | string): hslaT {\r\n const hsva = typeof color === 'string' ? this.getHsvObject(color.trim().toLowerCase()) : color;\r\n\r\n const h = hsva.h,\r\n s = hsva.s / 100,\r\n v = hsva.v / 100,\r\n a = (hsva as hsvaT).a ?? 1;\r\n\r\n const l = ((2 - s) * v) / 2,\r\n sl = s * v,\r\n sln = l !== 0 && l !== 1 ? sl / (l < 0.5 ? l * 2 : 2 - l * 2) : sl;\r\n\r\n return {\r\n h: clampHue(h),\r\n s: clamp100(sln * 100),\r\n l: clamp100(l * 100),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n /** - Convert `HSV` color to an `Hex` color */\r\n HSV_HEX(color: hsvaT | hsvT | string): string {\r\n const rgba = this.HSV_RGBA(color);\r\n const hex = this.RGB_HEX(rgba);\r\n return hex;\r\n }\r\n /** - Convert `HSV` color to an `HWBA` object representation */\r\n HSV_HWBA(color: hsvaT | hsvT | string): hwbaT {\r\n const hsva = typeof color === 'string' ? this.getHsvObject(color.trim().toLowerCase()) : color;\r\n\r\n const { h, s, v } = hsva,\r\n a = (hsva as hsvaT).a ?? 1,\r\n w = (1 - s / 100) * v,\r\n b = (1 - v / 100) * 100;\r\n\r\n return {\r\n h: clampHue(h),\r\n w: clamp100(w),\r\n b: clamp100(b),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n\r\n // * HWB\r\n /** - Get `HWB` or `HWBA` color values as an `object` */\r\n getHwbObject(color: string): hwbaT {\r\n color = color.trim().toLowerCase();\r\n const colorType = this.detectColorFormat(color);\r\n\r\n if (!colorType?.includes('hwb')) {\r\n console.error(\r\n '[colorKit] is unable to parse the string into an `HWB` or `HWBA` object. As a result, the color \"black\" will be returned instead.'\r\n );\r\n return { h: 0, w: 0, b: 0, a: 1 };\r\n }\r\n\r\n let match: RegExpMatchArray | null = null;\r\n const entry = colorsRegex[colorType];\r\n if (Array.isArray(entry)) {\r\n for (let i = 0; i < entry.length; i++) if (entry[i].test(color)) match = color.match(entry[i]);\r\n } else match = color.match(entry);\r\n\r\n if (!match)\r\n console.error('[colorKit] An error occurred while attempting to destructuring `HWB` values from the given string!!');\r\n\r\n return {\r\n h: clampHue(parseInt(match?.[1] ?? '0', 10)),\r\n w: clamp100(parseInt(match?.[2] ?? '0', 10)),\r\n b: clamp100(parseInt(match?.[3] ?? '100', 10)),\r\n a: clampAlpha(parseFloat(match?.[4] ?? '1')),\r\n };\r\n }\r\n /** - Convert `HWB` or `HWBA` color to an `RGBA` object representation */\r\n HWB_RGBA(color: hwbaT | hwbT | string): rgbaT {\r\n const hwba = typeof color === 'string' ? this.getHwbObject(color.trim().toLowerCase()) : color;\r\n\r\n const h = hwba.h / 360,\r\n w = hwba.w / 100,\r\n b = hwba.b / 100,\r\n a = (hwba as hwbaT)?.a ?? 1;\r\n\r\n if (w + b >= 1) {\r\n const gray = clampRGB((w * 255) / (w + b));\r\n return {\r\n r: gray,\r\n g: gray,\r\n b: gray,\r\n a,\r\n };\r\n }\r\n\r\n const calcHue = (p: number, q: number, t: number) => {\r\n if (t < 0) t += 1;\r\n if (t > 1) t -= 1;\r\n if (t < 1 / 6) return p + (q - p) * 6 * t;\r\n if (t < 1 / 2) return q;\r\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\r\n return p;\r\n };\r\n\r\n const red = calcHue(0, 1, h + 1 / 3) * (1 - w - b) + w,\r\n green = calcHue(0, 1, h) * (1 - w - b) + w,\r\n blue = calcHue(0, 1, h - 1 / 3) * (1 - w - b) + w;\r\n\r\n return {\r\n r: clampRGB(red * 255),\r\n g: clampRGB(green * 255),\r\n b: clampRGB(blue * 255),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n /** - Convert `HWB` or `HWBA` color to an `Hex` color */\r\n HWB_HEX(color: hwbaT | hwbT | string): string {\r\n const rgba = this.HWB_RGBA(color);\r\n return this.RGB_HEX(rgba);\r\n }\r\n /** - Convert `HWB` or `HWBA` color to an `HSVA` object representation */\r\n HWB_HSVA(color: hwbaT | hwbT | string): hsvaT {\r\n const hwba = typeof color === 'string' ? this.getHwbObject(color.trim().toLowerCase()) : color;\r\n\r\n const h = hwba.h % 360,\r\n w = hwba.w / 100,\r\n b = hwba.b / 100,\r\n a = (hwba as hwbaT)?.a ?? 1;\r\n\r\n const v = (1 - b) * 100;\r\n let s = (1 - w / (v / 100)) * 100;\r\n s = isNaN(s) ? 0 : s;\r\n\r\n return {\r\n h: clampHue(h),\r\n s: clamp100(s),\r\n v: clamp100(v),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n /** - Convert `HWB` or `HWBA` color to an `HSLA` object representation */\r\n HWB_HSLA(color: hwbaT | hwbT | string): hslaT {\r\n const hsva = this.HWB_HSVA(color);\r\n return this.HSV_HSLA(hsva);\r\n }\r\n}\r\n"
|
|
151
|
+
"import colorsRegex from './colorsRegex';\r\nimport { clamp100, clampAlpha, clampHue, clampRGB } from './utilities';\r\n\r\nimport type { SupportedColorFormats, ColorFormats, hslaT, hslT, hsvaT, hsvT, hwbaT, hwbT, rgbaT, rgbT } from './types';\r\n\r\nexport default class PrivateMethods {\r\n /** - Identify the color format of a given `string` or `object` */\r\n detectColorFormat(color: SupportedColorFormats): ColorFormats | null {\r\n // color int\r\n if (typeof color === 'number') color = '#' + color.toString(16);\r\n\r\n // color string\r\n if (typeof color === 'string') {\r\n color = color.trim().toLowerCase();\r\n for (const key in colorsRegex) {\r\n const format = key as ColorFormats;\r\n const entry = colorsRegex[format];\r\n if (Array.isArray(entry)) {\r\n for (let i = 0; i < entry.length; i++) if (entry[i].test(color)) return format;\r\n continue;\r\n }\r\n if (entry.test(color)) return format;\r\n }\r\n }\r\n\r\n // color object\r\n if (typeof color === 'object') {\r\n const rgbaKeys = ['r', 'g', 'b', 'a'] as (keyof rgbaT)[];\r\n const isRgbaOb = rgbaKeys.every(k => color.hasOwnProperty(k) && typeof (color as rgbaT)[k] === 'number');\r\n if (isRgbaOb) return 'rgba';\r\n\r\n const rgbKeys = ['r', 'g', 'b'] as (keyof rgbT)[];\r\n const isRgbOb = rgbKeys.every(k => color.hasOwnProperty(k) && typeof (color as rgbT)[k] === 'number');\r\n if (isRgbOb) return 'rgb';\r\n\r\n const hslaKeys = ['h', 's', 'l', 'a'] as (keyof hslaT)[];\r\n const isHslaOb = hslaKeys.every(k => color.hasOwnProperty(k) && typeof (color as hslaT)[k] === 'number');\r\n if (isHslaOb) return 'hsla';\r\n\r\n const hslKeys = ['h', 's', 'l'] as (keyof hslT)[];\r\n const isHslOb = hslKeys.every(k => color.hasOwnProperty(k) && typeof (color as hslT)[k] === 'number');\r\n if (isHslOb) return 'hsl';\r\n\r\n const hsvaKeys = ['h', 's', 'v', 'a'] as (keyof hsvaT)[];\r\n const isHsvaOb = hsvaKeys.every(k => color.hasOwnProperty(k) && typeof (color as hsvaT)[k] === 'number');\r\n if (isHsvaOb) return 'hsva';\r\n\r\n const hsvKeys = ['h', 's', 'v'] as (keyof hsvT)[];\r\n const isHsvOb = hsvKeys.every(k => color.hasOwnProperty(k) && typeof (color as hsvT)[k] === 'number');\r\n if (isHsvOb) return 'hsv';\r\n\r\n const hwbaKeys = ['h', 'w', 'b', 'a'] as (keyof hwbaT)[];\r\n const isHwbaOb = hwbaKeys.every(k => color.hasOwnProperty(k) && typeof (color as hwbaT)[k] === 'number');\r\n if (isHwbaOb) return 'hwba';\r\n\r\n const hwbKeys = ['h', 'w', 'b'] as (keyof hwbT)[];\r\n const isHwbOb = hwbKeys.every(k => color.hasOwnProperty(k) && typeof (color as hwbT)[k] === 'number');\r\n if (isHwbOb) return 'hwb';\r\n }\r\n\r\n return null;\r\n }\r\n\r\n // * RGB\r\n /** - Get `RGB` or `RGBA` color values as an `object` */\r\n getRgbObject(color: string): rgbaT {\r\n color = color.trim().toLowerCase();\r\n const colorType = this.detectColorFormat(color);\r\n\r\n if (!colorType?.includes('rgb')) {\r\n console.error(\r\n '[colorKit] is unable to parse the string into an `RGB` or `RGBA` object. As a result, the color \"black\" will be returned instead.'\r\n );\r\n return { r: 0, g: 0, b: 0, a: 1 };\r\n }\r\n\r\n let match: RegExpMatchArray | null = null;\r\n const entry = colorsRegex[colorType];\r\n if (Array.isArray(entry)) {\r\n for (let i = 0; i < entry.length; i++) if (entry[i].test(color)) match = color.match(entry[i]);\r\n } else match = color.match(entry);\r\n\r\n if (!match)\r\n console.error('[colorKit] An error occurred while attempting to destructuring `RGB` values from the given string!!');\r\n\r\n return {\r\n r: clampRGB(parseInt(match?.[1] ?? '0', 10)),\r\n g: clampRGB(parseInt(match?.[2] ?? '0', 10)),\r\n b: clampRGB(parseInt(match?.[3] ?? '0', 10)),\r\n a: clampAlpha(parseFloat(match?.[4] ?? '1')),\r\n };\r\n }\r\n /** - Convert an `RGB` or `RGBA` color to its corresponding `Hex` color */\r\n RGB_HEX(color: string | rgbaT | rgbT): string {\r\n const { r, g, b, a } =\r\n typeof color === 'string'\r\n ? this.getRgbObject(color.trim().toLowerCase())\r\n : { r: color.r, g: color.g, b: color.b, a: (color as rgbaT).a ?? 1 };\r\n\r\n const toHex = (c: number): string => {\r\n c = clampRGB(c);\r\n const hex = c.toString(16);\r\n return hex.length === 1 ? '0' + hex : hex;\r\n };\r\n\r\n const red = toHex(r),\r\n green = toHex(g),\r\n blue = toHex(b),\r\n alpha = a === 1 ? '' : toHex(a * 255);\r\n return `#${red + green + blue + alpha}`;\r\n }\r\n /** - Convert an `RGB` or `RGBA` color to an `HSLA` object representation */\r\n RGB_HSLA(color: string | rgbaT | rgbT): hslaT {\r\n const rgb = typeof color === 'string' ? this.getRgbObject(color.trim().toLowerCase()) : color,\r\n r = rgb.r / 255,\r\n g = rgb.g / 255,\r\n b = rgb.b / 255,\r\n a = (rgb as rgbaT).a ?? 1;\r\n\r\n let max = Math.max(r, g, b),\r\n min = Math.min(r, g, b),\r\n h = 0,\r\n s,\r\n l = (max + min) / 2;\r\n\r\n if (max === min) {\r\n h = s = 0;\r\n } else {\r\n let d = max - min;\r\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\r\n switch (max) {\r\n case r:\r\n h = (g - b) / d + (g < b ? 6 : 0);\r\n break;\r\n case g:\r\n h = (b - r) / d + 2;\r\n break;\r\n case b:\r\n h = (r - g) / d + 4;\r\n break;\r\n }\r\n h /= 6;\r\n }\r\n\r\n h = clampHue(h * 360);\r\n s = clamp100(s * 100);\r\n l = clamp100(l * 100);\r\n\r\n return { h, s, l, a: clampAlpha(a) };\r\n }\r\n /** - Convert `RGB` or `RGBA` color to an `HSVA` object representation */\r\n RGB_HSVA(color: string | rgbaT | rgbT): hsvaT {\r\n const rgb = typeof color === 'string' ? this.getRgbObject(color.trim().toLowerCase()) : color,\r\n r = rgb.r / 255,\r\n g = rgb.g / 255,\r\n b = rgb.b / 255,\r\n a = (rgb as rgbaT).a ?? 1;\r\n\r\n const max = Math.max(r, g, b),\r\n min = Math.min(r, g, b),\r\n d = max - min;\r\n\r\n let v = max,\r\n h = 0,\r\n s = max === 0 ? 0 : d / max;\r\n\r\n if (max === min) {\r\n h = 0;\r\n } else {\r\n if (max === r) {\r\n h = (g - b) / d + (g < b ? 6 : 0);\r\n } else if (max === g) {\r\n h = (b - r) / d + 2;\r\n } else if (max === b) {\r\n h = (r - g) / d + 4;\r\n }\r\n h = h / 6;\r\n }\r\n\r\n return {\r\n h: clampHue(h * 360),\r\n s: clamp100(s * 100),\r\n v: clamp100(v * 100),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n /** - Convert `RGB` or `RGBA` color to an `HWBA` object representation */\r\n RGB_HWBA(color: string | rgbaT | rgbT): hwbaT {\r\n const rgb = typeof color === 'string' ? this.getRgbObject(color.trim().toLowerCase()) : color,\r\n red = rgb.r / 255,\r\n green = rgb.g / 255,\r\n blue = rgb.b / 255,\r\n a = (rgb as rgbaT).a ?? 1;\r\n\r\n const { h } = this.RGB_HSLA(color);\r\n\r\n const white = Math.min(red, green, blue) * 100;\r\n const black = (1 - Math.max(red, green, blue)) * 100;\r\n\r\n return {\r\n h: clampHue(h),\r\n w: clamp100(white),\r\n b: clamp100(black),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n\r\n // * HEX * 100\r\n /** - Convert any `HEX` color to 8-digit `HEX` color (#rrggbbaa) */\r\n normalizeHexColor(color: string | number): string {\r\n if (typeof color === 'number') color = '#' + color.toString(16); // color int\r\n\r\n const colorType = this.detectColorFormat(color.trim().toLowerCase());\r\n\r\n if (!colorType?.includes('hex')) {\r\n console.error(\r\n '[colorKit] is unable to normalize the `HEX` string provided. As a result, the color \"black\" will be returned instead.'\r\n );\r\n return '#000000ff';\r\n }\r\n\r\n const hex = color.replace(/^#/, '').split('');\r\n\r\n if (hex.length === 3) return `#${hex.map(x => x + x).join('')}ff`;\r\n if (hex.length === 4) return `#${hex.map(x => x + x).join('')}`;\r\n if (hex.length === 6) return `#${hex.join('')}ff`;\r\n\r\n return color;\r\n }\r\n /** - Convert any `HEX` color to an `RGBA` object representation */\r\n HEX_RGBA(color: string | number): rgbaT {\r\n if (typeof color === 'number') color = '#' + color.toString(16); // color int\r\n\r\n const hex = this.normalizeHexColor(color.trim().toLowerCase());\r\n\r\n let match: RegExpMatchArray | null = null;\r\n const entry = colorsRegex.hex8;\r\n if (Array.isArray(entry)) {\r\n for (let i = 0; i < entry.length; i++) if (entry[i].test(hex)) match = hex.match(entry[i]);\r\n } else match = hex.match(entry);\r\n\r\n if (!match)\r\n console.error('[colorKit] An error occurred while attempting to destructuring `HEX` values from the given string!!');\r\n\r\n return {\r\n r: clampRGB(parseInt(match?.[1] ?? '0', 16)),\r\n g: clampRGB(parseInt(match?.[2] ?? '0', 16)),\r\n b: clampRGB(parseInt(match?.[3] ?? '0', 16)),\r\n a: clampAlpha(parseInt(match?.[4] ?? '0', 16) / 255),\r\n };\r\n }\r\n /** - Convert any `HEX` color to an `HSVA` object representation */\r\n HEX_HSVA(color: string | number): hsvaT {\r\n const rgb = this.HEX_RGBA(color);\r\n const hsva = this.RGB_HSVA(rgb);\r\n return hsva;\r\n }\r\n /** - Convert any `HEX` color to an `HSLA` object representation */\r\n HEX_HSLA(color: string): hslaT {\r\n const rgb = this.HEX_RGBA(color);\r\n return this.RGB_HSLA(rgb);\r\n }\r\n /** - Convert any `HEX` color to an `HWBA` object representation */\r\n HEX_HWBA(color: string): hwbaT {\r\n const rgba = this.HEX_RGBA(color);\r\n return this.RGB_HWBA(rgba);\r\n }\r\n\r\n // * HSL\r\n /** - Get `HSL` or `HSLA` color values as an `object` */\r\n getHslObject(color: string): hslaT {\r\n color = color.trim().toLowerCase();\r\n const colorType = this.detectColorFormat(color);\r\n\r\n if (!colorType?.includes('hsl')) {\r\n console.error(\r\n '[colorKit] is unable to parse the string into an `HSL` or `HSLA` object. As a result, the color \"black\" will be returned instead.'\r\n );\r\n return { h: 0, s: 0, l: 0, a: 1 };\r\n }\r\n\r\n let match: RegExpMatchArray | null = null;\r\n const entry = colorsRegex[colorType];\r\n if (Array.isArray(entry)) {\r\n for (let i = 0; i < entry.length; i++) if (entry[i].test(color)) match = color.match(entry[i]);\r\n } else match = color.match(entry);\r\n\r\n if (!match)\r\n console.error('[colorKit] An error occurred while attempting to destructuring `HSL` values from the given string!!');\r\n\r\n return {\r\n h: clampHue(parseInt(match?.[1] ?? '0', 10)),\r\n s: clamp100(parseInt(match?.[2] ?? '0', 10)),\r\n l: clamp100(parseInt(match?.[3] ?? '0', 10)),\r\n a: clampAlpha(parseFloat(match?.[4] ?? '1')),\r\n };\r\n }\r\n /** - Convert `HSL` or `HSLA` color to an `RGBA` object representation */\r\n HSL_RGBA(color: string | hslaT | hslT): rgbaT {\r\n const hsla = typeof color === 'string' ? this.getHslObject(color.trim().toLowerCase()) : color;\r\n\r\n const hue2rgb = (p: number, q: number, t: number) => {\r\n if (t < 0) t += 1;\r\n if (t > 1) t -= 1;\r\n if (t < 1 / 6) return p + (q - p) * 6 * t;\r\n if (t < 1 / 2) return q;\r\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\r\n return p;\r\n };\r\n\r\n const h = hsla.h / 360,\r\n s = hsla.s / 100,\r\n l = hsla.l / 100,\r\n a = (hsla as hslaT).a ?? 1;\r\n\r\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s,\r\n p = 2 * l - q;\r\n\r\n const r = hue2rgb(p, q, h + 1 / 3),\r\n g = hue2rgb(p, q, h),\r\n b = hue2rgb(p, q, h - 1 / 3);\r\n\r\n return {\r\n r: clampRGB(r * 255),\r\n g: clampRGB(g * 255),\r\n b: clampRGB(b * 255),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n /** - Convert `HSL` or `HSLA` color to `HEX` color */\r\n HSL_HEX(color: string | hslaT | hslT): string {\r\n const hsla =\r\n typeof color === 'string'\r\n ? this.getHslObject(color.trim().toLowerCase())\r\n : { h: color.h, s: color.s, l: color.l, a: (color as hslaT).a ?? 1 };\r\n\r\n const toHex = (c: number): string => {\r\n c = clampRGB(c);\r\n const hex = c.toString(16);\r\n return hex.length === 1 ? '0' + hex : hex;\r\n };\r\n\r\n const { r, g, b, a } = this.HSL_RGBA(hsla),\r\n red = toHex(r),\r\n green = toHex(g),\r\n blue = toHex(b),\r\n alpha = a === 1 ? '' : toHex(a * 255);\r\n\r\n return `#${red + green + blue + alpha}`;\r\n }\r\n /** - Convert `HSL` or `HSLA` color to an `HSVA` object representation */\r\n HSL_HSVA(color: string | hslaT | hslT): hsvaT {\r\n const hsla = typeof color === 'string' ? this.getHslObject(color.trim().toLowerCase()) : color;\r\n const h = hsla.h;\r\n\r\n const s = hsla.s / 100,\r\n l = hsla.l / 100,\r\n a = (hsla as hslaT).a ?? 1,\r\n v = l + s * Math.min(l, 1 - l),\r\n sNew = v === 0 ? 0 : 2 - (2 * l) / v;\r\n\r\n return {\r\n h: clampHue(h),\r\n s: clamp100(sNew * 100),\r\n v: clamp100(v * 100),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n /** - Convert `HSL` or `HSLA` color to an `HWBA` object representation */\r\n HSL_HWBA(color: string | hslaT | hslT): hwbaT {\r\n const hsva = this.HSL_HSVA(color);\r\n return this.HSV_HWBA(hsva);\r\n }\r\n\r\n // * HSV\r\n /** - Get `HSV` or `HSVA` color values as an `object` */\r\n getHsvObject(color: string): hsvaT {\r\n color = color.trim().toLowerCase();\r\n const colorType = this.detectColorFormat(color);\r\n\r\n if (!colorType?.includes('hsv')) {\r\n console.error(\r\n '[colorKit] is unable to parse the string into an `HSV` or `HSVA` object. As a result, the color \"black\" will be returned instead.'\r\n );\r\n return { h: 0, s: 0, v: 0, a: 1 };\r\n }\r\n\r\n let match: RegExpMatchArray | null = null;\r\n const entry = colorsRegex[colorType];\r\n if (Array.isArray(entry)) {\r\n for (let i = 0; i < entry.length; i++) if (entry[i].test(color)) match = color.match(entry[i]);\r\n } else match = color.match(entry);\r\n\r\n if (!match)\r\n console.error('[colorKit] An error occurred while attempting to destructuring `HSL` values from the given string!!');\r\n\r\n return {\r\n h: clampHue(parseInt(match?.[1] ?? '0', 10)),\r\n s: clamp100(parseInt(match?.[2] ?? '0', 10)),\r\n v: clamp100(parseInt(match?.[3] ?? '0', 10)),\r\n a: clampAlpha(parseFloat(match?.[4] ?? '1')),\r\n };\r\n }\r\n /** - Convert `HSV` color to an `RGBA` object representation */\r\n HSV_RGBA(color: hsvaT | hsvT | string): rgbaT {\r\n const hsva = typeof color === 'string' ? this.getHsvObject(color.trim().toLowerCase()) : color;\r\n\r\n const h = hsva.h / 360,\r\n s = hsva.s / 100,\r\n v = hsva.v / 100,\r\n a = (hsva as hsvaT).a ?? 1;\r\n\r\n const i = Math.floor(h * 6),\r\n f = h * 6 - i,\r\n p = v * (1 - s),\r\n q = v * (1 - f * s),\r\n t = v * (1 - (1 - f) * s);\r\n\r\n let r = 0,\r\n g = 0,\r\n b = 0;\r\n switch (i % 6) {\r\n case 0:\r\n r = v;\r\n g = t;\r\n b = p;\r\n break;\r\n case 1:\r\n r = q;\r\n g = v;\r\n b = p;\r\n break;\r\n case 2:\r\n r = p;\r\n g = v;\r\n b = t;\r\n break;\r\n case 3:\r\n r = p;\r\n g = q;\r\n b = v;\r\n break;\r\n case 4:\r\n r = t;\r\n g = p;\r\n b = v;\r\n break;\r\n case 5:\r\n r = v;\r\n g = p;\r\n b = q;\r\n break;\r\n }\r\n\r\n return {\r\n r: clampRGB(r * 255),\r\n g: clampRGB(g * 255),\r\n b: clampRGB(b * 255),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n /** - Convert `HSV` color to an `HSLA` object representation */\r\n HSV_HSLA(color: hsvaT | hsvT | string): hslaT {\r\n const hsva = typeof color === 'string' ? this.getHsvObject(color.trim().toLowerCase()) : color;\r\n\r\n const h = hsva.h,\r\n s = hsva.s / 100,\r\n v = hsva.v / 100,\r\n a = (hsva as hsvaT).a ?? 1;\r\n\r\n const l = ((2 - s) * v) / 2,\r\n sl = s * v,\r\n sln = l !== 0 && l !== 1 ? sl / (l < 0.5 ? l * 2 : 2 - l * 2) : sl;\r\n\r\n return {\r\n h: clampHue(h),\r\n s: clamp100(sln * 100),\r\n l: clamp100(l * 100),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n /** - Convert `HSV` color to an `Hex` color */\r\n HSV_HEX(color: hsvaT | hsvT | string): string {\r\n const rgba = this.HSV_RGBA(color);\r\n const hex = this.RGB_HEX(rgba);\r\n return hex;\r\n }\r\n /** - Convert `HSV` color to an `HWBA` object representation */\r\n HSV_HWBA(color: hsvaT | hsvT | string): hwbaT {\r\n const hsva = typeof color === 'string' ? this.getHsvObject(color.trim().toLowerCase()) : color;\r\n\r\n const { h, s, v } = hsva,\r\n a = (hsva as hsvaT).a ?? 1,\r\n w = (1 - s / 100) * v,\r\n b = (1 - v / 100) * 100;\r\n\r\n return {\r\n h: clampHue(h),\r\n w: clamp100(w),\r\n b: clamp100(b),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n\r\n // * HWB\r\n /** - Get `HWB` or `HWBA` color values as an `object` */\r\n getHwbObject(color: string): hwbaT {\r\n color = color.trim().toLowerCase();\r\n const colorType = this.detectColorFormat(color);\r\n\r\n if (!colorType?.includes('hwb')) {\r\n console.error(\r\n '[colorKit] is unable to parse the string into an `HWB` or `HWBA` object. As a result, the color \"black\" will be returned instead.'\r\n );\r\n return { h: 0, w: 0, b: 0, a: 1 };\r\n }\r\n\r\n let match: RegExpMatchArray | null = null;\r\n const entry = colorsRegex[colorType];\r\n if (Array.isArray(entry)) {\r\n for (let i = 0; i < entry.length; i++) if (entry[i].test(color)) match = color.match(entry[i]);\r\n } else match = color.match(entry);\r\n\r\n if (!match)\r\n console.error('[colorKit] An error occurred while attempting to destructuring `HWB` values from the given string!!');\r\n\r\n return {\r\n h: clampHue(parseInt(match?.[1] ?? '0', 10)),\r\n w: clamp100(parseInt(match?.[2] ?? '0', 10)),\r\n b: clamp100(parseInt(match?.[3] ?? '100', 10)),\r\n a: clampAlpha(parseFloat(match?.[4] ?? '1')),\r\n };\r\n }\r\n /** - Convert `HWB` or `HWBA` color to an `RGBA` object representation */\r\n HWB_RGBA(color: hwbaT | hwbT | string): rgbaT {\r\n const hwba = typeof color === 'string' ? this.getHwbObject(color.trim().toLowerCase()) : color;\r\n\r\n const h = hwba.h / 360,\r\n w = hwba.w / 100,\r\n b = hwba.b / 100,\r\n a = (hwba as hwbaT)?.a ?? 1;\r\n\r\n if (w + b >= 1) {\r\n const gray = clampRGB((w * 255) / (w + b));\r\n return {\r\n r: gray,\r\n g: gray,\r\n b: gray,\r\n a,\r\n };\r\n }\r\n\r\n const calcHue = (p: number, q: number, t: number) => {\r\n if (t < 0) t += 1;\r\n if (t > 1) t -= 1;\r\n if (t < 1 / 6) return p + (q - p) * 6 * t;\r\n if (t < 1 / 2) return q;\r\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\r\n return p;\r\n };\r\n\r\n const red = calcHue(0, 1, h + 1 / 3) * (1 - w - b) + w,\r\n green = calcHue(0, 1, h) * (1 - w - b) + w,\r\n blue = calcHue(0, 1, h - 1 / 3) * (1 - w - b) + w;\r\n\r\n return {\r\n r: clampRGB(red * 255),\r\n g: clampRGB(green * 255),\r\n b: clampRGB(blue * 255),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n /** - Convert `HWB` or `HWBA` color to an `Hex` color */\r\n HWB_HEX(color: hwbaT | hwbT | string): string {\r\n const rgba = this.HWB_RGBA(color);\r\n return this.RGB_HEX(rgba);\r\n }\r\n /** - Convert `HWB` or `HWBA` color to an `HSVA` object representation */\r\n HWB_HSVA(color: hwbaT | hwbT | string): hsvaT {\r\n const hwba = typeof color === 'string' ? this.getHwbObject(color.trim().toLowerCase()) : color;\r\n\r\n const h = hwba.h % 360,\r\n w = hwba.w / 100,\r\n b = hwba.b / 100,\r\n a = (hwba as hwbaT)?.a ?? 1;\r\n\r\n const v = (1 - b) * 100;\r\n let s = (1 - w / (v / 100)) * 100;\r\n s = isNaN(s) ? 0 : s;\r\n\r\n return {\r\n h: clampHue(h),\r\n s: clamp100(s),\r\n v: clamp100(v),\r\n a: clampAlpha(a),\r\n };\r\n }\r\n /** - Convert `HWB` or `HWBA` color to an `HSLA` object representation */\r\n HWB_HSLA(color: hwbaT | hwbT | string): hslaT {\r\n const hsva = this.HWB_HSVA(color);\r\n return this.HSV_HSLA(hsva);\r\n }\r\n}\r\n"
|
|
152
152
|
],
|
|
153
|
-
"mappings": "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"
|
|
153
|
+
"mappings": "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"
|
|
154
154
|
}
|