reanimated-color-picker 2.3.3 → 2.3.4

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.
Files changed (166) hide show
  1. package/lib/commonjs/AppContext.js.map +2 -2
  2. package/lib/commonjs/ColorPicker.js +1 -1
  3. package/lib/commonjs/ColorPicker.js.map +3 -3
  4. package/lib/commonjs/colorKit/colorKit.js +1 -1
  5. package/lib/commonjs/colorKit/colorKit.js.map +4 -4
  6. package/lib/commonjs/components/InputWidget/InputWidget.js +4 -4
  7. package/lib/commonjs/components/InputWidget/InputWidget.js.map +7 -7
  8. package/lib/commonjs/components/InputWidget/Widgets/HexWidget.js +1 -1
  9. package/lib/commonjs/components/InputWidget/Widgets/HexWidget.js.map +4 -4
  10. package/lib/commonjs/components/InputWidget/Widgets/HslWidget.js +1 -1
  11. package/lib/commonjs/components/InputWidget/Widgets/HslWidget.js.map +4 -4
  12. package/lib/commonjs/components/InputWidget/Widgets/HsvWidget.js +1 -1
  13. package/lib/commonjs/components/InputWidget/Widgets/HsvWidget.js.map +4 -4
  14. package/lib/commonjs/components/InputWidget/Widgets/HwbWidget.js +1 -1
  15. package/lib/commonjs/components/InputWidget/Widgets/HwbWidget.js.map +4 -4
  16. package/lib/commonjs/components/InputWidget/Widgets/WidgetTextInput.js +1 -1
  17. package/lib/commonjs/components/InputWidget/Widgets/WidgetTextInput.js.map +3 -3
  18. package/lib/commonjs/components/Panels/Panel1.js +2 -2
  19. package/lib/commonjs/components/Panels/Panel1.js.map +4 -4
  20. package/lib/commonjs/components/Panels/Panel2.js +11 -11
  21. package/lib/commonjs/components/Panels/Panel2.js.map +5 -5
  22. package/lib/commonjs/components/Panels/Panel3.js +7 -7
  23. package/lib/commonjs/components/Panels/Panel3.js.map +5 -5
  24. package/lib/commonjs/components/Panels/Panel4.js +17 -20
  25. package/lib/commonjs/components/Panels/Panel4.js.map +8 -9
  26. package/lib/commonjs/components/Panels/Panel5.js +2 -2
  27. package/lib/commonjs/components/Panels/Panel5.js.map +4 -4
  28. package/lib/commonjs/components/Preview.js +2 -2
  29. package/lib/commonjs/components/Preview.js.map +4 -4
  30. package/lib/commonjs/components/PreviewText.js.map +1 -1
  31. package/lib/commonjs/components/Sliders/BrightnessSlider.js +4 -4
  32. package/lib/commonjs/components/Sliders/BrightnessSlider.js.map +3 -3
  33. package/lib/commonjs/components/Sliders/HueCircular.js +8 -8
  34. package/lib/commonjs/components/Sliders/HueCircular.js.map +3 -3
  35. package/lib/commonjs/components/Sliders/HueSlider.js +8 -8
  36. package/lib/commonjs/components/Sliders/HueSlider.js.map +3 -3
  37. package/lib/commonjs/components/Sliders/OpacitySlider.js +8 -8
  38. package/lib/commonjs/components/Sliders/OpacitySlider.js.map +3 -3
  39. package/lib/commonjs/components/Sliders/RGB/BlueSlider.js +1 -1
  40. package/lib/commonjs/components/Sliders/RGB/BlueSlider.js.map +3 -3
  41. package/lib/commonjs/components/Sliders/RGB/GreenSlider.js +1 -1
  42. package/lib/commonjs/components/Sliders/RGB/GreenSlider.js.map +3 -3
  43. package/lib/commonjs/components/Sliders/RGB/RedSlider.js +1 -1
  44. package/lib/commonjs/components/Sliders/RGB/RedSlider.js.map +3 -3
  45. package/lib/commonjs/components/Sliders/SaturationSlider.js +8 -8
  46. package/lib/commonjs/components/Sliders/SaturationSlider.js.map +3 -3
  47. package/lib/commonjs/components/Swatches.js.map +1 -1
  48. package/lib/commonjs/components/Thumb/BuiltinThumbs/DoubleTriangle.js +1 -1
  49. package/lib/commonjs/components/Thumb/BuiltinThumbs/DoubleTriangle.js.map +3 -3
  50. package/lib/commonjs/components/Thumb/BuiltinThumbs/index.js +6 -6
  51. package/lib/commonjs/components/Thumb/BuiltinThumbs/index.js.map +8 -8
  52. package/lib/commonjs/components/Thumb/Thumb.js +1 -1
  53. package/lib/commonjs/components/Thumb/Thumb.js.map +3 -3
  54. package/lib/commonjs/styles.js +1 -1
  55. package/lib/commonjs/styles.js.map +4 -4
  56. package/lib/commonjs/types.js.map +1 -1
  57. package/lib/commonjs/utils.js +30 -8
  58. package/lib/commonjs/utils.js.map +4 -3
  59. package/lib/module/AppContext.js.map +2 -2
  60. package/lib/module/ColorPicker.js +2 -2
  61. package/lib/module/ColorPicker.js.map +5 -5
  62. package/lib/module/colorKit/colorKit.js +1 -1
  63. package/lib/module/colorKit/colorKit.js.map +3 -3
  64. package/lib/module/components/InputWidget/InputWidget.js +5 -5
  65. package/lib/module/components/InputWidget/InputWidget.js.map +10 -10
  66. package/lib/module/components/InputWidget/Widgets/HexWidget.js +1 -1
  67. package/lib/module/components/InputWidget/Widgets/HexWidget.js.map +3 -3
  68. package/lib/module/components/InputWidget/Widgets/HslWidget.js +1 -1
  69. package/lib/module/components/InputWidget/Widgets/HslWidget.js.map +3 -3
  70. package/lib/module/components/InputWidget/Widgets/HsvWidget.js +1 -1
  71. package/lib/module/components/InputWidget/Widgets/HsvWidget.js.map +3 -3
  72. package/lib/module/components/InputWidget/Widgets/HwbWidget.js +1 -1
  73. package/lib/module/components/InputWidget/Widgets/HwbWidget.js.map +3 -3
  74. package/lib/module/components/InputWidget/Widgets/WidgetTextInput.js +2 -2
  75. package/lib/module/components/InputWidget/Widgets/WidgetTextInput.js.map +6 -6
  76. package/lib/module/components/Panels/Panel1.js +4 -4
  77. package/lib/module/components/Panels/Panel1.js.map +7 -7
  78. package/lib/module/components/Panels/Panel2.js +13 -13
  79. package/lib/module/components/Panels/Panel2.js.map +7 -7
  80. package/lib/module/components/Panels/Panel3.js +10 -10
  81. package/lib/module/components/Panels/Panel3.js.map +9 -9
  82. package/lib/module/components/Panels/Panel4.js +19 -22
  83. package/lib/module/components/Panels/Panel4.js.map +10 -11
  84. package/lib/module/components/Panels/Panel5.js +4 -4
  85. package/lib/module/components/Panels/Panel5.js.map +8 -8
  86. package/lib/module/components/Preview.js +4 -4
  87. package/lib/module/components/Preview.js.map +8 -8
  88. package/lib/module/components/PreviewText.js +1 -1
  89. package/lib/module/components/PreviewText.js.map +3 -3
  90. package/lib/module/components/Sliders/BrightnessSlider.js +5 -5
  91. package/lib/module/components/Sliders/BrightnessSlider.js.map +3 -3
  92. package/lib/module/components/Sliders/HueCircular.js +9 -9
  93. package/lib/module/components/Sliders/HueCircular.js.map +3 -3
  94. package/lib/module/components/Sliders/HueSlider.js +9 -9
  95. package/lib/module/components/Sliders/HueSlider.js.map +3 -3
  96. package/lib/module/components/Sliders/OpacitySlider.js +9 -9
  97. package/lib/module/components/Sliders/OpacitySlider.js.map +3 -3
  98. package/lib/module/components/Sliders/RGB/BlueSlider.js +2 -2
  99. package/lib/module/components/Sliders/RGB/BlueSlider.js.map +5 -5
  100. package/lib/module/components/Sliders/RGB/GreenSlider.js +2 -2
  101. package/lib/module/components/Sliders/RGB/GreenSlider.js.map +5 -5
  102. package/lib/module/components/Sliders/RGB/RedSlider.js +2 -2
  103. package/lib/module/components/Sliders/RGB/RedSlider.js.map +5 -5
  104. package/lib/module/components/Sliders/SaturationSlider.js +9 -9
  105. package/lib/module/components/Sliders/SaturationSlider.js.map +3 -3
  106. package/lib/module/components/Swatches.js +1 -1
  107. package/lib/module/components/Swatches.js.map +3 -3
  108. package/lib/module/components/Thumb/BuiltinThumbs/DoubleTriangle.js +1 -1
  109. package/lib/module/components/Thumb/BuiltinThumbs/DoubleTriangle.js.map +3 -3
  110. package/lib/module/components/Thumb/BuiltinThumbs/index.js +6 -6
  111. package/lib/module/components/Thumb/BuiltinThumbs/index.js.map +8 -8
  112. package/lib/module/components/Thumb/Thumb.js +1 -1
  113. package/lib/module/components/Thumb/Thumb.js.map +3 -3
  114. package/lib/module/styles.js +1 -1
  115. package/lib/module/styles.js.map +3 -3
  116. package/lib/module/types.js.map +1 -1
  117. package/lib/module/utils.js +29 -7
  118. package/lib/module/utils.js.map +5 -4
  119. package/lib/src/ColorPicker.js +2 -2
  120. package/lib/src/colorKit/colorKit.js +1 -1
  121. package/lib/src/components/InputWidget/InputWidget.js +5 -5
  122. package/lib/src/components/InputWidget/Widgets/HexWidget.js +1 -1
  123. package/lib/src/components/InputWidget/Widgets/HslWidget.js +1 -1
  124. package/lib/src/components/InputWidget/Widgets/HsvWidget.js +1 -1
  125. package/lib/src/components/InputWidget/Widgets/HwbWidget.js +1 -1
  126. package/lib/src/components/InputWidget/Widgets/WidgetTextInput.js +2 -2
  127. package/lib/src/components/Panels/Panel1.js +4 -4
  128. package/lib/src/components/Panels/Panel2.js +7 -6
  129. package/lib/src/components/Panels/Panel3.js +7 -7
  130. package/lib/src/components/Panels/Panel4.js +8 -12
  131. package/lib/src/components/Panels/Panel5.js +4 -4
  132. package/lib/src/components/Preview.js +4 -4
  133. package/lib/src/components/PreviewText.js +1 -1
  134. package/lib/src/components/Sliders/BrightnessSlider.js +2 -2
  135. package/lib/src/components/Sliders/HueCircular.js +3 -3
  136. package/lib/src/components/Sliders/HueSlider.js +3 -3
  137. package/lib/src/components/Sliders/OpacitySlider.js +3 -3
  138. package/lib/src/components/Sliders/RGB/BlueSlider.js +2 -2
  139. package/lib/src/components/Sliders/RGB/GreenSlider.js +2 -2
  140. package/lib/src/components/Sliders/RGB/RedSlider.js +2 -2
  141. package/lib/src/components/Sliders/SaturationSlider.js +3 -3
  142. package/lib/src/components/Swatches.js +1 -1
  143. package/lib/src/components/Thumb/BuiltinThumbs/DoubleTriangle.js +1 -1
  144. package/lib/src/components/Thumb/BuiltinThumbs/index.js +6 -6
  145. package/lib/src/components/Thumb/Thumb.js +1 -1
  146. package/lib/src/styles.js +1 -1
  147. package/lib/src/utils.js +12 -2
  148. package/lib/typescript/AppContext.d.ts.map +1 -1
  149. package/lib/typescript/ColorPicker.d.ts.map +1 -1
  150. package/lib/typescript/colorKit/colorKit.d.ts +1 -1
  151. package/lib/typescript/colorKit/colorKit.d.ts.map +1 -1
  152. package/lib/typescript/components/InputWidget/Widgets/WidgetTextInput.d.ts +1 -1
  153. package/lib/typescript/components/InputWidget/Widgets/WidgetTextInput.d.ts.map +1 -1
  154. package/lib/typescript/components/Panels/Panel1.d.ts.map +1 -1
  155. package/lib/typescript/components/Panels/Panel2.d.ts.map +1 -1
  156. package/lib/typescript/components/Panels/Panel3.d.ts.map +1 -1
  157. package/lib/typescript/components/Panels/Panel4.d.ts.map +1 -1
  158. package/lib/typescript/components/Panels/Panel5.d.ts.map +1 -1
  159. package/lib/typescript/components/Preview.d.ts.map +1 -1
  160. package/lib/typescript/components/Thumb/BuiltinThumbs/index.d.ts +6 -6
  161. package/lib/typescript/components/Thumb/BuiltinThumbs/index.d.ts.map +1 -1
  162. package/lib/typescript/types.d.ts +1 -1
  163. package/lib/typescript/types.d.ts.map +1 -1
  164. package/lib/typescript/utils.d.ts +11 -1
  165. package/lib/typescript/utils.d.ts.map +1 -1
  166. package/package.json +1 -1
