carbon-components-angular
Version:
Next generation components
54 lines • 7.04 kB
JavaScript
import { NgModule, Optional, SkipSelf, NgZone } from "@angular/core";
import { AnimationFrameService, AnimationFrameServiceSingleton } from "./animation-frame.service";
import { ElementService } from "./element.service";
import { EventService } from "./event.service";
import { DocumentService } from "./document.service";
import * as i0 from "@angular/core";
// either provides a new instance of DocumentService, or returns the parent
export function DOCUMENT_SERVICE_PROVIDER_FACTORY(parentService) {
return parentService || new DocumentService();
}
// DocumentService *must* be a singleton to ensure that we handle events and other document level settings once (and only once)
export const DOCUMENT_SERVICE_PROVIDER = {
provide: DocumentService,
deps: [[new Optional(), new SkipSelf(), DocumentService]],
useFactory: DOCUMENT_SERVICE_PROVIDER_FACTORY
};
// either provides a new instance of AnimationFrameServiceSingleton, or returns the parent
export function ANIMATION_FRAME_SERVICE_SINGLETON_PROVIDER_FACTORY(parentService, ngZone) {
return parentService || new AnimationFrameServiceSingleton(ngZone);
}
// AnimationFrameServiceSingleton is a singleton so we don't have a ton of duplicate RAFs firing (better for scheduling)
export const ANIMATION_FRAME_SERVICE_SINGLETON_PROVIDER = {
provide: AnimationFrameServiceSingleton,
deps: [[new Optional(), new SkipSelf(), AnimationFrameServiceSingleton], NgZone],
useFactory: ANIMATION_FRAME_SERVICE_SINGLETON_PROVIDER_FACTORY
};
export class UtilsModule {
}
UtilsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
UtilsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: UtilsModule });
UtilsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UtilsModule, providers: [
DOCUMENT_SERVICE_PROVIDER,
ANIMATION_FRAME_SERVICE_SINGLETON_PROVIDER,
AnimationFrameServiceSingleton,
DocumentService,
AnimationFrameService,
ElementService,
EventService
] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UtilsModule, decorators: [{
type: NgModule,
args: [{
providers: [
DOCUMENT_SERVICE_PROVIDER,
ANIMATION_FRAME_SERVICE_SINGLETON_PROVIDER,
AnimationFrameServiceSingleton,
DocumentService,
AnimationFrameService,
ElementService,
EventService
]
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL3V0aWxzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFDTixxQkFBcUIsRUFDckIsOEJBQThCLEVBQzlCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXJELDJFQUEyRTtBQUMzRSxNQUFNLFVBQVUsaUNBQWlDLENBQUMsYUFBOEI7SUFDL0UsT0FBTyxhQUFhLElBQUksSUFBSSxlQUFlLEVBQUUsQ0FBQztBQUMvQyxDQUFDO0FBRUQsK0hBQStIO0FBQy9ILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHO0lBQ3hDLE9BQU8sRUFBRSxlQUFlO0lBQ3hCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3pELFVBQVUsRUFBRSxpQ0FBaUM7Q0FDN0MsQ0FBQztBQUVGLDBGQUEwRjtBQUMxRixNQUFNLFVBQVUsa0RBQWtELENBQUMsYUFBNkMsRUFBRSxNQUFjO0lBQy9ILE9BQU8sYUFBYSxJQUFJLElBQUksOEJBQThCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVELHdIQUF3SDtBQUN4SCxNQUFNLENBQUMsTUFBTSwwQ0FBMEMsR0FBRztJQUN6RCxPQUFPLEVBQUUsOEJBQThCO0lBQ3ZDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLDhCQUE4QixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2hGLFVBQVUsRUFBRSxrREFBa0Q7Q0FDOUQsQ0FBQztBQWFGLE1BQU0sT0FBTyxXQUFXOzt3R0FBWCxXQUFXO3lHQUFYLFdBQVc7eUdBQVgsV0FBVyxhQVZaO1FBQ1YseUJBQXlCO1FBQ3pCLDBDQUEwQztRQUMxQyw4QkFBOEI7UUFDOUIsZUFBZTtRQUNmLHFCQUFxQjtRQUNyQixjQUFjO1FBQ2QsWUFBWTtLQUNaOzJGQUVXLFdBQVc7a0JBWHZCLFFBQVE7bUJBQUM7b0JBQ1QsU0FBUyxFQUFFO3dCQUNWLHlCQUF5Qjt3QkFDekIsMENBQTBDO3dCQUMxQyw4QkFBOEI7d0JBQzlCLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLFlBQVk7cUJBQ1o7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgT3B0aW9uYWwsIFNraXBTZWxmLCBOZ1pvbmUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcblx0QW5pbWF0aW9uRnJhbWVTZXJ2aWNlLFxuXHRBbmltYXRpb25GcmFtZVNlcnZpY2VTaW5nbGV0b25cbn0gZnJvbSBcIi4vYW5pbWF0aW9uLWZyYW1lLnNlcnZpY2VcIjtcbmltcG9ydCB7IEVsZW1lbnRTZXJ2aWNlIH0gZnJvbSBcIi4vZWxlbWVudC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBFdmVudFNlcnZpY2UgfSBmcm9tIFwiLi9ldmVudC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBEb2N1bWVudFNlcnZpY2UgfSBmcm9tIFwiLi9kb2N1bWVudC5zZXJ2aWNlXCI7XG5cbi8vIGVpdGhlciBwcm92aWRlcyBhIG5ldyBpbnN0YW5jZSBvZiBEb2N1bWVudFNlcnZpY2UsIG9yIHJldHVybnMgdGhlIHBhcmVudFxuZXhwb3J0IGZ1bmN0aW9uIERPQ1VNRU5UX1NFUlZJQ0VfUFJPVklERVJfRkFDVE9SWShwYXJlbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UpIHtcblx0cmV0dXJuIHBhcmVudFNlcnZpY2UgfHwgbmV3IERvY3VtZW50U2VydmljZSgpO1xufVxuXG4vLyBEb2N1bWVudFNlcnZpY2UgKm11c3QqIGJlIGEgc2luZ2xldG9uIHRvIGVuc3VyZSB0aGF0IHdlIGhhbmRsZSBldmVudHMgYW5kIG90aGVyIGRvY3VtZW50IGxldmVsIHNldHRpbmdzIG9uY2UgKGFuZCBvbmx5IG9uY2UpXG5leHBvcnQgY29uc3QgRE9DVU1FTlRfU0VSVklDRV9QUk9WSURFUiA9IHtcblx0cHJvdmlkZTogRG9jdW1lbnRTZXJ2aWNlLFxuXHRkZXBzOiBbW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgRG9jdW1lbnRTZXJ2aWNlXV0sXG5cdHVzZUZhY3Rvcnk6IERPQ1VNRU5UX1NFUlZJQ0VfUFJPVklERVJfRkFDVE9SWVxufTtcblxuLy8gZWl0aGVyIHByb3ZpZGVzIGEgbmV3IGluc3RhbmNlIG9mIEFuaW1hdGlvbkZyYW1lU2VydmljZVNpbmdsZXRvbiwgb3IgcmV0dXJucyB0aGUgcGFyZW50XG5leHBvcnQgZnVuY3Rpb24gQU5JTUFUSU9OX0ZSQU1FX1NFUlZJQ0VfU0lOR0xFVE9OX1BST1ZJREVSX0ZBQ1RPUlkocGFyZW50U2VydmljZTogQW5pbWF0aW9uRnJhbWVTZXJ2aWNlU2luZ2xldG9uLCBuZ1pvbmU6IE5nWm9uZSkge1xuXHRyZXR1cm4gcGFyZW50U2VydmljZSB8fCBuZXcgQW5pbWF0aW9uRnJhbWVTZXJ2aWNlU2luZ2xldG9uKG5nWm9uZSk7XG59XG5cbi8vIEFuaW1hdGlvbkZyYW1lU2VydmljZVNpbmdsZXRvbiBpcyBhIHNpbmdsZXRvbiBzbyB3ZSBkb24ndCBoYXZlIGEgdG9uIG9mIGR1cGxpY2F0ZSBSQUZzIGZpcmluZyAoYmV0dGVyIGZvciBzY2hlZHVsaW5nKVxuZXhwb3J0IGNvbnN0IEFOSU1BVElPTl9GUkFNRV9TRVJWSUNFX1NJTkdMRVRPTl9QUk9WSURFUiA9IHtcblx0cHJvdmlkZTogQW5pbWF0aW9uRnJhbWVTZXJ2aWNlU2luZ2xldG9uLFxuXHRkZXBzOiBbW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgQW5pbWF0aW9uRnJhbWVTZXJ2aWNlU2luZ2xldG9uXSwgTmdab25lXSxcblx0dXNlRmFjdG9yeTogQU5JTUFUSU9OX0ZSQU1FX1NFUlZJQ0VfU0lOR0xFVE9OX1BST1ZJREVSX0ZBQ1RPUllcbn07XG5cbkBOZ01vZHVsZSh7XG5cdHByb3ZpZGVyczogW1xuXHRcdERPQ1VNRU5UX1NFUlZJQ0VfUFJPVklERVIsXG5cdFx0QU5JTUFUSU9OX0ZSQU1FX1NFUlZJQ0VfU0lOR0xFVE9OX1BST1ZJREVSLFxuXHRcdEFuaW1hdGlvbkZyYW1lU2VydmljZVNpbmdsZXRvbixcblx0XHREb2N1bWVudFNlcnZpY2UsXG5cdFx0QW5pbWF0aW9uRnJhbWVTZXJ2aWNlLFxuXHRcdEVsZW1lbnRTZXJ2aWNlLFxuXHRcdEV2ZW50U2VydmljZVxuXHRdXG59KVxuZXhwb3J0IGNsYXNzIFV0aWxzTW9kdWxlIHsgfVxuIl19