UNPKG

@ynmstudio/utils

Version:
45 lines (40 loc) 1.66 kB
import { DOCUMENT } from '@angular/common'; import * as i0 from '@angular/core'; import { inject, signal, afterNextRender, Injectable } from '@angular/core'; class ViewTransitionsService { #document; get isSupported() { return this.#document.startViewTransition; } constructor() { this.#document = inject(DOCUMENT); this.supportsViewTransitions = signal(false, ...(ngDevMode ? [{ debugName: "supportsViewTransitions" }] : [])); afterNextRender(() => { this.supportsViewTransitions.set(!!this.#document.startViewTransition); }); } startViewTransition(callback) { if (!this.supportsViewTransitions()) { return callback(); } else { return this.#document.startViewTransition(callback); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ViewTransitionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ViewTransitionsService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ViewTransitionsService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: () => [] }); /* * Public API Surface of draw-blurhash */ /** * Generated bundle index. Do not edit. */ export { ViewTransitionsService }; //# sourceMappingURL=ynmstudio-utils-view-transition.mjs.map