@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.
@@ -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 LampSaturationSlider(props: IProps): JSX.Element;
4
- declare namespace LampSaturationSlider {
3
+ declare function SaturationSlider(props: IProps): JSX.Element;
4
+ declare namespace SaturationSlider {
5
5
  var defaultProps: IProps;
6
6
  }
7
- export default LampSaturationSlider;
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 React, { useState, useEffect } from 'react';
4
- import { ColorUtils } from '@ray-js/ray-panel-utils';
5
- import { Slider } from '@ray-js/components';
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
- 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;
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
- 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, {
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: 100,
51
+ max: 1000,
52
+ disable: disable,
53
+ end: controllerSaturation,
44
54
  step: 1,
45
- value: defaultValue,
46
- onChange: function (va) {
47
- onAfterChange(va.value);
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
- onChanging: function onChanging(va) {
50
- onChange(va.value);
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
- backgroundColor: "linear-gradient(to right, hsl(".concat(HValue, ", 100%, 100%), hsl(").concat(HValue, ", 100%, 50%))"),
53
- activeColor: "transparent"
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
- LampSaturationSlider.defaultProps = defaultProps;
58
- export default LampSaturationSlider;
127
+ SaturationSlider.defaultProps = defaultProps;
128
+ export default SaturationSlider;
@@ -1,5 +1,5 @@
1
- .text {
1
+ .lampSliderMask {
2
2
  color: #000;
3
3
  font-size: 48rpx;
4
4
  font-weight: bold;
5
- }
5
+ }
package/lib/props.d.ts CHANGED
@@ -1,32 +1,57 @@
1
+ /// <reference types="react" />
1
2
  export interface IProps {
2
3
  /**
3
- * @description.zh slider值 范围0 - 100
4
- * @description.en slider value range 0 - 100
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
- onChange: (value: RGB) => void;
43
+ onTouchStart: (value: number) => void;
14
44
  /**
15
- * @description.zh 值改变后触发
16
- * @description.en Values change after the trigger
17
- * @default '() => {}'
45
+ * @description.zh slider 手指拖动时触发
46
+ * @description.en slider Value changes
47
+ * @default () => {}
18
48
  */
19
- onAfterChange?: (value: RGB) => void;
49
+ onTouchMove: (value: number) => void;
20
50
  /**
21
- * @description.zh 默认传入的RGB值
22
- * @description.en The default incoming RGB values
23
- * @default '() => {}'
51
+ * @description.zh slider 手指离开时触发
52
+ * @description.en Values change after the trigger
53
+ * @default () => {}
24
54
  */
25
- defaultColor: RGB;
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
- onChange: function onChange() {
5
+ value: 1,
6
+ trackStyle: {},
7
+ onTouchStart: function onTouchStart() {
3
8
  return null;
4
9
  },
5
- onAfterChange: function onAfterChange() {
10
+ onTouchMove: function onTouchMove() {
6
11
  return null;
7
12
  },
8
- value: 0,
9
- defaultColor: {
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": "0.0.2-beta-1",
4
- "description": "照明饱和度Slider",
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.3.19-beta-a6eb801d",
41
- "@ray-js/cli": "^0.3.19-beta-a6eb801d",
42
- "@ray-js/components": "^0.3.19-beta-a6eb801d",
43
- "@ray-js/framework": "^0.3.19-beta-a6eb801d",
44
- "@ray-js/rn-transformer-helper": "^0.3.19-beta-a6eb801d",
45
- "@ray-js/types": "^0.3.19-beta-a6eb801d",
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
  }
@@ -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;
@@ -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;
@@ -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
- };
@@ -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;