@ledvance/base 1.2.82 → 1.2.83

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 (165) hide show
  1. package/.babelrc +31 -31
  2. package/.eslintignore +5 -5
  3. package/.eslintrc.js +27 -27
  4. package/.prettierrc.js +1 -1
  5. package/.versionrc +5 -5
  6. package/localazy.json +848 -848
  7. package/localazy.keys.json +4 -4
  8. package/package.json +74 -74
  9. package/rn-cli.config.js +8 -8
  10. package/src/api/native.d.ts +71 -71
  11. package/src/api/native.ts +423 -423
  12. package/src/api/nativeEventEmitter.d.ts +3 -3
  13. package/src/api/nativeEventEmitter.ts +125 -125
  14. package/src/components/AdvanceCard.d.ts +25 -25
  15. package/src/components/AdvanceCard.tsx +117 -117
  16. package/src/components/AdvanceList.d.ts +9 -9
  17. package/src/components/AdvanceList.tsx +69 -69
  18. package/src/components/ApplyForDeviceItem.d.ts +6 -6
  19. package/src/components/ApplyForDeviceItem.tsx +83 -83
  20. package/src/components/ApplyForDeviceList.d.ts +7 -7
  21. package/src/components/ApplyForDeviceList.tsx +61 -61
  22. package/src/components/ApplyForText.d.ts +6 -6
  23. package/src/components/ApplyForText.tsx +52 -52
  24. package/src/components/Card.d.ts +10 -10
  25. package/src/components/Card.tsx +40 -40
  26. package/src/components/Cell.d.ts +21 -21
  27. package/src/components/Cell.tsx +69 -69
  28. package/src/components/CircularProgress.d.ts +8 -8
  29. package/src/components/CircularProgress.tsx +42 -42
  30. package/src/components/ColorAdjustView.d.ts +12 -12
  31. package/src/components/ColorAdjustView.tsx +64 -64
  32. package/src/components/ColorExtractor.d.ts +73 -73
  33. package/src/components/ColorExtractor.tsx +374 -374
  34. package/src/components/ColorTempAdjustView.d.ts +13 -13
  35. package/src/components/ColorTempAdjustView.tsx +57 -57
  36. package/src/components/ColorsLine.d.ts +7 -7
  37. package/src/components/ColorsLine.tsx +47 -47
  38. package/src/components/CustomListDialog.d.ts +15 -15
  39. package/src/components/CustomListDialog.tsx +66 -65
  40. package/src/components/DeleteButton.d.ts +10 -10
  41. package/src/components/DeleteButton.tsx +40 -40
  42. package/src/components/Dialog.d.ts +10 -10
  43. package/src/components/Dialog.tsx +38 -38
  44. package/src/components/DrawToolView.d.ts +46 -46
  45. package/src/components/DrawToolView.tsx +262 -262
  46. package/src/components/FanAdjustView.d.ts +23 -23
  47. package/src/components/FanAdjustView.tsx +141 -141
  48. package/src/components/InfoText.d.ts +11 -11
  49. package/src/components/InfoText.tsx +45 -45
  50. package/src/components/LampAdjustView.d.ts +10 -10
  51. package/src/components/LampAdjustView.tsx +75 -75
  52. package/src/components/LampAdjustView2.d.ts +24 -24
  53. package/src/components/LampAdjustView2.tsx +104 -104
  54. package/src/components/LinearGradientLine.d.ts +9 -9
  55. package/src/components/LinearGradientLine.tsx +63 -63
  56. package/src/components/LoadingView.tsx +39 -39
  57. package/src/components/MoodColorsLine.d.ts +9 -9
  58. package/src/components/MoodColorsLine.tsx +38 -38
  59. package/src/components/Page.d.ts +21 -21
  60. package/src/components/Page.tsx +104 -104
  61. package/src/components/Popup.d.ts +7 -7
  62. package/src/components/Popup.tsx +71 -71
  63. package/src/components/Segmented.d.ts +14 -14
  64. package/src/components/Segmented.tsx +76 -76
  65. package/src/components/ShowSelect.d.ts +1 -1
  66. package/src/components/ShowSelect.tsx +158 -158
  67. package/src/components/SocketItem.d.ts +13 -13
  68. package/src/components/SocketItem.tsx +87 -87
  69. package/src/components/Spacer.d.ts +7 -7
  70. package/src/components/Spacer.tsx +13 -13
  71. package/src/components/Stepper.d.ts +19 -19
  72. package/src/components/Stepper.tsx +130 -130
  73. package/src/components/StripAdjustView.d.ts +16 -16
  74. package/src/components/StripAdjustView.tsx +129 -129
  75. package/src/components/StripLightView.d.ts +14 -14
  76. package/src/components/StripLightView.tsx +24 -24
  77. package/src/components/Summary.tsx +116 -116
  78. package/src/components/Tag.d.ts +8 -8
  79. package/src/components/Tag.tsx +56 -56
  80. package/src/components/TextButton.d.ts +9 -9
  81. package/src/components/TextButton.tsx +31 -31
  82. package/src/components/TextField.d.ts +9 -9
  83. package/src/components/TextField.tsx +92 -92
  84. package/src/components/TextFieldStyleButton.d.ts +8 -8
  85. package/src/components/TextFieldStyleButton.tsx +85 -85
  86. package/src/components/UATabTitle.d.ts +6 -6
  87. package/src/components/UATabTitle.tsx +31 -31
  88. package/src/components/UATabs.d.ts +12 -12
  89. package/src/components/UATabs.tsx +77 -77
  90. package/src/components/connect.d.ts +10 -10
  91. package/src/components/connect.tsx +20 -20
  92. package/src/components/ldvColorBrightness.d.ts +1 -1
  93. package/src/components/ldvColorBrightness.tsx +18 -18
  94. package/src/components/ldvColorSlider.d.ts +14 -14
  95. package/src/components/ldvColorSlider.tsx +131 -131
  96. package/src/components/ldvItemView.d.ts +12 -12
  97. package/src/components/ldvItemView.tsx +43 -43
  98. package/src/components/ldvPickerView.d.ts +13 -13
  99. package/src/components/ldvPickerView.tsx +97 -97
  100. package/src/components/ldvPresetView.d.ts +2 -2
  101. package/src/components/ldvPresetView.tsx +86 -86
  102. package/src/components/ldvSaturation.d.ts +2 -2
  103. package/src/components/ldvSaturation.tsx +22 -22
  104. package/src/components/ldvSlider.d.ts +15 -15
  105. package/src/components/ldvSlider.tsx +103 -103
  106. package/src/components/ldvSwitch.d.ts +10 -10
  107. package/src/components/ldvSwitch.tsx +52 -52
  108. package/src/components/ldvTemperatureSlider.d.ts +13 -13
  109. package/src/components/ldvTemperatureSlider.tsx +139 -139
  110. package/src/components/ldvTopBar.d.ts +10 -10
  111. package/src/components/ldvTopBar.tsx +76 -76
  112. package/src/components/ldvTopName.d.ts +9 -9
  113. package/src/components/ldvTopName.tsx +63 -63
  114. package/src/components/segmentControl.d.ts +1 -1
  115. package/src/components/segmentControl.tsx +65 -65
  116. package/src/components/weekSelect.d.ts +7 -7
  117. package/src/components/weekSelect.tsx +98 -98
  118. package/src/composeLayout.d.ts +30 -30
  119. package/src/composeLayout.tsx +261 -261
  120. package/src/config/dark-theme.ts +61 -61
  121. package/src/config/light-theme.ts +61 -61
  122. package/src/hooks/Hooks.d.ts +2 -2
  123. package/src/hooks/Hooks.ts +8 -8
  124. package/src/i18n/index.d.ts +16 -16
  125. package/src/i18n/index.ts +37 -37
  126. package/src/i18n/strings.d.ts +15953 -15953
  127. package/src/i18n/strings.ts +23723 -23723
  128. package/src/main.tsx +9 -9
  129. package/src/models/GlobalParams.d.ts +14 -14
  130. package/src/models/GlobalParams.ts +14 -14
  131. package/src/models/TuyaApi.d.ts +29 -29
  132. package/src/models/TuyaApi.ts +92 -92
  133. package/src/models/combine.d.ts +26 -26
  134. package/src/models/combine.ts +17 -17
  135. package/src/models/configureStore.d.ts +9 -9
  136. package/src/models/configureStore.ts +33 -33
  137. package/src/models/index.d.ts +31 -31
  138. package/src/models/index.ts +22 -22
  139. package/src/models/modules/NativePropsSlice.d.ts +61 -61
  140. package/src/models/modules/NativePropsSlice.tsx +467 -467
  141. package/src/models/modules/Result.d.ts +14 -14
  142. package/src/models/modules/Result.ts +15 -15
  143. package/src/models/modules/common.d.ts +44 -44
  144. package/src/models/modules/common.ts +161 -161
  145. package/src/res/index.d.ts +70 -70
  146. package/src/res/index.ts +73 -73
  147. package/src/utils/ColorParser.d.ts +66 -66
  148. package/src/utils/ColorParser.ts +189 -189
  149. package/src/utils/ColorUtils.d.ts +71 -71
  150. package/src/utils/ColorUtils.tsx +448 -448
  151. package/src/utils/Support.d.ts +13 -13
  152. package/src/utils/Support.ts +108 -108
  153. package/src/utils/TypeUtils.d.ts +3 -3
  154. package/src/utils/cctUtils.d.ts +1 -1
  155. package/src/utils/cctUtils.ts +110 -110
  156. package/src/utils/common.d.ts +35 -35
  157. package/src/utils/common.ts +379 -379
  158. package/src/utils/index.d.ts +26 -26
  159. package/src/utils/index.ts +191 -191
  160. package/src/utils/interface.d.ts +6 -6
  161. package/src/utils/interface.ts +50 -11
  162. package/src/utils/loopsCompare.d.ts +1 -1
  163. package/src/utils/loopsCompare.ts +62 -62
  164. package/tsconfig.json +50 -50
  165. package/update-localazy.py +52 -52