@@ -4,7 +4,7 @@
4
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 { ColorPickerContext } from '@types';\r\n\r\nconst pickerContext = createContext<ColorPickerContext>(null!);\r\n\r\nexport default pickerContext;\r\n"
7
+ "import { createContext } from 'react';\r\n\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,aAAa,gBAAG,IAAAC,oBAAa,EAAqB,IAAI,CAAE;AAAC,IAAAC,QAAA,GAEhDF,aAAa;AAAAG,OAAA,CAAAC,OAAA,GAAAF,QAAA"
9
+ "mappings": ";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAIA,MAAMC,aAAa,gBAAG,IAAAC,oBAAa,EAAqB,IAAI,CAAE;AAAC,IAAAC,QAAA,GAEhDF,aAAa;AAAAG,OAAA,CAAAC,OAAA,GAAAF,QAAA"
10
10
  }
@@ -8,9 +8,9 @@ var _react = _interopRequireWildcard(require('react'));
8
8
  var _reactNative = require('react-native');
9
9
  var _reactNativeGestureHandler = require('react-native-gesture-handler');
10
10
  var _reactNativeReanimated = require('react-native-reanimated');
11
- var _utils = require('./utils');
12
11
  var _colorKit = _interopRequireDefault(require('./colorKit/colorKit'));
13
12
  var _AppContext = _interopRequireDefault(require('./AppContext'));
13
+ var _utils = require('./utils');
14
14
  function _interopRequireDefault(obj) {
15
15
  return obj && obj.__esModule ? obj : { default: obj };
16
16
  }
@@ -8,10 +8,10 @@
8
8
  "_reactNative",
9
9
  "_reactNativeGestureHandler",
10
10
  "_reactNativeReanimated",
11
- "_utils",
12
11
  "_colorKit",
13
12
  "_interopRequireDefault",
14
13
  "_AppContext",
14
+ "_utils",
15
15
  "obj",
16
16
  "__esModule",
17
17
  "default",
@@ -111,7 +111,7 @@
111
111
  ],
112
112
  "sources": ["../../src/ColorPicker.tsx"],
113
113
  "sourcesContent": [
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 // Addressing a sporadic problem where the shared value for color channels fails to update upon component mounting.\r\n // This issue appears to manifest randomly and might be correlated with the Reanimated library.\r\n useEffect(() => {\r\n hueValue.value += 1;\r\n saturationValue.value += 1;\r\n brightnessValue.value += 1;\r\n setColor(value, 100);\r\n }, []);\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"
114
+ "import React, { forwardRef, useEffect, useImperativeHandle, useRef } 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 colorKit from '@colorKit';\r\nimport pickerContext from '@context';\r\nimport { isWeb } from '@utils';\r\n\r\nimport type { ColorPickerContext, ColorPickerProps, ColorPickerRef } from '@types';\r\nimport type { SupportedColorFormats } from './colorKit/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 // Addressing a sporadic problem where the shared value for color channels fails to update upon component mounting.\r\n // This issue appears to manifest randomly and might be correlated with the Reanimated library.\r\n useEffect(() => {\r\n hueValue.value += 1;\r\n saturationValue.value += 1;\r\n brightnessValue.value += 1;\r\n setColor(value, 100);\r\n }, []);\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"
115
115
  ],
116
- "mappings": "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"
116
+ "mappings": "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"
117
117
  }
@@ -4,9 +4,9 @@ Object.defineProperty(exports, '__esModule', {
4
4
  value: true,
5
5
  });
6
6
  exports.default = void 0;
7
- var _PrivateMethods = _interopRequireDefault(require('./PrivateMethods'));
8
7
  var _colorsRegex = _interopRequireDefault(require('./colorsRegex'));
9
8
  var _namedColors = _interopRequireDefault(require('./namedColors'));
9
+ var _PrivateMethods = _interopRequireDefault(require('./PrivateMethods'));
10
10
  var _utilities = require('./utilities');
