rfx-parallax
Version:
RfxParallax - parallax made easy
78 lines (77 loc) • 2.59 kB
TypeScript
import { ElementRef, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core';
import { ScrollEventService } from '../services';
import * as i0 from "@angular/core";
export declare class WillChangeDirective implements OnInit, OnChanges, OnDestroy {
private htmlElement;
private renderer;
private scrollEventService;
/**
* Area where element has will-change property.
* Default is window height / 4 * 6.
* @type {number}
*/
triggerArea: number;
/**
* If disabled, element will have will-change
* property set to 'auto'.
* @type {boolean}
*/
isDisabled: boolean;
/**
* Range in pixels where the element has
* will-change property.
* @type {SectionAreaModel | undefined}
*/
private willChangeArea;
/**
* Element will change value.
* @type {boolean}
*/
private willChange;
/**
* Subscription to scroll event.
* @type {Subscription | undefined}
*/
private scrollEventListener;
constructor(htmlElement: ElementRef, renderer: Renderer2, scrollEventService: ScrollEventService);
ngOnInit(): void;
ngOnDestroy(): void;
/**
* Create listener for scroll event.
*/
private createListener;
/**
* Destroy scroll event listener.
*/
private destroyListener;
/**
* Refresh will-change area if some properties changed.
* @param {SimpleChanges} changes - Changes.
*/
ngOnChanges(changes: SimpleChanges): void;
/**
* Check will-change property and
* update if needed.
* @param {number} scroll - Scroll position.
*/
private checkWillChange;
/**
* Check if element is in will-change area.
* @param {number} scroll - Scroll position.
* @param {SectionAreaModel} willChangeArea - Will-change area.
* @returns {boolean} - Is element in will-change area.
*/
private isElementInArea;
/**
* Calculate area where element is probably going to be animated soon.
* @returns {number} - Will-change area.
*/
private getWillChangeArea;
/**
* Set element will-change property.
* @param {boolean} willChange - will-change enabled or disabled.
*/
private setWillChange;
static ɵfac: i0.ɵɵFactoryDeclaration<WillChangeDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<WillChangeDirective, "[libWillChange]", never, { "triggerArea": "triggerArea"; "isDisabled": "isDisabled"; }, {}, never>;
}