1/* 2 * Copyright (c) 2021-2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16/** 17 * @file 18 * @kit ArkUI 19 */ 20 21/** 22 * Content scroll direction. 23 * 24 * @enum { number } 25 * @syscap SystemCapability.ArkUI.ArkUI.Full 26 * @since 8 27 */ 28/** 29 * Content scroll direction. 30 * 31 * @enum { number } 32 * @syscap SystemCapability.ArkUI.ArkUI.Full 33 * @crossplatform 34 * @since 10 35 */ 36/** 37 * Content scroll direction. 38 * 39 * @enum { number } 40 * @syscap SystemCapability.ArkUI.ArkUI.Full 41 * @crossplatform 42 * @atomicservice 43 * @since 11 44 */ 45declare enum ScrollBarDirection { 46 /** 47 * Vertical scrolling is supported. 48 * 49 * @syscap SystemCapability.ArkUI.ArkUI.Full 50 * @since 8 51 */ 52 /** 53 * Vertical scrolling is supported. 54 * 55 * @syscap SystemCapability.ArkUI.ArkUI.Full 56 * @crossplatform 57 * @since 10 58 */ 59 /** 60 * Vertical scrolling is supported. 61 * 62 * @syscap SystemCapability.ArkUI.ArkUI.Full 63 * @crossplatform 64 * @atomicservice 65 * @since 11 66 */ 67 Vertical, 68 69 /** 70 * Horizontal scrolling is supported. 71 * 72 * @syscap SystemCapability.ArkUI.ArkUI.Full 73 * @since 8 74 */ 75 /** 76 * Horizontal scrolling is supported. 77 * 78 * @syscap SystemCapability.ArkUI.ArkUI.Full 79 * @crossplatform 80 * @since 10 81 */ 82 /** 83 * Horizontal scrolling is supported. 84 * 85 * @syscap SystemCapability.ArkUI.ArkUI.Full 86 * @crossplatform 87 * @atomicservice 88 * @since 11 89 */ 90 Horizontal, 91} 92 93/** 94 * Defines the options of ScrollBar. 95 * 96 * @interface ScrollBarOptions 97 * @syscap SystemCapability.ArkUI.ArkUI.Full 98 * @since 8 99 */ 100/** 101 * Defines the options of ScrollBar. 102 * 103 * @interface ScrollBarOptions 104 * @syscap SystemCapability.ArkUI.ArkUI.Full 105 * @crossplatform 106 * @since 10 107 */ 108/** 109 * Defines the options of ScrollBar. 110 * 111 * @interface ScrollBarOptions 112 * @syscap SystemCapability.ArkUI.ArkUI.Full 113 * @crossplatform 114 * @atomicservice 115 * @since 11 116 */ 117declare interface ScrollBarOptions { 118 /** 119 * Sets the scroller of scroll bar. 120 * 121 * @type { Scroller } 122 * @syscap SystemCapability.ArkUI.ArkUI.Full 123 * @since 8 124 */ 125 /** 126 * Sets the scroller of scroll bar. 127 * 128 * @type { Scroller } 129 * @syscap SystemCapability.ArkUI.ArkUI.Full 130 * @crossplatform 131 * @since 10 132 */ 133 /** 134 * Sets the scroller of scroll bar. 135 * 136 * @type { Scroller } 137 * @syscap SystemCapability.ArkUI.ArkUI.Full 138 * @crossplatform 139 * @atomicservice 140 * @since 11 141 */ 142 scroller: Scroller; 143 144 /** 145 * Sets the direction of scroll bar. 146 * 147 * @type { ?ScrollBarDirection } 148 * @syscap SystemCapability.ArkUI.ArkUI.Full 149 * @since 8 150 */ 151 /** 152 * Sets the direction of scroll bar. 153 * 154 * @type { ?ScrollBarDirection } 155 * @syscap SystemCapability.ArkUI.ArkUI.Full 156 * @crossplatform 157 * @since 10 158 */ 159 /** 160 * Sets the direction of scroll bar. 161 * 162 * @type { ?ScrollBarDirection } 163 * @syscap SystemCapability.ArkUI.ArkUI.Full 164 * @crossplatform 165 * @atomicservice 166 * @since 11 167 */ 168 direction?: ScrollBarDirection; 169 170 /** 171 * Sets the state of scroll bar. 172 * 173 * @type { ?BarState } 174 * @syscap SystemCapability.ArkUI.ArkUI.Full 175 * @since 8 176 */ 177 /** 178 * Sets the state of scroll bar. 179 * 180 * @type { ?BarState } 181 * @syscap SystemCapability.ArkUI.ArkUI.Full 182 * @crossplatform 183 * @since 10 184 */ 185 /** 186 * Sets the state of scroll bar. 187 * 188 * @type { ?BarState } 189 * @syscap SystemCapability.ArkUI.ArkUI.Full 190 * @crossplatform 191 * @atomicservice 192 * @since 11 193 */ 194 state?: BarState; 195} 196 197/** 198 * Provides interfaces for scroll bar. 199 * 200 * @interface ScrollBarInterface 201 * @syscap SystemCapability.ArkUI.ArkUI.Full 202 * @since 8 203 */ 204/** 205 * Provides interfaces for scroll bar. 206 * 207 * @interface ScrollBarInterface 208 * @syscap SystemCapability.ArkUI.ArkUI.Full 209 * @crossplatform 210 * @since 10 211 */ 212/** 213 * Provides interfaces for scroll bar. 214 * 215 * @interface ScrollBarInterface 216 * @syscap SystemCapability.ArkUI.ArkUI.Full 217 * @crossplatform 218 * @atomicservice 219 * @since 11 220 */ 221interface ScrollBarInterface { 222 /** 223 * Called when a ScrollBar container is set. 224 * 225 * @param { ScrollBarOptions } value 226 * @returns { ScrollBarAttribute } 227 * @syscap SystemCapability.ArkUI.ArkUI.Full 228 * @since 8 229 */ 230 /** 231 * Called when a ScrollBar container is set. 232 * 233 * @param { ScrollBarOptions } value 234 * @returns { ScrollBarAttribute } 235 * @syscap SystemCapability.ArkUI.ArkUI.Full 236 * @crossplatform 237 * @since 10 238 */ 239 /** 240 * Called when a ScrollBar container is set. 241 * 242 * @param { ScrollBarOptions } value 243 * @returns { ScrollBarAttribute } 244 * @syscap SystemCapability.ArkUI.ArkUI.Full 245 * @crossplatform 246 * @atomicservice 247 * @since 11 248 */ 249 (value: ScrollBarOptions): ScrollBarAttribute; 250} 251 252/** 253 * Defines the scrollbar attribute functions. 254 * 255 * @extends CommonMethod<ScrollBarAttribute> 256 * @syscap SystemCapability.ArkUI.ArkUI.Full 257 * @since 8 258 */ 259/** 260 * Defines the scrollbar attribute functions. 261 * 262 * @extends CommonMethod<ScrollBarAttribute> 263 * @syscap SystemCapability.ArkUI.ArkUI.Full 264 * @crossplatform 265 * @since 10 266 */ 267/** 268 * Defines the scrollbar attribute functions. 269 * 270 * @extends CommonMethod<ScrollBarAttribute> 271 * @syscap SystemCapability.ArkUI.ArkUI.Full 272 * @crossplatform 273 * @atomicservice 274 * @since 11 275 */ 276declare class ScrollBarAttribute extends CommonMethod<ScrollBarAttribute> { 277 /** 278 * Called when setting whether to enable nested scroll. 279 * @param { Optional<boolean> } enabled - Whether to enable nested scroll. 280 * @returns { ScrollBarAttribute } The attribute of the scroll bar 281 * @syscap SystemCapability.ArkUI.ArkUI.Full 282 * @crossplatform 283 * @atomicservice 284 * @since 14 285 */ 286 enableNestedScroll(enabled: Optional<boolean>): ScrollBarAttribute; 287} 288 289/** 290 * Defines ScrollBar Component. 291 * 292 * @syscap SystemCapability.ArkUI.ArkUI.Full 293 * @since 8 294 */ 295/** 296 * Defines ScrollBar Component. 297 * 298 * @syscap SystemCapability.ArkUI.ArkUI.Full 299 * @crossplatform 300 * @since 10 301 */ 302/** 303 * Defines ScrollBar Component. 304 * 305 * @syscap SystemCapability.ArkUI.ArkUI.Full 306 * @crossplatform 307 * @atomicservice 308 * @since 11 309 */ 310declare const ScrollBar: ScrollBarInterface; 311 312/** 313 * Defines ScrollBar Component instance. 314 * 315 * @syscap SystemCapability.ArkUI.ArkUI.Full 316 * @since 8 317 */ 318/** 319 * Defines ScrollBar Component instance. 320 * 321 * @syscap SystemCapability.ArkUI.ArkUI.Full 322 * @crossplatform 323 * @since 10 324 */ 325/** 326 * Defines ScrollBar Component instance. 327 * 328 * @syscap SystemCapability.ArkUI.ArkUI.Full 329 * @crossplatform 330 * @atomicservice 331 * @since 11 332 */ 333declare const ScrollBarInstance: ScrollBarAttribute; 334