@ledvance/group-ui-biz-bundle 1.0.37 → 1.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/package.json +1 -1
  2. package/src/modules/biorhythm/BiorhythmActions.ts +216 -0
  3. package/src/modules/biorhythm/BiorhythmBean.ts +230 -0
  4. package/src/modules/biorhythm/BiorhythmDetailPage.tsx +261 -0
  5. package/src/modules/biorhythm/BiorhythmPage.tsx +706 -0
  6. package/src/modules/biorhythm/IconSelect.tsx +84 -0
  7. package/src/modules/biorhythm/circular/ItemIcon.d.ts +22 -0
  8. package/src/modules/biorhythm/circular/ItemIcon.tsx +173 -0
  9. package/src/modules/biorhythm/circular/Progress.d.ts +24 -0
  10. package/src/modules/biorhythm/circular/Progress.tsx +412 -0
  11. package/src/modules/biorhythm/circular/TimeCircular.d.ts +11 -0
  12. package/src/modules/biorhythm/circular/TimeCircular.tsx +70 -0
  13. package/src/modules/biorhythm/circular/biorhythm_plantimer.png +0 -0
  14. package/src/modules/biorhythm/circular/rhythm_icon.png +0 -0
  15. package/src/modules/biorhythm/iconListData.ts +30 -0
  16. package/src/modules/biorhythm/pIdList.ts +36 -0
  17. package/src/modules/biorhythm/res/BiologicalRes.d.ts +43 -0
  18. package/src/modules/biorhythm/res/BiologicalRes.ts +42 -0
  19. package/src/modules/biorhythm/res/Biological_Rhythm.png +0 -0
  20. package/src/modules/biorhythm/res/Biological_Rhythm_12.png +0 -0
  21. package/src/modules/biorhythm/res/Biological_Rhythm_new.png +0 -0
  22. package/src/modules/biorhythm/res/Biological_Rhythm_new_12.png +0 -0
  23. package/src/modules/biorhythm/res/iconsMaterialOutlinedAccountGroups.png +0 -0
  24. package/src/modules/biorhythm/res/iconsMaterialOutlinedAccountGroups@2x.png +0 -0
  25. package/src/modules/biorhythm/res/iconsMaterialOutlinedAccountGroups@3x.png +0 -0
  26. package/src/modules/biorhythm/res/iconsMaterialOutlinedArrowsNavAdd.png +0 -0
  27. package/src/modules/biorhythm/res/iconsMaterialOutlinedArrowsNavAdd@2x.png +0 -0
  28. package/src/modules/biorhythm/res/iconsMaterialOutlinedArrowsNavAdd@3x.png +0 -0
  29. package/src/modules/biorhythm/res/iconsMaterialOutlinedArrowsNavArrowForwardIos.png +0 -0
  30. package/src/modules/biorhythm/res/iconsMaterialOutlinedArrowsNavArrowForwardIos@2x.png +0 -0
  31. package/src/modules/biorhythm/res/iconsMaterialOutlinedArrowsNavArrowForwardIos@3x.png +0 -0
  32. package/src/modules/biorhythm/res/iconsMaterialOutlinedBuildingsHome.png +0 -0
  33. package/src/modules/biorhythm/res/iconsMaterialOutlinedBuildingsHome@2x.png +0 -0
  34. package/src/modules/biorhythm/res/iconsMaterialOutlinedBuildingsHome@3x.png +0 -0
  35. package/src/modules/biorhythm/res/iconsMaterialOutlinedEditorFavoriteBorder.png +0 -0
  36. package/src/modules/biorhythm/res/iconsMaterialOutlinedEditorFavoriteBorder@2x.png +0 -0
  37. package/src/modules/biorhythm/res/iconsMaterialOutlinedEditorFavoriteBorder@3x.png +0 -0
  38. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherBed.png +0 -0
  39. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherBed@2x.png +0 -0
  40. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherBed@3x.png +0 -0
  41. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherBusinessCenter.png +0 -0
  42. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherBusinessCenter@2x.png +0 -0
  43. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherBusinessCenter@3x.png +0 -0
  44. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherChair.png +0 -0
  45. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherChair@2x.png +0 -0
  46. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherChair@3x.png +0 -0
  47. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherCoffee.png +0 -0
  48. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherCoffee@2x.png +0 -0
  49. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherCoffee@3x.png +0 -0
  50. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherDirectionsCar.png +0 -0
  51. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherDirectionsCar@2x.png +0 -0
  52. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherDirectionsCar@3x.png +0 -0
  53. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherFitnessCenter.png +0 -0
  54. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherFitnessCenter@2x.png +0 -0
  55. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherFitnessCenter@3x.png +0 -0
  56. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherHeadphones.png +0 -0
  57. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherHeadphones@2x.png +0 -0
  58. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherHeadphones@3x.png +0 -0
  59. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherMenuBook.png +0 -0
  60. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherMenuBook@2x.png +0 -0
  61. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherMenuBook@3x.png +0 -0
  62. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherMusicNote.png +0 -0
  63. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherMusicNote@2x.png +0 -0
  64. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherMusicNote@3x.png +0 -0
  65. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherNotificationsNone.png +0 -0
  66. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherNotificationsNone@2x.png +0 -0
  67. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherNotificationsNone@3x.png +0 -0
  68. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherPottedPlant.png +0 -0
  69. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherPottedPlant@2x.png +0 -0
  70. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherPottedPlant@3x.png +0 -0
  71. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherRestaurant.png +0 -0
  72. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherRestaurant@2x.png +0 -0
  73. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherRestaurant@3x.png +0 -0
  74. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherSentimentSatisfied.png +0 -0
  75. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherSentimentSatisfied@2x.png +0 -0
  76. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherSentimentSatisfied@3x.png +0 -0
  77. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherSportsEsports.png +0 -0
  78. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherSportsEsports@2x.png +0 -0
  79. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherSportsEsports@3x.png +0 -0
  80. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherTv.png +0 -0
  81. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherTv@2x.png +0 -0
  82. package/src/modules/biorhythm/res/iconsMaterialOutlinedOtherTv@3x.png +0 -0
  83. package/src/modules/biorhythm/res/iconsMaterialOutlinedTimeAccessAlarm.png +0 -0
  84. package/src/modules/biorhythm/res/iconsMaterialOutlinedTimeAccessAlarm@2x.png +0 -0
  85. package/src/modules/biorhythm/res/iconsMaterialOutlinedTimeAccessAlarm@3x.png +0 -0
  86. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherBedtime.png +0 -0
  87. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherBedtime@2x.png +0 -0
  88. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherBedtime@3x.png +0 -0
  89. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherPartlyCloudyDay.png +0 -0
  90. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherPartlyCloudyDay@2x.png +0 -0
  91. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherPartlyCloudyDay@3x.png +0 -0
  92. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherStarOutline.png +0 -0
  93. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherStarOutline@2x.png +0 -0
  94. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherStarOutline@3x.png +0 -0
  95. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherWbSunny.png +0 -0
  96. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherWbSunny@2x.png +0 -0
  97. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherWbSunny@3x.png +0 -0
  98. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherWbTwilight.png +0 -0
  99. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherWbTwilight@2x.png +0 -0
  100. package/src/modules/biorhythm/res/iconsMaterialOutlinedWheatherWbTwilight@3x.png +0 -0
  101. package/src/modules/music/MusicActions.ts +61 -0
  102. package/src/modules/music/MusicDataBean.ts +292 -0
  103. package/src/modules/music/MusicManager.ts +206 -0
  104. package/src/modules/music/MusicPage.tsx +206 -0
  105. package/src/modules/music/res/app_music_ball@2x.png +0 -0
  106. package/src/modules/music/res/app_music_ball@3x.png +0 -0
  107. package/src/modules/music/res/app_music_game@2x.png +0 -0
  108. package/src/modules/music/res/app_music_game@3x.png +0 -0
  109. package/src/modules/music/res/app_music_music@2x.png +0 -0
  110. package/src/modules/music/res/app_music_music@3x.png +0 -0
  111. package/src/modules/music/res/app_music_romantic@2x.png +0 -0
  112. package/src/modules/music/res/app_music_romantic@3x.png +0 -0
  113. package/src/modules/music/res/iconsMaterialOutlinedArrowsNavCheck.png +0 -0
  114. package/src/modules/music/res/iconsMaterialOutlinedArrowsNavCheck@2x.png +0 -0
  115. package/src/modules/music/res/iconsMaterialOutlinedArrowsNavCheck@3x.png +0 -0
  116. package/src/modules/music/res/illustrationsFeaturesMusic.png +0 -0
  117. package/src/modules/music/res/illustrationsFeaturesMusic@2x.png +0 -0
  118. package/src/modules/music/res/illustrationsFeaturesMusic@3x.png +0 -0
  119. package/src/modules/music/res/illustrationsFeaturesMusicDisabled.png +0 -0
  120. package/src/modules/music/res/illustrationsFeaturesMusicDisabled@2x.png +0 -0
  121. package/src/modules/music/res/illustrationsFeaturesMusicDisabled@3x.png +0 -0
  122. package/src/modules/music/res/index.d.ts +10 -0
  123. package/src/modules/music/res/index.ts +9 -0
  124. package/src/navigation/Routers.ts +46 -0
