@bimeister/pupakit.calendar
Version:
PupaKit Calendar
30 lines (29 loc) • 1.17 kB
TypeScript
import { CdkVirtualScrollViewport, VirtualScrollStrategy } from '@angular/cdk/scrolling';
import { Observable } from 'rxjs';
import { CalendarVirtualScrollConfig } from '../interfaces/calendar-virtual-scroll-config.interface';
export declare class CalendarVirtualScrollStrategy implements VirtualScrollStrategy {
private readonly config;
private readonly index$;
private cycleIndex;
private viewport;
private cycleHeight;
readonly scrolledIndexChange: Observable<number>;
private cycleMonthsHeights;
constructor(config: CalendarVirtualScrollConfig);
attach(viewport: CdkVirtualScrollViewport): void;
detach(): void;
onContentScrolled(): void;
scrollToIndex(index: number, behavior: ScrollBehavior): void;
onDataLengthChanged(): void;
onContentRendered(): void;
onRenderedOffsetChanged(): void;
private getOffsetForIndex;
private getIndexForOffset;
private updateRenderedRange;
private getRangeStartByOffset;
private getRangeEndByOffset;
private getDistanceToMonthInScroll;
private updateViewportHeightByIndex;
private getCycleMonthHeights;
private getViewportHeight;
}