@@ -1,105 +1,105 @@
1
- import { StyleSheet, View } from 'react-native'
2
- import React, { memo } from 'react'
3
- import { Utils } from 'tuya-panel-kit'
4
- import { useReactive } from 'ahooks'
5
- import Spacer from './Spacer'
6
- import ColorAdjustView from './ColorAdjustView'
7
- import ColorTempAdjustView from './ColorTempAdjustView'
8
- import SegmentControl from './segmentControl'
9
- import I18n from '../i18n/index'
10
-
11
- const { convertX: cx } = Utils.RatioUtils
12
-
13
- export interface HSV {
14
- h: number
15
- s: number
16
- v: number
17
- }
18
-
19
- interface LampConfigViewProps {
20
- isSupportColor: boolean
21
- isSupportCCT: boolean
22
- isSupportBrightness: boolean
23
- isColorMode: boolean
24
- setIsColorMode: (isColorMode: boolean) => void
25
- minBrightness?: number // 最小亮度
26
- minSaturation?: number // 最小Saturation
27
- reserveSV?: boolean // 保留 s v
28
- hsv: HSV
29
- onHSVChange: (hsv: HSV, isComplete: boolean) => void
30
- cct: number
31
- onCCTChange: (cct: number, isComplete: boolean) => void
32
- brightness: number
33
- onBrightnessChange: (brightness: number, isComplete: boolean) => void
34
- }
35
-
36
- const LampAdjustView2 = (props: LampConfigViewProps) => {
37
-
38
- const state = useReactive({
39
- hasSegmentControl: props.isSupportColor && (props.isSupportBrightness || props.isSupportCCT),
40
- })
41
-
42
- return (
43
- <View>
44
- {state.hasSegmentControl &&
45
- <SegmentControl
46
- style={styles.segmentControl}
47
- title1={I18n.getLang('light_sources_tile_rgb_lighting_tab_color')}
48
- title2={I18n.getLang('light_sources_tile_rgb_lighting_tab_white')}
49
- isFirst={props.isColorMode}
50
- setIsFirst={props.setIsColorMode}/>
51
- }
52
- {((state.hasSegmentControl && props.isColorMode) || (!state.hasSegmentControl && props.isSupportColor)) &&
53
- <>
54
- {state.hasSegmentControl && <Spacer height={cx(10)}/>}
55
- <ColorAdjustView
56
- h={props.hsv.h}
57
- s={props.hsv.s}
58
- v={props.hsv.v}
59
- minBrightness={props.minBrightness}
60
- minSaturation={props.minSaturation}
61
- reserveSV={props.reserveSV}
62
- onHSVChange={(h, s, v) => {
63
- props.onHSVChange({ h, s, v }, false)
64
- }}
65
- onHSVChangeComplete={(h, s, v) => {
66
- props.onHSVChange({ h, s, v }, true)
67
- }}/>
68
- <Spacer/>
69
- </>
70
- }
71
- {((state.hasSegmentControl && !props.isColorMode) || (!state.hasSegmentControl && (props.isSupportBrightness || props.isSupportCCT))) &&
72
- <>
73
- {state.hasSegmentControl && <Spacer height={cx(10)}/>}
74
- <ColorTempAdjustView
75
- minBrightness={props.minBrightness}
76
- isSupportTemperature={props.isSupportCCT}
77
- isSupportBrightness={props.isSupportBrightness}
78
- colorTemp={props.cct}
79
- brightness={props.brightness}
80
- onCCTChange={cct => {
81
- props.onCCTChange(cct, false)
82
- }}
83
- onCCTChangeComplete={cct => {
84
- props.onCCTChange(cct, true)
85
- }}
86
- onBrightnessChange={brightness => {
87
- props.onBrightnessChange(brightness, false)
88
- }}
89
- onBrightnessChangeComplete={brightness => {
90
- props.onBrightnessChange(brightness, true)
91
- }}/>
92
- <Spacer/>
93
- </>
94
- }
95
- </View>
96
- )
97
- }
98
-
99
- const styles = StyleSheet.create({
100
- segmentControl: {
101
- marginHorizontal: cx(16),
102
- },
103
- })
104
-
1
+ import { StyleSheet, View } from 'react-native'
2
+ import React, { memo } from 'react'
3
+ import { Utils } from 'tuya-panel-kit'
4
+ import { useReactive } from 'ahooks'
5
+ import Spacer from './Spacer'
6
+ import ColorAdjustView from './ColorAdjustView'
7
+ import ColorTempAdjustView from './ColorTempAdjustView'
8
+ import SegmentControl from './segmentControl'
9
+ import I18n from '../i18n/index'
10
+
11
+ const { convertX: cx } = Utils.RatioUtils
12
+
13
+ export interface HSV {
14
+ h: number
15
+ s: number
16
+ v: number
17
+ }
18
+
19
+ interface LampConfigViewProps {
20
+ isSupportColor: boolean
21
+ isSupportCCT: boolean
22
+ isSupportBrightness: boolean
23
+ isColorMode: boolean
24
+ setIsColorMode: (isColorMode: boolean) => void
25
+ minBrightness?: number // 最小亮度
26
+ minSaturation?: number // 最小Saturation
27
+ reserveSV?: boolean // 保留 s v
28
+ hsv: HSV
29
+ onHSVChange: (hsv: HSV, isComplete: boolean) => void
30
+ cct: number
31
+ onCCTChange: (cct: number, isComplete: boolean) => void
32
+ brightness: number
33
+ onBrightnessChange: (brightness: number, isComplete: boolean) => void
34
+ }
35
+
36
+ const LampAdjustView2 = (props: LampConfigViewProps) => {
37
+
38
+ const state = useReactive({
39
+ hasSegmentControl: props.isSupportColor && (props.isSupportBrightness || props.isSupportCCT),
40
+ })
41
+
42
+ return (
43
+ <View>
44
+ {state.hasSegmentControl &&
45
+ <SegmentControl
46
+ style={styles.segmentControl}
47
+ title1={I18n.getLang('light_sources_tile_rgb_lighting_tab_color')}
48
+ title2={I18n.getLang('light_sources_tile_rgb_lighting_tab_white')}
49
+ isFirst={props.isColorMode}
50
+ setIsFirst={props.setIsColorMode}/>
51
+ }
52
+ {((state.hasSegmentControl && props.isColorMode) || (!state.hasSegmentControl && props.isSupportColor)) &&
53
+ <>
54
+ {state.hasSegmentControl && <Spacer height={cx(10)}/>}
55
+ <ColorAdjustView
56
+ h={props.hsv.h}
57
+ s={props.hsv.s}
58
+ v={props.hsv.v}
59
+ minBrightness={props.minBrightness}
60
+ minSaturation={props.minSaturation}
61
+ reserveSV={props.reserveSV}
62
+ onHSVChange={(h, s, v) => {
63
+ props.onHSVChange({ h, s, v }, false)
64
+ }}
65
+ onHSVChangeComplete={(h, s, v) => {
66
+ props.onHSVChange({ h, s, v }, true)
67
+ }}/>
68
+ <Spacer/>
69
+ </>
70
+ }
71
+ {((state.hasSegmentControl && !props.isColorMode) || (!state.hasSegmentControl && (props.isSupportBrightness || props.isSupportCCT))) &&
72
+ <>
73
+ {state.hasSegmentControl && <Spacer height={cx(10)}/>}
74
+ <ColorTempAdjustView
75
+ minBrightness={props.minBrightness}
76
+ isSupportTemperature={props.isSupportCCT}
77
+ isSupportBrightness={props.isSupportBrightness}
78
+ colorTemp={props.cct}
79
+ brightness={props.brightness}
80
+ onCCTChange={cct => {
81
+ props.onCCTChange(cct, false)
82
+ }}
83
+ onCCTChangeComplete={cct => {
84
+ props.onCCTChange(cct, true)
85
+ }}
86
+ onBrightnessChange={brightness => {
87
+ props.onBrightnessChange(brightness, false)
88
+ }}
89
+ onBrightnessChangeComplete={brightness => {
90
+ props.onBrightnessChange(brightness, true)
91
+ }}/>
92
+ <Spacer/>
93
+ </>
94
+ }
95
+ </View>
96
+ )
97
+ }
98
+
99
+ const styles = StyleSheet.create({
100
+ segmentControl: {
101
+ marginHorizontal: cx(16),
102
+ },
103
+ })
104
+
105
105
  export default memo(LampAdjustView2)
