reanimated-color-picker 3.0.1 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Panels/Panel1.js +2 -2
- package/lib/commonjs/components/Panels/Panel1.js.map +1 -1
- package/lib/commonjs/components/Panels/Panel2.js +2 -2
- package/lib/commonjs/components/Panels/Panel2.js.map +1 -1
- package/lib/commonjs/components/Panels/Panel3/Panel3.js +2 -2
- package/lib/commonjs/components/Panels/Panel3/Panel3.js.map +1 -1
- package/lib/commonjs/components/Panels/Panel4.js +2 -2
- package/lib/commonjs/components/Panels/Panel4.js.map +1 -1
- package/lib/commonjs/components/Sliders/HSB/BrightnessSlider.js +2 -2
- package/lib/commonjs/components/Sliders/HSB/BrightnessSlider.js.map +1 -1
- package/lib/commonjs/components/Sliders/HSB/SaturationSlider.js +2 -2
- package/lib/commonjs/components/Sliders/HSB/SaturationSlider.js.map +1 -1
- package/lib/commonjs/components/Sliders/HSL/HSLSaturationSlider.js +2 -2
- package/lib/commonjs/components/Sliders/HSL/HSLSaturationSlider.js.map +1 -1
- package/lib/commonjs/components/Sliders/HSL/LuminanceCircular.js +2 -2
- package/lib/commonjs/components/Sliders/HSL/LuminanceCircular.js.map +1 -1
- package/lib/commonjs/components/Sliders/HSL/LuminanceSlider.js +2 -2
- package/lib/commonjs/components/Sliders/HSL/LuminanceSlider.js.map +1 -1
- package/lib/commonjs/components/Sliders/Hue/HueCircular.js +2 -2
- package/lib/commonjs/components/Sliders/Hue/HueCircular.js.map +1 -1
- package/lib/commonjs/components/Sliders/Hue/HueSlider.js +2 -2
- package/lib/commonjs/components/Sliders/Hue/HueSlider.js.map +1 -1
- package/lib/commonjs/components/Sliders/OpacitySlider.js +2 -2
- package/lib/commonjs/components/Sliders/OpacitySlider.js.map +1 -1
- package/lib/commonjs/components/Sliders/RGB/BlueSlider.js +2 -2
- package/lib/commonjs/components/Sliders/RGB/BlueSlider.js.map +1 -1
- package/lib/commonjs/components/Sliders/RGB/GreenSlider.js +2 -2
- package/lib/commonjs/components/Sliders/RGB/GreenSlider.js.map +1 -1
- package/lib/commonjs/components/Sliders/RGB/RedSlider.js +2 -2
- package/lib/commonjs/components/Sliders/RGB/RedSlider.js.map +1 -1
- package/lib/module/components/Panels/Panel1.js +2 -2
- package/lib/module/components/Panels/Panel1.js.map +1 -1
- package/lib/module/components/Panels/Panel2.js +2 -2
- package/lib/module/components/Panels/Panel2.js.map +1 -1
- package/lib/module/components/Panels/Panel3/Panel3.js +2 -2
- package/lib/module/components/Panels/Panel3/Panel3.js.map +1 -1
- package/lib/module/components/Panels/Panel4.js +2 -2
- package/lib/module/components/Panels/Panel4.js.map +1 -1
- package/lib/module/components/Sliders/HSB/BrightnessSlider.js +2 -2
- package/lib/module/components/Sliders/HSB/BrightnessSlider.js.map +1 -1
- package/lib/module/components/Sliders/HSB/SaturationSlider.js +2 -2
- package/lib/module/components/Sliders/HSB/SaturationSlider.js.map +1 -1
- package/lib/module/components/Sliders/HSL/HSLSaturationSlider.js +2 -2
- package/lib/module/components/Sliders/HSL/HSLSaturationSlider.js.map +1 -1
- package/lib/module/components/Sliders/HSL/LuminanceCircular.js +2 -2
- package/lib/module/components/Sliders/HSL/LuminanceCircular.js.map +1 -1
- package/lib/module/components/Sliders/HSL/LuminanceSlider.js +2 -2
- package/lib/module/components/Sliders/HSL/LuminanceSlider.js.map +1 -1
- package/lib/module/components/Sliders/Hue/HueCircular.js +2 -2
- package/lib/module/components/Sliders/Hue/HueCircular.js.map +1 -1
- package/lib/module/components/Sliders/Hue/HueSlider.js +2 -2
- package/lib/module/components/Sliders/Hue/HueSlider.js.map +1 -1
- package/lib/module/components/Sliders/OpacitySlider.js +2 -2
- package/lib/module/components/Sliders/OpacitySlider.js.map +1 -1
- package/lib/module/components/Sliders/RGB/BlueSlider.js +2 -2
- package/lib/module/components/Sliders/RGB/BlueSlider.js.map +1 -1
- package/lib/module/components/Sliders/RGB/GreenSlider.js +2 -2
- package/lib/module/components/Sliders/RGB/GreenSlider.js.map +1 -1
- package/lib/module/components/Sliders/RGB/RedSlider.js +2 -2
- package/lib/module/components/Sliders/RGB/RedSlider.js.map +1 -1
- package/lib/src/components/Panels/Panel1.tsx +2 -2
- package/lib/src/components/Panels/Panel2.tsx +2 -2
- package/lib/src/components/Panels/Panel3/Panel3.tsx +2 -2
- package/lib/src/components/Panels/Panel4.tsx +2 -2
- package/lib/src/components/Sliders/HSB/BrightnessSlider.tsx +2 -2
- package/lib/src/components/Sliders/HSB/SaturationSlider.tsx +2 -2
- package/lib/src/components/Sliders/HSL/HSLSaturationSlider.tsx +2 -2
- package/lib/src/components/Sliders/HSL/LuminanceCircular.tsx +2 -2
- package/lib/src/components/Sliders/HSL/LuminanceSlider.tsx +2 -2
- package/lib/src/components/Sliders/Hue/HueCircular.tsx +2 -2
- package/lib/src/components/Sliders/Hue/HueSlider.tsx +2 -2
- package/lib/src/components/Sliders/OpacitySlider.tsx +2 -2
- package/lib/src/components/Sliders/RGB/BlueSlider.tsx +2 -2
- package/lib/src/components/Sliders/RGB/GreenSlider.tsx +2 -2
- package/lib/src/components/Sliders/RGB/RedSlider.tsx +2 -2
- package/package.json +1 -1
|
@@ -112,8 +112,8 @@ function Panel1({
|
|
|
112
112
|
onGestureEnd();
|
|
113
113
|
};
|
|
114
114
|
const pan = _reactNativeGestureHandler.Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish);
|
|
115
|
-
const tap = _reactNativeGestureHandler.Gesture.Tap().
|
|
116
|
-
const longPress = _reactNativeGestureHandler.Gesture.LongPress().
|
|
115
|
+
const tap = _reactNativeGestureHandler.Gesture.Tap().onEnd(onGestureFinish);
|
|
116
|
+
const longPress = _reactNativeGestureHandler.Gesture.LongPress().onEnd(onGestureFinish);
|
|
117
117
|
const composed = _reactNativeGestureHandler.Gesture.Simultaneous(_reactNativeGestureHandler.Gesture.Exclusive(pan, tap, longPress), ...gestures);
|
|
118
118
|
const onLayout = (0, _react.useCallback)(({
|
|
119
119
|
nativeEvent: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Panel1.js","names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_AppContext","_interopRequireDefault","_styles","_Thumb","_utils","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Panel1","gestures","style","props","hueValue","saturationValue","brightnessValue","onGestureChange","onGestureEnd","ctx","usePickerContext","thumbShape","thumbSize","thumbColor","boundedThumb","renderThumb","thumbStyle","thumbScaleAnimationValue","thumbScaleUpValue","thumbScaleAnimationDuration","thumbScaleUpDuration","thumbInnerStyle","borderRadius","getStyle","getHeight","width","useSharedValue","height","handleScale","handleStyle","useAnimatedStyle","length","x","value","y","percentX","posX","percentY","posY","transform","translateX","translateY","scale","activeColorStyle","backgroundColor","brightnessImageStyle","rotate","isRtl","onGestureUpdate","lengthX","lengthY","clamp","newSaturationValue","newBrightnessValue","onGestureBegin","event","withTiming","duration","onGestureFinish","pan","Gesture","Pan","onBegin","onUpdate","onEnd","tap","Tap","onTouchesUp","longPress","LongPress","composed","Simultaneous","Exclusive","onLayout","useCallback","nativeEvent","layout","createElement","GestureDetector","gesture","View","styles","panel_container","position","borderWidth","padding","panel_image","Image","source","tintColor","resizeMode","innerStyle"],"sources":["../../../src/components/Panels/Panel1.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { Image, View } from 'react-native';\nimport { Gesture, GestureDetector } from 'react-native-gesture-handler';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\n\nimport usePickerContext from '../../AppContext';\nimport { styles } from '../../styles';\nimport Thumb from '../Thumb/Thumb';\nimport { clamp, getStyle, isRtl } from '../../utils';\n\nimport type { PanelProps } from '../../types';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { PanGestureHandlerEventPayload } from 'react-native-gesture-handler';\n\n/** - A square-shaped slider, reminiscent of Adobe style, is utilized to adjust the brightness and saturation of colors. */\nexport function Panel1({ gestures = [], style = {}, ...props }: PanelProps) {\n const { hueValue, saturationValue, brightnessValue, onGestureChange, onGestureEnd, ...ctx } = usePickerContext();\n\n const thumbShape = props.thumbShape ?? ctx.thumbShape,\n thumbSize = props.thumbSize ?? ctx.thumbSize,\n thumbColor = props.thumbColor ?? ctx.thumbColor,\n boundedThumb = props.boundedThumb ?? ctx.boundedThumb,\n renderThumb = props.renderThumb ?? ctx.renderThumb,\n thumbStyle = props.thumbStyle ?? ctx.thumbStyle ?? {},\n thumbScaleAnimationValue = props.thumbScaleUpValue ?? ctx.thumbScaleAnimationValue,\n thumbScaleAnimationDuration = props.thumbScaleUpDuration ?? ctx.thumbScaleAnimationDuration,\n thumbInnerStyle = props.thumbInnerStyle ?? ctx.thumbInnerStyle ?? {};\n\n const borderRadius = getStyle(style, 'borderRadius') ?? 5;\n const getHeight = getStyle(style, 'height') ?? 200;\n\n const width = useSharedValue(0);\n const height = useSharedValue(0);\n const handleScale = useSharedValue(1);\n\n const handleStyle = useAnimatedStyle(() => {\n const length = { x: width.value - (boundedThumb ? thumbSize : 0), y: height.value - (boundedThumb ? thumbSize : 0) },\n percentX = (saturationValue.value / 100) * length.x,\n posX = percentX - (boundedThumb ? 0 : thumbSize / 2),\n percentY = (brightnessValue.value / 100) * length.y,\n posY = length.y - percentY - (boundedThumb ? 0 : thumbSize / 2);\n\n return { transform: [{ translateX: posX }, { translateY: posY }, { scale: handleScale.value }] };\n }, [handleScale, saturationValue, brightnessValue, width, height]);\n\n const activeColorStyle = useAnimatedStyle(() => ({ backgroundColor: `hsl(${hueValue.value}, 100%, 50%)` }), [hueValue]);\n\n const brightnessImageStyle = useAnimatedStyle(() => {\n return {\n width: height.value,\n height: width.value,\n\n transform: [\n { rotate: '270deg' },\n { translateX: (width.value - height.value) / 2 },\n { translateY: ((width.value - height.value) / 2) * (isRtl ? -1 : 1) },\n ],\n };\n }, [width, height]);\n\n const onGestureUpdate = ({ x, y }: PanGestureHandlerEventPayload) => {\n 'worklet';\n\n const lengthX = width.value - (boundedThumb ? thumbSize : 0),\n lengthY = height.value - (boundedThumb ? thumbSize : 0),\n posX = clamp(x - (boundedThumb ? thumbSize / 2 : 0), lengthX),\n posY = clamp(y - (boundedThumb ? thumbSize / 2 : 0), lengthY),\n newSaturationValue = (posX / lengthX) * 100,\n newBrightnessValue = 100 - (posY / lengthY) * 100;\n\n if (saturationValue.value === newSaturationValue && brightnessValue.value === newBrightnessValue) return;\n\n saturationValue.value = newSaturationValue;\n brightnessValue.value = newBrightnessValue;\n\n onGestureChange();\n };\n\n const onGestureBegin = (event: PanGestureHandlerEventPayload) => {\n 'worklet';\n handleScale.value = withTiming(thumbScaleAnimationValue, { duration: thumbScaleAnimationDuration });\n onGestureUpdate(event);\n };\n\n const onGestureFinish = () => {\n 'worklet';\n handleScale.value = withTiming(1, { duration: thumbScaleAnimationDuration });\n onGestureEnd();\n };\n\n const pan = Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish);\n const tap = Gesture.Tap().onTouchesUp(onGestureFinish);\n const longPress = Gesture.LongPress().onTouchesUp(onGestureFinish);\n const composed = Gesture.Simultaneous(Gesture.Exclusive(pan, tap, longPress), ...gestures);\n\n const onLayout = useCallback(({ nativeEvent: { layout } }: LayoutChangeEvent) => {\n width.value = layout.width;\n height.value = layout.height;\n }, []);\n\n return (\n <GestureDetector gesture={composed}>\n <Animated.View\n onLayout={onLayout}\n style={[\n styles.panel_container,\n { height: getHeight },\n style,\n { position: 'relative', borderWidth: 0, padding: 0 },\n activeColorStyle,\n ]}\n >\n <View style={[styles.panel_image, { borderRadius }]}>\n <Image\n source={require('../../assets/blackGradient.png')}\n style={[styles.panel_image, { tintColor: '#fff' }]}\n resizeMode='stretch'\n />\n <Animated.Image\n source={require('../../assets/blackGradient.png')}\n style={[styles.panel_image, brightnessImageStyle]}\n resizeMode='stretch'\n />\n </View>\n\n <Thumb\n thumbShape={thumbShape}\n thumbSize={thumbSize}\n thumbColor={thumbColor}\n renderThumb={renderThumb}\n innerStyle={thumbInnerStyle}\n handleStyle={handleStyle}\n style={thumbStyle}\n />\n </Animated.View>\n </GestureDetector>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Panel1.js","names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_AppContext","_interopRequireDefault","_styles","_Thumb","_utils","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Panel1","gestures","style","props","hueValue","saturationValue","brightnessValue","onGestureChange","onGestureEnd","ctx","usePickerContext","thumbShape","thumbSize","thumbColor","boundedThumb","renderThumb","thumbStyle","thumbScaleAnimationValue","thumbScaleUpValue","thumbScaleAnimationDuration","thumbScaleUpDuration","thumbInnerStyle","borderRadius","getStyle","getHeight","width","useSharedValue","height","handleScale","handleStyle","useAnimatedStyle","length","x","value","y","percentX","posX","percentY","posY","transform","translateX","translateY","scale","activeColorStyle","backgroundColor","brightnessImageStyle","rotate","isRtl","onGestureUpdate","lengthX","lengthY","clamp","newSaturationValue","newBrightnessValue","onGestureBegin","event","withTiming","duration","onGestureFinish","pan","Gesture","Pan","onBegin","onUpdate","onEnd","tap","Tap","longPress","LongPress","composed","Simultaneous","Exclusive","onLayout","useCallback","nativeEvent","layout","createElement","GestureDetector","gesture","View","styles","panel_container","position","borderWidth","padding","panel_image","Image","source","tintColor","resizeMode","innerStyle"],"sources":["../../../src/components/Panels/Panel1.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { Image, View } from 'react-native';\nimport { Gesture, GestureDetector } from 'react-native-gesture-handler';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\n\nimport usePickerContext from '../../AppContext';\nimport { styles } from '../../styles';\nimport Thumb from '../Thumb/Thumb';\nimport { clamp, getStyle, isRtl } from '../../utils';\n\nimport type { PanelProps } from '../../types';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { PanGestureHandlerEventPayload } from 'react-native-gesture-handler';\n\n/** - A square-shaped slider, reminiscent of Adobe style, is utilized to adjust the brightness and saturation of colors. */\nexport function Panel1({ gestures = [], style = {}, ...props }: PanelProps) {\n const { hueValue, saturationValue, brightnessValue, onGestureChange, onGestureEnd, ...ctx } = usePickerContext();\n\n const thumbShape = props.thumbShape ?? ctx.thumbShape,\n thumbSize = props.thumbSize ?? ctx.thumbSize,\n thumbColor = props.thumbColor ?? ctx.thumbColor,\n boundedThumb = props.boundedThumb ?? ctx.boundedThumb,\n renderThumb = props.renderThumb ?? ctx.renderThumb,\n thumbStyle = props.thumbStyle ?? ctx.thumbStyle ?? {},\n thumbScaleAnimationValue = props.thumbScaleUpValue ?? ctx.thumbScaleAnimationValue,\n thumbScaleAnimationDuration = props.thumbScaleUpDuration ?? ctx.thumbScaleAnimationDuration,\n thumbInnerStyle = props.thumbInnerStyle ?? ctx.thumbInnerStyle ?? {};\n\n const borderRadius = getStyle(style, 'borderRadius') ?? 5;\n const getHeight = getStyle(style, 'height') ?? 200;\n\n const width = useSharedValue(0);\n const height = useSharedValue(0);\n const handleScale = useSharedValue(1);\n\n const handleStyle = useAnimatedStyle(() => {\n const length = { x: width.value - (boundedThumb ? thumbSize : 0), y: height.value - (boundedThumb ? thumbSize : 0) },\n percentX = (saturationValue.value / 100) * length.x,\n posX = percentX - (boundedThumb ? 0 : thumbSize / 2),\n percentY = (brightnessValue.value / 100) * length.y,\n posY = length.y - percentY - (boundedThumb ? 0 : thumbSize / 2);\n\n return { transform: [{ translateX: posX }, { translateY: posY }, { scale: handleScale.value }] };\n }, [handleScale, saturationValue, brightnessValue, width, height]);\n\n const activeColorStyle = useAnimatedStyle(() => ({ backgroundColor: `hsl(${hueValue.value}, 100%, 50%)` }), [hueValue]);\n\n const brightnessImageStyle = useAnimatedStyle(() => {\n return {\n width: height.value,\n height: width.value,\n\n transform: [\n { rotate: '270deg' },\n { translateX: (width.value - height.value) / 2 },\n { translateY: ((width.value - height.value) / 2) * (isRtl ? -1 : 1) },\n ],\n };\n }, [width, height]);\n\n const onGestureUpdate = ({ x, y }: PanGestureHandlerEventPayload) => {\n 'worklet';\n\n const lengthX = width.value - (boundedThumb ? thumbSize : 0),\n lengthY = height.value - (boundedThumb ? thumbSize : 0),\n posX = clamp(x - (boundedThumb ? thumbSize / 2 : 0), lengthX),\n posY = clamp(y - (boundedThumb ? thumbSize / 2 : 0), lengthY),\n newSaturationValue = (posX / lengthX) * 100,\n newBrightnessValue = 100 - (posY / lengthY) * 100;\n\n if (saturationValue.value === newSaturationValue && brightnessValue.value === newBrightnessValue) return;\n\n saturationValue.value = newSaturationValue;\n brightnessValue.value = newBrightnessValue;\n\n onGestureChange();\n };\n\n const onGestureBegin = (event: PanGestureHandlerEventPayload) => {\n 'worklet';\n handleScale.value = withTiming(thumbScaleAnimationValue, { duration: thumbScaleAnimationDuration });\n onGestureUpdate(event);\n };\n\n const onGestureFinish = () => {\n 'worklet';\n handleScale.value = withTiming(1, { duration: thumbScaleAnimationDuration });\n onGestureEnd();\n };\n\n const pan = Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish);\n const tap = Gesture.Tap().onEnd(onGestureFinish);\n const longPress = Gesture.LongPress().onEnd(onGestureFinish);\n const composed = Gesture.Simultaneous(Gesture.Exclusive(pan, tap, longPress), ...gestures);\n\n const onLayout = useCallback(({ nativeEvent: { layout } }: LayoutChangeEvent) => {\n width.value = layout.width;\n height.value = layout.height;\n }, []);\n\n return (\n <GestureDetector gesture={composed}>\n <Animated.View\n onLayout={onLayout}\n style={[\n styles.panel_container,\n { height: getHeight },\n style,\n { position: 'relative', borderWidth: 0, padding: 0 },\n activeColorStyle,\n ]}\n >\n <View style={[styles.panel_image, { borderRadius }]}>\n <Image\n source={require('../../assets/blackGradient.png')}\n style={[styles.panel_image, { tintColor: '#fff' }]}\n resizeMode='stretch'\n />\n <Animated.Image\n source={require('../../assets/blackGradient.png')}\n style={[styles.panel_image, brightnessImageStyle]}\n resizeMode='stretch'\n />\n </View>\n\n <Thumb\n thumbShape={thumbShape}\n thumbSize={thumbSize}\n thumbColor={thumbColor}\n renderThumb={renderThumb}\n innerStyle={thumbInnerStyle}\n handleStyle={handleStyle}\n style={thumbStyle}\n />\n </Animated.View>\n </GestureDetector>\n );\n}\n"],"mappings":"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"}
|
|
@@ -185,8 +185,8 @@ function Panel2({
|
|
|
185
185
|
onGestureEnd();
|
|
186
186
|
};
|
|
187
187
|
const pan = _reactNativeGestureHandler.Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish);
|
|
188
|
-
const tap = _reactNativeGestureHandler.Gesture.Tap().
|
|
189
|
-
const longPress = _reactNativeGestureHandler.Gesture.LongPress().
|
|
188
|
+
const tap = _reactNativeGestureHandler.Gesture.Tap().onEnd(onGestureFinish);
|
|
189
|
+
const longPress = _reactNativeGestureHandler.Gesture.LongPress().onEnd(onGestureFinish);
|
|
190
190
|
const composed = _reactNativeGestureHandler.Gesture.Simultaneous(_reactNativeGestureHandler.Gesture.Exclusive(pan, tap, longPress), ...gestures);
|
|
191
191
|
const onLayout = (0, _react.useCallback)(({
|
|
192
192
|
nativeEvent: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Panel2.js","names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_index","_interopRequireDefault","_AppContext","_styles","_Thumb","_utils","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Panel2","verticalChannel","reverseHue","reverseVerticalChannel","gestures","style","props","hueValue","saturationValue","brightnessValue","onGestureChange","onGestureEnd","ctx","usePickerContext","thumbShape","thumbSize","thumbColor","boundedThumb","renderThumb","thumbStyle","thumbInnerStyle","thumbScaleAnimationValue","thumbScaleUpValue","thumbScaleAnimationDuration","thumbScaleUpDuration","adaptSpectrum","borderRadius","getStyle","getHeight","width","useSharedValue","height","handleScale","lastHslSaturationValue","hsl","useDerivedValue","hsvColor","h","value","s","v","l","colorKit","runOnUI","HSL","object","verticalChannelValue","handleStyle","useAnimatedStyle","length","x","y","percentX","posX","percentY","posY","transform","translateX","translateY","scale","spectrumStyle","backgroundColor","panelImageStyle","rotate","isRtl","onGestureUpdate","lengthX","lengthY","clamp","valueX","valueY","newHueValue","newChannelValue","HSV","onGestureBegin","event","withTiming","duration","onGestureFinish","pan","Gesture","Pan","onBegin","onUpdate","onEnd","tap","Tap","onTouchesUp","longPress","LongPress","composed","Simultaneous","Exclusive","onLayout","useCallback","nativeEvent","layout","createElement","GestureDetector","gesture","View","styles","panel_container","position","borderWidth","padding","ImageBackground","source","panel_image","scaleX","resizeMode","ConditionalRendering","if","StyleSheet","absoluteFillObject","Image","tintColor","undefined","channel","innerStyle"],"sources":["../../../src/components/Panels/Panel2.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { ImageBackground, StyleSheet } from 'react-native';\nimport { Gesture, GestureDetector } from 'react-native-gesture-handler';\nimport Animated, { useAnimatedStyle, useDerivedValue, useSharedValue, withTiming } from 'react-native-reanimated';\n\nimport colorKit from '../../colorKit/index';\nimport usePickerContext from '../../AppContext';\nimport { styles } from '../../styles';\nimport Thumb from '../Thumb/Thumb';\nimport { clamp, ConditionalRendering, getStyle, isRtl } from '../../utils';\n\nimport type { Panel2Props } from '../../types';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { PanGestureHandlerEventPayload } from 'react-native-gesture-handler';\n\n/** - A square-shaped slider (windows style) is utilized to adjust the hue and (saturation or brightness) channels. */\nexport function Panel2({\n verticalChannel = 'saturation',\n reverseHue = false,\n reverseVerticalChannel = false,\n gestures = [],\n style = {},\n ...props\n}: Panel2Props) {\n const { hueValue, saturationValue, brightnessValue, onGestureChange, onGestureEnd, ...ctx } = usePickerContext();\n\n const thumbShape = props.thumbShape ?? ctx.thumbShape,\n thumbSize = props.thumbSize ?? ctx.thumbSize,\n thumbColor = props.thumbColor ?? ctx.thumbColor,\n boundedThumb = props.boundedThumb ?? ctx.boundedThumb,\n renderThumb = props.renderThumb ?? ctx.renderThumb,\n thumbStyle = props.thumbStyle ?? ctx.thumbStyle ?? {},\n thumbInnerStyle = props.thumbInnerStyle ?? ctx.thumbInnerStyle ?? {},\n thumbScaleAnimationValue = props.thumbScaleUpValue ?? ctx.thumbScaleAnimationValue,\n thumbScaleAnimationDuration = props.thumbScaleUpDuration ?? ctx.thumbScaleAnimationDuration,\n adaptSpectrum = props.adaptSpectrum ?? ctx.adaptSpectrum;\n\n const borderRadius = getStyle(style, 'borderRadius') ?? 5;\n const getHeight = getStyle(style, 'height') ?? 200;\n\n const width = useSharedValue(0);\n const height = useSharedValue(0);\n const handleScale = useSharedValue(1);\n const lastHslSaturationValue = useSharedValue(0);\n\n // We need to keep track of the HSL saturation value because, when the luminance is 0 or 100,\n // when converting to/from HSV, the previous saturation value will be lost.\n const hsl = useDerivedValue(() => {\n const hsvColor = { h: hueValue.value, s: saturationValue.value, v: brightnessValue.value };\n const { h, s, l } = colorKit.runOnUI().HSL(hsvColor).object(false);\n if (l === 100 || l === 0) return { h, s: lastHslSaturationValue.value, l };\n lastHslSaturationValue.value = s;\n return { h, s, l };\n }, [hueValue, saturationValue, brightnessValue]);\n\n const verticalChannelValue = useDerivedValue(() => {\n if (verticalChannel === 'brightness') return brightnessValue.value;\n if (verticalChannel === 'hsl-saturation') return hsl.value.s;\n return saturationValue.value;\n }, [brightnessValue, saturationValue, hsl]);\n\n const handleStyle = useAnimatedStyle(() => {\n const length = { x: width.value - (boundedThumb ? thumbSize : 0), y: height.value - (boundedThumb ? thumbSize : 0) },\n percentX = (hueValue.value / 360) * length.x,\n posX = (reverseHue ? length.x - percentX : percentX) - (boundedThumb ? 0 : thumbSize / 2),\n percentY = (verticalChannelValue.value / 100) * length.y,\n posY = (reverseVerticalChannel ? percentY : length.y - percentY) - (boundedThumb ? 0 : thumbSize / 2);\n\n return { transform: [{ translateX: posX }, { translateY: posY }, { scale: handleScale.value }] };\n }, [width, height, hueValue, verticalChannelValue, handleScale]);\n\n const spectrumStyle = useAnimatedStyle(() => {\n if (!adaptSpectrum) return {};\n\n if (verticalChannel === 'brightness') {\n return { backgroundColor: `rgba(255, 255, 255, ${1 - saturationValue.value / 100})` };\n }\n\n if (verticalChannel === 'hsl-saturation') {\n if (hsl.value.l < 50) return { backgroundColor: `rgba(0, 0, 0, ${1 - hsl.value.l / 50})` };\n return { backgroundColor: `rgba(255, 255, 255, ${(hsl.value.l - 50) / 50})` };\n }\n\n return { backgroundColor: `rgba(0, 0, 0, ${1 - brightnessValue.value / 100})` };\n }, [saturationValue, brightnessValue]);\n\n const panelImageStyle = useAnimatedStyle(() => {\n return {\n width: height.value,\n height: width.value,\n transform: [\n { rotate: reverseVerticalChannel ? '90deg' : '270deg' },\n { translateX: ((width.value - height.value) / 2) * (reverseVerticalChannel ? -1 : 1) },\n { translateY: ((width.value - height.value) / 2) * (isRtl ? -1 : 1) * (reverseVerticalChannel ? -1 : 1) },\n ],\n };\n }, [width, height]);\n\n const onGestureUpdate = ({ x, y }: PanGestureHandlerEventPayload) => {\n 'worklet';\n\n const lengthX = width.value - (boundedThumb ? thumbSize : 0),\n lengthY = height.value - (boundedThumb ? thumbSize : 0),\n posX = clamp(x - (boundedThumb ? thumbSize / 2 : 0), lengthX),\n posY = clamp(y - (boundedThumb ? thumbSize / 2 : 0), lengthY),\n valueX = (posX / lengthX) * 360,\n valueY = (posY / lengthY) * 100,\n newHueValue = reverseHue ? 360 - valueX : valueX,\n newChannelValue = reverseVerticalChannel ? valueY : 100 - valueY;\n\n if (hueValue.value === newHueValue && verticalChannelValue.value === newChannelValue) return;\n\n hueValue.value = newHueValue;\n\n if (verticalChannel === 'hsl-saturation') {\n // To prevent locking this slider when the luminance is 0 or 100,\n // this should not affect the resulting color, as the value will be rounded.\n const l = hsl.value.l === 0 ? 0.01 : hsl.value.l === 100 ? 99.99 : hsl.value.l;\n const { s, v } = colorKit.runOnUI().HSV({ h: hsl.value.h, s: newChannelValue, l }).object(false);\n saturationValue.value = s;\n brightnessValue.value = v;\n } else if (verticalChannel === 'brightness') {\n brightnessValue.value = newChannelValue;\n } else {\n saturationValue.value = newChannelValue;\n }\n\n onGestureChange();\n };\n\n const onGestureBegin = (event: PanGestureHandlerEventPayload) => {\n 'worklet';\n handleScale.value = withTiming(thumbScaleAnimationValue, { duration: thumbScaleAnimationDuration });\n onGestureUpdate(event);\n };\n\n const onGestureFinish = () => {\n 'worklet';\n handleScale.value = withTiming(1, { duration: thumbScaleAnimationDuration });\n onGestureEnd();\n };\n\n const pan = Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish);\n const tap = Gesture.Tap().onTouchesUp(onGestureFinish);\n const longPress = Gesture.LongPress().onTouchesUp(onGestureFinish);\n const composed = Gesture.Simultaneous(Gesture.Exclusive(pan, tap, longPress), ...gestures);\n\n const onLayout = useCallback(({ nativeEvent: { layout } }: LayoutChangeEvent) => {\n width.value = layout.width;\n height.value = layout.height;\n }, []);\n\n return (\n <GestureDetector gesture={composed}>\n <Animated.View\n onLayout={onLayout}\n style={[styles.panel_container, { height: getHeight }, style, { position: 'relative', borderWidth: 0, padding: 0 }]}\n >\n <ImageBackground\n source={require('../../assets/Hue.png')}\n style={[styles.panel_image, { position: 'relative', borderRadius, transform: [{ scaleX: reverseHue ? -1 : 1 }] }]}\n resizeMode='stretch'\n >\n <ConditionalRendering if={adaptSpectrum && verticalChannel === 'brightness'}>\n <Animated.View style={[spectrumStyle, StyleSheet.absoluteFillObject]} />\n </ConditionalRendering>\n\n <Animated.Image\n source={require('../../assets/blackGradient.png')}\n style={[\n styles.panel_image,\n panelImageStyle,\n {\n tintColor: verticalChannel === 'saturation' ? '#fff' : verticalChannel === 'hsl-saturation' ? '#888' : undefined,\n },\n ]}\n resizeMode='stretch'\n />\n\n <ConditionalRendering if={adaptSpectrum && (verticalChannel === 'saturation' || verticalChannel === 'hsl-saturation')}>\n <Animated.View style={[spectrumStyle, StyleSheet.absoluteFillObject]} />\n </ConditionalRendering>\n </ImageBackground>\n\n <Thumb\n channel={verticalChannel === 'brightness' ? 'v' : 's'}\n thumbShape={thumbShape}\n thumbSize={thumbSize}\n thumbColor={thumbColor}\n renderThumb={renderThumb}\n innerStyle={thumbInnerStyle}\n handleStyle={handleStyle}\n style={thumbStyle}\n adaptSpectrum={adaptSpectrum}\n />\n </Animated.View>\n </GestureDetector>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Panel2.js","names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_index","_interopRequireDefault","_AppContext","_styles","_Thumb","_utils","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Panel2","verticalChannel","reverseHue","reverseVerticalChannel","gestures","style","props","hueValue","saturationValue","brightnessValue","onGestureChange","onGestureEnd","ctx","usePickerContext","thumbShape","thumbSize","thumbColor","boundedThumb","renderThumb","thumbStyle","thumbInnerStyle","thumbScaleAnimationValue","thumbScaleUpValue","thumbScaleAnimationDuration","thumbScaleUpDuration","adaptSpectrum","borderRadius","getStyle","getHeight","width","useSharedValue","height","handleScale","lastHslSaturationValue","hsl","useDerivedValue","hsvColor","h","value","s","v","l","colorKit","runOnUI","HSL","object","verticalChannelValue","handleStyle","useAnimatedStyle","length","x","y","percentX","posX","percentY","posY","transform","translateX","translateY","scale","spectrumStyle","backgroundColor","panelImageStyle","rotate","isRtl","onGestureUpdate","lengthX","lengthY","clamp","valueX","valueY","newHueValue","newChannelValue","HSV","onGestureBegin","event","withTiming","duration","onGestureFinish","pan","Gesture","Pan","onBegin","onUpdate","onEnd","tap","Tap","longPress","LongPress","composed","Simultaneous","Exclusive","onLayout","useCallback","nativeEvent","layout","createElement","GestureDetector","gesture","View","styles","panel_container","position","borderWidth","padding","ImageBackground","source","panel_image","scaleX","resizeMode","ConditionalRendering","if","StyleSheet","absoluteFillObject","Image","tintColor","undefined","channel","innerStyle"],"sources":["../../../src/components/Panels/Panel2.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { ImageBackground, StyleSheet } from 'react-native';\nimport { Gesture, GestureDetector } from 'react-native-gesture-handler';\nimport Animated, { useAnimatedStyle, useDerivedValue, useSharedValue, withTiming } from 'react-native-reanimated';\n\nimport colorKit from '../../colorKit/index';\nimport usePickerContext from '../../AppContext';\nimport { styles } from '../../styles';\nimport Thumb from '../Thumb/Thumb';\nimport { clamp, ConditionalRendering, getStyle, isRtl } from '../../utils';\n\nimport type { Panel2Props } from '../../types';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { PanGestureHandlerEventPayload } from 'react-native-gesture-handler';\n\n/** - A square-shaped slider (windows style) is utilized to adjust the hue and (saturation or brightness) channels. */\nexport function Panel2({\n verticalChannel = 'saturation',\n reverseHue = false,\n reverseVerticalChannel = false,\n gestures = [],\n style = {},\n ...props\n}: Panel2Props) {\n const { hueValue, saturationValue, brightnessValue, onGestureChange, onGestureEnd, ...ctx } = usePickerContext();\n\n const thumbShape = props.thumbShape ?? ctx.thumbShape,\n thumbSize = props.thumbSize ?? ctx.thumbSize,\n thumbColor = props.thumbColor ?? ctx.thumbColor,\n boundedThumb = props.boundedThumb ?? ctx.boundedThumb,\n renderThumb = props.renderThumb ?? ctx.renderThumb,\n thumbStyle = props.thumbStyle ?? ctx.thumbStyle ?? {},\n thumbInnerStyle = props.thumbInnerStyle ?? ctx.thumbInnerStyle ?? {},\n thumbScaleAnimationValue = props.thumbScaleUpValue ?? ctx.thumbScaleAnimationValue,\n thumbScaleAnimationDuration = props.thumbScaleUpDuration ?? ctx.thumbScaleAnimationDuration,\n adaptSpectrum = props.adaptSpectrum ?? ctx.adaptSpectrum;\n\n const borderRadius = getStyle(style, 'borderRadius') ?? 5;\n const getHeight = getStyle(style, 'height') ?? 200;\n\n const width = useSharedValue(0);\n const height = useSharedValue(0);\n const handleScale = useSharedValue(1);\n const lastHslSaturationValue = useSharedValue(0);\n\n // We need to keep track of the HSL saturation value because, when the luminance is 0 or 100,\n // when converting to/from HSV, the previous saturation value will be lost.\n const hsl = useDerivedValue(() => {\n const hsvColor = { h: hueValue.value, s: saturationValue.value, v: brightnessValue.value };\n const { h, s, l } = colorKit.runOnUI().HSL(hsvColor).object(false);\n if (l === 100 || l === 0) return { h, s: lastHslSaturationValue.value, l };\n lastHslSaturationValue.value = s;\n return { h, s, l };\n }, [hueValue, saturationValue, brightnessValue]);\n\n const verticalChannelValue = useDerivedValue(() => {\n if (verticalChannel === 'brightness') return brightnessValue.value;\n if (verticalChannel === 'hsl-saturation') return hsl.value.s;\n return saturationValue.value;\n }, [brightnessValue, saturationValue, hsl]);\n\n const handleStyle = useAnimatedStyle(() => {\n const length = { x: width.value - (boundedThumb ? thumbSize : 0), y: height.value - (boundedThumb ? thumbSize : 0) },\n percentX = (hueValue.value / 360) * length.x,\n posX = (reverseHue ? length.x - percentX : percentX) - (boundedThumb ? 0 : thumbSize / 2),\n percentY = (verticalChannelValue.value / 100) * length.y,\n posY = (reverseVerticalChannel ? percentY : length.y - percentY) - (boundedThumb ? 0 : thumbSize / 2);\n\n return { transform: [{ translateX: posX }, { translateY: posY }, { scale: handleScale.value }] };\n }, [width, height, hueValue, verticalChannelValue, handleScale]);\n\n const spectrumStyle = useAnimatedStyle(() => {\n if (!adaptSpectrum) return {};\n\n if (verticalChannel === 'brightness') {\n return { backgroundColor: `rgba(255, 255, 255, ${1 - saturationValue.value / 100})` };\n }\n\n if (verticalChannel === 'hsl-saturation') {\n if (hsl.value.l < 50) return { backgroundColor: `rgba(0, 0, 0, ${1 - hsl.value.l / 50})` };\n return { backgroundColor: `rgba(255, 255, 255, ${(hsl.value.l - 50) / 50})` };\n }\n\n return { backgroundColor: `rgba(0, 0, 0, ${1 - brightnessValue.value / 100})` };\n }, [saturationValue, brightnessValue]);\n\n const panelImageStyle = useAnimatedStyle(() => {\n return {\n width: height.value,\n height: width.value,\n transform: [\n { rotate: reverseVerticalChannel ? '90deg' : '270deg' },\n { translateX: ((width.value - height.value) / 2) * (reverseVerticalChannel ? -1 : 1) },\n { translateY: ((width.value - height.value) / 2) * (isRtl ? -1 : 1) * (reverseVerticalChannel ? -1 : 1) },\n ],\n };\n }, [width, height]);\n\n const onGestureUpdate = ({ x, y }: PanGestureHandlerEventPayload) => {\n 'worklet';\n\n const lengthX = width.value - (boundedThumb ? thumbSize : 0),\n lengthY = height.value - (boundedThumb ? thumbSize : 0),\n posX = clamp(x - (boundedThumb ? thumbSize / 2 : 0), lengthX),\n posY = clamp(y - (boundedThumb ? thumbSize / 2 : 0), lengthY),\n valueX = (posX / lengthX) * 360,\n valueY = (posY / lengthY) * 100,\n newHueValue = reverseHue ? 360 - valueX : valueX,\n newChannelValue = reverseVerticalChannel ? valueY : 100 - valueY;\n\n if (hueValue.value === newHueValue && verticalChannelValue.value === newChannelValue) return;\n\n hueValue.value = newHueValue;\n\n if (verticalChannel === 'hsl-saturation') {\n // To prevent locking this slider when the luminance is 0 or 100,\n // this should not affect the resulting color, as the value will be rounded.\n const l = hsl.value.l === 0 ? 0.01 : hsl.value.l === 100 ? 99.99 : hsl.value.l;\n const { s, v } = colorKit.runOnUI().HSV({ h: hsl.value.h, s: newChannelValue, l }).object(false);\n saturationValue.value = s;\n brightnessValue.value = v;\n } else if (verticalChannel === 'brightness') {\n brightnessValue.value = newChannelValue;\n } else {\n saturationValue.value = newChannelValue;\n }\n\n onGestureChange();\n };\n\n const onGestureBegin = (event: PanGestureHandlerEventPayload) => {\n 'worklet';\n handleScale.value = withTiming(thumbScaleAnimationValue, { duration: thumbScaleAnimationDuration });\n onGestureUpdate(event);\n };\n\n const onGestureFinish = () => {\n 'worklet';\n handleScale.value = withTiming(1, { duration: thumbScaleAnimationDuration });\n onGestureEnd();\n };\n\n const pan = Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish);\n const tap = Gesture.Tap().onEnd(onGestureFinish);\n const longPress = Gesture.LongPress().onEnd(onGestureFinish);\n const composed = Gesture.Simultaneous(Gesture.Exclusive(pan, tap, longPress), ...gestures);\n\n const onLayout = useCallback(({ nativeEvent: { layout } }: LayoutChangeEvent) => {\n width.value = layout.width;\n height.value = layout.height;\n }, []);\n\n return (\n <GestureDetector gesture={composed}>\n <Animated.View\n onLayout={onLayout}\n style={[styles.panel_container, { height: getHeight }, style, { position: 'relative', borderWidth: 0, padding: 0 }]}\n >\n <ImageBackground\n source={require('../../assets/Hue.png')}\n style={[styles.panel_image, { position: 'relative', borderRadius, transform: [{ scaleX: reverseHue ? -1 : 1 }] }]}\n resizeMode='stretch'\n >\n <ConditionalRendering if={adaptSpectrum && verticalChannel === 'brightness'}>\n <Animated.View style={[spectrumStyle, StyleSheet.absoluteFillObject]} />\n </ConditionalRendering>\n\n <Animated.Image\n source={require('../../assets/blackGradient.png')}\n style={[\n styles.panel_image,\n panelImageStyle,\n {\n tintColor: verticalChannel === 'saturation' ? '#fff' : verticalChannel === 'hsl-saturation' ? '#888' : undefined,\n },\n ]}\n resizeMode='stretch'\n />\n\n <ConditionalRendering if={adaptSpectrum && (verticalChannel === 'saturation' || verticalChannel === 'hsl-saturation')}>\n <Animated.View style={[spectrumStyle, StyleSheet.absoluteFillObject]} />\n </ConditionalRendering>\n </ImageBackground>\n\n <Thumb\n channel={verticalChannel === 'brightness' ? 'v' : 's'}\n thumbShape={thumbShape}\n thumbSize={thumbSize}\n thumbColor={thumbColor}\n renderThumb={renderThumb}\n innerStyle={thumbInnerStyle}\n handleStyle={handleStyle}\n style={thumbStyle}\n adaptSpectrum={adaptSpectrum}\n />\n </Animated.View>\n </GestureDetector>\n );\n}\n"],"mappings":"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"}
|
|
@@ -212,8 +212,8 @@ function Panel3({
|
|
|
212
212
|
onGestureEnd();
|
|
213
213
|
};
|
|
214
214
|
const pan = _reactNativeGestureHandler.Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish);
|
|
215
|
-
const tap = _reactNativeGestureHandler.Gesture.Tap().
|
|
216
|
-
const longPress = _reactNativeGestureHandler.Gesture.LongPress().
|
|
215
|
+
const tap = _reactNativeGestureHandler.Gesture.Tap().onEnd(onGestureFinish);
|
|
216
|
+
const longPress = _reactNativeGestureHandler.Gesture.LongPress().onEnd(onGestureFinish);
|
|
217
217
|
const composed = _reactNativeGestureHandler.Gesture.Simultaneous(_reactNativeGestureHandler.Gesture.Exclusive(pan, tap, longPress), ...gestures);
|
|
218
218
|
const onLayout = (0, _react.useCallback)(({
|
|
219
219
|
nativeEvent: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Panel3.js","names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_index","_interopRequireDefault","_AppContext","_styles","_Thumb","_utils","_Panel3Context","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Panel3","renderCenterLine","centerChannel","gestures","style","rotate","children","props","hueValue","saturationValue","brightnessValue","onGestureChange","onGestureEnd","ctx","usePickerContext","thumbShape","thumbSize","thumbColor","boundedThumb","renderThumb","thumbStyle","thumbScaleAnimationValue","thumbScaleUpValue","thumbScaleAnimationDuration","thumbScaleUpDuration","thumbInnerStyle","adaptSpectrum","borderRadius","isGestureActive","useSharedValue","width","handleScale","lastHslSaturationValue","hsl","useDerivedValue","hsvColor","h","value","s","v","l","colorKit","runOnUI","HSL","object","centerChannelValue","handleStyle","useAnimatedStyle","center","rotatedHue","distance","angle","Math","PI","posY","sin","posX","cos","transform","translateX","translateY","scale","spectrumStyle","backgroundColor","centerLineStyle","lineThickness","top","left","height","onGestureUpdate","x","y","dx","dy","radius","clamp","sqrt","theta","atan2","radiusPercent","newHueValue","newChannelValue","HSV","onGestureBegin","event","R","clickR","withTiming","duration","onGestureFinish","pan","Gesture","Pan","onBegin","onUpdate","onEnd","tap","Tap","onTouchesUp","longPress","LongPress","composed","Simultaneous","Exclusive","onLayout","useCallback","nativeEvent","layout","layoutWidth","createElement","Panel3ContextProvider","GestureDetector","gesture","View","styles","panel_container","position","aspectRatio","borderWidth","padding","ImageBackground","source","panel_image","imageStyle","resizeMode","ConditionalRendering","if","StyleSheet","absoluteFillObject","Image","tintColor","undefined","panel3Line","channel","innerStyle"],"sources":["../../../../src/components/Panels/Panel3/Panel3.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { Image, ImageBackground, StyleSheet } from 'react-native';\nimport { Gesture, GestureDetector } from 'react-native-gesture-handler';\nimport Animated, { useAnimatedStyle, useDerivedValue, useSharedValue, withTiming } from 'react-native-reanimated';\n\nimport colorKit from '../../../colorKit/index';\nimport usePickerContext from '../../../AppContext';\nimport { styles } from '../../../styles';\nimport Thumb from '../../Thumb/Thumb';\nimport { clamp, ConditionalRendering } from '../../../utils';\nimport { Panel3ContextProvider } from './Panel3Context';\n\nimport type { Panel3Props } from '../../../types';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { PanGestureHandlerEventPayload } from 'react-native-gesture-handler';\n\n/** - The circle-shaped slider, with its wheel style design, is utilized to adjust the hue and (saturation or brightness) of colors. */\nexport function Panel3({\n renderCenterLine = false,\n centerChannel = 'saturation',\n gestures = [],\n style = {},\n rotate = 0,\n children,\n ...props\n}: Panel3Props) {\n const { hueValue, saturationValue, brightnessValue, onGestureChange, onGestureEnd, ...ctx } = usePickerContext();\n\n const thumbShape = props.thumbShape ?? ctx.thumbShape,\n thumbSize = props.thumbSize ?? ctx.thumbSize,\n thumbColor = props.thumbColor ?? ctx.thumbColor,\n boundedThumb = props.boundedThumb ?? ctx.boundedThumb,\n renderThumb = props.renderThumb ?? ctx.renderThumb,\n thumbStyle = props.thumbStyle ?? ctx.thumbStyle ?? {},\n thumbScaleAnimationValue = props.thumbScaleUpValue ?? ctx.thumbScaleAnimationValue,\n thumbScaleAnimationDuration = props.thumbScaleUpDuration ?? ctx.thumbScaleAnimationDuration,\n thumbInnerStyle = props.thumbInnerStyle ?? ctx.thumbInnerStyle ?? {},\n adaptSpectrum = props.adaptSpectrum ?? ctx.adaptSpectrum;\n\n const borderRadius = 2000;\n\n const isGestureActive = useSharedValue(false);\n const width = useSharedValue(0);\n const handleScale = useSharedValue(1);\n const lastHslSaturationValue = useSharedValue(0);\n\n // We need to keep track of the HSL saturation value because, when the luminance is 0 or 100,\n // when converting to/from HSV, the previous saturation value will be lost.\n const hsl = useDerivedValue(() => {\n const hsvColor = { h: hueValue.value, s: saturationValue.value, v: brightnessValue.value };\n const { h, s, l } = colorKit.runOnUI().HSL(hsvColor).object(false);\n if (l === 100 || l === 0) return { h, s: lastHslSaturationValue.value, l };\n lastHslSaturationValue.value = s;\n return { h, s, l };\n }, [hueValue, saturationValue, brightnessValue]);\n\n const centerChannelValue = useDerivedValue(() => {\n if (centerChannel === 'brightness') return brightnessValue.value;\n if (centerChannel === 'hsl-saturation') return hsl.value.s;\n return saturationValue.value;\n }, [brightnessValue, saturationValue, hsl]);\n\n const handleStyle = useAnimatedStyle(() => {\n const center = width.value / 2 - (boundedThumb ? thumbSize / 2 : 0),\n rotatedHue = (hueValue.value - rotate) % 360,\n distance = (centerChannelValue.value / 100) * (width.value / 2 - (boundedThumb ? thumbSize / 2 : 0)),\n angle = (rotatedHue * Math.PI) / 180,\n posY = width.value - (Math.sin(angle) * distance + center) - (boundedThumb ? thumbSize : thumbSize / 2),\n posX = width.value - (Math.cos(angle) * distance + center) - (boundedThumb ? thumbSize : thumbSize / 2);\n\n return {\n transform: [{ translateX: posX }, { translateY: posY }, { scale: handleScale.value }, { rotate: rotatedHue + 90 + 'deg' }],\n };\n }, [width, centerChannelValue, hueValue, handleScale]);\n\n const spectrumStyle = useAnimatedStyle(() => {\n if (!adaptSpectrum) return {};\n\n if (centerChannel === 'brightness') {\n return { backgroundColor: `rgba(255, 255, 255, ${1 - saturationValue.value / 100})` };\n }\n\n if (centerChannel === 'hsl-saturation') {\n if (hsl.value.l < 50) return { backgroundColor: `rgba(0, 0, 0, ${1 - hsl.value.l / 50})` };\n return { backgroundColor: `rgba(255, 255, 255, ${(hsl.value.l - 50) / 50})` };\n }\n\n return { backgroundColor: `rgba(0, 0, 0, ${1 - brightnessValue.value / 100})` };\n }, [saturationValue, brightnessValue]);\n\n const centerLineStyle = useAnimatedStyle(() => {\n if (!renderCenterLine) return {};\n\n const lineThickness = 1,\n center = width.value / 2 - (boundedThumb ? thumbSize / 2 : 0),\n rotatedHue = (hueValue.value - rotate) % 360,\n distance = (centerChannelValue.value / 100) * center,\n angle = ((rotatedHue * Math.PI) / Math.PI + 180) % 360; // reversed angle\n\n return {\n top: (width.value - lineThickness) / 2,\n left: (width.value - distance) / 2,\n height: lineThickness,\n width: distance,\n transform: [{ rotate: angle + 'deg' }, { translateX: distance / 2 }, { translateY: 0 }],\n };\n }, [width, hueValue, centerChannelValue]);\n\n const onGestureUpdate = ({ x, y }: PanGestureHandlerEventPayload) => {\n 'worklet';\n\n if (!isGestureActive.value) return;\n\n const center = (width.value - (boundedThumb ? thumbSize : 0)) / 2,\n dx = center - x + (boundedThumb ? thumbSize / 2 : 0),\n dy = center - y + (boundedThumb ? thumbSize / 2 : 0),\n radius = clamp(Math.sqrt(dx * dx + dy * dy), center), // distance from center\n theta = Math.atan2(dy, dx) * (180 / Math.PI), // [0 - 180] range\n angle = theta < 0 ? 360 + theta : theta, // [0 - 360] range\n radiusPercent = radius / center,\n newHueValue = (angle + rotate) % 360,\n newChannelValue = radiusPercent * 100;\n\n if (hueValue.value === newHueValue && centerChannelValue.value === newChannelValue) return;\n\n hueValue.value = newHueValue;\n\n if (centerChannel === 'hsl-saturation') {\n // To prevent locking this slider when the luminance is 0 or 100,\n // this should not affect the resulting color, as the value will be rounded.\n const l = hsl.value.l === 0 ? 0.01 : hsl.value.l === 100 ? 99.99 : hsl.value.l;\n const { s, v } = colorKit.runOnUI().HSV({ h: hsl.value.h, s: newChannelValue, l }).object(false);\n saturationValue.value = s;\n brightnessValue.value = v;\n } else if (centerChannel === 'brightness') {\n brightnessValue.value = newChannelValue;\n } else {\n saturationValue.value = newChannelValue;\n }\n\n onGestureChange();\n };\n\n const onGestureBegin = (event: PanGestureHandlerEventPayload) => {\n 'worklet';\n\n const R = width.value / 2,\n dx = R - event.x,\n dy = R - event.y,\n clickR = Math.sqrt(dx * dx + dy * dy);\n\n // Check if the press is outside the circle\n if (clickR > R) {\n isGestureActive.value = false;\n return;\n }\n\n isGestureActive.value = true;\n\n handleScale.value = withTiming(thumbScaleAnimationValue, { duration: thumbScaleAnimationDuration });\n onGestureUpdate(event);\n };\n\n const onGestureFinish = () => {\n 'worklet';\n isGestureActive.value = false;\n handleScale.value = withTiming(1, { duration: thumbScaleAnimationDuration });\n onGestureEnd();\n };\n\n const pan = Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish);\n const tap = Gesture.Tap().onTouchesUp(onGestureFinish);\n const longPress = Gesture.LongPress().onTouchesUp(onGestureFinish);\n const composed = Gesture.Simultaneous(Gesture.Exclusive(pan, tap, longPress), ...gestures);\n\n const onLayout = useCallback(({ nativeEvent: { layout } }: LayoutChangeEvent) => {\n const layoutWidth = layout.width;\n width.value = layoutWidth;\n }, []);\n\n return (\n <Panel3ContextProvider\n value={{\n width,\n adaptSpectrum,\n centerChannel,\n centerChannelValue,\n thumbShape,\n thumbColor,\n thumbStyle,\n thumbInnerStyle,\n renderThumb,\n boundedThumb,\n renderCenterLine,\n thumbSize,\n rotate,\n }}\n >\n <GestureDetector gesture={composed}>\n <Animated.View\n onLayout={onLayout}\n style={[\n styles.panel_container,\n style,\n { position: 'relative', aspectRatio: 1, borderWidth: 0, padding: 0, borderRadius },\n ]}\n >\n <ImageBackground\n source={require('../../../assets/circularHue.png')}\n style={styles.panel_image}\n imageStyle={{ transform: [{ rotate: -rotate + 'deg' }] }}\n resizeMode='stretch'\n >\n <ConditionalRendering if={adaptSpectrum && centerChannel === 'brightness'}>\n <Animated.View style={[{ borderRadius }, spectrumStyle, StyleSheet.absoluteFillObject]} />\n </ConditionalRendering>\n\n <Image\n source={require('../../../assets/blackRadial.png')}\n style={[\n styles.panel_image,\n { tintColor: centerChannel === 'saturation' ? '#fff' : centerChannel === 'hsl-saturation' ? '#888' : undefined },\n ]}\n resizeMode='stretch'\n />\n\n <ConditionalRendering if={adaptSpectrum && (centerChannel === 'saturation' || centerChannel === 'hsl-saturation')}>\n <Animated.View style={[{ borderRadius }, spectrumStyle, StyleSheet.absoluteFillObject]} />\n </ConditionalRendering>\n </ImageBackground>\n\n <ConditionalRendering if={renderCenterLine}>\n <Animated.View style={[styles.panel3Line, centerLineStyle]} />\n </ConditionalRendering>\n\n {children}\n\n <Thumb\n channel={centerChannel === 'brightness' ? 'v' : 's'}\n thumbShape={thumbShape}\n thumbSize={thumbSize}\n thumbColor={thumbColor}\n renderThumb={renderThumb}\n innerStyle={thumbInnerStyle}\n handleStyle={handleStyle}\n style={thumbStyle}\n adaptSpectrum={adaptSpectrum}\n />\n </Animated.View>\n </GestureDetector>\n </Panel3ContextProvider>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Panel3.js","names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_index","_interopRequireDefault","_AppContext","_styles","_Thumb","_utils","_Panel3Context","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Panel3","renderCenterLine","centerChannel","gestures","style","rotate","children","props","hueValue","saturationValue","brightnessValue","onGestureChange","onGestureEnd","ctx","usePickerContext","thumbShape","thumbSize","thumbColor","boundedThumb","renderThumb","thumbStyle","thumbScaleAnimationValue","thumbScaleUpValue","thumbScaleAnimationDuration","thumbScaleUpDuration","thumbInnerStyle","adaptSpectrum","borderRadius","isGestureActive","useSharedValue","width","handleScale","lastHslSaturationValue","hsl","useDerivedValue","hsvColor","h","value","s","v","l","colorKit","runOnUI","HSL","object","centerChannelValue","handleStyle","useAnimatedStyle","center","rotatedHue","distance","angle","Math","PI","posY","sin","posX","cos","transform","translateX","translateY","scale","spectrumStyle","backgroundColor","centerLineStyle","lineThickness","top","left","height","onGestureUpdate","x","y","dx","dy","radius","clamp","sqrt","theta","atan2","radiusPercent","newHueValue","newChannelValue","HSV","onGestureBegin","event","R","clickR","withTiming","duration","onGestureFinish","pan","Gesture","Pan","onBegin","onUpdate","onEnd","tap","Tap","longPress","LongPress","composed","Simultaneous","Exclusive","onLayout","useCallback","nativeEvent","layout","layoutWidth","createElement","Panel3ContextProvider","GestureDetector","gesture","View","styles","panel_container","position","aspectRatio","borderWidth","padding","ImageBackground","source","panel_image","imageStyle","resizeMode","ConditionalRendering","if","StyleSheet","absoluteFillObject","Image","tintColor","undefined","panel3Line","channel","innerStyle"],"sources":["../../../../src/components/Panels/Panel3/Panel3.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { Image, ImageBackground, StyleSheet } from 'react-native';\nimport { Gesture, GestureDetector } from 'react-native-gesture-handler';\nimport Animated, { useAnimatedStyle, useDerivedValue, useSharedValue, withTiming } from 'react-native-reanimated';\n\nimport colorKit from '../../../colorKit/index';\nimport usePickerContext from '../../../AppContext';\nimport { styles } from '../../../styles';\nimport Thumb from '../../Thumb/Thumb';\nimport { clamp, ConditionalRendering } from '../../../utils';\nimport { Panel3ContextProvider } from './Panel3Context';\n\nimport type { Panel3Props } from '../../../types';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { PanGestureHandlerEventPayload } from 'react-native-gesture-handler';\n\n/** - The circle-shaped slider, with its wheel style design, is utilized to adjust the hue and (saturation or brightness) of colors. */\nexport function Panel3({\n renderCenterLine = false,\n centerChannel = 'saturation',\n gestures = [],\n style = {},\n rotate = 0,\n children,\n ...props\n}: Panel3Props) {\n const { hueValue, saturationValue, brightnessValue, onGestureChange, onGestureEnd, ...ctx } = usePickerContext();\n\n const thumbShape = props.thumbShape ?? ctx.thumbShape,\n thumbSize = props.thumbSize ?? ctx.thumbSize,\n thumbColor = props.thumbColor ?? ctx.thumbColor,\n boundedThumb = props.boundedThumb ?? ctx.boundedThumb,\n renderThumb = props.renderThumb ?? ctx.renderThumb,\n thumbStyle = props.thumbStyle ?? ctx.thumbStyle ?? {},\n thumbScaleAnimationValue = props.thumbScaleUpValue ?? ctx.thumbScaleAnimationValue,\n thumbScaleAnimationDuration = props.thumbScaleUpDuration ?? ctx.thumbScaleAnimationDuration,\n thumbInnerStyle = props.thumbInnerStyle ?? ctx.thumbInnerStyle ?? {},\n adaptSpectrum = props.adaptSpectrum ?? ctx.adaptSpectrum;\n\n const borderRadius = 2000;\n\n const isGestureActive = useSharedValue(false);\n const width = useSharedValue(0);\n const handleScale = useSharedValue(1);\n const lastHslSaturationValue = useSharedValue(0);\n\n // We need to keep track of the HSL saturation value because, when the luminance is 0 or 100,\n // when converting to/from HSV, the previous saturation value will be lost.\n const hsl = useDerivedValue(() => {\n const hsvColor = { h: hueValue.value, s: saturationValue.value, v: brightnessValue.value };\n const { h, s, l } = colorKit.runOnUI().HSL(hsvColor).object(false);\n if (l === 100 || l === 0) return { h, s: lastHslSaturationValue.value, l };\n lastHslSaturationValue.value = s;\n return { h, s, l };\n }, [hueValue, saturationValue, brightnessValue]);\n\n const centerChannelValue = useDerivedValue(() => {\n if (centerChannel === 'brightness') return brightnessValue.value;\n if (centerChannel === 'hsl-saturation') return hsl.value.s;\n return saturationValue.value;\n }, [brightnessValue, saturationValue, hsl]);\n\n const handleStyle = useAnimatedStyle(() => {\n const center = width.value / 2 - (boundedThumb ? thumbSize / 2 : 0),\n rotatedHue = (hueValue.value - rotate) % 360,\n distance = (centerChannelValue.value / 100) * (width.value / 2 - (boundedThumb ? thumbSize / 2 : 0)),\n angle = (rotatedHue * Math.PI) / 180,\n posY = width.value - (Math.sin(angle) * distance + center) - (boundedThumb ? thumbSize : thumbSize / 2),\n posX = width.value - (Math.cos(angle) * distance + center) - (boundedThumb ? thumbSize : thumbSize / 2);\n\n return {\n transform: [{ translateX: posX }, { translateY: posY }, { scale: handleScale.value }, { rotate: rotatedHue + 90 + 'deg' }],\n };\n }, [width, centerChannelValue, hueValue, handleScale]);\n\n const spectrumStyle = useAnimatedStyle(() => {\n if (!adaptSpectrum) return {};\n\n if (centerChannel === 'brightness') {\n return { backgroundColor: `rgba(255, 255, 255, ${1 - saturationValue.value / 100})` };\n }\n\n if (centerChannel === 'hsl-saturation') {\n if (hsl.value.l < 50) return { backgroundColor: `rgba(0, 0, 0, ${1 - hsl.value.l / 50})` };\n return { backgroundColor: `rgba(255, 255, 255, ${(hsl.value.l - 50) / 50})` };\n }\n\n return { backgroundColor: `rgba(0, 0, 0, ${1 - brightnessValue.value / 100})` };\n }, [saturationValue, brightnessValue]);\n\n const centerLineStyle = useAnimatedStyle(() => {\n if (!renderCenterLine) return {};\n\n const lineThickness = 1,\n center = width.value / 2 - (boundedThumb ? thumbSize / 2 : 0),\n rotatedHue = (hueValue.value - rotate) % 360,\n distance = (centerChannelValue.value / 100) * center,\n angle = ((rotatedHue * Math.PI) / Math.PI + 180) % 360; // reversed angle\n\n return {\n top: (width.value - lineThickness) / 2,\n left: (width.value - distance) / 2,\n height: lineThickness,\n width: distance,\n transform: [{ rotate: angle + 'deg' }, { translateX: distance / 2 }, { translateY: 0 }],\n };\n }, [width, hueValue, centerChannelValue]);\n\n const onGestureUpdate = ({ x, y }: PanGestureHandlerEventPayload) => {\n 'worklet';\n\n if (!isGestureActive.value) return;\n\n const center = (width.value - (boundedThumb ? thumbSize : 0)) / 2,\n dx = center - x + (boundedThumb ? thumbSize / 2 : 0),\n dy = center - y + (boundedThumb ? thumbSize / 2 : 0),\n radius = clamp(Math.sqrt(dx * dx + dy * dy), center), // distance from center\n theta = Math.atan2(dy, dx) * (180 / Math.PI), // [0 - 180] range\n angle = theta < 0 ? 360 + theta : theta, // [0 - 360] range\n radiusPercent = radius / center,\n newHueValue = (angle + rotate) % 360,\n newChannelValue = radiusPercent * 100;\n\n if (hueValue.value === newHueValue && centerChannelValue.value === newChannelValue) return;\n\n hueValue.value = newHueValue;\n\n if (centerChannel === 'hsl-saturation') {\n // To prevent locking this slider when the luminance is 0 or 100,\n // this should not affect the resulting color, as the value will be rounded.\n const l = hsl.value.l === 0 ? 0.01 : hsl.value.l === 100 ? 99.99 : hsl.value.l;\n const { s, v } = colorKit.runOnUI().HSV({ h: hsl.value.h, s: newChannelValue, l }).object(false);\n saturationValue.value = s;\n brightnessValue.value = v;\n } else if (centerChannel === 'brightness') {\n brightnessValue.value = newChannelValue;\n } else {\n saturationValue.value = newChannelValue;\n }\n\n onGestureChange();\n };\n\n const onGestureBegin = (event: PanGestureHandlerEventPayload) => {\n 'worklet';\n\n const R = width.value / 2,\n dx = R - event.x,\n dy = R - event.y,\n clickR = Math.sqrt(dx * dx + dy * dy);\n\n // Check if the press is outside the circle\n if (clickR > R) {\n isGestureActive.value = false;\n return;\n }\n\n isGestureActive.value = true;\n\n handleScale.value = withTiming(thumbScaleAnimationValue, { duration: thumbScaleAnimationDuration });\n onGestureUpdate(event);\n };\n\n const onGestureFinish = () => {\n 'worklet';\n isGestureActive.value = false;\n handleScale.value = withTiming(1, { duration: thumbScaleAnimationDuration });\n onGestureEnd();\n };\n\n const pan = Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish);\n const tap = Gesture.Tap().onEnd(onGestureFinish);\n const longPress = Gesture.LongPress().onEnd(onGestureFinish);\n const composed = Gesture.Simultaneous(Gesture.Exclusive(pan, tap, longPress), ...gestures);\n\n const onLayout = useCallback(({ nativeEvent: { layout } }: LayoutChangeEvent) => {\n const layoutWidth = layout.width;\n width.value = layoutWidth;\n }, []);\n\n return (\n <Panel3ContextProvider\n value={{\n width,\n adaptSpectrum,\n centerChannel,\n centerChannelValue,\n thumbShape,\n thumbColor,\n thumbStyle,\n thumbInnerStyle,\n renderThumb,\n boundedThumb,\n renderCenterLine,\n thumbSize,\n rotate,\n }}\n >\n <GestureDetector gesture={composed}>\n <Animated.View\n onLayout={onLayout}\n style={[\n styles.panel_container,\n style,\n { position: 'relative', aspectRatio: 1, borderWidth: 0, padding: 0, borderRadius },\n ]}\n >\n <ImageBackground\n source={require('../../../assets/circularHue.png')}\n style={styles.panel_image}\n imageStyle={{ transform: [{ rotate: -rotate + 'deg' }] }}\n resizeMode='stretch'\n >\n <ConditionalRendering if={adaptSpectrum && centerChannel === 'brightness'}>\n <Animated.View style={[{ borderRadius }, spectrumStyle, StyleSheet.absoluteFillObject]} />\n </ConditionalRendering>\n\n <Image\n source={require('../../../assets/blackRadial.png')}\n style={[\n styles.panel_image,\n { tintColor: centerChannel === 'saturation' ? '#fff' : centerChannel === 'hsl-saturation' ? '#888' : undefined },\n ]}\n resizeMode='stretch'\n />\n\n <ConditionalRendering if={adaptSpectrum && (centerChannel === 'saturation' || centerChannel === 'hsl-saturation')}>\n <Animated.View style={[{ borderRadius }, spectrumStyle, StyleSheet.absoluteFillObject]} />\n </ConditionalRendering>\n </ImageBackground>\n\n <ConditionalRendering if={renderCenterLine}>\n <Animated.View style={[styles.panel3Line, centerLineStyle]} />\n </ConditionalRendering>\n\n {children}\n\n <Thumb\n channel={centerChannel === 'brightness' ? 'v' : 's'}\n thumbShape={thumbShape}\n thumbSize={thumbSize}\n thumbColor={thumbColor}\n renderThumb={renderThumb}\n innerStyle={thumbInnerStyle}\n handleStyle={handleStyle}\n style={thumbStyle}\n adaptSpectrum={adaptSpectrum}\n />\n </Animated.View>\n </GestureDetector>\n </Panel3ContextProvider>\n );\n}\n"],"mappings":"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"}
|
|
@@ -121,8 +121,8 @@ function Panel4({
|
|
|
121
121
|
onGestureEnd();
|
|
122
122
|
};
|
|
123
123
|
const pan = _reactNativeGestureHandler.Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish);
|
|
124
|
-
const tap = _reactNativeGestureHandler.Gesture.Tap().
|
|
125
|
-
const longPress = _reactNativeGestureHandler.Gesture.LongPress().
|
|
124
|
+
const tap = _reactNativeGestureHandler.Gesture.Tap().onEnd(onGestureFinish);
|
|
125
|
+
const longPress = _reactNativeGestureHandler.Gesture.LongPress().onEnd(onGestureFinish);
|
|
126
126
|
const composed = _reactNativeGestureHandler.Gesture.Simultaneous(_reactNativeGestureHandler.Gesture.Exclusive(pan, tap, longPress), ...gestures);
|
|
127
127
|
const onLayout = (0, _react.useCallback)(({
|
|
128
128
|
nativeEvent: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Panel4.js","names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_AppContext","_interopRequireDefault","_styles","_Thumb","_utils","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Panel4","reverseHue","reverseHorizontalChannels","gestures","style","props","hueValue","saturationValue","brightnessValue","onGestureChange","onGestureEnd","ctx","usePickerContext","thumbShape","thumbSize","thumbColor","boundedThumb","renderThumb","thumbStyle","thumbScaleAnimationValue","thumbScaleUpValue","thumbScaleAnimationDuration","thumbScaleUpDuration","thumbInnerStyle","borderRadius","getStyle","getHeight","width","useSharedValue","height","handleScale","handleStyle","useAnimatedStyle","length","x","value","y","calcThumb","lum","posPercentX","posX","percentY","posY","transform","translateX","translateY","scale","panelImageStyle","scaleY","rotate","isRtl","onGestureUpdate","lengthX","lengthY","clamp","valueX","valueY","newHueValue","newSaturationValue","newBrightnessValue","onGestureBegin","event","withTiming","duration","onGestureFinish","pan","Gesture","Pan","onBegin","onUpdate","onEnd","tap","Tap","onTouchesUp","longPress","LongPress","composed","Simultaneous","Exclusive","onLayout","useCallback","nativeEvent","layout","createElement","GestureDetector","gesture","View","styles","panel_container","position","borderWidth","padding","Image","source","panel_image","resizeMode","flexDirection","scaleX","flex","tintColor","innerStyle"],"sources":["../../../src/components/Panels/Panel4.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { Image, View } from 'react-native';\nimport { Gesture, GestureDetector } from 'react-native-gesture-handler';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\n\nimport usePickerContext from '../../AppContext';\nimport { styles } from '../../styles';\nimport Thumb from '../Thumb/Thumb';\nimport { clamp, getStyle, isRtl } from '../../utils';\n\nimport type { Panel4Props } from '../../types';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { PanGestureHandlerEventPayload } from 'react-native-gesture-handler';\n\n/** - A slider with a square shape is used to adjust the channels of hue, saturation, and brightness. */\nexport function Panel4({\n reverseHue = false,\n reverseHorizontalChannels = false,\n gestures = [],\n style = {},\n ...props\n}: Panel4Props) {\n const { hueValue, saturationValue, brightnessValue, onGestureChange, onGestureEnd, ...ctx } = usePickerContext();\n\n const thumbShape = props.thumbShape ?? ctx.thumbShape,\n thumbSize = props.thumbSize ?? ctx.thumbSize,\n thumbColor = props.thumbColor ?? ctx.thumbColor,\n boundedThumb = props.boundedThumb ?? ctx.boundedThumb,\n renderThumb = props.renderThumb ?? ctx.renderThumb,\n thumbStyle = props.thumbStyle ?? ctx.thumbStyle ?? {},\n thumbScaleAnimationValue = props.thumbScaleUpValue ?? ctx.thumbScaleAnimationValue,\n thumbScaleAnimationDuration = props.thumbScaleUpDuration ?? ctx.thumbScaleAnimationDuration,\n thumbInnerStyle = props.thumbInnerStyle ?? ctx.thumbInnerStyle ?? {};\n\n const borderRadius = getStyle(style, 'borderRadius') ?? 5;\n const getHeight = getStyle(style, 'height') ?? 200;\n\n const width = useSharedValue(0);\n const height = useSharedValue(0);\n const handleScale = useSharedValue(1);\n\n const handleStyle = useAnimatedStyle(() => {\n const length = { x: width.value - (boundedThumb ? thumbSize : 0), y: height.value - (boundedThumb ? thumbSize : 0) },\n calcThumb = boundedThumb ? 0 : thumbSize / 2,\n // luminance\n lum = (((2 - saturationValue.value / 100) * (brightnessValue.value / 100)) / 2) * 100,\n posPercentX = (lum / 100) * length.x,\n posX = (reverseHorizontalChannels ? posPercentX : length.x - posPercentX) - calcThumb,\n // hue\n percentY = (hueValue.value / 360) * length.y,\n posY = (reverseHue ? percentY : length.y - percentY) - calcThumb;\n\n return {\n transform: [{ translateX: posX }, { translateY: posY }, { scale: handleScale.value }],\n };\n }, [width, height, saturationValue, brightnessValue, hueValue, handleScale]);\n\n const panelImageStyle = useAnimatedStyle(() => {\n return {\n width: height.value,\n height: width.value,\n transform: [\n { scaleY: reverseHue ? -1 : 1 },\n { rotate: '270deg' },\n { translateX: ((width.value - height.value) / 2) * (reverseHue ? -1 : 1) },\n { translateY: ((width.value - height.value) / 2) * (isRtl ? -1 : 1) },\n ],\n };\n }, [height, width]);\n\n const onGestureUpdate = ({ x, y }: PanGestureHandlerEventPayload) => {\n 'worklet';\n\n const lengthX = width.value - (boundedThumb ? thumbSize : 0),\n lengthY = height.value - (boundedThumb ? thumbSize : 0),\n posX = clamp(x - (boundedThumb ? thumbSize / 2 : 0), lengthX),\n posY = clamp(y - (boundedThumb ? thumbSize / 2 : 0), lengthY),\n valueX = (posX / lengthX) * 200,\n valueY = (posY / lengthY) * 360,\n newHueValue = reverseHue ? valueY : 360 - valueY,\n newSaturationValue = clamp(reverseHorizontalChannels ? 200 - valueX : valueX, 100),\n newBrightnessValue = clamp(reverseHorizontalChannels ? valueX : 200 - valueX, 100);\n\n if (\n hueValue.value === newHueValue &&\n saturationValue.value === newSaturationValue &&\n brightnessValue.value === newBrightnessValue\n )\n return;\n\n hueValue.value = newHueValue;\n saturationValue.value = newSaturationValue;\n brightnessValue.value = newBrightnessValue;\n\n onGestureChange();\n };\n\n const onGestureBegin = (event: PanGestureHandlerEventPayload) => {\n 'worklet';\n handleScale.value = withTiming(thumbScaleAnimationValue, { duration: thumbScaleAnimationDuration });\n onGestureUpdate(event);\n };\n\n const onGestureFinish = () => {\n 'worklet';\n handleScale.value = withTiming(1, { duration: thumbScaleAnimationDuration });\n onGestureEnd();\n };\n\n const pan = Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish);\n const tap = Gesture.Tap().onTouchesUp(onGestureFinish);\n const longPress = Gesture.LongPress().onTouchesUp(onGestureFinish);\n const composed = Gesture.Simultaneous(Gesture.Exclusive(pan, tap, longPress), ...gestures);\n\n const onLayout = useCallback(({ nativeEvent: { layout } }: LayoutChangeEvent) => {\n width.value = layout.width;\n height.value = layout.height;\n }, []);\n\n return (\n <GestureDetector gesture={composed}>\n <Animated.View\n onLayout={onLayout}\n style={[styles.panel_container, { height: getHeight }, style, { position: 'relative', borderWidth: 0, padding: 0 }]}\n >\n <Animated.Image\n source={require('../../assets/Hue.png')}\n style={[styles.panel_image, { borderRadius }, panelImageStyle]}\n resizeMode='stretch'\n />\n\n <View\n style={[\n styles.panel_image,\n {\n borderRadius,\n flexDirection: isRtl ? 'row-reverse' : 'row',\n transform: [{ scaleX: reverseHorizontalChannels ? -1 : 1 }],\n },\n ]}\n >\n <Image source={require('../../assets/blackGradient.png')} style={{ flex: 1, tintColor: '#fff' }} resizeMode='stretch' />\n <Image\n source={require('../../assets/blackGradient.png')}\n style={{ flex: 1, transform: [{ scaleX: -1 }] }}\n resizeMode='stretch'\n />\n </View>\n\n <Thumb\n thumbShape={thumbShape}\n thumbSize={thumbSize}\n thumbColor={thumbColor}\n renderThumb={renderThumb}\n innerStyle={thumbInnerStyle}\n handleStyle={handleStyle}\n style={thumbStyle}\n />\n </Animated.View>\n </GestureDetector>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Panel4.js","names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_AppContext","_interopRequireDefault","_styles","_Thumb","_utils","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Panel4","reverseHue","reverseHorizontalChannels","gestures","style","props","hueValue","saturationValue","brightnessValue","onGestureChange","onGestureEnd","ctx","usePickerContext","thumbShape","thumbSize","thumbColor","boundedThumb","renderThumb","thumbStyle","thumbScaleAnimationValue","thumbScaleUpValue","thumbScaleAnimationDuration","thumbScaleUpDuration","thumbInnerStyle","borderRadius","getStyle","getHeight","width","useSharedValue","height","handleScale","handleStyle","useAnimatedStyle","length","x","value","y","calcThumb","lum","posPercentX","posX","percentY","posY","transform","translateX","translateY","scale","panelImageStyle","scaleY","rotate","isRtl","onGestureUpdate","lengthX","lengthY","clamp","valueX","valueY","newHueValue","newSaturationValue","newBrightnessValue","onGestureBegin","event","withTiming","duration","onGestureFinish","pan","Gesture","Pan","onBegin","onUpdate","onEnd","tap","Tap","longPress","LongPress","composed","Simultaneous","Exclusive","onLayout","useCallback","nativeEvent","layout","createElement","GestureDetector","gesture","View","styles","panel_container","position","borderWidth","padding","Image","source","panel_image","resizeMode","flexDirection","scaleX","flex","tintColor","innerStyle"],"sources":["../../../src/components/Panels/Panel4.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { Image, View } from 'react-native';\nimport { Gesture, GestureDetector } from 'react-native-gesture-handler';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\n\nimport usePickerContext from '../../AppContext';\nimport { styles } from '../../styles';\nimport Thumb from '../Thumb/Thumb';\nimport { clamp, getStyle, isRtl } from '../../utils';\n\nimport type { Panel4Props } from '../../types';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { PanGestureHandlerEventPayload } from 'react-native-gesture-handler';\n\n/** - A slider with a square shape is used to adjust the channels of hue, saturation, and brightness. */\nexport function Panel4({\n reverseHue = false,\n reverseHorizontalChannels = false,\n gestures = [],\n style = {},\n ...props\n}: Panel4Props) {\n const { hueValue, saturationValue, brightnessValue, onGestureChange, onGestureEnd, ...ctx } = usePickerContext();\n\n const thumbShape = props.thumbShape ?? ctx.thumbShape,\n thumbSize = props.thumbSize ?? ctx.thumbSize,\n thumbColor = props.thumbColor ?? ctx.thumbColor,\n boundedThumb = props.boundedThumb ?? ctx.boundedThumb,\n renderThumb = props.renderThumb ?? ctx.renderThumb,\n thumbStyle = props.thumbStyle ?? ctx.thumbStyle ?? {},\n thumbScaleAnimationValue = props.thumbScaleUpValue ?? ctx.thumbScaleAnimationValue,\n thumbScaleAnimationDuration = props.thumbScaleUpDuration ?? ctx.thumbScaleAnimationDuration,\n thumbInnerStyle = props.thumbInnerStyle ?? ctx.thumbInnerStyle ?? {};\n\n const borderRadius = getStyle(style, 'borderRadius') ?? 5;\n const getHeight = getStyle(style, 'height') ?? 200;\n\n const width = useSharedValue(0);\n const height = useSharedValue(0);\n const handleScale = useSharedValue(1);\n\n const handleStyle = useAnimatedStyle(() => {\n const length = { x: width.value - (boundedThumb ? thumbSize : 0), y: height.value - (boundedThumb ? thumbSize : 0) },\n calcThumb = boundedThumb ? 0 : thumbSize / 2,\n // luminance\n lum = (((2 - saturationValue.value / 100) * (brightnessValue.value / 100)) / 2) * 100,\n posPercentX = (lum / 100) * length.x,\n posX = (reverseHorizontalChannels ? posPercentX : length.x - posPercentX) - calcThumb,\n // hue\n percentY = (hueValue.value / 360) * length.y,\n posY = (reverseHue ? percentY : length.y - percentY) - calcThumb;\n\n return {\n transform: [{ translateX: posX }, { translateY: posY }, { scale: handleScale.value }],\n };\n }, [width, height, saturationValue, brightnessValue, hueValue, handleScale]);\n\n const panelImageStyle = useAnimatedStyle(() => {\n return {\n width: height.value,\n height: width.value,\n transform: [\n { scaleY: reverseHue ? -1 : 1 },\n { rotate: '270deg' },\n { translateX: ((width.value - height.value) / 2) * (reverseHue ? -1 : 1) },\n { translateY: ((width.value - height.value) / 2) * (isRtl ? -1 : 1) },\n ],\n };\n }, [height, width]);\n\n const onGestureUpdate = ({ x, y }: PanGestureHandlerEventPayload) => {\n 'worklet';\n\n const lengthX = width.value - (boundedThumb ? thumbSize : 0),\n lengthY = height.value - (boundedThumb ? thumbSize : 0),\n posX = clamp(x - (boundedThumb ? thumbSize / 2 : 0), lengthX),\n posY = clamp(y - (boundedThumb ? thumbSize / 2 : 0), lengthY),\n valueX = (posX / lengthX) * 200,\n valueY = (posY / lengthY) * 360,\n newHueValue = reverseHue ? valueY : 360 - valueY,\n newSaturationValue = clamp(reverseHorizontalChannels ? 200 - valueX : valueX, 100),\n newBrightnessValue = clamp(reverseHorizontalChannels ? valueX : 200 - valueX, 100);\n\n if (\n hueValue.value === newHueValue &&\n saturationValue.value === newSaturationValue &&\n brightnessValue.value === newBrightnessValue\n )\n return;\n\n hueValue.value = newHueValue;\n saturationValue.value = newSaturationValue;\n brightnessValue.value = newBrightnessValue;\n\n onGestureChange();\n };\n\n const onGestureBegin = (event: PanGestureHandlerEventPayload) => {\n 'worklet';\n handleScale.value = withTiming(thumbScaleAnimationValue, { duration: thumbScaleAnimationDuration });\n onGestureUpdate(event);\n };\n\n const onGestureFinish = () => {\n 'worklet';\n handleScale.value = withTiming(1, { duration: thumbScaleAnimationDuration });\n onGestureEnd();\n };\n\n const pan = Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish);\n const tap = Gesture.Tap().onEnd(onGestureFinish);\n const longPress = Gesture.LongPress().onEnd(onGestureFinish);\n const composed = Gesture.Simultaneous(Gesture.Exclusive(pan, tap, longPress), ...gestures);\n\n const onLayout = useCallback(({ nativeEvent: { layout } }: LayoutChangeEvent) => {\n width.value = layout.width;\n height.value = layout.height;\n }, []);\n\n return (\n <GestureDetector gesture={composed}>\n <Animated.View\n onLayout={onLayout}\n style={[styles.panel_container, { height: getHeight }, style, { position: 'relative', borderWidth: 0, padding: 0 }]}\n >\n <Animated.Image\n source={require('../../assets/Hue.png')}\n style={[styles.panel_image, { borderRadius }, panelImageStyle]}\n resizeMode='stretch'\n />\n\n <View\n style={[\n styles.panel_image,\n {\n borderRadius,\n flexDirection: isRtl ? 'row-reverse' : 'row',\n transform: [{ scaleX: reverseHorizontalChannels ? -1 : 1 }],\n },\n ]}\n >\n <Image source={require('../../assets/blackGradient.png')} style={{ flex: 1, tintColor: '#fff' }} resizeMode='stretch' />\n <Image\n source={require('../../assets/blackGradient.png')}\n style={{ flex: 1, transform: [{ scaleX: -1 }] }}\n resizeMode='stretch'\n />\n </View>\n\n <Thumb\n thumbShape={thumbShape}\n thumbSize={thumbSize}\n thumbColor={thumbColor}\n renderThumb={renderThumb}\n innerStyle={thumbInnerStyle}\n handleStyle={handleStyle}\n style={thumbStyle}\n />\n </Animated.View>\n </GestureDetector>\n );\n}\n"],"mappings":"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"}
|
|
@@ -113,8 +113,8 @@ function BrightnessSlider({
|
|
|
113
113
|
onGestureEnd();
|
|
114
114
|
};
|
|
115
115
|
const pan = _reactNativeGestureHandler.Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish);
|
|
116
|
-
const tap = _reactNativeGestureHandler.Gesture.Tap().
|
|
117
|
-
const longPress = _reactNativeGestureHandler.Gesture.LongPress().
|
|
116
|
+
const tap = _reactNativeGestureHandler.Gesture.Tap().onEnd(onGestureFinish);
|
|
117
|
+
const longPress = _reactNativeGestureHandler.Gesture.LongPress().onEnd(onGestureFinish);
|
|
118
118
|
const composed = _reactNativeGestureHandler.Gesture.Simultaneous(_reactNativeGestureHandler.Gesture.Exclusive(pan, tap, longPress), ...gestures);
|
|
119
119
|
const onLayout = ({
|
|
120
120
|
nativeEvent: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrightnessSlider.js","names":["_react","_interopRequireDefault","require","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_AppContext","_Thumb","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","BrightnessSlider","gestures","style","vertical","reverse","props","hueValue","saturationValue","brightnessValue","onGestureChange","onGestureEnd","ctx","usePickerContext","thumbShape","thumbSize","thumbColor","boundedThumb","renderThumb","thumbStyle","thumbInnerStyle","thumbScaleAnimationValue","thumbScaleAnimationDuration","adaptSpectrum","sliderThickness","borderRadius","getStyle","getWidth","getHeight","width","useSharedValue","height","handleScale","handleStyle","useAnimatedStyle","length","value","percent","pos","posY","posX","transform","translateY","translateX","scale","activeColorStyle","backgroundColor","HSVA2HSLA_string","imageStyle","imageRotate","imageTranslateY","isRtl","rotate","onGestureUpdate","x","y","clamp","newBrightnessValue","onGestureBegin","event","withTiming","duration","onGestureFinish","pan","Gesture","Pan","onBegin","onUpdate","onEnd","tap","Tap","onTouchesUp","longPress","LongPress","composed","Simultaneous","Exclusive","onLayout","nativeEvent","layout","thicknessStyle","createElement","GestureDetector","gesture","View","position","borderWidth","padding","Image","source","channel","innerStyle"],"sources":["../../../../src/components/Sliders/HSB/BrightnessSlider.tsx"],"sourcesContent":["import React from 'react';\nimport { Gesture, GestureDetector } from 'react-native-gesture-handler';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\n\nimport usePickerContext from '../../../AppContext';\nimport Thumb from '../../Thumb/Thumb';\nimport { clamp, getStyle, HSVA2HSLA_string, isRtl } from '../../../utils';\n\nimport type { SliderProps } from '../../../types';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { PanGestureHandlerEventPayload } from 'react-native-gesture-handler';\n\nexport function BrightnessSlider({ gestures = [], style = {}, vertical = false, reverse = false, ...props }: SliderProps) {\n const { hueValue, saturationValue, brightnessValue, onGestureChange, onGestureEnd, ...ctx } = usePickerContext();\n\n const thumbShape = props.thumbShape ?? ctx.thumbShape,\n thumbSize = props.thumbSize ?? ctx.thumbSize,\n thumbColor = props.thumbColor ?? ctx.thumbColor,\n boundedThumb = props.boundedThumb ?? ctx.boundedThumb,\n renderThumb = props.renderThumb ?? ctx.renderThumb,\n thumbStyle = props.thumbStyle ?? ctx.thumbStyle ?? {},\n thumbInnerStyle = props.thumbInnerStyle ?? ctx.thumbInnerStyle ?? {},\n thumbScaleAnimationValue = props.thumbScaleAnimationValue ?? ctx.thumbScaleAnimationValue,\n thumbScaleAnimationDuration = props.thumbScaleAnimationDuration ?? ctx.thumbScaleAnimationDuration,\n adaptSpectrum = props.adaptSpectrum ?? ctx.adaptSpectrum,\n sliderThickness = props.sliderThickness ?? ctx.sliderThickness;\n\n const borderRadius = getStyle(style, 'borderRadius') ?? 5,\n getWidth = getStyle(style, 'width'),\n getHeight = getStyle(style, 'height');\n\n const width = useSharedValue(vertical ? sliderThickness : typeof getWidth === 'number' ? getWidth : 0);\n const height = useSharedValue(!vertical ? sliderThickness : typeof getHeight === 'number' ? getHeight : 0);\n const handleScale = useSharedValue(1);\n\n const handleStyle = useAnimatedStyle(() => {\n const length = (vertical ? height.value : width.value) - (boundedThumb ? thumbSize : 0),\n percent = (brightnessValue.value / 100) * length,\n pos = (reverse ? length - percent : percent) - (boundedThumb ? 0 : thumbSize / 2),\n posY = vertical ? pos : height.value / 2 - thumbSize / 2,\n posX = vertical ? width.value / 2 - thumbSize / 2 : pos;\n\n return { transform: [{ translateY: posY }, { translateX: posX }, { scale: handleScale.value }] };\n }, [height, width, brightnessValue, handleScale]);\n\n const activeColorStyle = useAnimatedStyle(() => {\n return { backgroundColor: HSVA2HSLA_string(hueValue.value, adaptSpectrum ? saturationValue.value : 100, 100) };\n }, [hueValue, saturationValue]);\n\n const imageStyle = useAnimatedStyle(() => {\n const imageRotate = vertical ? (reverse ? '270deg' : '90deg') : reverse ? '180deg' : '0deg';\n const imageTranslateY = ((height.value - width.value) / 2) * ((reverse && isRtl) || (!reverse && !isRtl) ? 1 : -1);\n\n return {\n width: vertical ? height.value : '100%',\n height: vertical ? width.value : '100%',\n borderRadius,\n transform: [\n { rotate: imageRotate },\n { translateX: vertical ? ((height.value - width.value) / 2) * (reverse ? -1 : 1) : 0 },\n { translateY: vertical ? imageTranslateY : 0 },\n ],\n };\n }, [height, width]);\n\n const onGestureUpdate = ({ x, y }: PanGestureHandlerEventPayload) => {\n 'worklet';\n\n const length = (vertical ? height.value : width.value) - (boundedThumb ? thumbSize : 0),\n pos = clamp((vertical ? y : x) - (boundedThumb ? thumbSize / 2 : 0), length),\n value = (pos / length) * 100,\n newBrightnessValue = reverse ? 100 - value : value;\n\n if (brightnessValue.value === newBrightnessValue) return;\n\n brightnessValue.value = newBrightnessValue;\n\n onGestureChange();\n };\n\n const onGestureBegin = (event: PanGestureHandlerEventPayload) => {\n 'worklet';\n handleScale.value = withTiming(thumbScaleAnimationValue, { duration: thumbScaleAnimationDuration });\n onGestureUpdate(event);\n };\n\n const onGestureFinish = () => {\n 'worklet';\n handleScale.value = withTiming(1, { duration: thumbScaleAnimationDuration });\n onGestureEnd();\n };\n\n const pan = Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish);\n const tap = Gesture.Tap().onTouchesUp(onGestureFinish);\n const longPress = Gesture.LongPress().onTouchesUp(onGestureFinish);\n const composed = Gesture.Simultaneous(Gesture.Exclusive(pan, tap, longPress), ...gestures);\n\n const onLayout = ({ nativeEvent: { layout } }: LayoutChangeEvent) => {\n if (!vertical) width.value = withTiming(layout.width, { duration: 5 });\n if (vertical) height.value = withTiming(layout.height, { duration: 5 });\n };\n\n const thicknessStyle = vertical ? { width: sliderThickness } : { height: sliderThickness };\n\n return (\n <GestureDetector gesture={composed}>\n <Animated.View\n onLayout={onLayout}\n style={[{ borderRadius }, style, { position: 'relative', borderWidth: 0, padding: 0 }, thicknessStyle, activeColorStyle]}\n >\n <Animated.Image source={require('../../../assets/blackGradient.png')} style={imageStyle} />\n <Thumb\n channel='v'\n thumbShape={thumbShape}\n thumbSize={thumbSize}\n thumbColor={thumbColor}\n renderThumb={renderThumb}\n innerStyle={thumbInnerStyle}\n handleStyle={handleStyle}\n style={thumbStyle}\n adaptSpectrum={adaptSpectrum}\n vertical={vertical}\n />\n </Animated.View>\n </GestureDetector>\n );\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAC,uBAAA,CAAAH,OAAA;AAEA,IAAAI,WAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,MAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAA0E,SAAAO,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAjB,uBAAA6B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAMnE,SAASC,gBAAgBA,CAAC;EAAEC,QAAQ,GAAG,EAAE;EAAEC,KAAK,GAAG,CAAC,CAAC;EAAEC,QAAQ,GAAG,KAAK;EAAEC,OAAO,GAAG,KAAK;EAAE,GAAGC;AAAmB,CAAC,EAAE;EACxH,MAAM;IAAEC,QAAQ;IAAEC,eAAe;IAAEC,eAAe;IAAEC,eAAe;IAAEC,YAAY;IAAE,GAAGC;EAAI,CAAC,GAAG,IAAAC,mBAAgB,EAAC,CAAC;EAEhH,MAAMC,UAAU,GAAGR,KAAK,CAACQ,UAAU,IAAIF,GAAG,CAACE,UAAU;IACnDC,SAAS,GAAGT,KAAK,CAACS,SAAS,IAAIH,GAAG,CAACG,SAAS;IAC5CC,UAAU,GAAGV,KAAK,CAACU,UAAU,IAAIJ,GAAG,CAACI,UAAU;IAC/CC,YAAY,GAAGX,KAAK,CAACW,YAAY,IAAIL,GAAG,CAACK,YAAY;IACrDC,WAAW,GAAGZ,KAAK,CAACY,WAAW,IAAIN,GAAG,CAACM,WAAW;IAClDC,UAAU,GAAGb,KAAK,CAACa,UAAU,IAAIP,GAAG,CAACO,UAAU,IAAI,CAAC,CAAC;IACrDC,eAAe,GAAGd,KAAK,CAACc,eAAe,IAAIR,GAAG,CAACQ,eAAe,IAAI,CAAC,CAAC;IACpEC,wBAAwB,GAAGf,KAAK,CAACe,wBAAwB,IAAIT,GAAG,CAACS,wBAAwB;IACzFC,2BAA2B,GAAGhB,KAAK,CAACgB,2BAA2B,IAAIV,GAAG,CAACU,2BAA2B;IAClGC,aAAa,GAAGjB,KAAK,CAACiB,aAAa,IAAIX,GAAG,CAACW,aAAa;IACxDC,eAAe,GAAGlB,KAAK,CAACkB,eAAe,IAAIZ,GAAG,CAACY,eAAe;EAEhE,MAAMC,YAAY,GAAG,IAAAC,eAAQ,EAACvB,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC;IACvDwB,QAAQ,GAAG,IAAAD,eAAQ,EAACvB,KAAK,EAAE,OAAO,CAAC;IACnCyB,SAAS,GAAG,IAAAF,eAAQ,EAACvB,KAAK,EAAE,QAAQ,CAAC;EAEvC,MAAM0B,KAAK,GAAG,IAAAC,qCAAc,EAAC1B,QAAQ,GAAGoB,eAAe,GAAG,OAAOG,QAAQ,KAAK,QAAQ,GAAGA,QAAQ,GAAG,CAAC,CAAC;EACtG,MAAMI,MAAM,GAAG,IAAAD,qCAAc,EAAC,CAAC1B,QAAQ,GAAGoB,eAAe,GAAG,OAAOI,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAG,CAAC,CAAC;EAC1G,MAAMI,WAAW,GAAG,IAAAF,qCAAc,EAAC,CAAC,CAAC;EAErC,MAAMG,WAAW,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IACzC,MAAMC,MAAM,GAAG,CAAC/B,QAAQ,GAAG2B,MAAM,CAACK,KAAK,GAAGP,KAAK,CAACO,KAAK,KAAKnB,YAAY,GAAGF,SAAS,GAAG,CAAC,CAAC;MACrFsB,OAAO,GAAI5B,eAAe,CAAC2B,KAAK,GAAG,GAAG,GAAID,MAAM;MAChDG,GAAG,GAAG,CAACjC,OAAO,GAAG8B,MAAM,GAAGE,OAAO,GAAGA,OAAO,KAAKpB,YAAY,GAAG,CAAC,GAAGF,SAAS,GAAG,CAAC,CAAC;MACjFwB,IAAI,GAAGnC,QAAQ,GAAGkC,GAAG,GAAGP,MAAM,CAACK,KAAK,GAAG,CAAC,GAAGrB,SAAS,GAAG,CAAC;MACxDyB,IAAI,GAAGpC,QAAQ,GAAGyB,KAAK,CAACO,KAAK,GAAG,CAAC,GAAGrB,SAAS,GAAG,CAAC,GAAGuB,GAAG;IAEzD,OAAO;MAAEG,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAEH;MAAK,CAAC,EAAE;QAAEI,UAAU,EAAEH;MAAK,CAAC,EAAE;QAAEI,KAAK,EAAEZ,WAAW,CAACI;MAAM,CAAC;IAAE,CAAC;EAClG,CAAC,EAAE,CAACL,MAAM,EAAEF,KAAK,EAAEpB,eAAe,EAAEuB,WAAW,CAAC,CAAC;EAEjD,MAAMa,gBAAgB,GAAG,IAAAX,uCAAgB,EAAC,MAAM;IAC9C,OAAO;MAAEY,eAAe,EAAE,IAAAC,uBAAgB,EAACxC,QAAQ,CAAC6B,KAAK,EAAEb,aAAa,GAAGf,eAAe,CAAC4B,KAAK,GAAG,GAAG,EAAE,GAAG;IAAE,CAAC;EAChH,CAAC,EAAE,CAAC7B,QAAQ,EAAEC,eAAe,CAAC,CAAC;EAE/B,MAAMwC,UAAU,GAAG,IAAAd,uCAAgB,EAAC,MAAM;IACxC,MAAMe,WAAW,GAAG7C,QAAQ,GAAIC,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAIA,OAAO,GAAG,QAAQ,GAAG,MAAM;IAC3F,MAAM6C,eAAe,GAAI,CAACnB,MAAM,CAACK,KAAK,GAAGP,KAAK,CAACO,KAAK,IAAI,CAAC,IAAM/B,OAAO,IAAI8C,YAAK,IAAM,CAAC9C,OAAO,IAAI,CAAC8C,YAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAElH,OAAO;MACLtB,KAAK,EAAEzB,QAAQ,GAAG2B,MAAM,CAACK,KAAK,GAAG,MAAM;MACvCL,MAAM,EAAE3B,QAAQ,GAAGyB,KAAK,CAACO,KAAK,GAAG,MAAM;MACvCX,YAAY;MACZgB,SAAS,EAAE,CACT;QAAEW,MAAM,EAAEH;MAAY,CAAC,EACvB;QAAEN,UAAU,EAAEvC,QAAQ,GAAI,CAAC2B,MAAM,CAACK,KAAK,GAAGP,KAAK,CAACO,KAAK,IAAI,CAAC,IAAK/B,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG;MAAE,CAAC,EACtF;QAAEqC,UAAU,EAAEtC,QAAQ,GAAG8C,eAAe,GAAG;MAAE,CAAC;IAElD,CAAC;EACH,CAAC,EAAE,CAACnB,MAAM,EAAEF,KAAK,CAAC,CAAC;EAEnB,MAAMwB,eAAe,GAAGA,CAAC;IAAEC,CAAC;IAAEC;EAAiC,CAAC,KAAK;IACnE,SAAS;;IAET,MAAMpB,MAAM,GAAG,CAAC/B,QAAQ,GAAG2B,MAAM,CAACK,KAAK,GAAGP,KAAK,CAACO,KAAK,KAAKnB,YAAY,GAAGF,SAAS,GAAG,CAAC,CAAC;MACrFuB,GAAG,GAAG,IAAAkB,YAAK,EAAC,CAACpD,QAAQ,GAAGmD,CAAC,GAAGD,CAAC,KAAKrC,YAAY,GAAGF,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,EAAEoB,MAAM,CAAC;MAC5EC,KAAK,GAAIE,GAAG,GAAGH,MAAM,GAAI,GAAG;MAC5BsB,kBAAkB,GAAGpD,OAAO,GAAG,GAAG,GAAG+B,KAAK,GAAGA,KAAK;IAEpD,IAAI3B,eAAe,CAAC2B,KAAK,KAAKqB,kBAAkB,EAAE;IAElDhD,eAAe,CAAC2B,KAAK,GAAGqB,kBAAkB;IAE1C/C,eAAe,CAAC,CAAC;EACnB,CAAC;EAED,MAAMgD,cAAc,GAAIC,KAAoC,IAAK;IAC/D,SAAS;;IACT3B,WAAW,CAACI,KAAK,GAAG,IAAAwB,iCAAU,EAACvC,wBAAwB,EAAE;MAAEwC,QAAQ,EAAEvC;IAA4B,CAAC,CAAC;IACnG+B,eAAe,CAACM,KAAK,CAAC;EACxB,CAAC;EAED,MAAMG,eAAe,GAAGA,CAAA,KAAM;IAC5B,SAAS;;IACT9B,WAAW,CAACI,KAAK,GAAG,IAAAwB,iCAAU,EAAC,CAAC,EAAE;MAAEC,QAAQ,EAAEvC;IAA4B,CAAC,CAAC;IAC5EX,YAAY,CAAC,CAAC;EAChB,CAAC;EAED,MAAMoD,GAAG,GAAGC,kCAAO,CAACC,GAAG,CAAC,CAAC,CAACC,OAAO,CAACR,cAAc,CAAC,CAACS,QAAQ,CAACd,eAAe,CAAC,CAACe,KAAK,CAACN,eAAe,CAAC;EAClG,MAAMO,GAAG,GAAGL,kCAAO,CAACM,GAAG,CAAC,CAAC,CAACC,WAAW,CAACT,eAAe,CAAC;EACtD,MAAMU,SAAS,GAAGR,kCAAO,CAACS,SAAS,CAAC,CAAC,CAACF,WAAW,CAACT,eAAe,CAAC;EAClE,MAAMY,QAAQ,GAAGV,kCAAO,CAACW,YAAY,CAACX,kCAAO,CAACY,SAAS,CAACb,GAAG,EAAEM,GAAG,EAAEG,SAAS,CAAC,EAAE,GAAGtE,QAAQ,CAAC;EAE1F,MAAM2E,QAAQ,GAAGA,CAAC;IAAEC,WAAW,EAAE;MAAEC;IAAO;EAAqB,CAAC,KAAK;IACnE,IAAI,CAAC3E,QAAQ,EAAEyB,KAAK,CAACO,KAAK,GAAG,IAAAwB,iCAAU,EAACmB,MAAM,CAAClD,KAAK,EAAE;MAAEgC,QAAQ,EAAE;IAAE,CAAC,CAAC;IACtE,IAAIzD,QAAQ,EAAE2B,MAAM,CAACK,KAAK,GAAG,IAAAwB,iCAAU,EAACmB,MAAM,CAAChD,MAAM,EAAE;MAAE8B,QAAQ,EAAE;IAAE,CAAC,CAAC;EACzE,CAAC;EAED,MAAMmB,cAAc,GAAG5E,QAAQ,GAAG;IAAEyB,KAAK,EAAEL;EAAgB,CAAC,GAAG;IAAEO,MAAM,EAAEP;EAAgB,CAAC;EAE1F,oBACEtD,MAAA,CAAAe,OAAA,CAAAgG,aAAA,CAAC5G,0BAAA,CAAA6G,eAAe;IAACC,OAAO,EAAET;EAAS,gBACjCxG,MAAA,CAAAe,OAAA,CAAAgG,aAAA,CAAC3G,sBAAA,CAAAW,OAAQ,CAACmG,IAAI;IACZP,QAAQ,EAAEA,QAAS;IACnB1E,KAAK,EAAE,CAAC;MAAEsB;IAAa,CAAC,EAAEtB,KAAK,EAAE;MAAEkF,QAAQ,EAAE,UAAU;MAAEC,WAAW,EAAE,CAAC;MAAEC,OAAO,EAAE;IAAE,CAAC,EAAEP,cAAc,EAAEnC,gBAAgB;EAAE,gBAEzH3E,MAAA,CAAAe,OAAA,CAAAgG,aAAA,CAAC3G,sBAAA,CAAAW,OAAQ,CAACuG,KAAK;IAACC,MAAM,EAAErH,OAAO,oCAAoC,CAAE;IAAC+B,KAAK,EAAE6C;EAAW,CAAE,CAAC,eAC3F9E,MAAA,CAAAe,OAAA,CAAAgG,aAAA,CAACxG,MAAA,CAAAQ,OAAK;IACJyG,OAAO,EAAC,GAAG;IACX5E,UAAU,EAAEA,UAAW;IACvBC,SAAS,EAAEA,SAAU;IACrBC,UAAU,EAAEA,UAAW;IACvBE,WAAW,EAAEA,WAAY;IACzByE,UAAU,EAAEvE,eAAgB;IAC5Ba,WAAW,EAAEA,WAAY;IACzB9B,KAAK,EAAEgB,UAAW;IAClBI,aAAa,EAAEA,aAAc;IAC7BnB,QAAQ,EAAEA;EAAS,CACpB,CACY,CACA,CAAC;AAEtB"}
|
|
1
|
+
{"version":3,"file":"BrightnessSlider.js","names":["_react","_interopRequireDefault","require","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_AppContext","_Thumb","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","BrightnessSlider","gestures","style","vertical","reverse","props","hueValue","saturationValue","brightnessValue","onGestureChange","onGestureEnd","ctx","usePickerContext","thumbShape","thumbSize","thumbColor","boundedThumb","renderThumb","thumbStyle","thumbInnerStyle","thumbScaleAnimationValue","thumbScaleAnimationDuration","adaptSpectrum","sliderThickness","borderRadius","getStyle","getWidth","getHeight","width","useSharedValue","height","handleScale","handleStyle","useAnimatedStyle","length","value","percent","pos","posY","posX","transform","translateY","translateX","scale","activeColorStyle","backgroundColor","HSVA2HSLA_string","imageStyle","imageRotate","imageTranslateY","isRtl","rotate","onGestureUpdate","x","y","clamp","newBrightnessValue","onGestureBegin","event","withTiming","duration","onGestureFinish","pan","Gesture","Pan","onBegin","onUpdate","onEnd","tap","Tap","longPress","LongPress","composed","Simultaneous","Exclusive","onLayout","nativeEvent","layout","thicknessStyle","createElement","GestureDetector","gesture","View","position","borderWidth","padding","Image","source","channel","innerStyle"],"sources":["../../../../src/components/Sliders/HSB/BrightnessSlider.tsx"],"sourcesContent":["import React from 'react';\nimport { Gesture, GestureDetector } from 'react-native-gesture-handler';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\n\nimport usePickerContext from '../../../AppContext';\nimport Thumb from '../../Thumb/Thumb';\nimport { clamp, getStyle, HSVA2HSLA_string, isRtl } from '../../../utils';\n\nimport type { SliderProps } from '../../../types';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { PanGestureHandlerEventPayload } from 'react-native-gesture-handler';\n\nexport function BrightnessSlider({ gestures = [], style = {}, vertical = false, reverse = false, ...props }: SliderProps) {\n const { hueValue, saturationValue, brightnessValue, onGestureChange, onGestureEnd, ...ctx } = usePickerContext();\n\n const thumbShape = props.thumbShape ?? ctx.thumbShape,\n thumbSize = props.thumbSize ?? ctx.thumbSize,\n thumbColor = props.thumbColor ?? ctx.thumbColor,\n boundedThumb = props.boundedThumb ?? ctx.boundedThumb,\n renderThumb = props.renderThumb ?? ctx.renderThumb,\n thumbStyle = props.thumbStyle ?? ctx.thumbStyle ?? {},\n thumbInnerStyle = props.thumbInnerStyle ?? ctx.thumbInnerStyle ?? {},\n thumbScaleAnimationValue = props.thumbScaleAnimationValue ?? ctx.thumbScaleAnimationValue,\n thumbScaleAnimationDuration = props.thumbScaleAnimationDuration ?? ctx.thumbScaleAnimationDuration,\n adaptSpectrum = props.adaptSpectrum ?? ctx.adaptSpectrum,\n sliderThickness = props.sliderThickness ?? ctx.sliderThickness;\n\n const borderRadius = getStyle(style, 'borderRadius') ?? 5,\n getWidth = getStyle(style, 'width'),\n getHeight = getStyle(style, 'height');\n\n const width = useSharedValue(vertical ? sliderThickness : typeof getWidth === 'number' ? getWidth : 0);\n const height = useSharedValue(!vertical ? sliderThickness : typeof getHeight === 'number' ? getHeight : 0);\n const handleScale = useSharedValue(1);\n\n const handleStyle = useAnimatedStyle(() => {\n const length = (vertical ? height.value : width.value) - (boundedThumb ? thumbSize : 0),\n percent = (brightnessValue.value / 100) * length,\n pos = (reverse ? length - percent : percent) - (boundedThumb ? 0 : thumbSize / 2),\n posY = vertical ? pos : height.value / 2 - thumbSize / 2,\n posX = vertical ? width.value / 2 - thumbSize / 2 : pos;\n\n return { transform: [{ translateY: posY }, { translateX: posX }, { scale: handleScale.value }] };\n }, [height, width, brightnessValue, handleScale]);\n\n const activeColorStyle = useAnimatedStyle(() => {\n return { backgroundColor: HSVA2HSLA_string(hueValue.value, adaptSpectrum ? saturationValue.value : 100, 100) };\n }, [hueValue, saturationValue]);\n\n const imageStyle = useAnimatedStyle(() => {\n const imageRotate = vertical ? (reverse ? '270deg' : '90deg') : reverse ? '180deg' : '0deg';\n const imageTranslateY = ((height.value - width.value) / 2) * ((reverse && isRtl) || (!reverse && !isRtl) ? 1 : -1);\n\n return {\n width: vertical ? height.value : '100%',\n height: vertical ? width.value : '100%',\n borderRadius,\n transform: [\n { rotate: imageRotate },\n { translateX: vertical ? ((height.value - width.value) / 2) * (reverse ? -1 : 1) : 0 },\n { translateY: vertical ? imageTranslateY : 0 },\n ],\n };\n }, [height, width]);\n\n const onGestureUpdate = ({ x, y }: PanGestureHandlerEventPayload) => {\n 'worklet';\n\n const length = (vertical ? height.value : width.value) - (boundedThumb ? thumbSize : 0),\n pos = clamp((vertical ? y : x) - (boundedThumb ? thumbSize / 2 : 0), length),\n value = (pos / length) * 100,\n newBrightnessValue = reverse ? 100 - value : value;\n\n if (brightnessValue.value === newBrightnessValue) return;\n\n brightnessValue.value = newBrightnessValue;\n\n onGestureChange();\n };\n\n const onGestureBegin = (event: PanGestureHandlerEventPayload) => {\n 'worklet';\n handleScale.value = withTiming(thumbScaleAnimationValue, { duration: thumbScaleAnimationDuration });\n onGestureUpdate(event);\n };\n\n const onGestureFinish = () => {\n 'worklet';\n handleScale.value = withTiming(1, { duration: thumbScaleAnimationDuration });\n onGestureEnd();\n };\n\n const pan = Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish);\n const tap = Gesture.Tap().onEnd(onGestureFinish);\n const longPress = Gesture.LongPress().onEnd(onGestureFinish);\n const composed = Gesture.Simultaneous(Gesture.Exclusive(pan, tap, longPress), ...gestures);\n\n const onLayout = ({ nativeEvent: { layout } }: LayoutChangeEvent) => {\n if (!vertical) width.value = withTiming(layout.width, { duration: 5 });\n if (vertical) height.value = withTiming(layout.height, { duration: 5 });\n };\n\n const thicknessStyle = vertical ? { width: sliderThickness } : { height: sliderThickness };\n\n return (\n <GestureDetector gesture={composed}>\n <Animated.View\n onLayout={onLayout}\n style={[{ borderRadius }, style, { position: 'relative', borderWidth: 0, padding: 0 }, thicknessStyle, activeColorStyle]}\n >\n <Animated.Image source={require('../../../assets/blackGradient.png')} style={imageStyle} />\n <Thumb\n channel='v'\n thumbShape={thumbShape}\n thumbSize={thumbSize}\n thumbColor={thumbColor}\n renderThumb={renderThumb}\n innerStyle={thumbInnerStyle}\n handleStyle={handleStyle}\n style={thumbStyle}\n adaptSpectrum={adaptSpectrum}\n vertical={vertical}\n />\n </Animated.View>\n </GestureDetector>\n );\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAC,uBAAA,CAAAH,OAAA;AAEA,IAAAI,WAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,MAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAA0E,SAAAO,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAjB,uBAAA6B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAMnE,SAASC,gBAAgBA,CAAC;EAAEC,QAAQ,GAAG,EAAE;EAAEC,KAAK,GAAG,CAAC,CAAC;EAAEC,QAAQ,GAAG,KAAK;EAAEC,OAAO,GAAG,KAAK;EAAE,GAAGC;AAAmB,CAAC,EAAE;EACxH,MAAM;IAAEC,QAAQ;IAAEC,eAAe;IAAEC,eAAe;IAAEC,eAAe;IAAEC,YAAY;IAAE,GAAGC;EAAI,CAAC,GAAG,IAAAC,mBAAgB,EAAC,CAAC;EAEhH,MAAMC,UAAU,GAAGR,KAAK,CAACQ,UAAU,IAAIF,GAAG,CAACE,UAAU;IACnDC,SAAS,GAAGT,KAAK,CAACS,SAAS,IAAIH,GAAG,CAACG,SAAS;IAC5CC,UAAU,GAAGV,KAAK,CAACU,UAAU,IAAIJ,GAAG,CAACI,UAAU;IAC/CC,YAAY,GAAGX,KAAK,CAACW,YAAY,IAAIL,GAAG,CAACK,YAAY;IACrDC,WAAW,GAAGZ,KAAK,CAACY,WAAW,IAAIN,GAAG,CAACM,WAAW;IAClDC,UAAU,GAAGb,KAAK,CAACa,UAAU,IAAIP,GAAG,CAACO,UAAU,IAAI,CAAC,CAAC;IACrDC,eAAe,GAAGd,KAAK,CAACc,eAAe,IAAIR,GAAG,CAACQ,eAAe,IAAI,CAAC,CAAC;IACpEC,wBAAwB,GAAGf,KAAK,CAACe,wBAAwB,IAAIT,GAAG,CAACS,wBAAwB;IACzFC,2BAA2B,GAAGhB,KAAK,CAACgB,2BAA2B,IAAIV,GAAG,CAACU,2BAA2B;IAClGC,aAAa,GAAGjB,KAAK,CAACiB,aAAa,IAAIX,GAAG,CAACW,aAAa;IACxDC,eAAe,GAAGlB,KAAK,CAACkB,eAAe,IAAIZ,GAAG,CAACY,eAAe;EAEhE,MAAMC,YAAY,GAAG,IAAAC,eAAQ,EAACvB,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC;IACvDwB,QAAQ,GAAG,IAAAD,eAAQ,EAACvB,KAAK,EAAE,OAAO,CAAC;IACnCyB,SAAS,GAAG,IAAAF,eAAQ,EAACvB,KAAK,EAAE,QAAQ,CAAC;EAEvC,MAAM0B,KAAK,GAAG,IAAAC,qCAAc,EAAC1B,QAAQ,GAAGoB,eAAe,GAAG,OAAOG,QAAQ,KAAK,QAAQ,GAAGA,QAAQ,GAAG,CAAC,CAAC;EACtG,MAAMI,MAAM,GAAG,IAAAD,qCAAc,EAAC,CAAC1B,QAAQ,GAAGoB,eAAe,GAAG,OAAOI,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAG,CAAC,CAAC;EAC1G,MAAMI,WAAW,GAAG,IAAAF,qCAAc,EAAC,CAAC,CAAC;EAErC,MAAMG,WAAW,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IACzC,MAAMC,MAAM,GAAG,CAAC/B,QAAQ,GAAG2B,MAAM,CAACK,KAAK,GAAGP,KAAK,CAACO,KAAK,KAAKnB,YAAY,GAAGF,SAAS,GAAG,CAAC,CAAC;MACrFsB,OAAO,GAAI5B,eAAe,CAAC2B,KAAK,GAAG,GAAG,GAAID,MAAM;MAChDG,GAAG,GAAG,CAACjC,OAAO,GAAG8B,MAAM,GAAGE,OAAO,GAAGA,OAAO,KAAKpB,YAAY,GAAG,CAAC,GAAGF,SAAS,GAAG,CAAC,CAAC;MACjFwB,IAAI,GAAGnC,QAAQ,GAAGkC,GAAG,GAAGP,MAAM,CAACK,KAAK,GAAG,CAAC,GAAGrB,SAAS,GAAG,CAAC;MACxDyB,IAAI,GAAGpC,QAAQ,GAAGyB,KAAK,CAACO,KAAK,GAAG,CAAC,GAAGrB,SAAS,GAAG,CAAC,GAAGuB,GAAG;IAEzD,OAAO;MAAEG,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAEH;MAAK,CAAC,EAAE;QAAEI,UAAU,EAAEH;MAAK,CAAC,EAAE;QAAEI,KAAK,EAAEZ,WAAW,CAACI;MAAM,CAAC;IAAE,CAAC;EAClG,CAAC,EAAE,CAACL,MAAM,EAAEF,KAAK,EAAEpB,eAAe,EAAEuB,WAAW,CAAC,CAAC;EAEjD,MAAMa,gBAAgB,GAAG,IAAAX,uCAAgB,EAAC,MAAM;IAC9C,OAAO;MAAEY,eAAe,EAAE,IAAAC,uBAAgB,EAACxC,QAAQ,CAAC6B,KAAK,EAAEb,aAAa,GAAGf,eAAe,CAAC4B,KAAK,GAAG,GAAG,EAAE,GAAG;IAAE,CAAC;EAChH,CAAC,EAAE,CAAC7B,QAAQ,EAAEC,eAAe,CAAC,CAAC;EAE/B,MAAMwC,UAAU,GAAG,IAAAd,uCAAgB,EAAC,MAAM;IACxC,MAAMe,WAAW,GAAG7C,QAAQ,GAAIC,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAIA,OAAO,GAAG,QAAQ,GAAG,MAAM;IAC3F,MAAM6C,eAAe,GAAI,CAACnB,MAAM,CAACK,KAAK,GAAGP,KAAK,CAACO,KAAK,IAAI,CAAC,IAAM/B,OAAO,IAAI8C,YAAK,IAAM,CAAC9C,OAAO,IAAI,CAAC8C,YAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAElH,OAAO;MACLtB,KAAK,EAAEzB,QAAQ,GAAG2B,MAAM,CAACK,KAAK,GAAG,MAAM;MACvCL,MAAM,EAAE3B,QAAQ,GAAGyB,KAAK,CAACO,KAAK,GAAG,MAAM;MACvCX,YAAY;MACZgB,SAAS,EAAE,CACT;QAAEW,MAAM,EAAEH;MAAY,CAAC,EACvB;QAAEN,UAAU,EAAEvC,QAAQ,GAAI,CAAC2B,MAAM,CAACK,KAAK,GAAGP,KAAK,CAACO,KAAK,IAAI,CAAC,IAAK/B,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG;MAAE,CAAC,EACtF;QAAEqC,UAAU,EAAEtC,QAAQ,GAAG8C,eAAe,GAAG;MAAE,CAAC;IAElD,CAAC;EACH,CAAC,EAAE,CAACnB,MAAM,EAAEF,KAAK,CAAC,CAAC;EAEnB,MAAMwB,eAAe,GAAGA,CAAC;IAAEC,CAAC;IAAEC;EAAiC,CAAC,KAAK;IACnE,SAAS;;IAET,MAAMpB,MAAM,GAAG,CAAC/B,QAAQ,GAAG2B,MAAM,CAACK,KAAK,GAAGP,KAAK,CAACO,KAAK,KAAKnB,YAAY,GAAGF,SAAS,GAAG,CAAC,CAAC;MACrFuB,GAAG,GAAG,IAAAkB,YAAK,EAAC,CAACpD,QAAQ,GAAGmD,CAAC,GAAGD,CAAC,KAAKrC,YAAY,GAAGF,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,EAAEoB,MAAM,CAAC;MAC5EC,KAAK,GAAIE,GAAG,GAAGH,MAAM,GAAI,GAAG;MAC5BsB,kBAAkB,GAAGpD,OAAO,GAAG,GAAG,GAAG+B,KAAK,GAAGA,KAAK;IAEpD,IAAI3B,eAAe,CAAC2B,KAAK,KAAKqB,kBAAkB,EAAE;IAElDhD,eAAe,CAAC2B,KAAK,GAAGqB,kBAAkB;IAE1C/C,eAAe,CAAC,CAAC;EACnB,CAAC;EAED,MAAMgD,cAAc,GAAIC,KAAoC,IAAK;IAC/D,SAAS;;IACT3B,WAAW,CAACI,KAAK,GAAG,IAAAwB,iCAAU,EAACvC,wBAAwB,EAAE;MAAEwC,QAAQ,EAAEvC;IAA4B,CAAC,CAAC;IACnG+B,eAAe,CAACM,KAAK,CAAC;EACxB,CAAC;EAED,MAAMG,eAAe,GAAGA,CAAA,KAAM;IAC5B,SAAS;;IACT9B,WAAW,CAACI,KAAK,GAAG,IAAAwB,iCAAU,EAAC,CAAC,EAAE;MAAEC,QAAQ,EAAEvC;IAA4B,CAAC,CAAC;IAC5EX,YAAY,CAAC,CAAC;EAChB,CAAC;EAED,MAAMoD,GAAG,GAAGC,kCAAO,CAACC,GAAG,CAAC,CAAC,CAACC,OAAO,CAACR,cAAc,CAAC,CAACS,QAAQ,CAACd,eAAe,CAAC,CAACe,KAAK,CAACN,eAAe,CAAC;EAClG,MAAMO,GAAG,GAAGL,kCAAO,CAACM,GAAG,CAAC,CAAC,CAACF,KAAK,CAACN,eAAe,CAAC;EAChD,MAAMS,SAAS,GAAGP,kCAAO,CAACQ,SAAS,CAAC,CAAC,CAACJ,KAAK,CAACN,eAAe,CAAC;EAC5D,MAAMW,QAAQ,GAAGT,kCAAO,CAACU,YAAY,CAACV,kCAAO,CAACW,SAAS,CAACZ,GAAG,EAAEM,GAAG,EAAEE,SAAS,CAAC,EAAE,GAAGrE,QAAQ,CAAC;EAE1F,MAAM0E,QAAQ,GAAGA,CAAC;IAAEC,WAAW,EAAE;MAAEC;IAAO;EAAqB,CAAC,KAAK;IACnE,IAAI,CAAC1E,QAAQ,EAAEyB,KAAK,CAACO,KAAK,GAAG,IAAAwB,iCAAU,EAACkB,MAAM,CAACjD,KAAK,EAAE;MAAEgC,QAAQ,EAAE;IAAE,CAAC,CAAC;IACtE,IAAIzD,QAAQ,EAAE2B,MAAM,CAACK,KAAK,GAAG,IAAAwB,iCAAU,EAACkB,MAAM,CAAC/C,MAAM,EAAE;MAAE8B,QAAQ,EAAE;IAAE,CAAC,CAAC;EACzE,CAAC;EAED,MAAMkB,cAAc,GAAG3E,QAAQ,GAAG;IAAEyB,KAAK,EAAEL;EAAgB,CAAC,GAAG;IAAEO,MAAM,EAAEP;EAAgB,CAAC;EAE1F,oBACEtD,MAAA,CAAAe,OAAA,CAAA+F,aAAA,CAAC3G,0BAAA,CAAA4G,eAAe;IAACC,OAAO,EAAET;EAAS,gBACjCvG,MAAA,CAAAe,OAAA,CAAA+F,aAAA,CAAC1G,sBAAA,CAAAW,OAAQ,CAACkG,IAAI;IACZP,QAAQ,EAAEA,QAAS;IACnBzE,KAAK,EAAE,CAAC;MAAEsB;IAAa,CAAC,EAAEtB,KAAK,EAAE;MAAEiF,QAAQ,EAAE,UAAU;MAAEC,WAAW,EAAE,CAAC;MAAEC,OAAO,EAAE;IAAE,CAAC,EAAEP,cAAc,EAAElC,gBAAgB;EAAE,gBAEzH3E,MAAA,CAAAe,OAAA,CAAA+F,aAAA,CAAC1G,sBAAA,CAAAW,OAAQ,CAACsG,KAAK;IAACC,MAAM,EAAEpH,OAAO,oCAAoC,CAAE;IAAC+B,KAAK,EAAE6C;EAAW,CAAE,CAAC,eAC3F9E,MAAA,CAAAe,OAAA,CAAA+F,aAAA,CAACvG,MAAA,CAAAQ,OAAK;IACJwG,OAAO,EAAC,GAAG;IACX3E,UAAU,EAAEA,UAAW;IACvBC,SAAS,EAAEA,SAAU;IACrBC,UAAU,EAAEA,UAAW;IACvBE,WAAW,EAAEA,WAAY;IACzBwE,UAAU,EAAEtE,eAAgB;IAC5Ba,WAAW,EAAEA,WAAY;IACzB9B,KAAK,EAAEgB,UAAW;IAClBI,aAAa,EAAEA,aAAc;IAC7BnB,QAAQ,EAAEA;EAAS,CACpB,CACY,CACA,CAAC;AAEtB"}
|
|
@@ -120,8 +120,8 @@ function SaturationSlider({
|
|
|
120
120
|
onGestureEnd();
|
|
121
121
|
};
|
|
122
122
|
const pan = _reactNativeGestureHandler.Gesture.Pan().onBegin(onGestureBegin).onUpdate(onGestureUpdate).onEnd(onGestureFinish);
|
|
123
|
-
const tap = _reactNativeGestureHandler.Gesture.Tap().
|
|
124
|
-
const longPress = _reactNativeGestureHandler.Gesture.LongPress().
|
|
123
|
+
const tap = _reactNativeGestureHandler.Gesture.Tap().onEnd(onGestureFinish);
|
|
124
|
+
const longPress = _reactNativeGestureHandler.Gesture.LongPress().onEnd(onGestureFinish);
|
|
125
125
|
const composed = _reactNativeGestureHandler.Gesture.Simultaneous(_reactNativeGestureHandler.Gesture.Exclusive(pan, tap, longPress), ...gestures);
|
|
126
126
|
const onLayout = ({
|
|
127
127
|
nativeEvent: {
|