1 | import { ComponentType } from 'react'
|
2 | import { CommonEventFunction } from './common'
|
3 | import { ViewProps } from './View'
|
4 | interface CoverViewProps extends ViewProps {
|
5 | /** 设置顶部滚动偏移量,仅在设置了 overflow-y: scroll 成为滚动元素后生效
|
6 | * @supported weapp, alipay, swan, qq, jd
|
7 | */
|
8 | scrollTop?: number
|
9 | /** 设置与容器顶部的固定距离,效果相当于在 CSS 中设置 position: fixed 和 top 值,该属性优先级高于 fixed-bottom,CSS 设置的 position、top、bottom 值
|
10 | * @supported swan
|
11 | */
|
12 | fixedTop?: string
|
13 | /** 设置与容器右侧的固定距离,效果相当于在 CSS 中设置 position: fixed 和 right 值,该属性优先级高于 CSS 设置的 position、left、right 值
|
14 | * @supported swan
|
15 | */
|
16 | fixedRight?: string
|
17 | /** 设置与容器底部的固定距离,效果相当于在 CSS 中设置 position: fixed 和 bottom 值,该属性优先级高于 CSS 设置的 position、top、bottom 值
|
18 | * @supported swan
|
19 | */
|
20 | fixedBottom?: string
|
21 | /** 设置与容器左侧的固定距离,效果相当于在 CSS 中设置 position: fixed 和 left 值,该属性优先级高于 fixed-right,CSS 设置的 position、left、right 值
|
22 | * @supported swan
|
23 | */
|
24 | fixedLeft?: string
|
25 | /** 无障碍访问,(角色)标识元素的作用
|
26 | * @supported qq
|
27 | */
|
28 | ariaRole?: string
|
29 | /** 无障碍访问,(属性)元素的额外描述
|
30 | * @supported qq
|
31 | */
|
32 | ariaLabel?: string
|
33 | /** 允许横向滚动。
|
34 | * @supported alipay
|
35 | * @default false
|
36 | */
|
37 | scrollX?: boolean
|
38 | /** 允许纵向滚动。
|
39 | * @supported alipay
|
40 | * @default false
|
41 | */
|
42 | scrollY?: boolean
|
43 | /** 距顶部/左边多远时(单位px),触发 scrolltoupper 事件。
|
44 | * @supported alipay
|
45 | * @default 50
|
46 | */
|
47 | upperThreshold?: number
|
48 | /** 距底部/右边多远时(单位px),触发 scrolltolower 事件。
|
49 | * @supported alipay
|
50 | * @default 50
|
51 | */
|
52 | lowerThreshold?: number
|
53 | /** 设置横向滚动条位置。
|
54 | * @supported alipay
|
55 | */
|
56 | scrollLeft?: number
|
57 | /** 滚动到子元素,值应为某子元素的 id。当滚动到该元素时,元素顶部对齐滚动区域顶部。
|
58 | * 说明:scroll-into-view 的优先级高于 scroll-top。
|
59 | * @supported alipay
|
60 | */
|
61 | scrollIntoView?: string
|
62 | /** 在设置滚动条位置时使用动画过渡。
|
63 | * @supported alipay
|
64 | * @default false
|
65 | */
|
66 | scrollWithAnimation?: boolean
|
67 | /** 当 scroll-with-animation设置为 true 时,可以设置 scroll-animation-duration 来控制动画的执行时间,单位 ms。
|
68 | * @supported alipay
|
69 | */
|
70 | scrollAnimationDuration?: number
|
71 | /** 当点击 iOS 顶部状态栏或者双击 Android 标题栏时,滚动条返回顶部,只支持竖向。
|
72 | * @supported alipay
|
73 | * @default false
|
74 | */
|
75 | enableBackToTop?: boolean
|
76 | /** 纵向滚动时,当滚动到顶部或底部时,强制禁止触发页面滚动,仍然只触发 scroll-view 自身的滚动。
|
77 | * @supported alipay
|
78 | * @default false
|
79 | */
|
80 | trapScroll?: boolean
|
81 | /** 发生滚动前,对滚动方向进行判断,当方向是顶部/左边时,如果值为 always 将始终禁止滚动,如果值为 out-of-bounds 且当前已经滚动到顶部/左边,禁止滚动。
|
82 | * @supported alipay
|
83 | */
|
84 | disableLowerScroll?: string
|
85 | /** 发生滚动前,对滚动方向进行判断,当方向是底部/右边时,如果值为 always 将始终禁止滚动,如果值为 out-of-bounds 且当前已经滚动到底部/右边,禁止滚动。
|
86 | * @supported alipay
|
87 | */
|
88 | disableUpperScroll?: string
|
89 | /** 滚动到顶部/左边,会触发 scrolltoupper 事件。
|
90 | * @supported alipay
|
91 | */
|
92 | onScrollToUpper?: CommonEventFunction
|
93 | /** 滚动到底部/右边,会触发 scrolltolower事件。
|
94 | * @supported alipay
|
95 | */
|
96 | onScrollToLower?: CommonEventFunction
|
97 | /** 滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth}。
|
98 | * @supported alipay
|
99 | */
|
100 | onScroll?: CommonEventFunction
|
101 | /** 触摸动作开始。
|
102 | * @supported alipay
|
103 | */
|
104 | onTouchStart?: CommonEventFunction
|
105 | /** 触摸后移动。
|
106 | * @supported alipay
|
107 | */
|
108 | onTouchMove?: CommonEventFunction
|
109 | /** 触摸动作结束。
|
110 | * @supported alipay
|
111 | */
|
112 | onTouchEnd?: CommonEventFunction
|
113 | /** 触摸动作被打断,如来电提醒、弹窗。
|
114 | * @supported alipay
|
115 | */
|
116 | onTouchCancel?: CommonEventFunction
|
117 | }
|
118 | /** 覆盖在原生组件之上的文本视图。可覆盖的原生组件包括 map、video、canvas、camera、live-player、live-pusher 只支持嵌套 cover-view、cover-image,可在 cover-view 中使用 button。
|
119 | * @classification viewContainer
|
120 | * @supported weapp, alipay, swan, qq, jd, h5, harmony_hybrid
|
121 | * @example_react
|
122 | * ```tsx
|
123 | * // js
|
124 | * class App extends Components {
|
125 | * render () {
|
126 | * return (
|
127 | * <View className='container'>
|
128 | * <Video id='myVideo' src='src'>
|
129 | * <CoverView className='controls'>
|
130 | * <CoverView className='play' onClick='play'>
|
131 | * <CoverImage className='img' src='src' />
|
132 | * </CoverView>
|
133 | * </CoverView>
|
134 | * </Video>
|
135 | * </View>
|
136 | * )
|
137 | * }
|
138 | * }
|
139 | * // css
|
140 | * .container {
|
141 | * position: relative;
|
142 | * }
|
143 | * .controls {
|
144 | * position: absolute;
|
145 | * top: 50%;
|
146 | * left: 50%;
|
147 | * width: 300px;
|
148 | * height: 225px;
|
149 | * transform: translate(-50%, -50%);
|
150 | * }
|
151 | * ```
|
152 | * @example_vue
|
153 | * ```html
|
154 | * <template>
|
155 | * <view class="container">
|
156 | * <video id='myvideo' src='https://ugccsy.qq.com/uwMROfz2r5zBIaQXGdGnC2dfDma3J1MItM3912IN4IRQvkRM/o31507f7lcd.mp4?sdtfrom=v1010&guid=aa18cf106b7fdb7e40f2d20b206f2b4f&vkey=63B0FCCC7FC3ADC342C166D86571AE02772258CD9B515B065DC68DF3919D8C288AE831D570ED5E8FE0FF3E81E170D04FF11F874BFDDACF7AAA2C0CFF2ACB39FB1A94DAD1AB859BDA53E4DD6DBCDC1217CEF789A9AC079924E2BBC599EED7A1FFDD60A727F2EB7E7B6472CE63DD4B683C9199DFC78A6A6C4D9891E05467C4B64E'>
|
157 | * </video>
|
158 | * <cover-view class='controls'>
|
159 | * <cover-view class='play' `@tap='play'>
|
160 | * <cover-image class='img' src='https://img10.360buyimg.com/ling/s345x208_jfs/t1/133501/7/9865/382161/5f5ee31fEbdd6a418/0cdc0156ffff3c23.png' />
|
161 | * </cover-view>
|
162 | * </cover-view>
|
163 | * </view>
|
164 | * </template>
|
165 | *
|
166 | * <style>
|
167 | * .container {
|
168 | * position: relative;
|
169 | * }
|
170 | * .controls {
|
171 | * position: absolute;
|
172 | * top: 50%;
|
173 | * left: 50%;
|
174 | * width: 300px;
|
175 | * height: 225px;
|
176 | * transform: translate(-50%, -50%);
|
177 | * }
|
178 | * </style>
|
179 | * ```
|
180 | * @see https://developers.weixin.qq.com/miniprogram/dev/component/cover-view.html
|
181 | */
|
182 | declare const CoverView: ComponentType<CoverViewProps>
|
183 | export { CoverView, CoverViewProps }
|