@ray-js/adapter 1.7.79 → 1.7.81
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/cjs/hostComponents/Camera/index.d.ts +105 -10
- package/cjs/hostComponents/Camera/index.js +16 -1
- package/cjs/hostComponents/Canvas/index.d.ts +197 -15
- package/cjs/hostComponents/Canvas/index.js +12 -1
- package/cjs/hostComponents/CoverView/index.d.ts +8 -1
- package/cjs/hostComponents/Iframe/index.d.ts +59 -19
- package/cjs/hostComponents/Iframe/index.js +8 -1
- package/cjs/hostComponents/Iframe/node.d.ts +1 -0
- package/cjs/hostComponents/Iframe/node.js +1 -1
- package/cjs/hostComponents/Input/index.d.ts +1 -1
- package/cjs/hostComponents/IpcPlayer/index.d.ts +297 -172
- package/cjs/hostComponents/IpcPlayer/index.js +26 -1
- package/cjs/hostComponents/Map/index.d.ts +202 -49
- package/cjs/hostComponents/Map/index.js +17 -1
- package/cjs/hostComponents/MovableArea/index.d.ts +18 -0
- package/cjs/hostComponents/MovableArea/index.js +10 -1
- package/cjs/hostComponents/MovableView/index.d.ts +92 -6
- package/cjs/hostComponents/MovableView/index.js +19 -3
- package/cjs/hostComponents/NativeVideo/index.d.ts +172 -14
- package/cjs/hostComponents/NativeVideo/index.js +24 -1
- package/cjs/hostComponents/Navigator/index.d.ts +126 -22
- package/cjs/hostComponents/Navigator/index.js +16 -4
- package/cjs/hostComponents/Picker/index.d.ts +98 -43
- package/cjs/hostComponents/Picker/index.js +19 -1
- package/cjs/hostComponents/PickerView/index.d.ts +64 -14
- package/cjs/hostComponents/PickerView/index.js +12 -1
- package/cjs/hostComponents/PickerViewColumn/index.d.ts +11 -1
- package/cjs/hostComponents/Progress/index.d.ts +39 -1
- package/cjs/hostComponents/Progress/index.js +19 -2
- package/cjs/hostComponents/RichText/index.d.ts +50 -7
- package/cjs/hostComponents/RichText/index.js +8 -1
- package/cjs/hostComponents/ScrollView/index.d.ts +190 -54
- package/cjs/hostComponents/ScrollView/index.js +26 -1
- package/cjs/hostComponents/Slider/node.d.ts +1 -0
- package/cjs/hostComponents/Slider/node.js +1 -1
- package/cjs/hostComponents/SvgRender/index.d.ts +16 -1
- package/cjs/hostComponents/SvgRender/index.js +13 -1
- package/cjs/hostComponents/Swiper/node.js +1 -1
- package/cjs/hostComponents/SwiperItem/index.d.ts +86 -1
- package/cjs/hostComponents/Video/index.d.ts +176 -28
- package/cjs/hostComponents/Video/index.js +41 -1
- package/cjs/hostComponents/WebView/index.d.ts +64 -14
- package/cjs/hostComponents/WebView/index.js +10 -1
- package/cjs/types/component.d.ts +15 -6
- package/cjs/types/index.d.ts +2 -2
- package/cjs/types/index.js +1 -1
- package/esm/hostComponents/Camera/index.d.ts +105 -10
- package/esm/hostComponents/Camera/index.js +15 -0
- package/esm/hostComponents/Canvas/index.d.ts +197 -15
- package/esm/hostComponents/Canvas/index.js +11 -0
- package/esm/hostComponents/CoverView/index.d.ts +8 -1
- package/esm/hostComponents/Iframe/index.d.ts +59 -19
- package/esm/hostComponents/Iframe/index.js +7 -0
- package/esm/hostComponents/Iframe/node.d.ts +1 -0
- package/esm/hostComponents/Iframe/node.js +1 -1
- package/esm/hostComponents/Input/index.d.ts +1 -1
- package/esm/hostComponents/IpcPlayer/index.d.ts +297 -172
- package/esm/hostComponents/IpcPlayer/index.js +25 -0
- package/esm/hostComponents/Map/index.d.ts +202 -49
- package/esm/hostComponents/Map/index.js +16 -0
- package/esm/hostComponents/MovableArea/index.d.ts +18 -0
- package/esm/hostComponents/MovableArea/index.js +9 -0
- package/esm/hostComponents/MovableView/index.d.ts +92 -6
- package/esm/hostComponents/MovableView/index.js +18 -2
- package/esm/hostComponents/NativeVideo/index.d.ts +172 -14
- package/esm/hostComponents/NativeVideo/index.js +23 -0
- package/esm/hostComponents/Navigator/index.d.ts +126 -22
- package/esm/hostComponents/Navigator/index.js +15 -3
- package/esm/hostComponents/Picker/index.d.ts +98 -43
- package/esm/hostComponents/Picker/index.js +18 -0
- package/esm/hostComponents/PickerView/index.d.ts +64 -14
- package/esm/hostComponents/PickerView/index.js +11 -0
- package/esm/hostComponents/PickerViewColumn/index.d.ts +11 -1
- package/esm/hostComponents/Progress/index.d.ts +39 -1
- package/esm/hostComponents/Progress/index.js +18 -1
- package/esm/hostComponents/RichText/index.d.ts +50 -7
- package/esm/hostComponents/RichText/index.js +7 -0
- package/esm/hostComponents/ScrollView/index.d.ts +190 -54
- package/esm/hostComponents/ScrollView/index.js +25 -0
- package/esm/hostComponents/Slider/node.d.ts +1 -0
- package/esm/hostComponents/Slider/node.js +1 -1
- package/esm/hostComponents/SvgRender/index.d.ts +16 -1
- package/esm/hostComponents/SvgRender/index.js +12 -0
- package/esm/hostComponents/Swiper/node.js +1 -1
- package/esm/hostComponents/SwiperItem/index.d.ts +86 -1
- package/esm/hostComponents/Video/index.d.ts +176 -28
- package/esm/hostComponents/Video/index.js +40 -0
- package/esm/hostComponents/WebView/index.d.ts +64 -14
- package/esm/hostComponents/WebView/index.js +9 -0
- package/esm/types/component.d.ts +15 -6
- package/esm/types/index.d.ts +2 -2
- package/esm/types/index.js +1 -1
- package/node.js +1 -1
- package/package.json +3 -3
|
@@ -1,74 +1,227 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { BaseProps, DiffLayer
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import type { BaseEvent, BaseProps, DiffLayer } from '../../types/component';
|
|
3
|
+
/** 坐标点 */
|
|
4
|
+
export interface MapPoint {
|
|
5
|
+
/** 纬度 */
|
|
5
6
|
latitude: number;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
maxScale?: number;
|
|
9
|
-
disableAnimation?: boolean;
|
|
10
|
-
disableRotate?: boolean;
|
|
11
|
-
/**
|
|
12
|
-
* 地图类型
|
|
13
|
-
* @description 0:夜景地图,1:白昼地图,2:卫星图
|
|
14
|
-
*/
|
|
15
|
-
mapType?: 0 | 1 | 2;
|
|
16
|
-
markers?: Array<Marker>;
|
|
17
|
-
polyline?: Array<Polyline>;
|
|
18
|
-
circles?: Array<Circle>;
|
|
19
|
-
polygons?: Array<Polygon>;
|
|
20
|
-
borderWidth?: number;
|
|
21
|
-
borderStyle?: string;
|
|
22
|
-
borderColor?: string;
|
|
23
|
-
borderRadius?: number;
|
|
24
|
-
borderRadiusTopLeft?: number;
|
|
25
|
-
borderRadiusTopRight?: number;
|
|
26
|
-
borderRadiusBottomLeft?: number;
|
|
27
|
-
borderRadiusBottomRight?: number;
|
|
28
|
-
backgroundColor?: string;
|
|
29
|
-
onMarkertap?: (e: GenericEvent) => void;
|
|
30
|
-
onCallouttap?: (e: GenericEvent) => void;
|
|
31
|
-
onRegionchange?: (e: GenericEvent) => void;
|
|
32
|
-
onInitdone?: (e: GenericEvent) => void;
|
|
33
|
-
onMaptap?: (e: GenericEvent) => void;
|
|
7
|
+
/** 经度 */
|
|
8
|
+
longitude: number;
|
|
34
9
|
}
|
|
35
|
-
|
|
10
|
+
/** 气泡窗口属性 */
|
|
11
|
+
export interface MapCallout {
|
|
12
|
+
/** 文本 */
|
|
36
13
|
content?: string;
|
|
14
|
+
/** 文本颜色 */
|
|
37
15
|
color?: string;
|
|
16
|
+
/** 文字大小 */
|
|
38
17
|
fontSize?: number;
|
|
18
|
+
/** 边框圆角 */
|
|
39
19
|
borderRadius?: number;
|
|
20
|
+
/** 边框宽度 */
|
|
40
21
|
borderWidth?: number;
|
|
22
|
+
/** 边框颜色 */
|
|
41
23
|
borderColor?: string;
|
|
24
|
+
/** 背景色 */
|
|
42
25
|
bgColor?: string;
|
|
26
|
+
/** 文本边缘留白 */
|
|
43
27
|
padding?: number;
|
|
44
|
-
|
|
28
|
+
/** 文本对齐方式 */
|
|
29
|
+
textAlign?: 'left' | 'right' | 'center';
|
|
30
|
+
/** 横向偏移量,向右为正数 */
|
|
45
31
|
anchorX?: number;
|
|
32
|
+
/** 纵向偏移量,向下为正数 */
|
|
46
33
|
anchorY?: number;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
34
|
+
}
|
|
35
|
+
/** 标记点 */
|
|
36
|
+
export interface MapMarker {
|
|
37
|
+
/** 标记点 ID */
|
|
38
|
+
id?: number;
|
|
39
|
+
/** 经度 */
|
|
40
|
+
longitude: number;
|
|
41
|
+
/** 纬度 */
|
|
42
|
+
latitude: number;
|
|
43
|
+
/** 标注点名 */
|
|
44
|
+
title?: string;
|
|
45
|
+
/** 气泡样式类型 ID */
|
|
46
|
+
styleId?: string;
|
|
47
|
+
/** 标记点上方的气泡窗口 */
|
|
48
|
+
callout?: MapCallout;
|
|
49
|
+
/** 显示的图标路径 */
|
|
50
|
+
iconPath?: string;
|
|
51
|
+
/** 旋转角度 */
|
|
52
|
+
rotate?: number;
|
|
53
|
+
/** 标注图标宽度 */
|
|
54
|
+
width?: number | string;
|
|
55
|
+
/** 标注图标高度 */
|
|
56
|
+
height?: number | string;
|
|
57
|
+
}
|
|
58
|
+
/** 路线 */
|
|
59
|
+
export interface MapPolyline {
|
|
60
|
+
/** 经纬度数组 */
|
|
61
|
+
points: MapPoint[];
|
|
62
|
+
/** 线的颜色,十六进制 */
|
|
53
63
|
color?: string;
|
|
64
|
+
/** 线的宽度 */
|
|
54
65
|
width?: number;
|
|
66
|
+
/** 是否虚线 */
|
|
55
67
|
dottedLine?: boolean;
|
|
56
|
-
}
|
|
57
|
-
|
|
68
|
+
}
|
|
69
|
+
/** 圆 */
|
|
70
|
+
export interface MapCircle {
|
|
71
|
+
/** 纬度 */
|
|
58
72
|
latitude: number;
|
|
73
|
+
/** 经度 */
|
|
59
74
|
longitude: number;
|
|
75
|
+
/** 描边的颜色,十六进制 */
|
|
60
76
|
color?: string;
|
|
77
|
+
/** 填充颜色,十六进制 */
|
|
61
78
|
fillColor?: string;
|
|
79
|
+
/** 半径 */
|
|
62
80
|
radius: number;
|
|
81
|
+
/** 描边的宽度 */
|
|
63
82
|
strokeWidth?: number;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
strokeWidth?: number;
|
|
83
|
+
}
|
|
84
|
+
/** 多边形 */
|
|
85
|
+
export interface MapPolygon {
|
|
86
|
+
/** 经纬度数组 */
|
|
87
|
+
points: MapPoint[];
|
|
88
|
+
/** 描边的颜色 */
|
|
71
89
|
strokeColor?: string;
|
|
90
|
+
/** 填充颜色 */
|
|
72
91
|
fillColor?: string;
|
|
73
|
-
|
|
92
|
+
/** 描边的宽度 */
|
|
93
|
+
strokeWidth?: number;
|
|
94
|
+
}
|
|
95
|
+
/** 标记点标识事件详情 */
|
|
96
|
+
export interface MapMarkerIdDetail {
|
|
97
|
+
/** 标记点 ID */
|
|
98
|
+
markerId: number;
|
|
99
|
+
}
|
|
100
|
+
/** 标记点点击事件对象 */
|
|
101
|
+
export interface MapMarkertapEvent extends BaseEvent {
|
|
102
|
+
/** 事件类型 */
|
|
103
|
+
type: 'markertap';
|
|
104
|
+
/** 事件详情数据 */
|
|
105
|
+
detail: MapMarkerIdDetail;
|
|
106
|
+
}
|
|
107
|
+
/** 气泡点击事件对象 */
|
|
108
|
+
export interface MapCallouttapEvent extends BaseEvent {
|
|
109
|
+
/** 事件类型 */
|
|
110
|
+
type: 'callouttap';
|
|
111
|
+
/** 事件详情数据 */
|
|
112
|
+
detail: MapMarkerIdDetail;
|
|
113
|
+
}
|
|
114
|
+
/** 视野变化事件详情 */
|
|
115
|
+
export interface MapRegionChangeDetail {
|
|
116
|
+
/** 变化类型 */
|
|
117
|
+
type: 'begin' | 'end';
|
|
118
|
+
/** 导致视野变化的原因 */
|
|
119
|
+
causedBy: string;
|
|
120
|
+
}
|
|
121
|
+
/** 视野变化事件对象 */
|
|
122
|
+
export interface MapRegionchangeEvent extends BaseEvent {
|
|
123
|
+
/** 事件类型 */
|
|
124
|
+
type: 'regionchange';
|
|
125
|
+
/** 事件详情数据 */
|
|
126
|
+
detail: MapRegionChangeDetail;
|
|
127
|
+
}
|
|
128
|
+
/** 初始化完成事件对象 */
|
|
129
|
+
export interface MapInitdoneEvent extends BaseEvent {
|
|
130
|
+
/** 事件类型 */
|
|
131
|
+
type: 'initdone';
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* 地图组件;真机国内使用高德地图,海外使用 Google 地图。
|
|
135
|
+
*
|
|
136
|
+
* Tuya MiniApp IDE 和在线预览上是通过 WebView 模拟的与真机存在差异,请以真机效果为主。
|
|
137
|
+
*
|
|
138
|
+
* @public
|
|
139
|
+
* @alias Map
|
|
140
|
+
* @since @ray-js/ray 0.6.9
|
|
141
|
+
* @since 基础库 2.0.12
|
|
142
|
+
* @since MapKit 2.2.2
|
|
143
|
+
* @example 基础用法 ./demos/basic/index.tsx sandbox ide
|
|
144
|
+
* @example 标记点与气泡 ./demos/markers-callout/index.tsx sandbox ide
|
|
145
|
+
* @example 路线与覆盖层 ./demos/polyline-overlay/index.tsx sandbox ide
|
|
146
|
+
*/
|
|
147
|
+
export interface MapProps extends BaseProps, DiffLayer {
|
|
148
|
+
/** 中心经度 */
|
|
149
|
+
longitude?: number;
|
|
150
|
+
/** 中心纬度 */
|
|
151
|
+
latitude?: number;
|
|
152
|
+
/** 缩放级别,取值范围为 4-19 */
|
|
153
|
+
scale?: number;
|
|
154
|
+
/** 最小缩放级别 */
|
|
155
|
+
minScale?: number;
|
|
156
|
+
/** 最大缩放级别 */
|
|
157
|
+
maxScale?: number;
|
|
158
|
+
/**
|
|
159
|
+
* 是否禁用地图动画
|
|
160
|
+
*
|
|
161
|
+
* @internal
|
|
162
|
+
*/
|
|
163
|
+
disableAnimation?: boolean;
|
|
164
|
+
/** 是否禁用旋转,默认 false */
|
|
165
|
+
disableRotate?: boolean;
|
|
166
|
+
/**
|
|
167
|
+
* 地图类型
|
|
168
|
+
*
|
|
169
|
+
* @internal
|
|
170
|
+
*/
|
|
171
|
+
mapType?: number;
|
|
172
|
+
/** 标记点 */
|
|
173
|
+
markers?: MapMarker[];
|
|
174
|
+
/** 路线 */
|
|
175
|
+
polyline?: MapPolyline[];
|
|
176
|
+
/** 圆 */
|
|
177
|
+
circles?: MapCircle[];
|
|
178
|
+
/** 多边形 */
|
|
179
|
+
polygons?: MapPolygon[];
|
|
180
|
+
/** 边框的宽度,单位 px */
|
|
181
|
+
borderWidth?: number;
|
|
182
|
+
/** 边框的样式 */
|
|
183
|
+
borderStyle?: 'solid' | 'dashed';
|
|
184
|
+
/** 边框的颜色,必须为十六进制格式 */
|
|
185
|
+
borderColor?: string;
|
|
186
|
+
/** 边框的圆角,单位 px */
|
|
187
|
+
borderRadius?: number;
|
|
188
|
+
/** 边框的左上角圆角大小,单位 px */
|
|
189
|
+
borderRadiusTopLeft?: number;
|
|
190
|
+
/** 边框的右上角圆角大小,单位 px */
|
|
191
|
+
borderRadiusTopRight?: number;
|
|
192
|
+
/** 边框的左下角圆角大小,单位 px */
|
|
193
|
+
borderRadiusBottomLeft?: number;
|
|
194
|
+
/** 边框的右下角圆角大小,单位 px */
|
|
195
|
+
borderRadiusBottomRight?: number;
|
|
196
|
+
/** 背景颜色,必须为十六进制格式 */
|
|
197
|
+
backgroundColor?: string;
|
|
198
|
+
/** 点击标记点时触发 */
|
|
199
|
+
onMarkertap?: (event: MapMarkertapEvent) => void;
|
|
200
|
+
/** 点击标记点对应的气泡时触发 */
|
|
201
|
+
onCallouttap?: (event: MapCallouttapEvent) => void;
|
|
202
|
+
/** 视野发生变化时触发 */
|
|
203
|
+
onRegionchange?: (event: MapRegionchangeEvent) => void;
|
|
204
|
+
/** 初始化完成时触发 */
|
|
205
|
+
onInitdone?: (event: MapInitdoneEvent) => void;
|
|
206
|
+
}
|
|
207
|
+
export type Marker = MapMarker;
|
|
208
|
+
export type Polyline = MapPolyline;
|
|
209
|
+
export type Circle = MapCircle;
|
|
210
|
+
export type Polygon = MapPolygon;
|
|
74
211
|
export declare const Map: React.ComponentType<MapProps>;
|
|
212
|
+
/**
|
|
213
|
+
* Map 组件文档默认值
|
|
214
|
+
*
|
|
215
|
+
* @belong Map
|
|
216
|
+
* @defaults
|
|
217
|
+
*/
|
|
218
|
+
export declare const mapDefaultProps: {
|
|
219
|
+
scale: number;
|
|
220
|
+
minScale: number;
|
|
221
|
+
maxScale: number;
|
|
222
|
+
borderWidth: number;
|
|
223
|
+
borderStyle: string;
|
|
224
|
+
borderColor: string;
|
|
225
|
+
borderRadius: number;
|
|
226
|
+
backgroundColor: string;
|
|
227
|
+
};
|
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
import createHostComponent from '../createHostComponent.js';
|
|
2
2
|
export const Map = createHostComponent('map');
|
|
3
|
+
/**
|
|
4
|
+
* Map 组件文档默认值
|
|
5
|
+
*
|
|
6
|
+
* @belong Map
|
|
7
|
+
* @defaults
|
|
8
|
+
*/
|
|
9
|
+
export const mapDefaultProps = {
|
|
10
|
+
scale: 16,
|
|
11
|
+
minScale: 4,
|
|
12
|
+
maxScale: 19,
|
|
13
|
+
borderWidth: 0,
|
|
14
|
+
borderStyle: 'solid',
|
|
15
|
+
borderColor: '#ffffff',
|
|
16
|
+
borderRadius: 0,
|
|
17
|
+
backgroundColor: '#ffffff',
|
|
18
|
+
};
|
|
3
19
|
Map.defaultProps = {
|
|
4
20
|
scale: 16,
|
|
5
21
|
minScale: 4,
|
|
@@ -1,7 +1,25 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { BaseProps } from '../../types/component.js';
|
|
3
|
+
/**
|
|
4
|
+
* MovableView 的可移动区域容器;须包裹 MovableView,且后者须为直接子节点。
|
|
5
|
+
*
|
|
6
|
+
* @public
|
|
7
|
+
* @alias MovableArea
|
|
8
|
+
* @since @ray-js/ray 0.5.10
|
|
9
|
+
* @example 基础用法 ./demos/basic/index.tsx sandbox ide e2e
|
|
10
|
+
* @example 缩放区域扩展 ./demos/scale-area/index.tsx sandbox ide e2e
|
|
11
|
+
*/
|
|
3
12
|
export interface MovableAreaProps extends BaseProps {
|
|
4
13
|
/** 当里面的 movable-view 设置为支持双指缩放时,设置此值可将缩放手势生效区域修改为整个 movable-area */
|
|
5
14
|
scaleArea?: boolean;
|
|
6
15
|
}
|
|
7
16
|
export declare const MovableArea: React.ComponentType<MovableAreaProps>;
|
|
17
|
+
/**
|
|
18
|
+
* MovableArea 组件文档默认值
|
|
19
|
+
*
|
|
20
|
+
* @belong MovableArea
|
|
21
|
+
* @defaults
|
|
22
|
+
*/
|
|
23
|
+
export declare const movableAreaDefaultProps: {
|
|
24
|
+
scaleArea: boolean;
|
|
25
|
+
};
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import createHostComponent from '../createHostComponent.js';
|
|
2
2
|
export const MovableArea = createHostComponent('movable-area');
|
|
3
|
+
/**
|
|
4
|
+
* MovableArea 组件文档默认值
|
|
5
|
+
*
|
|
6
|
+
* @belong MovableArea
|
|
7
|
+
* @defaults
|
|
8
|
+
*/
|
|
9
|
+
export const movableAreaDefaultProps = {
|
|
10
|
+
scaleArea: false,
|
|
11
|
+
};
|
|
3
12
|
MovableArea.defaultProps = {
|
|
4
13
|
scaleArea: false,
|
|
5
14
|
};
|
|
@@ -1,25 +1,111 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { BaseProps, GenericEvent } from '../../types/component
|
|
2
|
+
import { BaseEvent, BaseProps, GenericEvent } from '../../types/component';
|
|
3
|
+
/** movable-view 拖动过程事件数据 */
|
|
4
|
+
export interface MovableViewChangeDetail {
|
|
5
|
+
/** x 轴方向的偏移 */
|
|
6
|
+
x: number;
|
|
7
|
+
/** y 轴方向的偏移 */
|
|
8
|
+
y: number;
|
|
9
|
+
/** 产生移动的原因 */
|
|
10
|
+
source: 'touch' | 'touch-out-of-bounds' | 'out-of-bounds' | 'friction' | '';
|
|
11
|
+
}
|
|
12
|
+
/** movable-view 拖动过程事件对象 */
|
|
13
|
+
export interface MovableViewChangeEvent extends BaseEvent {
|
|
14
|
+
/** 事件类型 */
|
|
15
|
+
type: 'change';
|
|
16
|
+
/** 事件数据 */
|
|
17
|
+
detail: MovableViewChangeDetail;
|
|
18
|
+
}
|
|
19
|
+
/** movable-view 缩放过程事件数据 */
|
|
20
|
+
export interface MovableViewScaleDetail {
|
|
21
|
+
/** x 轴方向的偏移 */
|
|
22
|
+
x: number;
|
|
23
|
+
/** y 轴方向的偏移 */
|
|
24
|
+
y: number;
|
|
25
|
+
/** 缩放倍数 */
|
|
26
|
+
scale: number;
|
|
27
|
+
}
|
|
28
|
+
/** movable-view 缩放过程事件对象 */
|
|
29
|
+
export interface MovableViewScaleEvent extends BaseEvent {
|
|
30
|
+
/** 事件类型 */
|
|
31
|
+
type: 'scale';
|
|
32
|
+
/** 事件数据 */
|
|
33
|
+
detail: MovableViewScaleDetail;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 可拖拽的可移动视图,须置于 MovableArea 内使用。
|
|
37
|
+
*
|
|
38
|
+
* @public
|
|
39
|
+
* @alias MovableView
|
|
40
|
+
* @since @ray-js/ray 0.5.10
|
|
41
|
+
* @example 基础用法 ./demos/basic/index.tsx sandbox ide e2e
|
|
42
|
+
* @example 惯性与回弹 ./demos/inertia-bounce/index.tsx sandbox ide e2e
|
|
43
|
+
* @example 禁用与指定位置 ./demos/disabled-position/index.tsx sandbox ide e2e
|
|
44
|
+
* @example 双指缩放 ./demos/pinch-zoom/index.tsx sandbox ide e2e
|
|
45
|
+
*/
|
|
3
46
|
export interface MovableViewProps extends Omit<BaseProps, 'animation'> {
|
|
4
|
-
|
|
47
|
+
/** movable-view 的移动方向 */
|
|
48
|
+
direction?: 'all' | 'vertical' | 'horizontal' | 'none';
|
|
49
|
+
/** movable-view 是否带有惯性 */
|
|
5
50
|
inertia?: boolean;
|
|
51
|
+
/** 超过可移动区域后,movable-view 是否还可以移动 */
|
|
6
52
|
outOfBounds?: boolean;
|
|
53
|
+
/** 定义 x 轴方向的偏移,如果 x 的值不在可移动范围内,会自动移动到可移动范围;改变 x 的值会触发动画 */
|
|
7
54
|
x?: number;
|
|
55
|
+
/** 定义 y 轴方向的偏移,如果 y 的值不在可移动范围内,会自动移动到可移动范围;改变 y 的值会触发动画 */
|
|
8
56
|
y?: number;
|
|
57
|
+
/** 阻尼系数,用于控制 x 或 y 改变时的动画和过界回弹的动画,值越大移动越快 */
|
|
9
58
|
damping?: number;
|
|
59
|
+
/** 摩擦系数,用于控制惯性滑动的动画,值越大摩擦力越大,滑动越快停止;必须大于 0,否则会被设置成默认值 */
|
|
10
60
|
friction?: number;
|
|
61
|
+
/** 是否禁用 */
|
|
11
62
|
disabled?: boolean;
|
|
63
|
+
/** 是否支持双指缩放,默认缩放手势生效区域是在 movable-view 内 */
|
|
12
64
|
scale?: boolean;
|
|
65
|
+
/** 定义缩放倍数最小值 */
|
|
13
66
|
scaleMin?: number;
|
|
67
|
+
/** 定义缩放倍数最大值 */
|
|
14
68
|
scaleMax?: number;
|
|
69
|
+
/** 定义缩放倍数,取值范围为 0.5 - 10 */
|
|
15
70
|
scaleValue?: number;
|
|
71
|
+
/** 是否使用动画 */
|
|
16
72
|
animation?: boolean;
|
|
17
|
-
|
|
18
|
-
|
|
73
|
+
/** 拖动过程中触发 */
|
|
74
|
+
onChange?: (event: MovableViewChangeEvent) => void;
|
|
75
|
+
/**
|
|
76
|
+
* 缩放过程中触发,x 和 y 字段在 2.1.0 之后支持
|
|
77
|
+
*
|
|
78
|
+
* @since 2.1.0
|
|
79
|
+
*/
|
|
80
|
+
onScale?: (event: MovableViewScaleEvent) => void;
|
|
81
|
+
/**
|
|
82
|
+
* 初次手指触摸后移动为横向的移动时触发
|
|
83
|
+
* @internal
|
|
84
|
+
*/
|
|
19
85
|
htouchmove?: (event: GenericEvent) => void;
|
|
86
|
+
/**
|
|
87
|
+
* 初次手指触摸后移动为纵向的移动时触发
|
|
88
|
+
* @internal
|
|
89
|
+
*/
|
|
20
90
|
vtouchmove?: (event: GenericEvent) => void;
|
|
21
91
|
}
|
|
92
|
+
export declare const MovableView: React.ComponentType<MovableViewProps>;
|
|
22
93
|
/**
|
|
23
|
-
*
|
|
94
|
+
* MovableView 组件默认值
|
|
95
|
+
*
|
|
96
|
+
* @belong MovableView
|
|
97
|
+
* @defaults
|
|
24
98
|
*/
|
|
25
|
-
export declare const
|
|
99
|
+
export declare const movableViewDefaultProps: {
|
|
100
|
+
direction: string;
|
|
101
|
+
inertia: boolean;
|
|
102
|
+
outOfBounds: boolean;
|
|
103
|
+
damping: number;
|
|
104
|
+
friction: number;
|
|
105
|
+
disabled: boolean;
|
|
106
|
+
scale: boolean;
|
|
107
|
+
scaleMin: number;
|
|
108
|
+
scaleMax: number;
|
|
109
|
+
scaleValue: number;
|
|
110
|
+
animation: boolean;
|
|
111
|
+
};
|
|
@@ -1,8 +1,24 @@
|
|
|
1
1
|
import createHostComponent from '../createHostComponent.js';
|
|
2
|
+
export const MovableView = createHostComponent('movable-view');
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
+
* MovableView 组件默认值
|
|
5
|
+
*
|
|
6
|
+
* @belong MovableView
|
|
7
|
+
* @defaults
|
|
4
8
|
*/
|
|
5
|
-
export const
|
|
9
|
+
export const movableViewDefaultProps = {
|
|
10
|
+
direction: 'none',
|
|
11
|
+
inertia: false,
|
|
12
|
+
outOfBounds: false,
|
|
13
|
+
damping: 20,
|
|
14
|
+
friction: 2,
|
|
15
|
+
disabled: false,
|
|
16
|
+
scale: false,
|
|
17
|
+
scaleMin: 0.5,
|
|
18
|
+
scaleMax: 10,
|
|
19
|
+
scaleValue: 1,
|
|
20
|
+
animation: true,
|
|
21
|
+
};
|
|
6
22
|
MovableView.defaultProps = {
|
|
7
23
|
direction: 'none',
|
|
8
24
|
inertia: false,
|