1/* 2 * Copyright (c) 2023-2024 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 23 24import { SymbolGlyphModifier, DividerModifier } from './@ohos.arkui.modifier'; 25import { LengthMetrics } from './@ohos.arkui.node'; 26/** 27 * Declare enum ItemState 28 * @enum { ItemState } 29 * @syscap SystemCapability.ArkUI.ArkUI.Full 30 * @since 10 31 */ 32/** 33 * Declare enum ItemState 34 * @enum { ItemState } 35 * @syscap SystemCapability.ArkUI.ArkUI.Full 36 * @atomicservice 37 * @since 11 38 */ 39/** 40 * Declare enum ItemState 41 * @enum { ItemState } 42 * @syscap SystemCapability.ArkUI.ArkUI.Full 43 * @crossplatform 44 * @atomicservice 45 * @since 18 46 */ 47export declare enum ItemState { 48 /** 49 * Enable type. 50 * @syscap SystemCapability.ArkUI.ArkUI.Full 51 * @since 10 52 */ 53 /** 54 * Enable type. 55 * @syscap SystemCapability.ArkUI.ArkUI.Full 56 * @atomicservice 57 * @since 11 58 */ 59 /** 60 * Enable type. 61 * @syscap SystemCapability.ArkUI.ArkUI.Full 62 * @crossplatform 63 * @atomicservice 64 * @since 18 65 */ 66 ENABLE = 1, 67 /** 68 * Disable type. 69 * @syscap SystemCapability.ArkUI.ArkUI.Full 70 * @since 10 71 */ 72 /** 73 * Disable type. 74 * @syscap SystemCapability.ArkUI.ArkUI.Full 75 * @atomicservice 76 * @since 11 77 */ 78 /** 79 * Disable type. 80 * @syscap SystemCapability.ArkUI.ArkUI.Full 81 * @crossplatform 82 * @atomicservice 83 * @since 18 84 */ 85 DISABLE = 2, 86 /** 87 * Activate type. 88 * @syscap SystemCapability.ArkUI.ArkUI.Full 89 * @since 10 90 */ 91 /** 92 * Activate type. 93 * @syscap SystemCapability.ArkUI.ArkUI.Full 94 * @atomicservice 95 * @since 11 96 */ 97 /** 98 * Activate type. 99 * @syscap SystemCapability.ArkUI.ArkUI.Full 100 * @crossplatform 101 * @atomicservice 102 * @since 18 103 */ 104 ACTIVATE = 3 105} 106 107/** 108 * Defines toolBar symbolGlyph options. 109 * 110 * @interface ToolBarSymbolGlyphOptions 111 * @syscap SystemCapability.ArkUI.ArkUI.Full 112 * @atomicservice 113 * @since 13 114 */ 115/** 116 * Defines toolBar symbolGlyph options. 117 * 118 * @interface ToolBarSymbolGlyphOptions 119 * @syscap SystemCapability.ArkUI.ArkUI.Full 120 * @atomicservice 121 * @since 18 122 */ 123export interface ToolBarSymbolGlyphOptions { 124 125 /** 126 * Modifier of toolbar's normal symbol. 127 * 128 * @type { ?SymbolGlyphModifier } 129 * @syscap SystemCapability.ArkUI.ArkUI.Full 130 * @atomicservice 131 * @since 13 132 */ 133 /** 134 * Modifier of toolbar's normal symbol. 135 * 136 * @type { ?SymbolGlyphModifier } 137 * @syscap SystemCapability.ArkUI.ArkUI.Full 138 * @atomicservice 139 * @since 18 140 */ 141 normal?: SymbolGlyphModifier; 142 143 /** 144 * Modifier of toolbar's activated symbol. 145 * 146 * @type { ?SymbolGlyphModifier } 147 * @syscap SystemCapability.ArkUI.ArkUI.Full 148 * @atomicservice 149 * @since 13 150 */ 151 /** 152 * Modifier of toolbar's activated symbol. 153 * 154 * @type { ?SymbolGlyphModifier } 155 * @syscap SystemCapability.ArkUI.ArkUI.Full 156 * @atomicservice 157 * @since 18 158 */ 159 activated?: SymbolGlyphModifier; 160} 161 162/** 163 * Declare type ToolBarOption 164 * @syscap SystemCapability.ArkUI.ArkUI.Full 165 * @since 10 166 */ 167/** 168 * Declare type ToolBarOption 169 * @syscap SystemCapability.ArkUI.ArkUI.Full 170 * @atomicservice 171 * @since 11 172 */ 173/** 174 * Declare type ToolBarOption 175 * @syscap SystemCapability.ArkUI.ArkUI.Full 176 * @crossplatform 177 * @atomicservice 178 * @since 18 179 */ 180@Observed 181export declare class ToolBarOption { 182 /** 183 * Define text content. 184 * @type { ResourceStr }. 185 * @syscap SystemCapability.ArkUI.ArkUI.Full 186 * @since 10 187 */ 188 /** 189 * Define text content. 190 * @type { ResourceStr }. 191 * @syscap SystemCapability.ArkUI.ArkUI.Full 192 * @atomicservice 193 * @since 11 194 */ 195 /** 196 * Define text content. 197 * @type { ResourceStr }. 198 * @syscap SystemCapability.ArkUI.ArkUI.Full 199 * @crossplatform 200 * @atomicservice 201 * @since 18 202 */ 203 content: ResourceStr; 204 /** 205 * Define the action event. 206 * @type { ?() => void }. 207 * @syscap SystemCapability.ArkUI.ArkUI.Full 208 * @since 10 209 */ 210 /** 211 * Define the action event. 212 * @type { ?() => void }. 213 * @syscap SystemCapability.ArkUI.ArkUI.Full 214 * @atomicservice 215 * @since 11 216 */ 217 /** 218 * Define the action event. 219 * @type { ?() => void }. 220 * @syscap SystemCapability.ArkUI.ArkUI.Full 221 * @crossplatform 222 * @atomicservice 223 * @since 18 224 */ 225 action?: () => void; 226 /** 227 * Define icon resource. 228 * @type { ?Resource }. 229 * @syscap SystemCapability.ArkUI.ArkUI.Full 230 * @since 10 231 */ 232 /** 233 * Define icon resource. 234 * @type { ?Resource }. 235 * @syscap SystemCapability.ArkUI.ArkUI.Full 236 * @atomicservice 237 * @since 11 238 */ 239 /** 240 * Define icon resource. 241 * @type { ?Resource }. 242 * @syscap SystemCapability.ArkUI.ArkUI.Full 243 * @crossplatform 244 * @atomicservice 245 * @since 18 246 */ 247 icon?: Resource; 248 /** 249 * Define item type. 250 * @type { ?ItemState }. 251 * @syscap SystemCapability.ArkUI.ArkUI.Full 252 * @since 10 253 */ 254 /** 255 * Define item type. 256 * @type { ?ItemState }. 257 * @syscap SystemCapability.ArkUI.ArkUI.Full 258 * @atomicservice 259 * @since 11 260 */ 261 /** 262 * Define item type. 263 * @type { ?ItemState }. 264 * @syscap SystemCapability.ArkUI.ArkUI.Full 265 * @crossplatform 266 * @atomicservice 267 * @since 18 268 */ 269 state?: ItemState; 270 /** 271 * Define text fontColor. 272 * @type { ?ResourceColor }. 273 * @syscap SystemCapability.ArkUI.ArkUI.Full 274 * @atomicservice 275 * @since 13 276 */ 277 /** 278 * Define text fontColor. 279 * @type { ?ResourceColor }. 280 * @syscap SystemCapability.ArkUI.ArkUI.Full 281 * @crossplatform 282 * @atomicservice 283 * @since 18 284 */ 285 textColor?: ResourceColor; 286 /** 287 * Text fontColor when the item is activated. 288 * @type { ?ResourceColor }. 289 * @syscap SystemCapability.ArkUI.ArkUI.Full 290 * @atomicservice 291 * @since 13 292 */ 293 /** 294 * Text fontColor when the item is activated. 295 * @type { ?ResourceColor }. 296 * @syscap SystemCapability.ArkUI.ArkUI.Full 297 * @crossplatform 298 * @atomicservice 299 * @since 18 300 */ 301 activatedTextColor?: ResourceColor; 302 /** 303 * Define icon fillColor. 304 * @type { ?ResourceColor }. 305 * @syscap SystemCapability.ArkUI.ArkUI.Full 306 * @atomicservice 307 * @since 13 308 */ 309 /** 310 * Define icon fillColor. 311 * @type { ?ResourceColor }. 312 * @syscap SystemCapability.ArkUI.ArkUI.Full 313 * @crossplatform 314 * @atomicservice 315 * @since 18 316 */ 317 iconColor?: ResourceColor; 318 /** 319 * Icon fillColor when the item is activated. 320 * @type { ?ResourceColor }. 321 * @syscap SystemCapability.ArkUI.ArkUI.Full 322 * @atomicservice 323 * @since 13 324 */ 325 /** 326 * Icon fillColor when the item is activated. 327 * @type { ?ResourceColor }. 328 * @syscap SystemCapability.ArkUI.ArkUI.Full 329 * @crossplatform 330 * @atomicservice 331 * @since 18 332 */ 333 activatedIconColor?: ResourceColor; 334 /** 335 * Item symbol icon. 336 * 337 * @type { ?ToolBarSymbolGlyphOptions } 338 * @syscap SystemCapability.ArkUI.ArkUI.Full 339 * @atomicservice 340 * @since 13 341 */ 342 /** 343 * Item symbol icon. 344 * 345 * @type { ?ToolBarSymbolGlyphOptions } 346 * @syscap SystemCapability.ArkUI.ArkUI.Full 347 * @atomicservice 348 * @since 18 349 */ 350 toolBarSymbolOptions?: ToolBarSymbolGlyphOptions; 351 /** 352 * The accessibilityText of item. 353 * 354 * @type { ?ResourceStr } 355 * @syscap SystemCapability.ArkUI.ArkUI.Full 356 * @atomicservice 357 * @since 18 358 */ 359 accessibilityText?: ResourceStr; 360 /** 361 * The accessibilityDescription of item. 362 * 363 * @type { ?ResourceStr } 364 * @syscap SystemCapability.ArkUI.ArkUI.Full 365 * @atomicservice 366 * @since 18 367 */ 368 accessibilityDescription?: ResourceStr; 369 /** 370 * The accessibilityLevel of item. 371 * 372 * @type { ?string } 373 * @default "auto" 374 * @syscap SystemCapability.ArkUI.ArkUI.Full 375 * @atomicservice 376 * @since 18 377 */ 378 accessibilityLevel?: string; 379} 380 381/** 382 * Declare ToolBarOptions use in ToolBar 383 * @syscap SystemCapability.ArkUI.ArkUI.Full 384 * @since 10 385 */ 386/** 387 * Declare ToolBarOptions use in ToolBar 388 * @syscap SystemCapability.ArkUI.ArkUI.Full 389 * @atomicservice 390 * @since 11 391 */ 392/** 393 * Declare ToolBarOptions use in ToolBar 394 * @syscap SystemCapability.ArkUI.ArkUI.Full 395 * @crossplatform 396 * @atomicservice 397 * @since 18 398 */ 399@Observed 400export declare class ToolBarOptions extends Array<ToolBarOption> { 401} 402 403/** 404 * Declare ToolBarModifier use in ToolBar 405 * @syscap SystemCapability.ArkUI.ArkUI.Full 406 * @atomicservice 407 * @since 13 408 */ 409/** 410 * Declare ToolBarModifier use in ToolBar 411 * @syscap SystemCapability.ArkUI.ArkUI.Full 412 * @crossplatform 413 * @atomicservice 414 * @since 18 415 */ 416export declare class ToolBarModifier { 417 /** 418 * Sets the height of the toolBar. 419 * 420 * @param { LengthMetrics } height - toolBar's height. 421 * @returns { ToolBarModifier } returns the instance of the ToolBarModifier. 422 * @syscap SystemCapability.ArkUI.ArkUI.Full 423 * @atomicservice 424 * @since 13 425 */ 426 /** 427 * Sets the height of the toolBar. 428 * 429 * @param { LengthMetrics } height - toolBar's height. 430 * @returns { ToolBarModifier } returns the instance of the ToolBarModifier. 431 * @syscap SystemCapability.ArkUI.ArkUI.Full 432 * @crossplatform 433 * @atomicservice 434 * @since 18 435 */ 436 height(height: LengthMetrics): ToolBarModifier; 437 /** 438 * Sets the backgroundColor of the toolBar. 439 * 440 * @param { ResourceColor } backgroundColor - toolBar's backgroundColor. 441 * @returns { ToolBarModifier } returns the instance of the ToolBarModifier. 442 * @syscap SystemCapability.ArkUI.ArkUI.Full 443 * @atomicservice 444 * @since 13 445 */ 446 /** 447 * Sets the backgroundColor of the toolBar. 448 * 449 * @param { ResourceColor } backgroundColor - toolBar's backgroundColor. 450 * @returns { ToolBarModifier } returns the instance of the ToolBarModifier. 451 * @syscap SystemCapability.ArkUI.ArkUI.Full 452 * @crossplatform 453 * @atomicservice 454 * @since 18 455 */ 456 backgroundColor(backgroundColor: ResourceColor): ToolBarModifier; 457 /** 458 * Sets the left and right padding of the toolbar. 459 * 460 * @param { LengthMetrics } padding - left and right padding. 461 * @returns { ToolBarModifier } returns the instance of the ToolBarModifier. 462 * @syscap SystemCapability.ArkUI.ArkUI.Full 463 * @atomicservice 464 * @since 13 465 */ 466 /** 467 * Sets the left and right padding of the toolbar. 468 * 469 * @param { LengthMetrics } padding - left and right padding. 470 * @returns { ToolBarModifier } returns the instance of the ToolBarModifier. 471 * @syscap SystemCapability.ArkUI.ArkUI.Full 472 * @crossplatform 473 * @atomicservice 474 * @since 18 475 */ 476 padding(padding: LengthMetrics): ToolBarModifier; 477 /** 478 * Sets whether or not to display the press status effect. 479 * 480 * @param { boolean } stateEffect - press status effect. 481 * @returns { ToolBarModifier } returns the instance of the ToolBarModifier. 482 * @syscap SystemCapability.ArkUI.ArkUI.Full 483 * @atomicservice 484 * @since 13 485 */ 486 /** 487 * Sets whether or not to display the press status effect. 488 * 489 * @param { boolean } stateEffect - press status effect. 490 * @returns { ToolBarModifier } returns the instance of the ToolBarModifier. 491 * @syscap SystemCapability.ArkUI.ArkUI.Full 492 * @crossplatform 493 * @atomicservice 494 * @since 18 495 */ 496 stateEffect(stateEffect: boolean): ToolBarModifier; 497} 498 499/** 500 * Declare Component ToolBar 501 * @syscap SystemCapability.ArkUI.ArkUI.Full 502 * @since 10 503 */ 504/** 505 * Declare Component ToolBar 506 * @syscap SystemCapability.ArkUI.ArkUI.Full 507 * @atomicservice 508 * @since 11 509 */ 510/** 511 * Declare Component ToolBar 512 * @syscap SystemCapability.ArkUI.ArkUI.Full 513 * @crossplatform 514 * @atomicservice 515 * @since 18 516 */ 517@Component 518export declare struct ToolBar { 519 /** 520 * Define toolbar list array. 521 * @type { ToolBarOptions }. 522 * @syscap SystemCapability.ArkUI.ArkUI.Full 523 * @since 10 524 */ 525 /** 526 * Define toolbar list array. 527 * @type { ToolBarOptions }. 528 * @syscap SystemCapability.ArkUI.ArkUI.Full 529 * @atomicservice 530 * @since 11 531 */ 532 /** 533 * Define toolbar list array. 534 * @type { ToolBarOptions }. 535 * @syscap SystemCapability.ArkUI.ArkUI.Full 536 * @crossplatform 537 * @atomicservice 538 * @since 18 539 */ 540 @ObjectLink toolBarList: ToolBarOptions; 541 /** 542 * Define toolbar activate item index, default is -1. 543 * @type { ?number }. 544 * @syscap SystemCapability.ArkUI.ArkUI.Full 545 * @since 10 546 */ 547 /** 548 * Define toolbar activate item index, default is -1. 549 * @type { ?number }. 550 * @syscap SystemCapability.ArkUI.ArkUI.Full 551 * @atomicservice 552 * @since 11 553 */ 554 /** 555 * Define toolbar activate item index, default is -1. 556 * @type { ?number }. 557 * @syscap SystemCapability.ArkUI.ArkUI.Full 558 * @crossplatform 559 * @atomicservice 560 * @since 18 561 */ 562 @Prop activateIndex?: number; 563 /** 564 * Define toolbar controller. 565 * @type { TabsController }. 566 * @syscap SystemCapability.ArkUI.ArkUI.Full 567 * @since 10 568 */ 569 /** 570 * Define toolbar controller. 571 * @type { TabsController }. 572 * @syscap SystemCapability.ArkUI.ArkUI.Full 573 * @atomicservice 574 * @since 11 575 */ 576 /** 577 * Define toolbar controller. 578 * @type { TabsController }. 579 * @syscap SystemCapability.ArkUI.ArkUI.Full 580 * @crossplatform 581 * @atomicservice 582 * @since 18 583 */ 584 controller: TabsController; 585 /** 586 * Define divider Modifier. 587 * @type { ?DividerModifier }. 588 * @syscap SystemCapability.ArkUI.ArkUI.Full 589 * @atomicservice 590 * @since 13 591 */ 592 /** 593 * Define divider Modifier. 594 * @type { ?DividerModifier }. 595 * @syscap SystemCapability.ArkUI.ArkUI.Full 596 * @crossplatform 597 * @atomicservice 598 * @since 18 599 */ 600 @Prop dividerModifier?: DividerModifier; 601 /** 602 * Define toolbar modifier. 603 * @type { ?ToolBarModifier }. 604 * @syscap SystemCapability.ArkUI.ArkUI.Full 605 * @atomicservice 606 * @since 13 607 */ 608 /** 609 * Define toolbar modifier. 610 * @type { ?ToolBarModifier }. 611 * @syscap SystemCapability.ArkUI.ArkUI.Full 612 * @crossplatform 613 * @atomicservice 614 * @since 18 615 */ 616 @Prop toolBarModifier?: ToolBarModifier; 617}