/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { ElementRef, EventEmitter, OnChanges, TemplateRef, NgZone, Renderer2, OnDestroy } from '@angular/core'; import { AnimationEvent } from '@angular/animations'; import { AnimationState, ScrollViewPagerOverlay } from './enums'; import { ItemChangedEvent } from './change-event-args'; import { DataCollection } from './data.collection'; import { Direction } from './direction'; import { LocalizationService } from '@progress/kendo-angular-l10n'; import { SVGIcon } from '@progress/kendo-svg-icons'; import * as i0 from "@angular/core"; /** * Represents the [Kendo UI ScrollView component for Angular](slug:overview_scrollview). * * Use the ScrollViewComponent to display a horizontally scrollable list of items. You can customize the content and navigation. * * @example * ```html * * *

{{item.title}}

* *
*
* ``` * * @remarks * Supported children components are: {@link CustomMessagesComponent} */ export declare class ScrollViewComponent implements OnChanges, OnDestroy { protected element: ElementRef; private localization; private ngZone; private renderer; /** * @hidden */ chevronLeftIcon: SVGIcon; /** * @hidden */ chevronRightIcon: SVGIcon; /** * Provides the data source for the ScrollView ([see example](slug:datasources_scrollview)). * @default [] */ data: Array; /** * Sets the current item index ([see example](slug:activeitems_scrollview)). * @default 0 */ set activeIndex(value: number); get activeIndex(): number; /** * Sets the width of the ScrollView ([see example](slug:dimensions_scrollview)). * By default, the width is not set and must be explicitly defined. */ width: string; /** * Sets the height of the ScrollView ([see example](slug:dimensions_scrollview)). * By default, the height is not set and must be explicitly defined. */ height: string; /** * Enables or disables endless scrolling mode, where items loop endlessly ([see example](slug:endlessscrolling_scrollview)). * @default false */ endless: boolean; /** * Sets the pager overlay style to `dark`, `light`, or `none`. * @default 'none' */ pagerOverlay: ScrollViewPagerOverlay; /** * Enables or disables built-in animations ([see example](slug:animations_scrollview)). * @default true */ animate: boolean; /** * Enables or disables the built-in pager ([see example](slug:paging_scrollview)). * @default false */ pageable: boolean; /** * Enables or disables the built-in navigation arrows ([see example](slug:arrows_scrollview)). * @default false */ arrows: boolean; /** * Fires after the current item is changed. */ itemChanged: EventEmitter; /** * Fires after the `activeIndex` has changed. Allows for two-way binding of the `activeIndex` property. */ activeIndexChange: EventEmitter; itemTemplateRef: TemplateRef; itemWrapper: ElementRef; prevButton: ElementRef; nextButton: ElementRef; scrollViewClass: boolean; scrollViewRole: string; scrollViewRoleDescription: string; get scrollViewLightOverlayClass(): boolean; get scrollViewDarkOverlayClass(): boolean; get hostWidth(): string; get hostHeight(): string; tabIndex: number; ariaLive: string; get dir(): Direction; touchAction: string; animationState: AnimationState; view: DataCollection; /** * @hidden */ scrollviewId: string; isDataSourceEmpty: boolean; private subs; private _activeIndex; private index; private initialTouchCoordinate; private pageIndex; private transforms; private get direction(); constructor(element: ElementRef, localization: LocalizationService, ngZone: NgZone, renderer: Renderer2); ngOnInit(): void; ngOnDestroy(): void; ngOnChanges(_: any): void; /** * Navigates the ScrollView to the previous item. */ prev(): void; /** * Navigates the ScrollView to the next item. */ next(): void; /** * @hidden */ transitionEndHandler(e: AnimationEvent): void; /** * @hidden */ handlePress(e: any): void; /** * @hidden */ handleDrag(e: any): void; /** * @hidden */ handleRelease(e: any): void; /** * @hidden */ pageChange(idx: number): void; /** * @hidden */ inlineListItemStyles(idx: number): { [key: string]: string; }; /** * @hidden */ displayLeftArrow(): boolean; /** * @hidden */ leftArrowClick(): void; /** * @hidden */ displayRightArrow(): boolean; /** * @hidden */ rightArrowClick(): void; protected draggedInsideBounds(deltaX: number): boolean; protected draggedEnoughToNavigate(deltaX: number): boolean; protected isDragForbidden(deltaX: number): boolean; private keyDown; private navigate; private changeIndex; private get isRTL(); get prevButtonArrowIcon(): string; get nextButtonArrowIcon(): string; get prevButtonArrowSVGIcon(): SVGIcon; get nextButtonArrowSVGIcon(): SVGIcon; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }