@ynmstudio/utils
Version:
YNM Utilities for Angular
45 lines (40 loc) • 1.66 kB
JavaScript
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