@@ -1,9 +1,9 @@
1
- import { StyleProp } from 'react-native';
2
- interface LinearGradientLineProps extends StyleProp<any> {
3
- width: number;
4
- height: number;
5
- colors: string[];
6
- orientation?: 'vertical' | 'horizontal';
7
- }
8
- declare const LinearGradientLine: (props: LinearGradientLineProps) => JSX.Element;
9
- export default LinearGradientLine;
1
+ import { StyleProp } from 'react-native';
2
+ interface LinearGradientLineProps extends StyleProp<any> {
3
+ width: number;
4
+ height: number;
5
+ colors: string[];
6
+ orientation?: 'vertical' | 'horizontal';
7
+ }
8
+ declare const LinearGradientLine: (props: LinearGradientLineProps) => JSX.Element;
9
+ export default LinearGradientLine;
@@ -1,64 +1,64 @@
1
- import {LinearGradient} from 'tuya-panel-kit'
2
- import React, {useEffect} from 'react'
3
- import {Rect} from 'react-native-svg'
4
- import {StyleProp, View} from 'react-native'
5
- import {useReactive} from 'ahooks'
6
-
7
- interface LinearGradientLineProps extends StyleProp<any> {
8
- width: number
9
- height: number
10
- colors: string[]
11
- orientation?: 'vertical' | 'horizontal'
12
- }
13
-
14
- const LinearGradientLine = (props: LinearGradientLineProps) => {
15
- const {width, height} = props
16
-
17
- const state = useReactive({
18
- x1: '0%',
19
- y1: '50%',
20
- x2: '100%',
21
- y2: '50%',
22
- stops: {},
23
- })
24
-
25
- useEffect(() => {
26
- if (props.orientation === 'vertical') {
27
- state.x1 = '50%'
28
- state.y1 = '0%'
29
- state.x2 = '50%'
30
- state.y2 = '100%'
31
- } else {
32
- state.x1 = '0%'
33
- state.y1 = '50%'
34
- state.x2 = '100%'
35
- state.y2 = '50%'
36
- }
37
- }, [props.orientation])
38
-
39
- useEffect(() => {
40
- const p = (1 / (props.colors.length - 1)) * 100
41
- let pc = 0
42
- props.colors.forEach(color => {
43
- state.stops[`${pc}%`] = color
44
- pc += p
45
- })
46
- }, [props.colors])
47
-
48
- return (
49
- <View style={[{ width, height, overflow: 'hidden' }, props.style]}>
50
- {JSON.stringify(state.stops) !== '{}' && <LinearGradient
51
- gradientId="Gradient"
52
- style={{ width, height }}
53
- x1={state.x1}
54
- y1={state.y1}
55
- x2={state.x2}
56
- y2={state.y2}
57
- stops={state.stops}>
58
- <Rect width={width} height={height} />
59
- </LinearGradient>}
60
- </View>
61
- )
62
- }
63
-
1
+ import {LinearGradient} from 'tuya-panel-kit'
2
+ import React, {useEffect} from 'react'
3
+ import {Rect} from 'react-native-svg'
4
+ import {StyleProp, View} from 'react-native'
5
+ import {useReactive} from 'ahooks'
6
+
7
+ interface LinearGradientLineProps extends StyleProp<any> {
8
+ width: number
9
+ height: number
10
+ colors: string[]
11
+ orientation?: 'vertical' | 'horizontal'
12
+ }
13
+
14
+ const LinearGradientLine = (props: LinearGradientLineProps) => {
15
+ const {width, height} = props
16
+
17
+ const state = useReactive({
18
+ x1: '0%',
19
+ y1: '50%',
20
+ x2: '100%',
21
+ y2: '50%',
22
+ stops: {},
23
+ })
24
+
25
+ useEffect(() => {
26
+ if (props.orientation === 'vertical') {
27
+ state.x1 = '50%'
28
+ state.y1 = '0%'
29
+ state.x2 = '50%'
30
+ state.y2 = '100%'
31
+ } else {
32
+ state.x1 = '0%'
33
+ state.y1 = '50%'
34
+ state.x2 = '100%'
35
+ state.y2 = '50%'
36
+ }
37
+ }, [props.orientation])
38
+
39
+ useEffect(() => {
40
+ const p = (1 / (props.colors.length - 1)) * 100
41
+ let pc = 0
42
+ props.colors.forEach(color => {
43
+ state.stops[`${pc}%`] = color
44
+ pc += p
45
+ })
46
+ }, [props.colors])
47
+
48
+ return (
49
+ <View style={[{ width, height, overflow: 'hidden' }, props.style]}>
50
+ {JSON.stringify(state.stops) !== '{}' && <LinearGradient
51
+ gradientId="Gradient"
52
+ style={{ width, height }}
53
+ x1={state.x1}
54
+ y1={state.y1}
55
+ x2={state.x2}
56
+ y2={state.y2}
57
+ stops={state.stops}>
58
+ <Rect width={width} height={height} />
59
+ </LinearGradient>}
60
+ </View>
61
+ )
62
+ }
63
+
64
64
  export default LinearGradientLine
