UNPKG

@universal-material/angular

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.1.0.

34 lines 4.32 kB
import { Directive } from '@angular/core'; import { ScrollBehavior } from '../util/scroll-behavior'; import * as i0 from "@angular/core"; export class FloatingActionBehaviorDirective extends ScrollBehavior { constructor(elementRef) { super(); this.elementRef = elementRef; this._lastScrollY = null; this.defaultTarget = window; this._processBehavior = (scrollTop) => { if (this._lastScrollY === null) { this._lastScrollY = scrollTop; return; } if (this._lastScrollY < scrollTop) { this.elementRef.nativeElement.style.transform = 'translateY(150%)'; } else { this.elementRef.nativeElement.style.transform = ''; } this._lastScrollY = scrollTop; }; this.elementRef.nativeElement.style.transition = 'transform 150ms linear'; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionBehaviorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FloatingActionBehaviorDirective, selector: "[uFloatingActionBehavior]", usesInheritance: true, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionBehaviorDirective, decorators: [{ type: Directive, args: [{ selector: '[uFloatingActionBehavior]' }] }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmctYWN0aW9uLWJlaGF2aW9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9mbG9hdGluZy1hY3Rpb24tYmVoYXZpb3IvZmxvYXRpbmctYWN0aW9uLWJlaGF2aW9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFLekQsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGNBQWM7SUFLakUsWUFBNkIsVUFBc0I7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEbUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUgzQyxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFDbEMsa0JBQWEsR0FBRyxNQUFNLENBQUM7UUFRdEIscUJBQWdCLEdBQUcsQ0FBQyxTQUF3QixFQUFFLEVBQUU7WUFDeEQsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7Z0JBQzlCLE9BQU87YUFDUjtZQUVELElBQUksSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFVLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUM7YUFDcEU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7YUFDcEQ7WUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUNoQyxDQUFDLENBQUM7UUFoQkEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQztJQUM1RSxDQUFDOytHQVRVLCtCQUErQjttR0FBL0IsK0JBQStCOzs0RkFBL0IsK0JBQStCO2tCQUgzQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTY3JvbGxCZWhhdmlvciB9IGZyb20gJy4uL3V0aWwvc2Nyb2xsLWJlaGF2aW9yJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3VGbG9hdGluZ0FjdGlvbkJlaGF2aW9yXSdcbn0pXG5leHBvcnQgY2xhc3MgRmxvYXRpbmdBY3Rpb25CZWhhdmlvckRpcmVjdGl2ZSBleHRlbmRzIFNjcm9sbEJlaGF2aW9yIHtcblxuICBwcml2YXRlIF9sYXN0U2Nyb2xsWTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIG92ZXJyaWRlIGRlZmF1bHRUYXJnZXQgPSB3aW5kb3c7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnRyYW5zaXRpb24gPSAndHJhbnNmb3JtIDE1MG1zIGxpbmVhcic7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3Byb2Nlc3NCZWhhdmlvciA9IChzY3JvbGxUb3A6IG51bWJlciB8IG51bGwpID0+IHtcbiAgICBpZiAodGhpcy5fbGFzdFNjcm9sbFkgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuX2xhc3RTY3JvbGxZID0gc2Nyb2xsVG9wO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9sYXN0U2Nyb2xsWSA8IHNjcm9sbFRvcCEpIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGVZKDE1MCUpJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gJyc7XG4gICAgfVxuXG4gICAgdGhpcy5fbGFzdFNjcm9sbFkgPSBzY3JvbGxUb3A7XG4gIH07XG59XG4iXX0=