11
11
  function _interopRequireDefault(obj) {
12
12
  return obj && obj.__esModule ? obj : { default: obj };
@@ -2,11 +2,11 @@
2
2
  "version": 3,
3
3
  "file": "colorKit.js",
4
4
  "names": [
5
- "_PrivateMethods",
5
+ "_colorsRegex",
6
6
  "_interopRequireDefault",
7
7
  "require",
8
- "_colorsRegex",
9
8
  "_namedColors",
9
+ "_PrivateMethods",
10
10
  "_utilities",
11
11
  "obj",
12
12
  "__esModule",
@@ -215,7 +215,7 @@
215
215
  ],
216
216
  "sources": ["../../../src/colorKit/colorKit.ts"],
217
217
  "sourcesContent": [
218
- "import PrivateMethods from './PrivateMethods';\r\nimport colorsRegex from './colorsRegex';\r\nimport namedColors from './namedColors';\r\nimport { clamp100, clampAlpha, clampHue, clampRGB, randomNumber } from './utilities';\r\n\r\nimport type {\r\n SupportedColorFormats,\r\n ColorFormats,\r\n ConversionMethods,\r\n hslaT,\r\n hslT,\r\n hsvaT,\r\n hsvT,\r\n hwbaT,\r\n hwbT,\r\n rgbaT,\r\n rgbT,\r\n} from './types';\r\n\r\nclass Colors {\r\n private _: InstanceType<typeof PrivateMethods>;\r\n private returnColorObject: (color: SupportedColorFormats) => ConversionMethods;\r\n\r\n constructor() {\r\n this._ = new PrivateMethods();\r\n\r\n this.returnColorObject = (color: SupportedColorFormats) => {\r\n return {\r\n hex: () => this.HEX(color),\r\n rgb: () => this.RGB(color),\r\n hsl: () => this.HSL(color),\r\n hsv: () => this.HSV(color),\r\n hwb: () => this.HWB(color),\r\n };\r\n };\r\n }\r\n\r\n /** - Identify the color format of a given `string` or `object`, and return `null` for invalid colors. */\r\n getFormat(color: SupportedColorFormats): ColorFormats | 'named' | 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 if (namedColors.hasOwnProperty(color)) return 'named';\r\n\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 /** - Convert `HSL`, `HSLA`, `HSV`, `HSVA` or `HEX` color to `RGBA` color format. */\r\n RGB(color: SupportedColorFormats) {\r\n if (typeof color === 'string') color = color.trim().toLowerCase();\r\n\r\n color =\r\n typeof color === 'string' && namedColors.hasOwnProperty(color)\r\n ? (namedColors[color as keyof typeof namedColors] as string)\r\n : color;\r\n\r\n const colorType = this._.detectColorFormat(color);\r\n\r\n if (colorType?.includes('hex')) {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { r, g, b, a } = this._.HEX_RGBA(color as string);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`;\r\n\r\n if (alpha) return `rgba(${r}, ${g}, ${b}, ${a ?? 1})`;\r\n\r\n return `rgb(${r}, ${g}, ${b})`;\r\n },\r\n array: () => {\r\n const { r, g, b, a } = this._.HEX_RGBA(color as string);\r\n return [r, g, b, a];\r\n },\r\n object: () => this._.HEX_RGBA(color as string),\r\n };\r\n }\r\n\r\n if (colorType === 'hsl' || colorType === 'hsla') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { r, g, b, a } = this._.HSL_RGBA(color as hslaT | hslT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`;\r\n\r\n if (alpha) return `rgba(${r}, ${g}, ${b}, ${a ?? 1})`;\r\n\r\n return `rgb(${r}, ${g}, ${b})`;\r\n },\r\n array: () => {\r\n const { r, g, b, a } = this._.HSL_RGBA(color as hslaT | hslT);\r\n return [r, g, b, a];\r\n },\r\n object: () => this._.HSL_RGBA(color as hslaT | hslT),\r\n };\r\n }\r\n\r\n if (colorType === 'hsv' || colorType === 'hsva') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { r, g, b, a } = this._.HSV_RGBA(color as hsvaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`;\r\n\r\n if (alpha) return `rgba(${r}, ${g}, ${b}, ${a ?? 1})`;\r\n\r\n return `rgb(${r}, ${g}, ${b})`;\r\n },\r\n array: () => {\r\n const { r, g, b, a } = this._.HSV_RGBA(color as hsvaT | hsvT);\r\n return [r, g, b, a];\r\n },\r\n object: () => this._.HSV_RGBA(color as hsvaT | hsvT),\r\n };\r\n }\r\n\r\n if (colorType === 'hwb' || colorType === 'hwba') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { r, g, b, a } = this._.HWB_RGBA(color as hwbaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`;\r\n\r\n if (alpha) return `rgba(${r}, ${g}, ${b}, ${a ?? 1})`;\r\n\r\n return `rgb(${r}, ${g}, ${b})`;\r\n },\r\n array: () => {\r\n const { r, g, b, a } = this._.HWB_RGBA(color as hwbaT | hwbT);\r\n return [r, g, b, a];\r\n },\r\n object: () => this._.HWB_RGBA(color as hwbaT | hwbT),\r\n };\r\n }\r\n\r\n if (colorType === 'rgb' || colorType === 'rgba') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const rgba = typeof color === 'string' ? this._.getRgbObject(color) : (color as rgbaT),\r\n r = clampRGB(rgba.r),\r\n g = clampRGB(rgba.g),\r\n b = clampRGB(rgba.b),\r\n a = clampAlpha(rgba.a ?? 1);\r\n\r\n if (typeof alpha === 'undefined') return a !== 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`;\r\n\r\n if (alpha) return `rgba(${r}, ${g}, ${b}, ${a})`;\r\n\r\n return `rgb(${r}, ${g}, ${b})`;\r\n },\r\n array: () => {\r\n const rgba = typeof color === 'string' ? this._.getRgbObject(color) : (color as rgbaT),\r\n r = clampRGB(rgba.r),\r\n g = clampRGB(rgba.g),\r\n b = clampRGB(rgba.b),\r\n a = clampAlpha(rgba.a ?? 1);\r\n\r\n return [r, g, b, a];\r\n },\r\n object: () => {\r\n const rgba = typeof color === 'string' ? this._.getRgbObject(color) : (color as rgbaT),\r\n r = clampRGB(rgba.r),\r\n g = clampRGB(rgba.g),\r\n b = clampRGB(rgba.b),\r\n a = clampAlpha(rgba.a ?? 1);\r\n\r\n return { r, g, b, a };\r\n },\r\n };\r\n }\r\n\r\n // ! error\r\n console.error(\r\n '[colorKit] An error occurred while attempting to convert the provided parameter into an `RGB` color. As a result, the default color \"black\" will be used instead.'\r\n );\r\n\r\n return {\r\n string: (alpha?: boolean) => (alpha ? 'rgba(0, 0, 0, 1)' : 'rgb(0, 0, 0)'),\r\n array: () => [0, 0, 0, 1],\r\n object: () => ({ r: 0, g: 0, b: 0, a: 1 }),\r\n };\r\n }\r\n\r\n // * HEX\r\n /** - Convert `HSL`, `HSLA`, `HSV`, `HSVA`, `RGB` or `RGBA` color to `HEX` color format. */\r\n HEX(color: SupportedColorFormats): string {\r\n if (typeof color === 'string') color = color.trim().toLowerCase();\r\n\r\n color =\r\n typeof color === 'string' && namedColors.hasOwnProperty(color)\r\n ? (namedColors[color as keyof typeof namedColors] as string)\r\n : color;\r\n\r\n const colorType = this._.detectColorFormat(color);\r\n\r\n if (colorType === 'rgb' || colorType === 'rgba') {\r\n return this._.RGB_HEX(color as string | rgbaT);\r\n }\r\n\r\n if (colorType === 'hsl' || colorType === 'hsla') {\r\n return this._.HSL_HEX(color as string | hslaT | hslT);\r\n }\r\n\r\n if (colorType === 'hsv' || colorType === 'hsva') {\r\n return this._.HSV_HEX(color as hsvaT | hsvT);\r\n }\r\n\r\n if (colorType === 'hwb' || colorType === 'hwba') {\r\n return this._.HWB_HEX(color as hwbaT | hwbT);\r\n }\r\n\r\n if (colorType?.includes('hex')) return color as string;\r\n\r\n // ! error\r\n console.error(\r\n '[colorKit] An error occurred while attempting to convert the provided parameter into an `HEX` color. As a result, the default color \"black\" will be used instead.'\r\n );\r\n\r\n return '#000000';\r\n }\r\n\r\n // * HSL\r\n /** - Convert `HEX`, `HSV`, `HSVA`, `RGB` or `RGBA` color to `HSLA` color format. */\r\n HSL(color: SupportedColorFormats) {\r\n if (typeof color === 'string') color = color.trim().toLowerCase();\r\n\r\n color =\r\n typeof color === 'string' && namedColors.hasOwnProperty(color)\r\n ? (namedColors[color as keyof typeof namedColors] as string)\r\n : color;\r\n\r\n const colorType = this._.detectColorFormat(color);\r\n\r\n if (colorType?.includes('hex')) {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, s, l, a } = this._.HEX_HSLA(color as string);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hsla(${h}, ${s}%, ${l}%, ${a})` : `hsl(${h}, ${s}%, ${l}%)`;\r\n\r\n if (alpha) return `hsla(${h}, ${s}%, ${l}%, ${a ?? 1})`;\r\n\r\n return `hsl(${h}, ${s}%, ${l}%)`;\r\n },\r\n array: () => {\r\n const { h, s, l, a } = this._.HEX_HSLA(color as string);\r\n return [h, s, l, a];\r\n },\r\n object: () => this._.HEX_HSLA(color as string),\r\n };\r\n }\r\n\r\n if (colorType === 'rgb' || colorType === 'rgba') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, s, l, a } = this._.RGB_HSLA(color as rgbaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hsla(${h}, ${s}%, ${l}%, ${a})` : `hsl(${h}, ${s}%, ${l}%)`;\r\n\r\n if (alpha) return `hsla(${h}, ${s}%, ${l}%, ${a ?? 1})`;\r\n\r\n return `hsl(${h}, ${s}%, ${l}%)`;\r\n },\r\n array: () => {\r\n const { h, s, l, a } = this._.RGB_HSLA(color as rgbaT);\r\n return [h, s, l, a];\r\n },\r\n object: () => this._.RGB_HSLA(color as rgbaT | rgbT),\r\n };\r\n }\r\n\r\n if (colorType === 'hsv' || colorType === 'hsva') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, s, l, a } = this._.HSV_HSLA(color as hsvaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hsla(${h}, ${s}%, ${l}%, ${a})` : `hsl(${h}, ${s}%, ${l}%)`;\r\n\r\n if (alpha) return `hsla(${h}, ${s}%, ${l}%, ${a ?? 1})`;\r\n\r\n return `hsl(${h}, ${s}%, ${l}%)`;\r\n },\r\n array: () => {\r\n const { h, s, l, a } = this._.HSV_HSLA(color as hsvaT | hsvT);\r\n return [h, s, l, a];\r\n },\r\n object: () => this._.HSV_HSLA(color as hsvaT | hsvT),\r\n };\r\n }\r\n\r\n if (colorType === 'hwb' || colorType === 'hwba') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, s, l, a } = this._.HWB_HSLA(color as hwbaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hsla(${h}, ${s}%, ${l}%, ${a})` : `hsl(${h}, ${s}%, ${l}%)`;\r\n\r\n if (alpha) return `hsla(${h}, ${s}%, ${l}%, ${a ?? 1})`;\r\n\r\n return `hsl(${h}, ${s}%, ${l}%)`;\r\n },\r\n array: () => {\r\n const { h, s, l, a } = this._.HWB_HSLA(color as hwbaT | hwbT);\r\n return [h, s, l, a];\r\n },\r\n object: () => this._.HWB_HSLA(color as hwbaT | hwbT),\r\n };\r\n }\r\n\r\n if (colorType === 'hsl' || colorType === 'hsla') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const hsla = typeof color === 'string' ? this._.getHslObject(color) : (color as hslaT),\r\n h = clampHue(hsla.h),\r\n s = clamp100(hsla.s),\r\n l = clamp100(hsla.l),\r\n a = clampAlpha(hsla.a ?? 1);\r\n\r\n if (typeof alpha === 'undefined') return a !== 1 ? `hsla(${h}, ${s}%, ${l}%, ${a})` : `hsl(${h}, ${s}%, ${l}%)`;\r\n\r\n if (alpha) return `hsla(${h}, ${s}%, ${l}%, ${a})`;\r\n\r\n return `hsl(${h}, ${s}%, ${l}%)`;\r\n },\r\n array: () => {\r\n const hsla = typeof color === 'string' ? this._.getHslObject(color) : (color as hslaT),\r\n h = clampHue(hsla.h),\r\n s = clamp100(hsla.s),\r\n l = clamp100(hsla.l),\r\n a = clampAlpha(hsla.a ?? 1);\r\n\r\n return [h, s, l, a];\r\n },\r\n object: () => {\r\n const hsla = typeof color === 'string' ? this._.getHslObject(color) : (color as hslaT),\r\n h = clampHue(hsla.h),\r\n s = clamp100(hsla.s),\r\n l = clamp100(hsla.l),\r\n a = clampAlpha(hsla.a ?? 1);\r\n\r\n return { h, s, l, a };\r\n },\r\n };\r\n }\r\n\r\n // ! error\r\n console.error(\r\n '[colorKit] An error occurred while attempting to convert the provided parameter into an `HSL` color. As a result, the default color \"black\" will be used instead.'\r\n );\r\n\r\n return {\r\n string: (alpha?: boolean) => (alpha ? 'hsla(0, 0%, 0%, 1)' : 'hsl(0, 0%, 0%)'),\r\n array: () => [0, 0, 0, 1],\r\n object: () => ({ h: 0, s: 0, l: 0, a: 1 }),\r\n };\r\n }\r\n\r\n // * HSV\r\n /** - Convert `HSL`, `HSLA`, `HEX`, `RGB` or `RGBA` color to `HSVA` color format. */\r\n HSV(color: SupportedColorFormats) {\r\n if (typeof color === 'string') color = color.trim().toLowerCase();\r\n\r\n color =\r\n typeof color === 'string' && namedColors.hasOwnProperty(color)\r\n ? (namedColors[color as keyof typeof namedColors] as string)\r\n : color;\r\n\r\n const colorType = this._.detectColorFormat(color);\r\n\r\n if (colorType?.includes('hex')) {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, s, v, a } = this._.HEX_HSVA(color as string);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hsva(${h}, ${s}%, ${v}%, ${a})` : `hsv(${h}, ${s}%, ${v}%)`;\r\n\r\n if (alpha) return `hsva(${h}, ${s}%, ${v}%, ${a ?? 1})`;\r\n\r\n return `hsv(${h}, ${s}%, ${v}%)`;\r\n },\r\n array: () => {\r\n const { h, s, v, a } = this._.HEX_HSVA(color as string);\r\n return [h, s, v, a];\r\n },\r\n object: () => this._.HEX_HSVA(color as string),\r\n };\r\n }\r\n\r\n if (colorType === 'rgb' || colorType === 'rgba') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, s, v, a } = this._.RGB_HSVA(color as rgbaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hsva(${h}, ${s}%, ${v}%, ${a})` : `hsv(${h}, ${s}%, ${v}%)`;\r\n\r\n if (alpha) return `hsva(${h}, ${s}%, ${v}%, ${a ?? 1})`;\r\n\r\n return `hsv(${h}, ${s}%, ${v}%)`;\r\n },\r\n array: () => {\r\n const { h, s, v, a } = this._.RGB_HSVA(color as rgbaT);\r\n return [h, s, v, a];\r\n },\r\n object: () => this._.RGB_HSVA(color as rgbaT | rgbT),\r\n };\r\n }\r\n\r\n if (colorType === 'hsl' || colorType === 'hsla') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, s, v, a } = this._.HSL_HSVA(color as hslaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hsva(${h}, ${s}%, ${v}%, ${a})` : `hsv(${h}, ${s}%, ${v}%)`;\r\n\r\n if (alpha) return `hsva(${h}, ${s}%, ${v}%, ${a ?? 1})`;\r\n\r\n return `hsv(${h}, ${s}%, ${v}%)`;\r\n },\r\n array: () => {\r\n const { h, s, v, a } = this._.HSL_HSVA(color as hslaT | hslT);\r\n return [h, s, v, a];\r\n },\r\n object: () => this._.HSL_HSVA(color as hslaT | hslT),\r\n };\r\n }\r\n\r\n if (colorType === 'hwb' || colorType === 'hwba') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, s, v, a } = this._.HWB_HSVA(color as hwbaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hsva(${h}, ${s}%, ${v}%, ${a})` : `hsv(${h}, ${s}%, ${v}%)`;\r\n\r\n if (alpha) return `hsva(${h}, ${s}%, ${v}%, ${a ?? 1})`;\r\n\r\n return `hsv(${h}, ${s}%, ${v}%)`;\r\n },\r\n array: () => {\r\n const { h, s, v, a } = this._.HWB_HSVA(color as hwbaT | hwbT);\r\n return [h, s, v, a];\r\n },\r\n object: () => this._.HWB_HSVA(color as hwbaT | hwbT),\r\n };\r\n }\r\n\r\n if (colorType === 'hsv' || colorType === 'hsva') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const hsva = typeof color === 'string' ? this._.getHsvObject(color) : (color as hsvaT),\r\n h = clampHue(hsva.h),\r\n s = clamp100(hsva.s),\r\n v = clamp100(hsva.v),\r\n a = clampAlpha(hsva.a ?? 1);\r\n\r\n if (typeof alpha === 'undefined') return a !== 1 ? `hsva(${h}, ${s}%, ${v}%, ${a})` : `hsv(${h}, ${s}%, ${v}%)`;\r\n\r\n if (alpha) return `hsva(${h}, ${s}%, ${v}%, ${a})`;\r\n\r\n return `hsv(${h}, ${s}%, ${v}%)`;\r\n },\r\n array: () => {\r\n const hsva = typeof color === 'string' ? this._.getHsvObject(color) : (color as hsvaT),\r\n h = clampHue(hsva.h),\r\n s = clamp100(hsva.s),\r\n v = clamp100(hsva.v),\r\n a = clampAlpha(hsva.a ?? 1);\r\n\r\n return [h, s, v, a];\r\n },\r\n object: () => {\r\n const hsva = typeof color === 'string' ? this._.getHsvObject(color) : (color as hsvaT),\r\n h = clampHue(hsva.h),\r\n s = clamp100(hsva.s),\r\n v = clamp100(hsva.v),\r\n a = clampAlpha(hsva.a ?? 1);\r\n\r\n return { h, s, v, a };\r\n },\r\n };\r\n }\r\n\r\n // ! error\r\n console.error(\r\n '[colorKit] An error occurred while attempting to convert the provided parameter into an `HSV` color. As a result, the default color \"black\" will be used instead.'\r\n );\r\n\r\n return {\r\n string: (alpha?: boolean) => (alpha ? 'hsva(0, 0%, 0%, 1)' : 'hsv(0, 0%, 0%)'),\r\n array: () => [0, 0, 0, 1],\r\n object: () => ({ h: 0, s: 0, v: 0, a: 1 }),\r\n };\r\n }\r\n\r\n // * HWB\r\n /** - Convert `HSL`, `HSLA`, `HEX`, `RGB` or `RGBA` color to `HWBA` color format. */\r\n HWB(color: SupportedColorFormats) {\r\n if (typeof color === 'string') color = color.trim().toLowerCase();\r\n\r\n color =\r\n typeof color === 'string' && namedColors.hasOwnProperty(color)\r\n ? (namedColors[color as keyof typeof namedColors] as string)\r\n : color;\r\n\r\n const colorType = this._.detectColorFormat(color);\r\n\r\n if (colorType?.includes('hex')) {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, w, b, a } = this._.HEX_HWBA(color as string);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hwba(${h}, ${w}%, ${b}%, ${a})` : `hwb(${h}, ${w}%, ${b}%)`;\r\n\r\n if (alpha) return `hwba(${h}, ${w}%, ${b}%, ${a ?? 1})`;\r\n\r\n return `hwb(${h}, ${w}%, ${b}%)`;\r\n },\r\n array: () => {\r\n const { h, w, b, a } = this._.HEX_HWBA(color as string);\r\n return [h, w, b, a];\r\n },\r\n object: () => this._.HEX_HWBA(color as string),\r\n };\r\n }\r\n\r\n if (colorType === 'rgb' || colorType === 'rgba') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, w, b, a } = this._.RGB_HWBA(color as rgbaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hwba(${h}, ${w}%, ${b}%, ${a})` : `hwb(${h}, ${w}%, ${b}%)`;\r\n\r\n if (alpha) return `hwba(${h}, ${w}%, ${b}%, ${a ?? 1})`;\r\n\r\n return `hwb(${h}, ${w}%, ${b}%)`;\r\n },\r\n array: () => {\r\n const { h, w, b, a } = this._.RGB_HWBA(color as rgbaT);\r\n return [h, w, b, a];\r\n },\r\n object: () => this._.RGB_HWBA(color as rgbaT | rgbT),\r\n };\r\n }\r\n\r\n if (colorType === 'hsl' || colorType === 'hsla') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, w, b, a } = this._.HSL_HWBA(color as hslaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hwba(${h}, ${w}%, ${b}%, ${a})` : `hwb(${h}, ${w}%, ${b}%)`;\r\n\r\n if (alpha) return `hwba(${h}, ${w}%, ${b}%, ${a ?? 1})`;\r\n\r\n return `hwb(${h}, ${w}%, ${b}%)`;\r\n },\r\n array: () => {\r\n const { h, w, b, a } = this._.HSL_HWBA(color as hslaT | hslT);\r\n return [h, w, b, a];\r\n },\r\n object: () => this._.HSL_HWBA(color as hslaT | hslT),\r\n };\r\n }\r\n\r\n if (colorType === 'hsv' || colorType === 'hsva') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, w, b, a } = this._.HSV_HWBA(color as hsvaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hwba(${h}, ${w}%, ${b}%, ${a})` : `hwb(${h}, ${w}%, ${b}%)`;\r\n\r\n if (alpha) return `hwba(${h}, ${w}%, ${b}%, ${a ?? 1})`;\r\n\r\n return `hwb(${h}, ${w}%, ${b}%)`;\r\n },\r\n array: () => {\r\n const { h, w, b, a } = this._.HSV_HWBA(color as hsvaT | hsvT);\r\n return [h, w, b, a];\r\n },\r\n object: () => this._.HSV_HWBA(color as hsvaT | hsvT),\r\n };\r\n }\r\n\r\n if (colorType === 'hwb' || colorType === 'hwba') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const hwba = typeof color === 'string' ? this._.getHwbObject(color) : (color as hwbaT),\r\n h = clampHue(hwba.h),\r\n w = clamp100(hwba.w),\r\n b = clamp100(hwba.b),\r\n a = clampAlpha(hwba.a ?? 1);\r\n\r\n if (typeof alpha === 'undefined') return a !== 1 ? `hwba(${h}, ${w}%, ${b}%, ${a})` : `hwb(${h}, ${w}%, ${b}%)`;\r\n\r\n if (alpha) return `hwba(${h}, ${w}%, ${b}%, ${a})`;\r\n\r\n return `hwb(${h}, ${w}%, ${b}%)`;\r\n },\r\n array: () => {\r\n const hwba = typeof color === 'string' ? this._.getHwbObject(color) : (color as hwbaT),\r\n h = clampHue(hwba.h),\r\n w = clamp100(hwba.w),\r\n b = clamp100(hwba.b),\r\n a = clampAlpha(hwba.a ?? 1);\r\n\r\n return [h, w, b, a];\r\n },\r\n object: () => {\r\n const hwba = typeof color === 'string' ? this._.getHwbObject(color) : (color as hwbaT),\r\n h = clampHue(hwba.h),\r\n w = clamp100(hwba.w),\r\n b = clamp100(hwba.b),\r\n a = clampAlpha(hwba.a ?? 1);\r\n\r\n return { h, w, b, a };\r\n },\r\n };\r\n }\r\n\r\n // ! error\r\n console.error(\r\n '[colorKit] An error occurred while attempting to convert the provided parameter into an `HWB` color. As a result, the default color \"black\" will be used instead.'\r\n );\r\n\r\n return {\r\n string: (alpha?: boolean) => (alpha ? 'hwba(0, 0%, 100%, 1)' : 'hwb(0, 0%, 100%)'),\r\n array: () => [0, 0, 100, 1],\r\n object: () => ({ h: 0, w: 0, b: 100, a: 1 }),\r\n };\r\n }\r\n\r\n // * color's channels\r\n /** - Get the `red` channel value of a given color. */\r\n getRed(color: SupportedColorFormats): number {\r\n const { r } = this.RGB(color).object();\r\n return r;\r\n }\r\n /** Set the `red` value of a color to a specific amount.*/\r\n setRed(color: SupportedColorFormats, amount: number): ConversionMethods {\r\n const { g, b, a } = this.RGB(color).object();\r\n const newR = clampRGB(amount);\r\n const newColor = { r: newR, g, b, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Increase the `red` value of a color by the given percentage/amount.\r\n * @example\r\n * increaseRed(''rgb(100, 100, 100)', 20).hex();\r\n * increaseRed('rgb(100, 100, 100)', '20%').rgb().string();\r\n */\r\n increaseRed(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const red = typeof amount === 'string' ? r + r * (parseFloat(amount) / 100) : r + amount;\r\n const newR = clampRGB(red);\r\n const newColor = { r: newR, g, b, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Decrease the `red` value of a color by the given percentage/amount\r\n * @example\r\n * decreaseRed('rgb(100, 100, 100)', 20).hex();\r\n * decreaseRed('rgb(100, 100, 100)', '20%').rgb().string();\r\n */\r\n decreaseRed(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const red = typeof amount === 'string' ? r - r * (parseFloat(amount) / 100) : r - amount;\r\n const newR = clampRGB(red);\r\n const newColor = { r: newR, g, b, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n\r\n /** - Get the `green` channel value of a given color. */\r\n getGreen(color: SupportedColorFormats): number {\r\n const { g } = this.RGB(color).object();\r\n return g;\r\n }\r\n /** - Set the `green` value of a color to a specific amount.*/\r\n setGreen(color: SupportedColorFormats, amount: number): ConversionMethods {\r\n const { r, b, a } = this.RGB(color).object();\r\n const newG = clampRGB(amount);\r\n const newColor = { r, g: newG, b, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Increase the `green` value of a color by the given percentage.\r\n * @example\r\n * increaseGreen('rgb(100, 100, 100)', 20).hex();\r\n * increaseGreen('rgb(100, 100, 100)', '20%').rgb().string();\r\n */\r\n increaseGreen(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const green = typeof amount === 'string' ? g + g * (parseFloat(amount) / 100) : g + amount;\r\n const newG = clampRGB(green);\r\n const newColor = { r, g: newG, b, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Decrease the `green` value of a color by the given percentage.\r\n * @example\r\n * decreaseGreen('rgb(100, 100, 100)', 20).hex();\r\n * decreaseGreen('rgb(100, 100, 100)', '20%').rgb().string();\r\n */\r\n decreaseGreen(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const green = typeof amount === 'string' ? g - g * (parseFloat(amount) / 100) : g - amount;\r\n const newG = clampRGB(green);\r\n const newColor = { r, g: newG, b, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n\r\n /** - Get the `blue` channel value of a given color. */\r\n getBlue(color: SupportedColorFormats): number {\r\n const { b } = this.RGB(color).object();\r\n return b;\r\n }\r\n /** - Set the `blue` value of a color to a specific amount.*/\r\n setBlur(color: SupportedColorFormats, amount: number): ConversionMethods {\r\n const { r, g, a } = this.RGB(color).object();\r\n const newB = clampRGB(amount);\r\n const newColor = { r, g, b: newB, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Increase the `blue` value of a color by the given percentage.\r\n * @example\r\n * increaseBlue('rgb(100, 100, 100)', 20).hex();\r\n * increaseBlue('rgb(100, 100, 100)', '20%').rgb().string();\r\n */\r\n increaseBlue(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const blue = typeof amount === 'string' ? b + b * (parseFloat(amount) / 100) : b + amount;\r\n const newB = clampRGB(blue);\r\n const newColor = { r, g, b: newB, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Decrease the `blue` value of a color by the given percentage.\r\n * @example\r\n * decreaseBlue('rgb(100, 100, 100)', 20).hex();\r\n * decreaseBlue('rgb(100, 100, 100)', '20%').rgb().string();\r\n */\r\n decreaseBlue(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const blue = typeof amount === 'string' ? b - b * (parseFloat(amount) / 100) : b - amount;\r\n const newB = clampRGB(blue);\r\n const newColor = { r, g, b: newB, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n\r\n //* hue\r\n /** - Get the `hue` channel value of a given color. */\r\n getHue(color: SupportedColorFormats): number {\r\n const { h } = this.HSL(color).object();\r\n return h;\r\n }\r\n /** - Set the `hue` value of a color to a specific amount.*/\r\n setHue(color: SupportedColorFormats, amount: number): ConversionMethods {\r\n const { s, l, a } = this.HSL(color).object();\r\n const newH = clampHue(amount);\r\n const newColor = { h: newH, s, l, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Increase the `hue` value of a color by the given percentage/amount.\r\n * @example\r\n * increaseHue('rgb(100, 100, 100)', 20).hex();\r\n * increaseHue('rgb(100, 100, 100)', '20%').rgb().string();\r\n */\r\n increaseHue(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { h, s, l, a } = this.HSL(color).object();\r\n const hue = typeof amount === 'string' ? h + h * (parseFloat(amount) / 100) : h + amount;\r\n const newH = clampHue(hue);\r\n const newColor = { h: newH, s, l, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Decrease the `hue` value of a color by the given percentage/amount.\r\n * @example\r\n * decreaseHue('rgb(100, 100, 100)', 20).hex();\r\n * decreaseHue('rgb(100, 100, 100)', '20%').rgb().string();\r\n */\r\n decreaseHue(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { h, s, l, a } = this.HSL(color).object();\r\n const hue = typeof amount === 'string' ? h - h * (parseFloat(amount) / 100) : h - amount;\r\n const newH = clampHue(hue);\r\n const newColor = { h: newH, s, l, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /**\r\n * - Spin the `hue` channel by a certain percentage/amount.\r\n * @example\r\n * spin('red', 20).hex();\r\n * spin('rgb(255, 0, 0)', '20%').rgb().string();\r\n */\r\n spin(color: SupportedColorFormats, degree: number | string): ConversionMethods {\r\n const { h, s, l, a } = this.HSL(color).object();\r\n const spin = typeof degree === 'string' ? s * (parseFloat(degree) / 100) : degree;\r\n const newColor = { h: Math.round((h + spin) % 360), s, l, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n\r\n //* saturation\r\n /** - Get the `saturation` value of a given color. */\r\n getSaturation(color: SupportedColorFormats): number {\r\n const { s } = this.HSL(color).object();\r\n return s;\r\n }\r\n /** - Set the `saturation` value of a color to a specific amount.*/\r\n setSaturation(color: SupportedColorFormats, amount: number): ConversionMethods {\r\n const { h, l, a } = this.HSL(color).object();\r\n const newS = clamp100(amount);\r\n const saturatedColor = { h, s: newS, l, a };\r\n\r\n return this.returnColorObject(saturatedColor);\r\n }\r\n /**\r\n * - Increase the saturation of the given color by a certain percentage/amount.\r\n * @example\r\n * saturate('red', 20).hex();\r\n * saturate('rgb(255, 0, 0)', '20%').rgb().string();\r\n */\r\n saturate(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { h, s, l, a } = this.HSL(color).object();\r\n const saturation = typeof amount === 'string' ? s + s * (parseFloat(amount) / 100) : s + amount;\r\n const newS = clamp100(saturation);\r\n const saturatedColor = { h, s: newS, l, a };\r\n\r\n return this.returnColorObject(saturatedColor);\r\n }\r\n /**\r\n * - Decrease the saturation of the given color by a certain percentage/amount.\r\n * @example\r\n * saturate('red', 20).hex();\r\n * saturate('rgb(255, 0, 0)', '20%').rgb().string();\r\n */\r\n desaturate(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { h, s, l, a } = this.HSL(color).object();\r\n const saturation = typeof amount === 'string' ? s - s * (parseFloat(amount) / 100) : s - amount;\r\n const newS = clamp100(saturation);\r\n const desaturatedColor = { h, s: newS, l, a };\r\n\r\n return this.returnColorObject(desaturatedColor);\r\n }\r\n\r\n //* brightness\r\n /** - Get color's HSL `luminosity` channel value.\r\n * - If you want the overall `luminosity` of a color use `getLuminanceWCAG` method.\r\n */\r\n getLuminance(color: SupportedColorFormats): number {\r\n const { l } = this.HSL(color).object();\r\n return l;\r\n }\r\n /** - Set HSL's `luminosity` channel for a given color to a specific amount.*/\r\n setLuminance(color: SupportedColorFormats, amount: number): ConversionMethods {\r\n const { h, s, a } = this.HSL(color).object();\r\n const newL = clamp100(amount);\r\n const newColor = { h, s, l: newL, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /**\r\n * - Increase the brightness of the given color by a certain percentage/amount.\r\n * @example\r\n * brighten('red', 20).hex();\r\n * brighten('rgb(255, 0, 0)', '20%').rgb().string();\r\n */\r\n brighten(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { h, s, l, a } = this.HSL(color).object();\r\n const lum = typeof amount === 'string' ? l + l * (parseFloat(amount) / 100) : l + amount;\r\n const newL = clamp100(lum);\r\n const brightenedColor = { h, s, l: newL, a };\r\n\r\n return this.returnColorObject(brightenedColor);\r\n }\r\n /**\r\n * - Decrease the brightness of the given color by a certain percentage/amount.\r\n * @example\r\n * darken('red', 20).hex();\r\n * darken('rgb(255, 0, 0)', '20%').rgb().string();\r\n */\r\n darken(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { h, s, l, a } = this.HSL(color).object();\r\n const lum = typeof amount === 'string' ? l - l * (parseFloat(amount) / 100) : l - amount;\r\n const newL = clamp100(lum);\r\n const darkenedColor = { h, s, l: newL, a };\r\n\r\n return this.returnColorObject(darkenedColor);\r\n }\r\n\r\n /** - Get the HSV's `value` (brightness) channel value of a given color. */\r\n getBrightness(color: SupportedColorFormats): number {\r\n const { v } = this.HSV(color).object();\r\n return v;\r\n }\r\n /** - Set HSV's `value` (brightness) channel for a given color to a specific amount.*/\r\n setBrightness(color: SupportedColorFormats, amount: number): ConversionMethods {\r\n const { h, s, a } = this.HSV(color).object();\r\n const newV = clamp100(amount);\r\n const newColor = { h, s, v: newV, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Increase HSV's `value` (brightness) channel value of a color by the given percentage/amount.*/\r\n increaseBrightness(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { h, s, v, a } = this.HSV(color).object();\r\n const value = typeof amount === 'string' ? v + v * (parseFloat(amount) / 100) : v + amount;\r\n const newV = clamp100(value);\r\n const newColor = { h, s, v: newV, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Decrease HSV's `value` (brightness) channel value of a color by the given percentage/amount.*/\r\n decreaseBrightness(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { h, s, v, a } = this.HSV(color).object();\r\n const value = typeof amount === 'string' ? v - v * (parseFloat(amount) / 100) : v - amount;\r\n const newV = clamp100(value);\r\n const newColor = { h, s, v: newV, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n\r\n //* alpha\r\n /** - Get the `alpha` value of a given color. */\r\n getAlpha(color: SupportedColorFormats): number {\r\n const { a } = this.RGB(color).object();\r\n return a;\r\n }\r\n /** - Set the `alpha` value of a color to a specific amount.*/\r\n setAlpha(color: SupportedColorFormats, amount: number): ConversionMethods {\r\n const { r, g, b } = this.RGB(color).object();\r\n const newA = clampAlpha(amount);\r\n const newColor = { r, g, b, a: newA };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Increase the `alpha` value of a color by the given percentage.*/\r\n increaseAlpha(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const alpha = typeof amount === 'string' ? a + a * (parseFloat(amount) / 100) : a + amount;\r\n const newA = clampAlpha(alpha);\r\n const newColor = { r, g, b, a: newA };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Decrease the `alpha` value of a color by the given percentage.*/\r\n decreaseAlpha(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const alpha = typeof amount === 'string' ? a - a * (parseFloat(amount) / 100) : a - amount;\r\n const newA = clampAlpha(alpha);\r\n const newColor = { r, g, b, a: newA };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n\r\n // * tools\r\n /** - Returns the perceived `luminance` of a color, from `0-1` as defined by Web Content Accessibility Guidelines (Version 2.0). */\r\n getLuminanceWCAG(color: SupportedColorFormats): number {\r\n const { r, g, b } = this.RGB(color).object();\r\n const a = [r, g, b].map(v => (v / 255 <= 0.03928 ? v / 255 / 12.92 : Math.pow((v / 255 + 0.055) / 1.055, 2.4)));\r\n return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722;\r\n }\r\n\r\n /** - Calculates the contrast ratio between two colors, useful for ensuring accessibility and readability. */\r\n contrastRatio(color1: SupportedColorFormats, color2: SupportedColorFormats): number {\r\n const luminance1 = this.getLuminanceWCAG(color1);\r\n const luminance2 = this.getLuminanceWCAG(color2);\r\n const contrast = (Math.max(luminance1, luminance2) + 0.05) / (Math.min(luminance1, luminance2) + 0.05);\r\n return Math.round(contrast * 100) / 100;\r\n }\r\n\r\n /** - Returns a boolean indicating whether the color is considered \"dark\" or not */\r\n isDark(color: SupportedColorFormats): boolean {\r\n const luminance = this.getLuminanceWCAG(color);\r\n return luminance < 0.5;\r\n }\r\n\r\n /** - Returns a boolean indicating whether the color is considered \"light\" or not */\r\n isLight(color: SupportedColorFormats): boolean {\r\n const luminance = this.getLuminanceWCAG(color);\r\n return luminance >= 0.5;\r\n }\r\n\r\n /**\r\n * - Blends two colors by a certain amount.\r\n * @example\r\n * blend('yellow', 'red', 50).hex(); // #ff8000\r\n */\r\n blend(color1: SupportedColorFormats, color2: SupportedColorFormats, percentage: number): ConversionMethods {\r\n percentage = percentage / 100;\r\n\r\n const rgba1 = this.RGB(color1).object();\r\n const rgba2 = this.RGB(color2).object();\r\n\r\n const r = clampRGB(rgba1.r * (1 - percentage) + rgba2.r * percentage),\r\n g = clampRGB(rgba1.g * (1 - percentage) + rgba2.g * percentage),\r\n b = clampRGB(rgba1.b * (1 - percentage) + rgba2.b * percentage),\r\n a = clampAlpha(rgba1.a * (1 - percentage) + rgba2.a * percentage);\r\n\r\n const blendedColor = { r, g, b, a };\r\n\r\n return this.returnColorObject(blendedColor);\r\n }\r\n\r\n /** - Invert (negate) a color, black becomes white, white becomes black, blue becomes orange and so on. */\r\n invert(color: SupportedColorFormats): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const invertedColor = { r: 255 - r, g: 255 - g, b: 255 - b, a };\r\n return this.returnColorObject(invertedColor);\r\n }\r\n\r\n /** - Completely desaturate a color into grayscale. */\r\n grayscale(color: SupportedColorFormats): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const gray = clampRGB(r * 0.3 + g * 0.59 + b * 0.11);\r\n const grayColor = { r: gray, g: gray, b: gray, a };\r\n\r\n return this.returnColorObject(grayColor);\r\n }\r\n\r\n /** - Generate a random color from `HSL` values. */\r\n randomHslColor({ h = [0, 360], s = [0, 100], l = [0, 100], a = [1, 1] } = {}): ConversionMethods {\r\n const random = {\r\n h: clampHue(randomNumber(h[0], h[1])),\r\n s: clamp100(randomNumber(s[0], s[1])),\r\n l: clamp100(randomNumber(l[0], l[1])),\r\n a: clampAlpha(randomNumber(a[0], a[1])),\r\n };\r\n\r\n return this.returnColorObject(random);\r\n }\r\n /** - Generate a random color from `HSV` values. */\r\n randomHsvColor({ h = [0, 360], s = [0, 100], v = [0, 100], a = [1, 1] } = {}): ConversionMethods {\r\n const random = {\r\n h: clampHue(randomNumber(h[0], h[1])),\r\n s: clamp100(randomNumber(s[0], s[1])),\r\n v: clamp100(randomNumber(v[0], v[1])),\r\n a: clampAlpha(randomNumber(a[0], a[1])),\r\n };\r\n\r\n return this.returnColorObject(random);\r\n }\r\n /** - Generate a random color from `RGB` values. */\r\n randomRgbColor({ r = [0, 255], g = [0, 255], b = [0, 255], a = [1, 1] } = {}): ConversionMethods {\r\n const random = {\r\n r: clampRGB(randomNumber(r[0], r[1])),\r\n g: clampRGB(randomNumber(g[0], g[1])),\r\n b: clampRGB(randomNumber(b[0], b[1])),\r\n a: clampAlpha(randomNumber(a[0], a[1])),\r\n };\r\n\r\n return this.returnColorObject(random);\r\n }\r\n /** - Generate a random color from `HWB` values. */\r\n randomHwbColor({ h = [0, 360], w = [0, 100], b = [0, 100], a = [1, 1] } = {}): ConversionMethods {\r\n const random = {\r\n h: clampHue(randomNumber(h[0], h[1])),\r\n w: clamp100(randomNumber(w[0], w[1])),\r\n b: clamp100(randomNumber(b[0], b[1])),\r\n a: clampAlpha(randomNumber(a[0], a[1])),\r\n };\r\n\r\n return this.returnColorObject(random);\r\n }\r\n\r\n /** - Returns the first color with the desired contrast ratio against the second color */\r\n adjustContrast(color1: SupportedColorFormats, color2: SupportedColorFormats, ratio = 4.5): ConversionMethods {\r\n const contrast = this.contrastRatio(color1, color2);\r\n const color1RGB = this.RGB(color1).object();\r\n const channels = ['r', 'g', 'b'] as const;\r\n\r\n const adjustLuminance = (colorRGB: rgbaT, by: number) => {\r\n const r = clampRGB(colorRGB.r + by);\r\n const g = clampRGB(colorRGB.g + by);\r\n const b = clampRGB(colorRGB.b + by);\r\n return { r, g, b, a: colorRGB.a };\r\n };\r\n\r\n let newColor = color1RGB;\r\n\r\n //* increase contrast\r\n if (ratio && contrast < ratio) {\r\n while (this.contrastRatio(newColor, color2) < ratio) {\r\n const increase = this.isDark(color2); // if the background color is dark\r\n newColor = adjustLuminance(newColor, increase ? 1 : -1);\r\n\r\n // break if the color reached the limit\r\n if (channels.every(e => newColor[e] === 0)) break;\r\n if (channels.every(e => newColor[e] === 255)) break;\r\n }\r\n //* decrease contrast\r\n } else if (ratio && contrast > ratio) {\r\n while (this.contrastRatio(newColor, color2) > ratio) {\r\n const increase = !this.isDark(color2); // if the background color is light\r\n newColor = adjustLuminance(newColor, increase ? 1 : -1);\r\n\r\n // break if the color reached the limit\r\n if (channels.every(e => newColor[e] === 0)) break;\r\n if (channels.every(e => newColor[e] === 255)) break;\r\n }\r\n }\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n}\r\n\r\nconst colorKit = new Colors();\r\n\r\nexport default colorKit;\r\n"
218
+ "import colorsRegex from './colorsRegex';\r\nimport namedColors from './namedColors';\r\nimport PrivateMethods from './PrivateMethods';\r\nimport { clamp100, clampAlpha, clampHue, clampRGB, randomNumber } from './utilities';\r\n\r\nimport type {\r\n ColorFormats,\r\n ConversionMethods,\r\n hslaT,\r\n hslT,\r\n hsvaT,\r\n hsvT,\r\n hwbaT,\r\n hwbT,\r\n rgbaT,\r\n rgbT,\r\n SupportedColorFormats,\r\n} from './types';\r\n\r\nclass Colors {\r\n private _: InstanceType<typeof PrivateMethods>;\r\n private returnColorObject: (color: SupportedColorFormats) => ConversionMethods;\r\n\r\n constructor() {\r\n this._ = new PrivateMethods();\r\n\r\n this.returnColorObject = (color: SupportedColorFormats) => {\r\n return {\r\n hex: () => this.HEX(color),\r\n rgb: () => this.RGB(color),\r\n hsl: () => this.HSL(color),\r\n hsv: () => this.HSV(color),\r\n hwb: () => this.HWB(color),\r\n };\r\n };\r\n }\r\n\r\n /** - Identify the color format of a given `string` or `object`, and return `null` for invalid colors. */\r\n getFormat(color: SupportedColorFormats): ColorFormats | 'named' | 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 if (namedColors.hasOwnProperty(color)) return 'named';\r\n\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 /** - Convert `HSL`, `HSLA`, `HSV`, `HSVA` or `HEX` color to `RGBA` color format. */\r\n RGB(color: SupportedColorFormats) {\r\n if (typeof color === 'string') color = color.trim().toLowerCase();\r\n\r\n color =\r\n typeof color === 'string' && namedColors.hasOwnProperty(color)\r\n ? (namedColors[color as keyof typeof namedColors] as string)\r\n : color;\r\n\r\n const colorType = this._.detectColorFormat(color);\r\n\r\n if (colorType?.includes('hex')) {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { r, g, b, a } = this._.HEX_RGBA(color as string);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`;\r\n\r\n if (alpha) return `rgba(${r}, ${g}, ${b}, ${a ?? 1})`;\r\n\r\n return `rgb(${r}, ${g}, ${b})`;\r\n },\r\n array: () => {\r\n const { r, g, b, a } = this._.HEX_RGBA(color as string);\r\n return [r, g, b, a];\r\n },\r\n object: () => this._.HEX_RGBA(color as string),\r\n };\r\n }\r\n\r\n if (colorType === 'hsl' || colorType === 'hsla') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { r, g, b, a } = this._.HSL_RGBA(color as hslaT | hslT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`;\r\n\r\n if (alpha) return `rgba(${r}, ${g}, ${b}, ${a ?? 1})`;\r\n\r\n return `rgb(${r}, ${g}, ${b})`;\r\n },\r\n array: () => {\r\n const { r, g, b, a } = this._.HSL_RGBA(color as hslaT | hslT);\r\n return [r, g, b, a];\r\n },\r\n object: () => this._.HSL_RGBA(color as hslaT | hslT),\r\n };\r\n }\r\n\r\n if (colorType === 'hsv' || colorType === 'hsva') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { r, g, b, a } = this._.HSV_RGBA(color as hsvaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`;\r\n\r\n if (alpha) return `rgba(${r}, ${g}, ${b}, ${a ?? 1})`;\r\n\r\n return `rgb(${r}, ${g}, ${b})`;\r\n },\r\n array: () => {\r\n const { r, g, b, a } = this._.HSV_RGBA(color as hsvaT | hsvT);\r\n return [r, g, b, a];\r\n },\r\n object: () => this._.HSV_RGBA(color as hsvaT | hsvT),\r\n };\r\n }\r\n\r\n if (colorType === 'hwb' || colorType === 'hwba') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { r, g, b, a } = this._.HWB_RGBA(color as hwbaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`;\r\n\r\n if (alpha) return `rgba(${r}, ${g}, ${b}, ${a ?? 1})`;\r\n\r\n return `rgb(${r}, ${g}, ${b})`;\r\n },\r\n array: () => {\r\n const { r, g, b, a } = this._.HWB_RGBA(color as hwbaT | hwbT);\r\n return [r, g, b, a];\r\n },\r\n object: () => this._.HWB_RGBA(color as hwbaT | hwbT),\r\n };\r\n }\r\n\r\n if (colorType === 'rgb' || colorType === 'rgba') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const rgba = typeof color === 'string' ? this._.getRgbObject(color) : (color as rgbaT),\r\n r = clampRGB(rgba.r),\r\n g = clampRGB(rgba.g),\r\n b = clampRGB(rgba.b),\r\n a = clampAlpha(rgba.a ?? 1);\r\n\r\n if (typeof alpha === 'undefined') return a !== 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`;\r\n\r\n if (alpha) return `rgba(${r}, ${g}, ${b}, ${a})`;\r\n\r\n return `rgb(${r}, ${g}, ${b})`;\r\n },\r\n array: () => {\r\n const rgba = typeof color === 'string' ? this._.getRgbObject(color) : (color as rgbaT),\r\n r = clampRGB(rgba.r),\r\n g = clampRGB(rgba.g),\r\n b = clampRGB(rgba.b),\r\n a = clampAlpha(rgba.a ?? 1);\r\n\r\n return [r, g, b, a];\r\n },\r\n object: () => {\r\n const rgba = typeof color === 'string' ? this._.getRgbObject(color) : (color as rgbaT),\r\n r = clampRGB(rgba.r),\r\n g = clampRGB(rgba.g),\r\n b = clampRGB(rgba.b),\r\n a = clampAlpha(rgba.a ?? 1);\r\n\r\n return { r, g, b, a };\r\n },\r\n };\r\n }\r\n\r\n // ! error\r\n console.error(\r\n '[colorKit] An error occurred while attempting to convert the provided parameter into an `RGB` color. As a result, the default color \"black\" will be used instead.'\r\n );\r\n\r\n return {\r\n string: (alpha?: boolean) => (alpha ? 'rgba(0, 0, 0, 1)' : 'rgb(0, 0, 0)'),\r\n array: () => [0, 0, 0, 1],\r\n object: () => ({ r: 0, g: 0, b: 0, a: 1 }),\r\n };\r\n }\r\n\r\n // * HEX\r\n /** - Convert `HSL`, `HSLA`, `HSV`, `HSVA`, `RGB` or `RGBA` color to `HEX` color format. */\r\n HEX(color: SupportedColorFormats): string {\r\n if (typeof color === 'string') color = color.trim().toLowerCase();\r\n\r\n color =\r\n typeof color === 'string' && namedColors.hasOwnProperty(color)\r\n ? (namedColors[color as keyof typeof namedColors] as string)\r\n : color;\r\n\r\n const colorType = this._.detectColorFormat(color);\r\n\r\n if (colorType === 'rgb' || colorType === 'rgba') {\r\n return this._.RGB_HEX(color as string | rgbaT);\r\n }\r\n\r\n if (colorType === 'hsl' || colorType === 'hsla') {\r\n return this._.HSL_HEX(color as string | hslaT | hslT);\r\n }\r\n\r\n if (colorType === 'hsv' || colorType === 'hsva') {\r\n return this._.HSV_HEX(color as hsvaT | hsvT);\r\n }\r\n\r\n if (colorType === 'hwb' || colorType === 'hwba') {\r\n return this._.HWB_HEX(color as hwbaT | hwbT);\r\n }\r\n\r\n if (colorType?.includes('hex')) return color as string;\r\n\r\n // ! error\r\n console.error(\r\n '[colorKit] An error occurred while attempting to convert the provided parameter into an `HEX` color. As a result, the default color \"black\" will be used instead.'\r\n );\r\n\r\n return '#000000';\r\n }\r\n\r\n // * HSL\r\n /** - Convert `HEX`, `HSV`, `HSVA`, `RGB` or `RGBA` color to `HSLA` color format. */\r\n HSL(color: SupportedColorFormats) {\r\n if (typeof color === 'string') color = color.trim().toLowerCase();\r\n\r\n color =\r\n typeof color === 'string' && namedColors.hasOwnProperty(color)\r\n ? (namedColors[color as keyof typeof namedColors] as string)\r\n : color;\r\n\r\n const colorType = this._.detectColorFormat(color);\r\n\r\n if (colorType?.includes('hex')) {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, s, l, a } = this._.HEX_HSLA(color as string);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hsla(${h}, ${s}%, ${l}%, ${a})` : `hsl(${h}, ${s}%, ${l}%)`;\r\n\r\n if (alpha) return `hsla(${h}, ${s}%, ${l}%, ${a ?? 1})`;\r\n\r\n return `hsl(${h}, ${s}%, ${l}%)`;\r\n },\r\n array: () => {\r\n const { h, s, l, a } = this._.HEX_HSLA(color as string);\r\n return [h, s, l, a];\r\n },\r\n object: () => this._.HEX_HSLA(color as string),\r\n };\r\n }\r\n\r\n if (colorType === 'rgb' || colorType === 'rgba') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, s, l, a } = this._.RGB_HSLA(color as rgbaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hsla(${h}, ${s}%, ${l}%, ${a})` : `hsl(${h}, ${s}%, ${l}%)`;\r\n\r\n if (alpha) return `hsla(${h}, ${s}%, ${l}%, ${a ?? 1})`;\r\n\r\n return `hsl(${h}, ${s}%, ${l}%)`;\r\n },\r\n array: () => {\r\n const { h, s, l, a } = this._.RGB_HSLA(color as rgbaT);\r\n return [h, s, l, a];\r\n },\r\n object: () => this._.RGB_HSLA(color as rgbaT | rgbT),\r\n };\r\n }\r\n\r\n if (colorType === 'hsv' || colorType === 'hsva') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, s, l, a } = this._.HSV_HSLA(color as hsvaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hsla(${h}, ${s}%, ${l}%, ${a})` : `hsl(${h}, ${s}%, ${l}%)`;\r\n\r\n if (alpha) return `hsla(${h}, ${s}%, ${l}%, ${a ?? 1})`;\r\n\r\n return `hsl(${h}, ${s}%, ${l}%)`;\r\n },\r\n array: () => {\r\n const { h, s, l, a } = this._.HSV_HSLA(color as hsvaT | hsvT);\r\n return [h, s, l, a];\r\n },\r\n object: () => this._.HSV_HSLA(color as hsvaT | hsvT),\r\n };\r\n }\r\n\r\n if (colorType === 'hwb' || colorType === 'hwba') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, s, l, a } = this._.HWB_HSLA(color as hwbaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hsla(${h}, ${s}%, ${l}%, ${a})` : `hsl(${h}, ${s}%, ${l}%)`;\r\n\r\n if (alpha) return `hsla(${h}, ${s}%, ${l}%, ${a ?? 1})`;\r\n\r\n return `hsl(${h}, ${s}%, ${l}%)`;\r\n },\r\n array: () => {\r\n const { h, s, l, a } = this._.HWB_HSLA(color as hwbaT | hwbT);\r\n return [h, s, l, a];\r\n },\r\n object: () => this._.HWB_HSLA(color as hwbaT | hwbT),\r\n };\r\n }\r\n\r\n if (colorType === 'hsl' || colorType === 'hsla') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const hsla = typeof color === 'string' ? this._.getHslObject(color) : (color as hslaT),\r\n h = clampHue(hsla.h),\r\n s = clamp100(hsla.s),\r\n l = clamp100(hsla.l),\r\n a = clampAlpha(hsla.a ?? 1);\r\n\r\n if (typeof alpha === 'undefined') return a !== 1 ? `hsla(${h}, ${s}%, ${l}%, ${a})` : `hsl(${h}, ${s}%, ${l}%)`;\r\n\r\n if (alpha) return `hsla(${h}, ${s}%, ${l}%, ${a})`;\r\n\r\n return `hsl(${h}, ${s}%, ${l}%)`;\r\n },\r\n array: () => {\r\n const hsla = typeof color === 'string' ? this._.getHslObject(color) : (color as hslaT),\r\n h = clampHue(hsla.h),\r\n s = clamp100(hsla.s),\r\n l = clamp100(hsla.l),\r\n a = clampAlpha(hsla.a ?? 1);\r\n\r\n return [h, s, l, a];\r\n },\r\n object: () => {\r\n const hsla = typeof color === 'string' ? this._.getHslObject(color) : (color as hslaT),\r\n h = clampHue(hsla.h),\r\n s = clamp100(hsla.s),\r\n l = clamp100(hsla.l),\r\n a = clampAlpha(hsla.a ?? 1);\r\n\r\n return { h, s, l, a };\r\n },\r\n };\r\n }\r\n\r\n // ! error\r\n console.error(\r\n '[colorKit] An error occurred while attempting to convert the provided parameter into an `HSL` color. As a result, the default color \"black\" will be used instead.'\r\n );\r\n\r\n return {\r\n string: (alpha?: boolean) => (alpha ? 'hsla(0, 0%, 0%, 1)' : 'hsl(0, 0%, 0%)'),\r\n array: () => [0, 0, 0, 1],\r\n object: () => ({ h: 0, s: 0, l: 0, a: 1 }),\r\n };\r\n }\r\n\r\n // * HSV\r\n /** - Convert `HSL`, `HSLA`, `HEX`, `RGB` or `RGBA` color to `HSVA` color format. */\r\n HSV(color: SupportedColorFormats) {\r\n if (typeof color === 'string') color = color.trim().toLowerCase();\r\n\r\n color =\r\n typeof color === 'string' && namedColors.hasOwnProperty(color)\r\n ? (namedColors[color as keyof typeof namedColors] as string)\r\n : color;\r\n\r\n const colorType = this._.detectColorFormat(color);\r\n\r\n if (colorType?.includes('hex')) {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, s, v, a } = this._.HEX_HSVA(color as string);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hsva(${h}, ${s}%, ${v}%, ${a})` : `hsv(${h}, ${s}%, ${v}%)`;\r\n\r\n if (alpha) return `hsva(${h}, ${s}%, ${v}%, ${a ?? 1})`;\r\n\r\n return `hsv(${h}, ${s}%, ${v}%)`;\r\n },\r\n array: () => {\r\n const { h, s, v, a } = this._.HEX_HSVA(color as string);\r\n return [h, s, v, a];\r\n },\r\n object: () => this._.HEX_HSVA(color as string),\r\n };\r\n }\r\n\r\n if (colorType === 'rgb' || colorType === 'rgba') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, s, v, a } = this._.RGB_HSVA(color as rgbaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hsva(${h}, ${s}%, ${v}%, ${a})` : `hsv(${h}, ${s}%, ${v}%)`;\r\n\r\n if (alpha) return `hsva(${h}, ${s}%, ${v}%, ${a ?? 1})`;\r\n\r\n return `hsv(${h}, ${s}%, ${v}%)`;\r\n },\r\n array: () => {\r\n const { h, s, v, a } = this._.RGB_HSVA(color as rgbaT);\r\n return [h, s, v, a];\r\n },\r\n object: () => this._.RGB_HSVA(color as rgbaT | rgbT),\r\n };\r\n }\r\n\r\n if (colorType === 'hsl' || colorType === 'hsla') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, s, v, a } = this._.HSL_HSVA(color as hslaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hsva(${h}, ${s}%, ${v}%, ${a})` : `hsv(${h}, ${s}%, ${v}%)`;\r\n\r\n if (alpha) return `hsva(${h}, ${s}%, ${v}%, ${a ?? 1})`;\r\n\r\n return `hsv(${h}, ${s}%, ${v}%)`;\r\n },\r\n array: () => {\r\n const { h, s, v, a } = this._.HSL_HSVA(color as hslaT | hslT);\r\n return [h, s, v, a];\r\n },\r\n object: () => this._.HSL_HSVA(color as hslaT | hslT),\r\n };\r\n }\r\n\r\n if (colorType === 'hwb' || colorType === 'hwba') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, s, v, a } = this._.HWB_HSVA(color as hwbaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hsva(${h}, ${s}%, ${v}%, ${a})` : `hsv(${h}, ${s}%, ${v}%)`;\r\n\r\n if (alpha) return `hsva(${h}, ${s}%, ${v}%, ${a ?? 1})`;\r\n\r\n return `hsv(${h}, ${s}%, ${v}%)`;\r\n },\r\n array: () => {\r\n const { h, s, v, a } = this._.HWB_HSVA(color as hwbaT | hwbT);\r\n return [h, s, v, a];\r\n },\r\n object: () => this._.HWB_HSVA(color as hwbaT | hwbT),\r\n };\r\n }\r\n\r\n if (colorType === 'hsv' || colorType === 'hsva') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const hsva = typeof color === 'string' ? this._.getHsvObject(color) : (color as hsvaT),\r\n h = clampHue(hsva.h),\r\n s = clamp100(hsva.s),\r\n v = clamp100(hsva.v),\r\n a = clampAlpha(hsva.a ?? 1);\r\n\r\n if (typeof alpha === 'undefined') return a !== 1 ? `hsva(${h}, ${s}%, ${v}%, ${a})` : `hsv(${h}, ${s}%, ${v}%)`;\r\n\r\n if (alpha) return `hsva(${h}, ${s}%, ${v}%, ${a})`;\r\n\r\n return `hsv(${h}, ${s}%, ${v}%)`;\r\n },\r\n array: () => {\r\n const hsva = typeof color === 'string' ? this._.getHsvObject(color) : (color as hsvaT),\r\n h = clampHue(hsva.h),\r\n s = clamp100(hsva.s),\r\n v = clamp100(hsva.v),\r\n a = clampAlpha(hsva.a ?? 1);\r\n\r\n return [h, s, v, a];\r\n },\r\n object: () => {\r\n const hsva = typeof color === 'string' ? this._.getHsvObject(color) : (color as hsvaT),\r\n h = clampHue(hsva.h),\r\n s = clamp100(hsva.s),\r\n v = clamp100(hsva.v),\r\n a = clampAlpha(hsva.a ?? 1);\r\n\r\n return { h, s, v, a };\r\n },\r\n };\r\n }\r\n\r\n // ! error\r\n console.error(\r\n '[colorKit] An error occurred while attempting to convert the provided parameter into an `HSV` color. As a result, the default color \"black\" will be used instead.'\r\n );\r\n\r\n return {\r\n string: (alpha?: boolean) => (alpha ? 'hsva(0, 0%, 0%, 1)' : 'hsv(0, 0%, 0%)'),\r\n array: () => [0, 0, 0, 1],\r\n object: () => ({ h: 0, s: 0, v: 0, a: 1 }),\r\n };\r\n }\r\n\r\n // * HWB\r\n /** - Convert `HSL`, `HSLA`, `HEX`, `RGB` or `RGBA` color to `HWBA` color format. */\r\n HWB(color: SupportedColorFormats) {\r\n if (typeof color === 'string') color = color.trim().toLowerCase();\r\n\r\n color =\r\n typeof color === 'string' && namedColors.hasOwnProperty(color)\r\n ? (namedColors[color as keyof typeof namedColors] as string)\r\n : color;\r\n\r\n const colorType = this._.detectColorFormat(color);\r\n\r\n if (colorType?.includes('hex')) {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, w, b, a } = this._.HEX_HWBA(color as string);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hwba(${h}, ${w}%, ${b}%, ${a})` : `hwb(${h}, ${w}%, ${b}%)`;\r\n\r\n if (alpha) return `hwba(${h}, ${w}%, ${b}%, ${a ?? 1})`;\r\n\r\n return `hwb(${h}, ${w}%, ${b}%)`;\r\n },\r\n array: () => {\r\n const { h, w, b, a } = this._.HEX_HWBA(color as string);\r\n return [h, w, b, a];\r\n },\r\n object: () => this._.HEX_HWBA(color as string),\r\n };\r\n }\r\n\r\n if (colorType === 'rgb' || colorType === 'rgba') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, w, b, a } = this._.RGB_HWBA(color as rgbaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hwba(${h}, ${w}%, ${b}%, ${a})` : `hwb(${h}, ${w}%, ${b}%)`;\r\n\r\n if (alpha) return `hwba(${h}, ${w}%, ${b}%, ${a ?? 1})`;\r\n\r\n return `hwb(${h}, ${w}%, ${b}%)`;\r\n },\r\n array: () => {\r\n const { h, w, b, a } = this._.RGB_HWBA(color as rgbaT);\r\n return [h, w, b, a];\r\n },\r\n object: () => this._.RGB_HWBA(color as rgbaT | rgbT),\r\n };\r\n }\r\n\r\n if (colorType === 'hsl' || colorType === 'hsla') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, w, b, a } = this._.HSL_HWBA(color as hslaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hwba(${h}, ${w}%, ${b}%, ${a})` : `hwb(${h}, ${w}%, ${b}%)`;\r\n\r\n if (alpha) return `hwba(${h}, ${w}%, ${b}%, ${a ?? 1})`;\r\n\r\n return `hwb(${h}, ${w}%, ${b}%)`;\r\n },\r\n array: () => {\r\n const { h, w, b, a } = this._.HSL_HWBA(color as hslaT | hslT);\r\n return [h, w, b, a];\r\n },\r\n object: () => this._.HSL_HWBA(color as hslaT | hslT),\r\n };\r\n }\r\n\r\n if (colorType === 'hsv' || colorType === 'hsva') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const { h, w, b, a } = this._.HSV_HWBA(color as hsvaT);\r\n\r\n if (typeof alpha === 'undefined')\r\n return typeof a === 'number' && a !== 1 ? `hwba(${h}, ${w}%, ${b}%, ${a})` : `hwb(${h}, ${w}%, ${b}%)`;\r\n\r\n if (alpha) return `hwba(${h}, ${w}%, ${b}%, ${a ?? 1})`;\r\n\r\n return `hwb(${h}, ${w}%, ${b}%)`;\r\n },\r\n array: () => {\r\n const { h, w, b, a } = this._.HSV_HWBA(color as hsvaT | hsvT);\r\n return [h, w, b, a];\r\n },\r\n object: () => this._.HSV_HWBA(color as hsvaT | hsvT),\r\n };\r\n }\r\n\r\n if (colorType === 'hwb' || colorType === 'hwba') {\r\n return {\r\n string: (alpha?: boolean) => {\r\n const hwba = typeof color === 'string' ? this._.getHwbObject(color) : (color as hwbaT),\r\n h = clampHue(hwba.h),\r\n w = clamp100(hwba.w),\r\n b = clamp100(hwba.b),\r\n a = clampAlpha(hwba.a ?? 1);\r\n\r\n if (typeof alpha === 'undefined') return a !== 1 ? `hwba(${h}, ${w}%, ${b}%, ${a})` : `hwb(${h}, ${w}%, ${b}%)`;\r\n\r\n if (alpha) return `hwba(${h}, ${w}%, ${b}%, ${a})`;\r\n\r\n return `hwb(${h}, ${w}%, ${b}%)`;\r\n },\r\n array: () => {\r\n const hwba = typeof color === 'string' ? this._.getHwbObject(color) : (color as hwbaT),\r\n h = clampHue(hwba.h),\r\n w = clamp100(hwba.w),\r\n b = clamp100(hwba.b),\r\n a = clampAlpha(hwba.a ?? 1);\r\n\r\n return [h, w, b, a];\r\n },\r\n object: () => {\r\n const hwba = typeof color === 'string' ? this._.getHwbObject(color) : (color as hwbaT),\r\n h = clampHue(hwba.h),\r\n w = clamp100(hwba.w),\r\n b = clamp100(hwba.b),\r\n a = clampAlpha(hwba.a ?? 1);\r\n\r\n return { h, w, b, a };\r\n },\r\n };\r\n }\r\n\r\n // ! error\r\n console.error(\r\n '[colorKit] An error occurred while attempting to convert the provided parameter into an `HWB` color. As a result, the default color \"black\" will be used instead.'\r\n );\r\n\r\n return {\r\n string: (alpha?: boolean) => (alpha ? 'hwba(0, 0%, 100%, 1)' : 'hwb(0, 0%, 100%)'),\r\n array: () => [0, 0, 100, 1],\r\n object: () => ({ h: 0, w: 0, b: 100, a: 1 }),\r\n };\r\n }\r\n\r\n // * color's channels\r\n /** - Get the `red` channel value of a given color. */\r\n getRed(color: SupportedColorFormats): number {\r\n const { r } = this.RGB(color).object();\r\n return r;\r\n }\r\n /** Set the `red` value of a color to a specific amount.*/\r\n setRed(color: SupportedColorFormats, amount: number): ConversionMethods {\r\n const { g, b, a } = this.RGB(color).object();\r\n const newR = clampRGB(amount);\r\n const newColor = { r: newR, g, b, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Increase the `red` value of a color by the given percentage/amount.\r\n * @example\r\n * increaseRed(''rgb(100, 100, 100)', 20).hex();\r\n * increaseRed('rgb(100, 100, 100)', '20%').rgb().string();\r\n */\r\n increaseRed(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const red = typeof amount === 'string' ? r + r * (parseFloat(amount) / 100) : r + amount;\r\n const newR = clampRGB(red);\r\n const newColor = { r: newR, g, b, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Decrease the `red` value of a color by the given percentage/amount\r\n * @example\r\n * decreaseRed('rgb(100, 100, 100)', 20).hex();\r\n * decreaseRed('rgb(100, 100, 100)', '20%').rgb().string();\r\n */\r\n decreaseRed(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const red = typeof amount === 'string' ? r - r * (parseFloat(amount) / 100) : r - amount;\r\n const newR = clampRGB(red);\r\n const newColor = { r: newR, g, b, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n\r\n /** - Get the `green` channel value of a given color. */\r\n getGreen(color: SupportedColorFormats): number {\r\n const { g } = this.RGB(color).object();\r\n return g;\r\n }\r\n /** - Set the `green` value of a color to a specific amount.*/\r\n setGreen(color: SupportedColorFormats, amount: number): ConversionMethods {\r\n const { r, b, a } = this.RGB(color).object();\r\n const newG = clampRGB(amount);\r\n const newColor = { r, g: newG, b, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Increase the `green` value of a color by the given percentage.\r\n * @example\r\n * increaseGreen('rgb(100, 100, 100)', 20).hex();\r\n * increaseGreen('rgb(100, 100, 100)', '20%').rgb().string();\r\n */\r\n increaseGreen(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const green = typeof amount === 'string' ? g + g * (parseFloat(amount) / 100) : g + amount;\r\n const newG = clampRGB(green);\r\n const newColor = { r, g: newG, b, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Decrease the `green` value of a color by the given percentage.\r\n * @example\r\n * decreaseGreen('rgb(100, 100, 100)', 20).hex();\r\n * decreaseGreen('rgb(100, 100, 100)', '20%').rgb().string();\r\n */\r\n decreaseGreen(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const green = typeof amount === 'string' ? g - g * (parseFloat(amount) / 100) : g - amount;\r\n const newG = clampRGB(green);\r\n const newColor = { r, g: newG, b, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n\r\n /** - Get the `blue` channel value of a given color. */\r\n getBlue(color: SupportedColorFormats): number {\r\n const { b } = this.RGB(color).object();\r\n return b;\r\n }\r\n /** - Set the `blue` value of a color to a specific amount.*/\r\n setBlur(color: SupportedColorFormats, amount: number): ConversionMethods {\r\n const { r, g, a } = this.RGB(color).object();\r\n const newB = clampRGB(amount);\r\n const newColor = { r, g, b: newB, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Increase the `blue` value of a color by the given percentage.\r\n * @example\r\n * increaseBlue('rgb(100, 100, 100)', 20).hex();\r\n * increaseBlue('rgb(100, 100, 100)', '20%').rgb().string();\r\n */\r\n increaseBlue(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const blue = typeof amount === 'string' ? b + b * (parseFloat(amount) / 100) : b + amount;\r\n const newB = clampRGB(blue);\r\n const newColor = { r, g, b: newB, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Decrease the `blue` value of a color by the given percentage.\r\n * @example\r\n * decreaseBlue('rgb(100, 100, 100)', 20).hex();\r\n * decreaseBlue('rgb(100, 100, 100)', '20%').rgb().string();\r\n */\r\n decreaseBlue(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const blue = typeof amount === 'string' ? b - b * (parseFloat(amount) / 100) : b - amount;\r\n const newB = clampRGB(blue);\r\n const newColor = { r, g, b: newB, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n\r\n //* hue\r\n /** - Get the `hue` channel value of a given color. */\r\n getHue(color: SupportedColorFormats): number {\r\n const { h } = this.HSL(color).object();\r\n return h;\r\n }\r\n /** - Set the `hue` value of a color to a specific amount.*/\r\n setHue(color: SupportedColorFormats, amount: number): ConversionMethods {\r\n const { s, l, a } = this.HSL(color).object();\r\n const newH = clampHue(amount);\r\n const newColor = { h: newH, s, l, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Increase the `hue` value of a color by the given percentage/amount.\r\n * @example\r\n * increaseHue('rgb(100, 100, 100)', 20).hex();\r\n * increaseHue('rgb(100, 100, 100)', '20%').rgb().string();\r\n */\r\n increaseHue(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { h, s, l, a } = this.HSL(color).object();\r\n const hue = typeof amount === 'string' ? h + h * (parseFloat(amount) / 100) : h + amount;\r\n const newH = clampHue(hue);\r\n const newColor = { h: newH, s, l, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Decrease the `hue` value of a color by the given percentage/amount.\r\n * @example\r\n * decreaseHue('rgb(100, 100, 100)', 20).hex();\r\n * decreaseHue('rgb(100, 100, 100)', '20%').rgb().string();\r\n */\r\n decreaseHue(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { h, s, l, a } = this.HSL(color).object();\r\n const hue = typeof amount === 'string' ? h - h * (parseFloat(amount) / 100) : h - amount;\r\n const newH = clampHue(hue);\r\n const newColor = { h: newH, s, l, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /**\r\n * - Spin the `hue` channel by a certain percentage/amount.\r\n * @example\r\n * spin('red', 20).hex();\r\n * spin('rgb(255, 0, 0)', '20%').rgb().string();\r\n */\r\n spin(color: SupportedColorFormats, degree: number | string): ConversionMethods {\r\n const { h, s, l, a } = this.HSL(color).object();\r\n const spin = typeof degree === 'string' ? s * (parseFloat(degree) / 100) : degree;\r\n const newColor = { h: Math.round((h + spin) % 360), s, l, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n\r\n //* saturation\r\n /** - Get the `saturation` value of a given color. */\r\n getSaturation(color: SupportedColorFormats): number {\r\n const { s } = this.HSL(color).object();\r\n return s;\r\n }\r\n /** - Set the `saturation` value of a color to a specific amount.*/\r\n setSaturation(color: SupportedColorFormats, amount: number): ConversionMethods {\r\n const { h, l, a } = this.HSL(color).object();\r\n const newS = clamp100(amount);\r\n const saturatedColor = { h, s: newS, l, a };\r\n\r\n return this.returnColorObject(saturatedColor);\r\n }\r\n /**\r\n * - Increase the saturation of the given color by a certain percentage/amount.\r\n * @example\r\n * saturate('red', 20).hex();\r\n * saturate('rgb(255, 0, 0)', '20%').rgb().string();\r\n */\r\n saturate(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { h, s, l, a } = this.HSL(color).object();\r\n const saturation = typeof amount === 'string' ? s + s * (parseFloat(amount) / 100) : s + amount;\r\n const newS = clamp100(saturation);\r\n const saturatedColor = { h, s: newS, l, a };\r\n\r\n return this.returnColorObject(saturatedColor);\r\n }\r\n /**\r\n * - Decrease the saturation of the given color by a certain percentage/amount.\r\n * @example\r\n * saturate('red', 20).hex();\r\n * saturate('rgb(255, 0, 0)', '20%').rgb().string();\r\n */\r\n desaturate(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { h, s, l, a } = this.HSL(color).object();\r\n const saturation = typeof amount === 'string' ? s - s * (parseFloat(amount) / 100) : s - amount;\r\n const newS = clamp100(saturation);\r\n const desaturatedColor = { h, s: newS, l, a };\r\n\r\n return this.returnColorObject(desaturatedColor);\r\n }\r\n\r\n //* brightness\r\n /** - Get color's HSL `luminosity` channel value.\r\n * - If you want the overall `luminosity` of a color use `getLuminanceWCAG` method.\r\n */\r\n getLuminance(color: SupportedColorFormats): number {\r\n const { l } = this.HSL(color).object();\r\n return l;\r\n }\r\n /** - Set HSL's `luminosity` channel for a given color to a specific amount.*/\r\n setLuminance(color: SupportedColorFormats, amount: number): ConversionMethods {\r\n const { h, s, a } = this.HSL(color).object();\r\n const newL = clamp100(amount);\r\n const newColor = { h, s, l: newL, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /**\r\n * - Increase the brightness of the given color by a certain percentage/amount.\r\n * @example\r\n * brighten('red', 20).hex();\r\n * brighten('rgb(255, 0, 0)', '20%').rgb().string();\r\n */\r\n brighten(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { h, s, l, a } = this.HSL(color).object();\r\n const lum = typeof amount === 'string' ? l + l * (parseFloat(amount) / 100) : l + amount;\r\n const newL = clamp100(lum);\r\n const brightenedColor = { h, s, l: newL, a };\r\n\r\n return this.returnColorObject(brightenedColor);\r\n }\r\n /**\r\n * - Decrease the brightness of the given color by a certain percentage/amount.\r\n * @example\r\n * darken('red', 20).hex();\r\n * darken('rgb(255, 0, 0)', '20%').rgb().string();\r\n */\r\n darken(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { h, s, l, a } = this.HSL(color).object();\r\n const lum = typeof amount === 'string' ? l - l * (parseFloat(amount) / 100) : l - amount;\r\n const newL = clamp100(lum);\r\n const darkenedColor = { h, s, l: newL, a };\r\n\r\n return this.returnColorObject(darkenedColor);\r\n }\r\n\r\n /** - Get the HSV's `value` (brightness) channel value of a given color. */\r\n getBrightness(color: SupportedColorFormats): number {\r\n const { v } = this.HSV(color).object();\r\n return v;\r\n }\r\n /** - Set HSV's `value` (brightness) channel for a given color to a specific amount.*/\r\n setBrightness(color: SupportedColorFormats, amount: number): ConversionMethods {\r\n const { h, s, a } = this.HSV(color).object();\r\n const newV = clamp100(amount);\r\n const newColor = { h, s, v: newV, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Increase HSV's `value` (brightness) channel value of a color by the given percentage/amount.*/\r\n increaseBrightness(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { h, s, v, a } = this.HSV(color).object();\r\n const value = typeof amount === 'string' ? v + v * (parseFloat(amount) / 100) : v + amount;\r\n const newV = clamp100(value);\r\n const newColor = { h, s, v: newV, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Decrease HSV's `value` (brightness) channel value of a color by the given percentage/amount.*/\r\n decreaseBrightness(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { h, s, v, a } = this.HSV(color).object();\r\n const value = typeof amount === 'string' ? v - v * (parseFloat(amount) / 100) : v - amount;\r\n const newV = clamp100(value);\r\n const newColor = { h, s, v: newV, a };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n\r\n //* alpha\r\n /** - Get the `alpha` value of a given color. */\r\n getAlpha(color: SupportedColorFormats): number {\r\n const { a } = this.RGB(color).object();\r\n return a;\r\n }\r\n /** - Set the `alpha` value of a color to a specific amount.*/\r\n setAlpha(color: SupportedColorFormats, amount: number): ConversionMethods {\r\n const { r, g, b } = this.RGB(color).object();\r\n const newA = clampAlpha(amount);\r\n const newColor = { r, g, b, a: newA };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Increase the `alpha` value of a color by the given percentage.*/\r\n increaseAlpha(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const alpha = typeof amount === 'string' ? a + a * (parseFloat(amount) / 100) : a + amount;\r\n const newA = clampAlpha(alpha);\r\n const newColor = { r, g, b, a: newA };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n /** Decrease the `alpha` value of a color by the given percentage.*/\r\n decreaseAlpha(color: SupportedColorFormats, amount: number | string): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const alpha = typeof amount === 'string' ? a - a * (parseFloat(amount) / 100) : a - amount;\r\n const newA = clampAlpha(alpha);\r\n const newColor = { r, g, b, a: newA };\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n\r\n // * tools\r\n /** - Returns the perceived `luminance` of a color, from `0-1` as defined by Web Content Accessibility Guidelines (Version 2.0). */\r\n getLuminanceWCAG(color: SupportedColorFormats): number {\r\n const { r, g, b } = this.RGB(color).object();\r\n const a = [r, g, b].map(v => (v / 255 <= 0.03928 ? v / 255 / 12.92 : Math.pow((v / 255 + 0.055) / 1.055, 2.4)));\r\n return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722;\r\n }\r\n\r\n /** - Calculates the contrast ratio between two colors, useful for ensuring accessibility and readability. */\r\n contrastRatio(color1: SupportedColorFormats, color2: SupportedColorFormats): number {\r\n const luminance1 = this.getLuminanceWCAG(color1);\r\n const luminance2 = this.getLuminanceWCAG(color2);\r\n const contrast = (Math.max(luminance1, luminance2) + 0.05) / (Math.min(luminance1, luminance2) + 0.05);\r\n return Math.round(contrast * 100) / 100;\r\n }\r\n\r\n /** - Returns a boolean indicating whether the color is considered \"dark\" or not */\r\n isDark(color: SupportedColorFormats): boolean {\r\n const luminance = this.getLuminanceWCAG(color);\r\n return luminance < 0.5;\r\n }\r\n\r\n /** - Returns a boolean indicating whether the color is considered \"light\" or not */\r\n isLight(color: SupportedColorFormats): boolean {\r\n const luminance = this.getLuminanceWCAG(color);\r\n return luminance >= 0.5;\r\n }\r\n\r\n /**\r\n * - Blends two colors by a certain amount.\r\n * @example\r\n * blend('yellow', 'red', 50).hex(); // #ff8000\r\n */\r\n blend(color1: SupportedColorFormats, color2: SupportedColorFormats, percentage: number): ConversionMethods {\r\n percentage = percentage / 100;\r\n\r\n const rgba1 = this.RGB(color1).object();\r\n const rgba2 = this.RGB(color2).object();\r\n\r\n const r = clampRGB(rgba1.r * (1 - percentage) + rgba2.r * percentage),\r\n g = clampRGB(rgba1.g * (1 - percentage) + rgba2.g * percentage),\r\n b = clampRGB(rgba1.b * (1 - percentage) + rgba2.b * percentage),\r\n a = clampAlpha(rgba1.a * (1 - percentage) + rgba2.a * percentage);\r\n\r\n const blendedColor = { r, g, b, a };\r\n\r\n return this.returnColorObject(blendedColor);\r\n }\r\n\r\n /** - Invert (negate) a color, black becomes white, white becomes black, blue becomes orange and so on. */\r\n invert(color: SupportedColorFormats): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const invertedColor = { r: 255 - r, g: 255 - g, b: 255 - b, a };\r\n return this.returnColorObject(invertedColor);\r\n }\r\n\r\n /** - Completely desaturate a color into grayscale. */\r\n grayscale(color: SupportedColorFormats): ConversionMethods {\r\n const { r, g, b, a } = this.RGB(color).object();\r\n const gray = clampRGB(r * 0.3 + g * 0.59 + b * 0.11);\r\n const grayColor = { r: gray, g: gray, b: gray, a };\r\n\r\n return this.returnColorObject(grayColor);\r\n }\r\n\r\n /** - Generate a random color from `HSL` values. */\r\n randomHslColor({ h = [0, 360], s = [0, 100], l = [0, 100], a = [1, 1] } = {}): ConversionMethods {\r\n const random = {\r\n h: clampHue(randomNumber(h[0], h[1])),\r\n s: clamp100(randomNumber(s[0], s[1])),\r\n l: clamp100(randomNumber(l[0], l[1])),\r\n a: clampAlpha(randomNumber(a[0], a[1])),\r\n };\r\n\r\n return this.returnColorObject(random);\r\n }\r\n /** - Generate a random color from `HSV` values. */\r\n randomHsvColor({ h = [0, 360], s = [0, 100], v = [0, 100], a = [1, 1] } = {}): ConversionMethods {\r\n const random = {\r\n h: clampHue(randomNumber(h[0], h[1])),\r\n s: clamp100(randomNumber(s[0], s[1])),\r\n v: clamp100(randomNumber(v[0], v[1])),\r\n a: clampAlpha(randomNumber(a[0], a[1])),\r\n };\r\n\r\n return this.returnColorObject(random);\r\n }\r\n /** - Generate a random color from `RGB` values. */\r\n randomRgbColor({ r = [0, 255], g = [0, 255], b = [0, 255], a = [1, 1] } = {}): ConversionMethods {\r\n const random = {\r\n r: clampRGB(randomNumber(r[0], r[1])),\r\n g: clampRGB(randomNumber(g[0], g[1])),\r\n b: clampRGB(randomNumber(b[0], b[1])),\r\n a: clampAlpha(randomNumber(a[0], a[1])),\r\n };\r\n\r\n return this.returnColorObject(random);\r\n }\r\n /** - Generate a random color from `HWB` values. */\r\n randomHwbColor({ h = [0, 360], w = [0, 100], b = [0, 100], a = [1, 1] } = {}): ConversionMethods {\r\n const random = {\r\n h: clampHue(randomNumber(h[0], h[1])),\r\n w: clamp100(randomNumber(w[0], w[1])),\r\n b: clamp100(randomNumber(b[0], b[1])),\r\n a: clampAlpha(randomNumber(a[0], a[1])),\r\n };\r\n\r\n return this.returnColorObject(random);\r\n }\r\n\r\n /** - Returns the first color with the desired contrast ratio against the second color */\r\n adjustContrast(color1: SupportedColorFormats, color2: SupportedColorFormats, ratio = 4.5): ConversionMethods {\r\n const contrast = this.contrastRatio(color1, color2);\r\n const color1RGB = this.RGB(color1).object();\r\n const channels = ['r', 'g', 'b'] as const;\r\n\r\n const adjustLuminance = (colorRGB: rgbaT, by: number) => {\r\n const r = clampRGB(colorRGB.r + by);\r\n const g = clampRGB(colorRGB.g + by);\r\n const b = clampRGB(colorRGB.b + by);\r\n return { r, g, b, a: colorRGB.a };\r\n };\r\n\r\n let newColor = color1RGB;\r\n\r\n //* increase contrast\r\n if (ratio && contrast < ratio) {\r\n while (this.contrastRatio(newColor, color2) < ratio) {\r\n const increase = this.isDark(color2); // if the background color is dark\r\n newColor = adjustLuminance(newColor, increase ? 1 : -1);\r\n\r\n // break if the color reached the limit\r\n if (channels.every(e => newColor[e] === 0)) break;\r\n if (channels.every(e => newColor[e] === 255)) break;\r\n }\r\n //* decrease contrast\r\n } else if (ratio && contrast > ratio) {\r\n while (this.contrastRatio(newColor, color2) > ratio) {\r\n const increase = !this.isDark(color2); // if the background color is light\r\n newColor = adjustLuminance(newColor, increase ? 1 : -1);\r\n\r\n // break if the color reached the limit\r\n if (channels.every(e => newColor[e] === 0)) break;\r\n if (channels.every(e => newColor[e] === 255)) break;\r\n }\r\n }\r\n\r\n return this.returnColorObject(newColor);\r\n }\r\n}\r\n\r\nconst colorKit = new Colors();\r\n\r\nexport default colorKit;\r\n"
219
219
  ],
220
- "mappings": "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"
220
+ "mappings": "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"
221
221
  }
