UNPKG

rfx-parallax

Version:
78 lines (77 loc) 2.59 kB
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>; }