@@ -0,0 +1,84 @@
1
+ import {useNavigation} from '@react-navigation/native'
2
+ import React, {useEffect, useState} from 'react'
3
+ import {Image, ScrollView, Text, TouchableOpacity, View} from 'react-native'
4
+ import {Utils} from 'tuya-panel-kit'
5
+ import iconList from './iconListData'
6
+ import LDVTopBar from '@ledvance/base/src/components/ldvTopBar'
7
+ import I18n from '@ledvance/base/src/i18n'
8
+ import { useParams } from '@ledvance/base/src/hooks/Hooks'
9
+
10
+ const cx = Utils.RatioUtils.convertX
11
+
12
+ interface IconSelectPageParams {
13
+ id: string | number
14
+ setIcon: (id: string | number) => void,
15
+ iconIdList: any
16
+ }
17
+
18
+ function IconSelectPage() {
19
+ const [list, setList] = useState(iconList)
20
+ const navigation = useNavigation()
21
+ const params = useParams<IconSelectPageParams>()
22
+ const setColor = id => {
23
+ const newList = list?.map(item => {
24
+ return {
25
+ ...item,
26
+ selectStatus: item?.id === id,
27
+ }
28
+ })
29
+ setList(newList)
30
+ }
31
+ useEffect(() => {
32
+ const iconIdList = params?.iconIdList
33
+ const iconId = params?.id
34
+ const newList = list?.map(item => {
35
+ return {
36
+ ...item,
37
+ selectStatus: item?.id === iconId,
38
+ disabled: iconIdList?.some(val => val === item?.id && val !== iconId),
39
+ }
40
+ })
41
+ setList(newList)
42
+ }, [])
43
+
44
+ return (
45
+ <View style={{flex: 1, flexDirection: 'column'}}>
46
+ <LDVTopBar
47
+ title={I18n.getLang('add_new_trigger_time_system_back_text')}
48
+ onBackPress={() => {
49
+ navigation.goBack()
50
+ }}
51
+ />
52
+ <ScrollView nestedScrollEnabled={true} style={{marginHorizontal: cx(24)}}>
53
+ <View style={{marginTop: cx(40), marginBottom: cx(20)}}>
54
+ <Text style={{fontSize: cx(24), color: '#ff6600'}}>Select an icon</Text>
55
+ </View>
56
+ <View
57
+ style={{flexDirection: 'row', flex: 1, flexWrap: 'wrap', justifyContent: 'space-between', alignItems: 'flex-start'}}>
58
+ {list?.map(item => {
59
+ return <TouchableOpacity
60
+ onPress={() => {
61
+ setColor(item?.id)
62
+ params?.setIcon(item?.id)
63
+ }}
64
+ disabled={item?.disabled}
65
+ key={item.id}
66
+ >
67
+ <Image
68
+ source={item?.icon}
69
+ style={{
70
+ width: cx(32),
71
+ height: cx(32),
72
+ margin: cx(10),
73
+ tintColor: item?.selectStatus ? '#ff757d' : item?.disabled && '#e6e7e8' || '#474e5d',
74
+ }}
75
+ />
76
+ </TouchableOpacity>
77
+ })}
78
+ </View>
79
+ </ScrollView>
80
+ </View>
81
+ )
82
+ }
83
+
84
+ export default IconSelectPage
@@ -0,0 +1,22 @@
1
+ import { PureComponent } from "react";
2
+ import { PanResponderInstance } from "react-native";
3
+ export default class ItemIcon extends PureComponent<any> {
4
+ lastX: any;
5
+ lastY: any;
6
+ _panResponder: PanResponderInstance;
7
+ state: any;
8
+ constructor(props: any);
9
+ componentWillMount(): void;
10
+ onMoveShouldSetPanResponder(): boolean;
11
+ onPanResponderMove(evt: any, gestureState: any): void;
12
+ onPanResponderEnd(evt: any, gestureState: any): void;
13
+ handlerData(_evt: any, ges: any, moving: any): void;
14
+ getPointValues(locationX: any, locationY: any): {
15
+ angle: number;
16
+ maxX: number;
17
+ maxY: number;
18
+ length: number;
19
+ };
20
+ getPointAngle(x: any, y: any): number;
21
+ render(): any;
22
+ }
@@ -0,0 +1,173 @@
1
+ import React, { PureComponent } from "react";
2
+ import { Image, PanResponder, PanResponderInstance, StyleSheet, View } from "react-native";
3
+
4
+ const timeIconSize = 40; //时间图标ding
5
+ const deviationSize = 0;
6
+
7
+ export default class ItemIcon extends PureComponent<any> {
8
+ lastX: any;
9
+ lastY: any;
10
+ _panResponder: PanResponderInstance;
11
+ state: any;
12
+
13
+ constructor(props) {
14
+ super(props);
15
+
16
+ this.onMoveShouldSetPanResponder = this.onMoveShouldSetPanResponder.bind(this);
17
+ this.onPanResponderMove = this.onPanResponderMove.bind(this);
18
+ this.onPanResponderEnd = this.onPanResponderEnd.bind(this);
19
+ const { leftValeu, topValue, circularRadius } = this.props;
20
+
21
+ this.lastX = leftValeu;
22
+ this.lastY = topValue;
23
+ this.state = { radius: circularRadius };
24
+ }
25
+
26
+ componentWillMount() {
27
+ this._panResponder = PanResponder.create({
28
+
29
+ onMoveShouldSetPanResponder: this.onMoveShouldSetPanResponder,
30
+ onPanResponderMove: this.onPanResponderMove,
31
+ onPanResponderRelease: this.onPanResponderEnd
32
+ });
33
+ }
34
+
35
+ //触摸点开始移动的时候,是否响应触摸交互
36
+ onMoveShouldSetPanResponder() {
37
+ return true;
38
+ }
39
+
40
+ // 最近一次的移动距离为gestureState.move{X,Y}
41
+ onPanResponderMove(evt, gestureState) {
42
+
43
+ this.handlerData(evt, gestureState, true);
44
+
45
+ }
46
+
47
+ // 停止移动
48
+ onPanResponderEnd(evt, gestureState) {
49
+ this.handlerData(evt, gestureState, false);
50
+ }
51
+
52
+ handlerData(_evt, ges, moving) {
53
+
54
+ //此时视图的坐标
55
+ let locationX = this.lastX + ges.dx + deviationSize;
56
+ let locationY = this.lastY + ges.dy + deviationSize;
57
+
58
+ // 获取在父元素的实际坐标点值
59
+ let result = this.getPointValues(locationX, locationY);
60
+ let maxX = result.maxX;
61
+ let maxY = result.maxY;
62
+
63
+ this.setState({
64
+ offset: {
65
+ x: maxX,
66
+ y: maxY
67
+ }
68
+ });
69
+
70
+ const { onPanMoving, onPanMoveEnd } = this.props;
71
+ onPanMoving && onPanMoving(maxX, maxY, result.angle);
72
+
73
+ if (!(!!moving)) {
74
+ // 记录滑动前 图表的位置
75
+ if (this.state.offset) {
76
+ this.lastX = this.state.offset.x;
77
+ this.lastY = this.state.offset.y;
78
+ }
79
+
80
+ onPanMoveEnd && onPanMoveEnd();
81
+ }
82
+ }
83
+
84
+ // 获取实际坐标的 角度 坐标值 步长
85
+ getPointValues(locationX, locationY) {
86
+ //半径
87
+ let radius = this.state.radius;
88
+ // 求斜边的长度
89
+ let offsetX = Math.abs(radius - locationX);
90
+ let offsetY = Math.abs(radius - locationY);
91
+ // 斜边长度
92
+ let length = Math.sqrt(offsetX * offsetX + offsetY * offsetY);
93
+
94
+ //求角度
95
+ let angle = this.getPointAngle(radius - locationX, radius - locationY);
96
+
97
+ // 最终的坐标
98
+ let maxX = locationX - deviationSize;
99
+ let maxY = locationY - deviationSize;
100
+
101
+ //超出边界: 在圆环滑动
102
+ if (length !== radius) {
103
+ let maxOffsetX = radius * (locationX - radius) / length;
104
+ let maxOffsetY = radius * (radius - locationY) / length;
105
+ // maxX = radius + maxOffsetX - deviationSize + 1.5
106
+ // maxY = radius - maxOffsetY - deviationSize + 1.5
107
+ maxX = radius + maxOffsetX - deviationSize;
108
+ maxY = radius - maxOffsetY - deviationSize;
109
+ length = radius;
110
+ }
111
+
112
+ return {
113
+ angle: angle,
114
+ maxX: maxX,
115
+ maxY: maxY,
116
+ length: length
117
+ };
118
+ }
119
+
120
+ getPointAngle(x, y) {
121
+ // 此时的角度是从左边为 0°开始 顺时针 到右边为 180° 逆时针到最右边为 -180°
122
+ let angle = Math.atan2(y, x) * (180 / Math.PI);
123
+ //改为正常坐标的角度(表盘中心为圆形)
124
+ if (angle > 0) {
125
+ //第四象限
126
+ if (angle < 90) {
127
+ angle = 270 + angle;
128
+ } else {
129
+ //第一象限
130
+ angle = angle - 90;
131
+ }
132
+ } else if (angle == 0) {
133
+ angle = 270;
134
+ } else if (angle < 0) {
135
+ //第三象限
136
+ if (angle > -90) {
137
+ angle = 270 + angle;
138
+
139
+ } else {
140
+ //第二象限
141
+ angle = 90 + (180 + angle);
142
+ }
143
+ }
144
+
145
+ return angle;
146
+ }
147
+ render() {
148
+ const { leftValeu, topValue, imageSource } = this.props;
149
+ return (
150
+ <View style={[styles.timeIconView, { left: leftValeu, top: topValue, alignItems: 'center', justifyContent: 'center' }]} {...this._panResponder.panHandlers}>
151
+ <Image source={imageSource}
152
+ style={{
153
+ width: 30,
154
+ height: 30,
155
+ marginLeft: 0,
156
+ tintColor: '#474e5d'
157
+ }} />
158
+ </View>
159
+ );
160
+ }
161
+ }
162
+
163
+ const styles = StyleSheet.create({
164
+ timeIconView: {
165
+ position: "absolute",
166
+ height: timeIconSize,
167
+ width: timeIconSize,
168
+ flexDirection: "row",
169
+ alignItems: "center",
170
+ backgroundColor: "#FFFFFF",
171
+ borderRadius: Math.round(timeIconSize / 2)
172
+ }
173
+ });
@@ -0,0 +1,24 @@
1
+ import { Component } from 'react';
2
+ export default class Progress extends Component<any> {
3
+ timeIconList: any[];
4
+ timer: any;
5
+ state: any;
6
+ constructor(props: any);
7
+ UNSAFE_componentWillReceiveProps(nextProps: any): void;
8
+ componentWillUnmount(): void;
9
+ render(): any;
10
+ playTimeChangeCallBack(id: number, time: string): void;
11
+ getTimeIntVale(time: any): number;
12
+ createFormTime(totalMinutes: any): string;
13
+ checkTimesFormat(newTimeMinutes: any): {
14
+ ret: boolean;
15
+ failMinutes: number;
16
+ } | {
17
+ ret: boolean;
18
+ failMinutes?: undefined;
19
+ };
20
+ getColorTempStringVale(colorTempInt: any): {
21
+ rgbColor: number[];
22
+ normalColor: string;
23
+ };
24
+ }