@ray-js/lamp-saturation-slider 0.0.2-beta-1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +76 -38
- package/lib/components/slider/index.d.ts +230 -0
- package/lib/components/slider/index.js +211 -0
- package/lib/components/slider/index.json +3 -0
- package/lib/components/slider/index.less +194 -0
- package/lib/components/slider/index.sjs +837 -0
- package/lib/components/slider/index.tyml +89 -0
- package/lib/index.d.ts +3 -3
- package/lib/index.js +119 -49
- package/lib/index.module.less +2 -2
- package/lib/props.d.ts +43 -18
- package/lib/props.js +9 -7
- package/lib/utils/index.d.ts +13 -0
- package/lib/utils/index.js +29 -0
- package/package.json +13 -12
- package/lib/index.android.js +0 -1
- package/lib/index.config.android.js +0 -1
- package/lib/index.config.ios.js +0 -1
- package/lib/index.config.tuya.js +0 -14
- package/lib/index.config.web.js +0 -14
- package/lib/index.config.wechat.js +0 -14
- package/lib/index.ios.js +0 -1
- package/lib/index.tuya.js +0 -58
- package/lib/index.web.js +0 -58
- package/lib/index.wechat.js +0 -58
- package/lib/props.android.js +0 -1
- package/lib/props.ios.js +0 -1
- package/lib/props.tuya.js +0 -14
- package/lib/props.web.js +0 -14
- package/lib/props.wechat.js +0 -14
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
<sjs src="./index.sjs" module="computed"></sjs>
|
|
2
|
+
|
|
3
|
+
<view
|
|
4
|
+
id="{{instanceId}}"
|
|
5
|
+
class="rayui-slider {{direction === 'vertical' ? 'vertical': 'horizontal'}} {{reverse ? 'reverse': 'no-reverse'}} {{disable ? 'disabled': ''}} {{className}}"
|
|
6
|
+
disable="{{disable}}"
|
|
7
|
+
|
|
8
|
+
change:start="{{computed.startPropObserver(instanceId)}}"
|
|
9
|
+
change:end="{{computed.endPropObserver(instanceId)}}"
|
|
10
|
+
change:watchstart="{{computed.watchstartPropObserver(instanceId)}}"
|
|
11
|
+
change:watchend="{{computed.watchenddPropObserver(instanceId)}}"
|
|
12
|
+
change:hue="{{hue}}"
|
|
13
|
+
start="{{start}}"
|
|
14
|
+
end="{{end}}"
|
|
15
|
+
watchstart="{{watchStart}}"
|
|
16
|
+
watchend="{{watchEnd}}"
|
|
17
|
+
|
|
18
|
+
data-hue="{{hue}}"
|
|
19
|
+
data-min="{{min}}"
|
|
20
|
+
data-max="{{max}}"
|
|
21
|
+
|
|
22
|
+
data-step="{{step}}"
|
|
23
|
+
|
|
24
|
+
bind:touchstart="{{computed.handleTrackMouseDown(instanceId)}}"
|
|
25
|
+
bind:touchmove="{{computed.onMouseMove(instanceId)}}"
|
|
26
|
+
bind:touchend="{{computed.onTrackMouseUp(instanceId)}}"
|
|
27
|
+
|
|
28
|
+
data-startmin="{{startMin}}"
|
|
29
|
+
data-startmax="{{startMax}}"
|
|
30
|
+
|
|
31
|
+
data-endmin="{{endMin}}"
|
|
32
|
+
data-endmax="{{endMax}}"
|
|
33
|
+
|
|
34
|
+
data-mode="{{mode}}"
|
|
35
|
+
data-barpad="{{barPad}}"
|
|
36
|
+
data-hidethumb="{{hideThumb}}"
|
|
37
|
+
data-showsteps="{{showSteps}}"
|
|
38
|
+
data-direction="{{direction}}"
|
|
39
|
+
data-reverse="{{reverse}}"
|
|
40
|
+
data-enabletouch="{{enableTouch}}"
|
|
41
|
+
data-enabletouchbar="{{enableTouchBar}}"
|
|
42
|
+
data-maxrangeoffset="{{maxRangeOffset}}"
|
|
43
|
+
data-texttemplate="{{textTemplate}}"
|
|
44
|
+
data-showtext="{{showText}}"
|
|
45
|
+
data-thumbstylecalc="{{thumbStyleCalc}}"
|
|
46
|
+
|
|
47
|
+
style="{{trackStyle}}"
|
|
48
|
+
>
|
|
49
|
+
<view ty:if="{{disable}}" class="rayui-slider-mask"></view>
|
|
50
|
+
<view ty:if="{{showSteps}}" class="rayui-slider-steps">
|
|
51
|
+
<view class="rayui-slider-steps-dot" ty:for="{{steps}}" style="{{stepStyle}}" ty:for-item="step">
|
|
52
|
+
</view>
|
|
53
|
+
</view>
|
|
54
|
+
<view class="rayui-slider-bar"
|
|
55
|
+
style="{{barStyle}}"
|
|
56
|
+
>
|
|
57
|
+
<view ty:if="{{showText}}" class="rayui-slider-bar-text" style="{{textStyle}}">
|
|
58
|
+
{{text}}
|
|
59
|
+
</view>
|
|
60
|
+
<view class="rayui-slider-bar-steps_wrap">
|
|
61
|
+
<view ty:if="{{showSteps}}" class="rayui-slider-steps">
|
|
62
|
+
<view class="rayui-slider-steps-dot" ty:for="{{steps}}" style="{{activeStepStyle}}" ty:for-item="step">
|
|
63
|
+
</view>
|
|
64
|
+
</view>
|
|
65
|
+
</view>
|
|
66
|
+
</view>
|
|
67
|
+
<view
|
|
68
|
+
class="rayui-slider-thumb rayui-slider-thumb-start"
|
|
69
|
+
data-name="start"
|
|
70
|
+
bind:touchstart="{{computed.handleMouseDown(instanceId)}}"
|
|
71
|
+
bind:touchend="{{computed.onMouseUp(instanceId)}}"
|
|
72
|
+
>
|
|
73
|
+
<view
|
|
74
|
+
data-name="start"
|
|
75
|
+
class="rayui-slider-thumb-render rayui-slider-thumb-start-render" style="{{thumbStartStyle}}"
|
|
76
|
+
></view>
|
|
77
|
+
</view>
|
|
78
|
+
<view
|
|
79
|
+
class="rayui-slider-thumb rayui-slider-thumb-end"
|
|
80
|
+
data-name="end"
|
|
81
|
+
bind:touchstart="{{computed.handleMouseDown(instanceId)}}"
|
|
82
|
+
bind:touchend="{{computed.onMouseUp(instanceId)}}"
|
|
83
|
+
>
|
|
84
|
+
<view
|
|
85
|
+
data-name="end"
|
|
86
|
+
class="rayui-slider-thumb-render rayui-slider-thumb-end-render" style="{{thumbEndStyle}}"
|
|
87
|
+
></view>
|
|
88
|
+
</view>
|
|
89
|
+
</view>
|
package/lib/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { IProps } from './props';
|
|
3
|
-
declare function
|
|
4
|
-
declare namespace
|
|
3
|
+
declare function SaturationSlider(props: IProps): JSX.Element;
|
|
4
|
+
declare namespace SaturationSlider {
|
|
5
5
|
var defaultProps: IProps;
|
|
6
6
|
}
|
|
7
|
-
export default
|
|
7
|
+
export default SaturationSlider;
|
package/lib/index.js
CHANGED
|
@@ -1,58 +1,128 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
1
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
3
|
import "core-js/modules/es.array.concat.js";
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import {
|
|
4
|
+
import "core-js/modules/es.array.slice.js";
|
|
5
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
6
|
+
import React, { useRef, useState, useEffect, useMemo } from 'react';
|
|
7
|
+
import { View } from '@ray-js/components';
|
|
8
|
+
import { hsvToRgb } from './utils';
|
|
9
|
+
import Slider from './components/slider';
|
|
6
10
|
import { defaultProps } from './props';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
function SaturationSlider(props) {
|
|
12
|
+
var preSaturation = useRef(-1);
|
|
13
|
+
var lastSaturation = useRef(null);
|
|
14
|
+
var timer = useRef(null);
|
|
15
|
+
var timer1 = useRef(null);
|
|
16
|
+
var saturation = props.value,
|
|
17
|
+
hue = props.hue,
|
|
18
|
+
_props$trackStyle = props.trackStyle,
|
|
19
|
+
trackStyle = _props$trackStyle === void 0 ? {} : _props$trackStyle,
|
|
20
|
+
_props$thumbStyle = props.thumbStyle,
|
|
21
|
+
thumbStyle = _props$thumbStyle === void 0 ? {} : _props$thumbStyle,
|
|
22
|
+
disable = props.disable,
|
|
23
|
+
onTouchStart = props.onTouchStart,
|
|
24
|
+
onTouchMove = props.onTouchMove,
|
|
25
|
+
onTouchEnd = props.onTouchEnd;
|
|
26
|
+
var instanceId = useRef("Color_".concat(String(+new Date()).slice(-4), "_").concat(String(Math.random()).slice(-2)));
|
|
27
|
+
var _useState = useState(-1),
|
|
28
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
29
|
+
controllerSaturation = _useState2[0],
|
|
30
|
+
setControllerSaturation = _useState2[1];
|
|
18
31
|
useEffect(function () {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}, [
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
// props.onBeforeChange && props.onBeforeChange(rgb);
|
|
38
|
-
// };
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return /*#__PURE__*/React.createElement(Slider, {
|
|
32
|
+
if (preSaturation.current !== saturation) {
|
|
33
|
+
setControllerSaturation(saturation);
|
|
34
|
+
}
|
|
35
|
+
}, [saturation]);
|
|
36
|
+
var _useMemo = useMemo(function () {
|
|
37
|
+
return hsvToRgb(hue, 1000, 1000);
|
|
38
|
+
}, [hue]),
|
|
39
|
+
r = _useMemo.r,
|
|
40
|
+
g = _useMemo.g,
|
|
41
|
+
b = _useMemo.b;
|
|
42
|
+
var bg = "linear-gradient(to right, rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", 0.01) 0%, rgba(").concat(r, ", ").concat(g, ", ").concat(b, ", 1) 100%)");
|
|
43
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
44
|
+
style: {
|
|
45
|
+
position: 'relative'
|
|
46
|
+
}
|
|
47
|
+
}, /*#__PURE__*/React.createElement(Slider, {
|
|
48
|
+
instanceId: instanceId.current,
|
|
49
|
+
hue: hue,
|
|
42
50
|
min: 0,
|
|
43
|
-
max:
|
|
51
|
+
max: 1000,
|
|
52
|
+
disable: disable,
|
|
53
|
+
end: controllerSaturation,
|
|
44
54
|
step: 1,
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
55
|
+
enableTouch: true,
|
|
56
|
+
maxRangeOffset: 16,
|
|
57
|
+
bindstart: function handleTouchStart(_ref) {
|
|
58
|
+
var detail = _ref.detail;
|
|
59
|
+
if (!onTouchStart || disable) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
lastSaturation.current = detail.end;
|
|
63
|
+
if (detail.end === lastSaturation.current) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
onTouchStart && onTouchStart(detail.end);
|
|
67
|
+
lastSaturation.current = detail.end;
|
|
68
|
+
},
|
|
69
|
+
bindmove: function handTouchMove(_ref2) {
|
|
70
|
+
var detail = _ref2.detail;
|
|
71
|
+
if (!onTouchMove || disable) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
lastSaturation.current = detail.end;
|
|
75
|
+
if (detail.end === preSaturation.current) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (timer.current) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
// 移动结束后多久进行更新
|
|
82
|
+
|
|
83
|
+
timer.current = setTimeout(function () {
|
|
84
|
+
onTouchMove && onTouchMove(detail.end);
|
|
85
|
+
preSaturation.current = detail.end;
|
|
86
|
+
clearTimeout(timer.current);
|
|
87
|
+
timer.current = null;
|
|
88
|
+
clearTimeout(timer1.current);
|
|
89
|
+
timer1.current = null;
|
|
90
|
+
timer1.current = setTimeout(function () {
|
|
91
|
+
if (lastSaturation.current !== preSaturation.current) {
|
|
92
|
+
onTouchMove && onTouchMove(lastSaturation.current);
|
|
93
|
+
}
|
|
94
|
+
}, 200);
|
|
95
|
+
}, 50);
|
|
48
96
|
},
|
|
49
|
-
|
|
50
|
-
|
|
97
|
+
bindend: function handTouchEnd(_ref3) {
|
|
98
|
+
var detail = _ref3.detail;
|
|
99
|
+
if (!onTouchEnd || disable) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
if (detail.end === preSaturation.current) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
onTouchEnd && onTouchEnd(detail.end);
|
|
106
|
+
preSaturation.current = detail.end;
|
|
51
107
|
},
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
108
|
+
trackStyle: _objectSpread(_objectSpread({
|
|
109
|
+
width: "".concat(646, "rpx"),
|
|
110
|
+
height: "".concat(88, "rpx"),
|
|
111
|
+
borderRadius: "".concat(28, "rpx")
|
|
112
|
+
}, trackStyle), {}, {
|
|
113
|
+
background: bg
|
|
114
|
+
}),
|
|
115
|
+
barStyle: {
|
|
116
|
+
background: 'transparent'
|
|
117
|
+
},
|
|
118
|
+
thumbEndStyle: _objectSpread({
|
|
119
|
+
width: '32rpx',
|
|
120
|
+
height: '104rpx',
|
|
121
|
+
border: "9rpx solid #fff",
|
|
122
|
+
borderRadius: '28rpx',
|
|
123
|
+
background: "".concat(disable ? '#000' : 'transparent')
|
|
124
|
+
}, thumbStyle)
|
|
125
|
+
}));
|
|
55
126
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
export default LampSaturationSlider;
|
|
127
|
+
SaturationSlider.defaultProps = defaultProps;
|
|
128
|
+
export default SaturationSlider;
|
package/lib/index.module.less
CHANGED
package/lib/props.d.ts
CHANGED
|
@@ -1,32 +1,57 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
export interface IProps {
|
|
2
3
|
/**
|
|
3
|
-
* @description.zh
|
|
4
|
-
* @description.en
|
|
4
|
+
* @description.zh 禁止滑动
|
|
5
|
+
* @description.en Ban sliding
|
|
6
|
+
* @default false
|
|
7
|
+
*/
|
|
8
|
+
disable?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* @description.zh slider方向
|
|
11
|
+
* @description.en slider direction
|
|
12
|
+
* @default horizontal
|
|
13
|
+
*/
|
|
14
|
+
direction?: "horizontal" | "vertical";
|
|
15
|
+
/**
|
|
16
|
+
* @description.zh 滑动槽样式
|
|
17
|
+
* @description.en Sliding groove style
|
|
18
|
+
* @default {}
|
|
19
|
+
*/
|
|
20
|
+
trackStyle?: React.CSSProperties;
|
|
21
|
+
/**
|
|
22
|
+
* @description.en Fingers sliding block style
|
|
23
|
+
* @description.zh 手指滑块样式
|
|
24
|
+
*/
|
|
25
|
+
thumbStyle?: React.CSSProperties;
|
|
26
|
+
/**
|
|
27
|
+
* @description.zh slider值 对应hsv的saturation 范围 1 - 1000
|
|
28
|
+
* @description.en slider value
|
|
5
29
|
* @default 0
|
|
6
30
|
*/
|
|
7
31
|
value: number;
|
|
8
32
|
/**
|
|
9
|
-
* @description.zh slider
|
|
33
|
+
* @description.zh slider 展示的颜色值 对应hsv的hue
|
|
34
|
+
* @description.en slider value
|
|
35
|
+
* @default 0
|
|
36
|
+
*/
|
|
37
|
+
hue: number;
|
|
38
|
+
/**
|
|
39
|
+
* @description.zh slider 手指点击时触发
|
|
10
40
|
* @description.en slider Value changes
|
|
11
|
-
* @default
|
|
41
|
+
* @default () => {}
|
|
12
42
|
*/
|
|
13
|
-
|
|
43
|
+
onTouchStart: (value: number) => void;
|
|
14
44
|
/**
|
|
15
|
-
* @description.zh
|
|
16
|
-
* @description.en
|
|
17
|
-
* @default
|
|
45
|
+
* @description.zh slider 手指拖动时触发
|
|
46
|
+
* @description.en slider Value changes
|
|
47
|
+
* @default () => {}
|
|
18
48
|
*/
|
|
19
|
-
|
|
49
|
+
onTouchMove: (value: number) => void;
|
|
20
50
|
/**
|
|
21
|
-
* @description.zh
|
|
22
|
-
* @description.en
|
|
23
|
-
* @default
|
|
51
|
+
* @description.zh slider 手指离开时触发
|
|
52
|
+
* @description.en Values change after the trigger
|
|
53
|
+
* @default () => {}
|
|
24
54
|
*/
|
|
25
|
-
|
|
55
|
+
onTouchEnd?: (value: number) => void;
|
|
26
56
|
}
|
|
27
|
-
export declare type RGB = {
|
|
28
|
-
r: number;
|
|
29
|
-
g: number;
|
|
30
|
-
b: number;
|
|
31
|
-
};
|
|
32
57
|
export declare const defaultProps: IProps;
|
package/lib/props.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
|
+
/* eslint-disable prettier/prettier */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
3
|
+
|
|
1
4
|
export var defaultProps = {
|
|
2
|
-
|
|
5
|
+
value: 1,
|
|
6
|
+
trackStyle: {},
|
|
7
|
+
onTouchStart: function onTouchStart() {
|
|
3
8
|
return null;
|
|
4
9
|
},
|
|
5
|
-
|
|
10
|
+
onTouchMove: function onTouchMove() {
|
|
6
11
|
return null;
|
|
7
12
|
},
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
r: 255,
|
|
11
|
-
g: 0,
|
|
12
|
-
b: 0
|
|
13
|
+
onTouchEnd: function onTouchEnd() {
|
|
14
|
+
return null;
|
|
13
15
|
}
|
|
14
16
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type HSV = {
|
|
2
|
+
h: number;
|
|
3
|
+
s: number;
|
|
4
|
+
v: number;
|
|
5
|
+
};
|
|
6
|
+
type RGB = {
|
|
7
|
+
r: number;
|
|
8
|
+
g: number;
|
|
9
|
+
b: number;
|
|
10
|
+
};
|
|
11
|
+
declare const rgbToHsv: (r: number, g: number, b: number) => HSV;
|
|
12
|
+
declare const hsvToRgb: (h: number, s: number, v: number) => RGB;
|
|
13
|
+
export { rgbToHsv, hsvToRgb };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import { utils } from '@ray-js/panel-sdk';
|
|
3
|
+
var rgb2hsv = utils.rgb2hsv,
|
|
4
|
+
hsv2rgb = utils.hsv2rgb;
|
|
5
|
+
var rgbToHsv = function (r, g, b) {
|
|
6
|
+
var _rgb2hsv = rgb2hsv(r, g, b),
|
|
7
|
+
_rgb2hsv2 = _slicedToArray(_rgb2hsv, 3),
|
|
8
|
+
h = _rgb2hsv2[0],
|
|
9
|
+
s = _rgb2hsv2[1],
|
|
10
|
+
v = _rgb2hsv2[2];
|
|
11
|
+
return {
|
|
12
|
+
h: h,
|
|
13
|
+
s: s,
|
|
14
|
+
v: v
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
var hsvToRgb = function (h, s, v) {
|
|
18
|
+
var _hsv2rgb = hsv2rgb(h, s, v),
|
|
19
|
+
_hsv2rgb2 = _slicedToArray(_hsv2rgb, 3),
|
|
20
|
+
r = _hsv2rgb2[0],
|
|
21
|
+
g = _hsv2rgb2[1],
|
|
22
|
+
b = _hsv2rgb2[2];
|
|
23
|
+
return {
|
|
24
|
+
r: r,
|
|
25
|
+
g: g,
|
|
26
|
+
b: b
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export { rgbToHsv, hsvToRgb };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ray-js/lamp-saturation-slider",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "照明色温Slider",
|
|
5
5
|
"main": "lib/index",
|
|
6
6
|
"files": [
|
|
7
7
|
"lib"
|
|
@@ -30,19 +30,16 @@
|
|
|
30
30
|
"prepublishOnly": "yarn build",
|
|
31
31
|
"release-it": "standard-version"
|
|
32
32
|
},
|
|
33
|
-
"peerDependencies": {
|
|
34
|
-
"@ray-js/components": "^0.3.19-beta-a6eb801d",
|
|
35
|
-
"@ray-js/framework": "^0.3.19-beta-a6eb801d"
|
|
36
|
-
},
|
|
33
|
+
"peerDependencies": {},
|
|
37
34
|
"devDependencies": {
|
|
38
35
|
"@commitlint/cli": "^7.2.1",
|
|
39
36
|
"@commitlint/config-conventional": "^9.0.1",
|
|
40
|
-
"@ray-js/babel-preset-standard": "^0.
|
|
41
|
-
"@ray-js/cli": "^0.
|
|
42
|
-
"@ray-js/components": "^0.
|
|
43
|
-
"@ray-js/
|
|
44
|
-
"@ray-js/rn-transformer-helper": "^0.
|
|
45
|
-
"@ray-js/types": "^0.
|
|
37
|
+
"@ray-js/babel-preset-standard": "^0.6.14",
|
|
38
|
+
"@ray-js/cli": "^0.6.14",
|
|
39
|
+
"@ray-js/components": "^0.6.14",
|
|
40
|
+
"@ray-js/ray": "^0.6.14",
|
|
41
|
+
"@ray-js/rn-transformer-helper": "^0.5.5",
|
|
42
|
+
"@ray-js/types": "^0.6.14",
|
|
46
43
|
"@types/node": "^17.0.43",
|
|
47
44
|
"core-js": "^3.19.1",
|
|
48
45
|
"eslint-config-tuya-panel": "^0.4.1",
|
|
@@ -65,5 +62,9 @@
|
|
|
65
62
|
"prettier --write",
|
|
66
63
|
"git add"
|
|
67
64
|
]
|
|
65
|
+
},
|
|
66
|
+
"dependencies": {
|
|
67
|
+
"@ray-js/components-ty-slider": "^0.2.20",
|
|
68
|
+
"@ray-js/panel-sdk": "^1.1.4"
|
|
68
69
|
}
|
|
69
70
|
}
|
package/lib/index.android.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _rayPanelUtils=require("@ray-js/ray-panel-utils");var _components=require("@ray-js/components");var _props=require("./props");var _jsxFileName="/drone/src/src/index.tsx";function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}var _styleSheet=styles;function LampSaturationSlider(props){var defaultValue=props.value,defaultColor=props.defaultColor;var _useState=(0,_react.useState)(defaultValue),_useState2=(0,_slicedToArray2.default)(_useState,2),value=_useState2[0],setValue=_useState2[1];var HValue=_rayPanelUtils.ColorUtils.rgbToHsl(defaultColor.r,defaultColor.g,defaultColor.b).h;(0,_react.useEffect)(function(){var currentHValue=_rayPanelUtils.ColorUtils.rgbToHsl(defaultColor.r,defaultColor.g,defaultColor.b).h;var rgb=_rayPanelUtils.ColorUtils.hslToRgb(currentHValue,1,1-value/200);props.onAfterChange&&props.onAfterChange(rgb);},[defaultColor]);var onChange=function(event){setValue(event);var rgb=_rayPanelUtils.ColorUtils.hslToRgb(HValue,1,1-event/200);props.onChange&&props.onChange(rgb);};var onAfterChange=function(event){setValue(event);var rgb=_rayPanelUtils.ColorUtils.hslToRgb(HValue,1,1-event/200);props.onAfterChange&&props.onAfterChange(rgb);};return _react.default.createElement(_components.Slider,{min:0,max:100,step:1,value:defaultValue,onChange:function(va){onAfterChange(va.value);},onChanging:function onChanging(va){onChange(va.value);},backgroundColor:"linear-gradient(to right, hsl("+HValue+", 100%, 100%), hsl("+HValue+", 100%, 50%))",activeColor:"transparent",__self:this,__source:{fileName:_jsxFileName,lineNumber:37,columnNumber:10}});}LampSaturationSlider.defaultProps=_props.defaultProps;var _default=LampSaturationSlider;exports.default=_default;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:true});exports.wechat=exports.tuya=exports.native=void 0;var tuya={backgroundColor:'#f2f4f6',navigationBarTitleText:'Ray 跨端组件'};exports.tuya=tuya;var wechat={backgroundColor:'#f2f4f6',navigationBarTitleText:'Ray 跨端组件'};exports.wechat=wechat;var native={backgroundColor:'transparent',isBleOfflineOverlay:false,useSafeAreaView:true,navigationBarTitleText:'Ray 跨端组件'};exports.native=native;
|
package/lib/index.config.ios.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:true});exports.wechat=exports.tuya=exports.native=void 0;var tuya={backgroundColor:'#f2f4f6',navigationBarTitleText:'Ray 跨端组件'};exports.tuya=tuya;var wechat={backgroundColor:'#f2f4f6',navigationBarTitleText:'Ray 跨端组件'};exports.wechat=wechat;var native={backgroundColor:'transparent',isBleOfflineOverlay:false,useSafeAreaView:true,navigationBarTitleText:'Ray 跨端组件'};exports.native=native;
|
package/lib/index.config.tuya.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export var tuya = {
|
|
2
|
-
backgroundColor: '#f2f4f6',
|
|
3
|
-
navigationBarTitleText: 'Ray 跨端组件'
|
|
4
|
-
};
|
|
5
|
-
export var wechat = {
|
|
6
|
-
backgroundColor: '#f2f4f6',
|
|
7
|
-
navigationBarTitleText: 'Ray 跨端组件'
|
|
8
|
-
};
|
|
9
|
-
export var native = {
|
|
10
|
-
backgroundColor: 'transparent',
|
|
11
|
-
isBleOfflineOverlay: false,
|
|
12
|
-
useSafeAreaView: true,
|
|
13
|
-
navigationBarTitleText: 'Ray 跨端组件'
|
|
14
|
-
};
|
package/lib/index.config.web.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export var tuya = {
|
|
2
|
-
backgroundColor: '#f2f4f6',
|
|
3
|
-
navigationBarTitleText: 'Ray 跨端组件'
|
|
4
|
-
};
|
|
5
|
-
export var wechat = {
|
|
6
|
-
backgroundColor: '#f2f4f6',
|
|
7
|
-
navigationBarTitleText: 'Ray 跨端组件'
|
|
8
|
-
};
|
|
9
|
-
export var native = {
|
|
10
|
-
backgroundColor: 'transparent',
|
|
11
|
-
isBleOfflineOverlay: false,
|
|
12
|
-
useSafeAreaView: true,
|
|
13
|
-
navigationBarTitleText: 'Ray 跨端组件'
|
|
14
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export var tuya = {
|
|
2
|
-
backgroundColor: '#f2f4f6',
|
|
3
|
-
navigationBarTitleText: 'Ray 跨端组件'
|
|
4
|
-
};
|
|
5
|
-
export var wechat = {
|
|
6
|
-
backgroundColor: '#f2f4f6',
|
|
7
|
-
navigationBarTitleText: 'Ray 跨端组件'
|
|
8
|
-
};
|
|
9
|
-
export var native = {
|
|
10
|
-
backgroundColor: 'transparent',
|
|
11
|
-
isBleOfflineOverlay: false,
|
|
12
|
-
useSafeAreaView: true,
|
|
13
|
-
navigationBarTitleText: 'Ray 跨端组件'
|
|
14
|
-
};
|
package/lib/index.ios.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _rayPanelUtils=require("@ray-js/ray-panel-utils");var _components=require("@ray-js/components");var _props=require("./props");var _jsxFileName="/drone/src/src/index.tsx";function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}var _styleSheet=styles;function LampSaturationSlider(props){var defaultValue=props.value,defaultColor=props.defaultColor;var _useState=(0,_react.useState)(defaultValue),_useState2=(0,_slicedToArray2.default)(_useState,2),value=_useState2[0],setValue=_useState2[1];var HValue=_rayPanelUtils.ColorUtils.rgbToHsl(defaultColor.r,defaultColor.g,defaultColor.b).h;(0,_react.useEffect)(function(){var currentHValue=_rayPanelUtils.ColorUtils.rgbToHsl(defaultColor.r,defaultColor.g,defaultColor.b).h;var rgb=_rayPanelUtils.ColorUtils.hslToRgb(currentHValue,1,1-value/200);props.onAfterChange&&props.onAfterChange(rgb);},[defaultColor]);var onChange=function(event){setValue(event);var rgb=_rayPanelUtils.ColorUtils.hslToRgb(HValue,1,1-event/200);props.onChange&&props.onChange(rgb);};var onAfterChange=function(event){setValue(event);var rgb=_rayPanelUtils.ColorUtils.hslToRgb(HValue,1,1-event/200);props.onAfterChange&&props.onAfterChange(rgb);};return _react.default.createElement(_components.Slider,{min:0,max:100,step:1,value:defaultValue,onChange:function(va){onAfterChange(va.value);},onChanging:function onChanging(va){onChange(va.value);},backgroundColor:"linear-gradient(to right, hsl("+HValue+", 100%, 100%), hsl("+HValue+", 100%, 50%))",activeColor:"transparent",__self:this,__source:{fileName:_jsxFileName,lineNumber:37,columnNumber:10}});}LampSaturationSlider.defaultProps=_props.defaultProps;var _default=LampSaturationSlider;exports.default=_default;
|
package/lib/index.tuya.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
-
import "core-js/modules/es.array.concat.js";
|
|
3
|
-
import React, { useState, useEffect } from 'react';
|
|
4
|
-
import { ColorUtils } from '@ray-js/ray-panel-utils';
|
|
5
|
-
import { Slider } from '@ray-js/components';
|
|
6
|
-
import { defaultProps } from './props';
|
|
7
|
-
|
|
8
|
-
function LampSaturationSlider(props) {
|
|
9
|
-
var defaultValue = props.value,
|
|
10
|
-
defaultColor = props.defaultColor;
|
|
11
|
-
|
|
12
|
-
var _useState = useState(defaultValue),
|
|
13
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
14
|
-
value = _useState2[0],
|
|
15
|
-
setValue = _useState2[1];
|
|
16
|
-
|
|
17
|
-
var HValue = ColorUtils.rgbToHsl(defaultColor.r, defaultColor.g, defaultColor.b).h;
|
|
18
|
-
useEffect(function () {
|
|
19
|
-
var currentHValue = ColorUtils.rgbToHsl(defaultColor.r, defaultColor.g, defaultColor.b).h;
|
|
20
|
-
var rgb = ColorUtils.hslToRgb(currentHValue, 1, 1 - value / 200);
|
|
21
|
-
props.onAfterChange && props.onAfterChange(rgb);
|
|
22
|
-
}, [defaultColor]);
|
|
23
|
-
|
|
24
|
-
var onChange = function (event) {
|
|
25
|
-
setValue(event);
|
|
26
|
-
var rgb = ColorUtils.hslToRgb(HValue, 1, 1 - event / 200);
|
|
27
|
-
props.onChange && props.onChange(rgb);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
var onAfterChange = function (event) {
|
|
31
|
-
setValue(event);
|
|
32
|
-
var rgb = ColorUtils.hslToRgb(HValue, 1, 1 - event / 200);
|
|
33
|
-
props.onAfterChange && props.onAfterChange(rgb);
|
|
34
|
-
}; // const onBeforeChange = event => {
|
|
35
|
-
// setValue(event);
|
|
36
|
-
// const rgb = ColorUtils.hslToRgb(HValue, event / 100, 0.5);
|
|
37
|
-
// props.onBeforeChange && props.onBeforeChange(rgb);
|
|
38
|
-
// };
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return /*#__PURE__*/React.createElement(Slider, {
|
|
42
|
-
min: 0,
|
|
43
|
-
max: 100,
|
|
44
|
-
step: 1,
|
|
45
|
-
value: defaultValue,
|
|
46
|
-
onChange: function (va) {
|
|
47
|
-
onAfterChange(va.value);
|
|
48
|
-
},
|
|
49
|
-
onChanging: function onChanging(va) {
|
|
50
|
-
onChange(va.value);
|
|
51
|
-
},
|
|
52
|
-
backgroundColor: "linear-gradient(to right, hsl(".concat(HValue, ", 100%, 100%), hsl(").concat(HValue, ", 100%, 50%))"),
|
|
53
|
-
activeColor: "transparent"
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
LampSaturationSlider.defaultProps = defaultProps;
|
|
58
|
-
export default LampSaturationSlider;
|