@@ -1,39 +1,39 @@
1
- import {Progress, Utils} from "tuya-panel-kit";
2
- import {StyleProp, View, ViewProps, ViewStyle} from "react-native";
3
- import React, {PropsWithChildren} from "react";
4
- import {useInterval, useReactive} from "ahooks";
5
-
6
- const {convertX: cx} = Utils.RatioUtils;
7
-
8
- interface LoadingProp extends PropsWithChildren<ViewProps> {
9
- color?: string
10
- progressStyle?: StyleProp<ViewStyle>
11
- }
12
-
13
- const LoadingView = (props: LoadingProp = {color: '#ff6600', progressStyle: {width: cx(100), height: cx(100)}}) => {
14
- const state = useReactive({
15
- andDegree: 0
16
- })
17
- useInterval(() => {
18
- state.andDegree = (state.andDegree + 20) % 360
19
- }, 200, {immediate: true})
20
-
21
- const fillColor = props.color || '#ff6600'
22
- return <View style={[{justifyContent: 'center', alignItems: 'center'}, props.style]}>
23
- <Progress.Double
24
- backColor={props.color}
25
- minThumbFill={fillColor}
26
- minThumbStroke={props.color}
27
- thumbFill={fillColor}
28
- thumbStroke={props.color}
29
- startColor={props.color}
30
- endColor={props.color}
31
- maxValue={360}
32
- startDegree={0}
33
- andDegree={state.andDegree}
34
- style={props.progressStyle}
35
- />
36
- </View>
37
- }
38
-
39
- export default LoadingView
1
+ import {Progress, Utils} from "tuya-panel-kit";
2
+ import {StyleProp, View, ViewProps, ViewStyle} from "react-native";
3
+ import React, {PropsWithChildren} from "react";
4
+ import {useInterval, useReactive} from "ahooks";
5
+
6
+ const {convertX: cx} = Utils.RatioUtils;
7
+
8
+ interface LoadingProp extends PropsWithChildren<ViewProps> {
9
+ color?: string
10
+ progressStyle?: StyleProp<ViewStyle>
11
+ }
12
+
13
+ const LoadingView = (props: LoadingProp = {color: '#ff6600', progressStyle: {width: cx(100), height: cx(100)}}) => {
14
+ const state = useReactive({
15
+ andDegree: 0
16
+ })
17
+ useInterval(() => {
18
+ state.andDegree = (state.andDegree + 20) % 360
19
+ }, 200, {immediate: true})
20
+
21
+ const fillColor = props.color || '#ff6600'
22
+ return <View style={[{justifyContent: 'center', alignItems: 'center'}, props.style]}>
23
+ <Progress.Double
24
+ backColor={props.color}
25
+ minThumbFill={fillColor}
26
+ minThumbStroke={props.color}
27
+ thumbFill={fillColor}
28
+ thumbStroke={props.color}
29
+ startColor={props.color}
30
+ endColor={props.color}
31
+ maxValue={360}
32
+ startDegree={0}
33
+ andDegree={state.andDegree}
34
+ style={props.progressStyle}
35
+ />
36
+ </View>
37
+ }
38
+
39
+ export default LoadingView
@@ -1,9 +1,9 @@
1
- export declare type MoodColorsLineType = 'gradient' | 'separate';
2
- interface MoodColorsLineProps {
3
- width?: number;
4
- height?: number;
5
- type: MoodColorsLineType;
6
- colors: string[];
7
- }
8
- export default function MoodColorsLine(props: MoodColorsLineProps): JSX.Element;
9
- export {};
1
+ export declare type MoodColorsLineType = 'gradient' | 'separate';
2
+ interface MoodColorsLineProps {
3
+ width?: number;
4
+ height?: number;
5
+ type: MoodColorsLineType;
6
+ colors: string[];
7
+ }
8
+ export default function MoodColorsLine(props: MoodColorsLineProps): JSX.Element;
9
+ export {};
@@ -1,39 +1,39 @@
1
- import LinearGradientLine from './LinearGradientLine'
2
- import React from 'react'
3
- import {Utils} from 'tuya-panel-kit'
4
- import {StyleProp, StyleSheet, ViewStyle} from 'react-native'
5
- import ColorsLine from './ColorsLine'
6
-
7
- const cx = Utils.RatioUtils.convertX
8
-
9
- export type MoodColorsLineType = 'gradient' | 'separate'
10
-
11
- interface MoodColorsLineProps {
12
- width?: number
13
- height?: number
14
- type: MoodColorsLineType
15
- colors: string[]
16
- nodeStyle?: StyleProp<ViewStyle>
17
- }
18
-
19
- export default function MoodColorsLine(props: MoodColorsLineProps) {
20
- const width = props.width || cx(295)
21
- const height = props.height || cx(24)
22
- if (props.type === 'separate' || props.colors.length < 2) {
23
- return (<ColorsLine colors={props.colors} style={{width, height}} nodeStyle={props.nodeStyle}/>)
24
- } else {
25
- return (
26
- <LinearGradientLine
27
- width={width}
28
- height={height}
29
- style={styles.gradient}
30
- colors={props.colors}/>
31
- )
32
- }
33
- }
34
-
35
- const styles = StyleSheet.create({
36
- gradient: {
37
- borderRadius: cx(8),
38
- },
1
+ import LinearGradientLine from './LinearGradientLine'
2
+ import React from 'react'
3
+ import {Utils} from 'tuya-panel-kit'
4
+ import {StyleProp, StyleSheet, ViewStyle} from 'react-native'
5
+ import ColorsLine from './ColorsLine'
6
+
7
+ const cx = Utils.RatioUtils.convertX
8
+
9
+ export type MoodColorsLineType = 'gradient' | 'separate'
10
+
11
+ interface MoodColorsLineProps {
12
+ width?: number
13
+ height?: number
14
+ type: MoodColorsLineType
15
+ colors: string[]
16
+ nodeStyle?: StyleProp<ViewStyle>
17
+ }
18
+
19
+ export default function MoodColorsLine(props: MoodColorsLineProps) {
20
+ const width = props.width || cx(295)
21
+ const height = props.height || cx(24)
22
+ if (props.type === 'separate' || props.colors.length < 2) {
23
+ return (<ColorsLine colors={props.colors} style={{width, height}} nodeStyle={props.nodeStyle}/>)
24
+ } else {
25
+ return (
26
+ <LinearGradientLine
27
+ width={width}
28
+ height={height}
29
+ style={styles.gradient}
30
+ colors={props.colors}/>
31
+ )
32
+ }
33
+ }
34
+
35
+ const styles = StyleSheet.create({
36
+ gradient: {
37
+ borderRadius: cx(8),
38
+ },
39
39
  })
@@ -1,21 +1,21 @@
1
- import { PropsWithChildren } from 'react';
2
- import { ViewProps } from 'react-native';
3
- interface PageProps extends PropsWithChildren<ViewProps> {
4
- rightButtonDisabled?: boolean;
5
- backText: string;
6
- onBackClick?: () => void;
7
- showBackDialog?: boolean;
8
- backDialogTitle?: string;
9
- backDialogContent?: string;
10
- rightButtonIcon?: string;
11
- rightButtonStyle?: any | undefined;
12
- rightButtonIconClick?: () => void;
13
- headlineText?: string;
14
- headlineIcon?: string | number;
15
- onHeadlineIconClick?: () => void;
16
- showGreenery?: boolean;
17
- greeneryIcon?: string | undefined | number;
18
- loading?: boolean;
19
- }
20
- declare const Page: (props: PageProps) => JSX.Element;
21
- export default Page;
1
+ import { PropsWithChildren } from 'react';
2
+ import { ViewProps } from 'react-native';
3
+ interface PageProps extends PropsWithChildren<ViewProps> {
4
+ rightButtonDisabled?: boolean;
5
+ backText: string;
6
+ onBackClick?: () => void;
7
+ showBackDialog?: boolean;
8
+ backDialogTitle?: string;
9
+ backDialogContent?: string;
10
+ rightButtonIcon?: string;
11
+ rightButtonStyle?: any | undefined;
12
+ rightButtonIconClick?: () => void;
13
+ headlineText?: string;
14
+ headlineIcon?: string | number;
15
+ onHeadlineIconClick?: () => void;
16
+ showGreenery?: boolean;
17
+ greeneryIcon?: string | undefined | number;
18
+ loading?: boolean;
19
+ }
20
+ declare const Page: (props: PageProps) => JSX.Element;
21
+ export default Page;