@@ -6,15 +6,15 @@ Object.defineProperty(exports, '__esModule', {
6
6
  exports.InputWidget = InputWidget;
7
7
  var _react = _interopRequireWildcard(require('react'));
8
8
  var _reactNative = require('react-native');
9
- var _utils = require('../../utils');
9
+ var _colorKit = _interopRequireDefault(require('../../colorKit/colorKit'));
10
10
  var _AppContext = _interopRequireDefault(require('../../AppContext'));
11
11
  var _styles = require('../../styles');
12
- var _colorKit = _interopRequireDefault(require('../../colorKit/colorKit'));
12
+ var _utils = require('../../utils');
13
13
  var _HexWidget = _interopRequireDefault(require('./Widgets/HexWidget'));
14
- var _RgbWidget = _interopRequireDefault(require('./Widgets/RgbWidget'));
15
14
  var _HslWidget = _interopRequireDefault(require('./Widgets/HslWidget'));
16
- var _HwbWidget = _interopRequireDefault(require('./Widgets/HwbWidget'));
17
15
  var _HsvWidget = _interopRequireDefault(require('./Widgets/HsvWidget'));
16
+ var _HwbWidget = _interopRequireDefault(require('./Widgets/HwbWidget'));
17
+ var _RgbWidget = _interopRequireDefault(require('./Widgets/RgbWidget'));
18
18
  function _interopRequireDefault(obj) {
19
19
  return obj && obj.__esModule ? obj : { default: obj };
20
20
  }