@taiga-ui/cdk
Version:
Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance
17 lines • 2.84 kB
JavaScript
import { createComponent, DestroyRef, EnvironmentInjector, inject, InjectionToken, } from '@angular/core';
const MAP = new InjectionToken(ngDevMode ? 'MAP' : '', {
factory: () => {
const map = new Map();
inject(DestroyRef).onDestroy(() => map.forEach((component) => component.destroy()));
return map;
},
});
export function tuiWithStyles(component) {
const map = inject(MAP);
const environmentInjector = inject(EnvironmentInjector);
if (!map.has(component)) {
map.set(component, createComponent(component, { environmentInjector }));
}
return undefined;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1zdHlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cy93aXRoLXN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZUFBZSxFQUNmLFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsTUFBTSxFQUNOLGNBQWMsR0FFakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1YsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUV0QixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUM5QixHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FDbEQsQ0FBQztRQUVGLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sVUFBVSxhQUFhLENBQUMsU0FBd0I7SUFDbEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFeEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDckIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLFNBQVMsRUFBRSxFQUFDLG1CQUFtQixFQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3pFO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgY3JlYXRlQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgdHlwZSBUeXBlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3QgTUFQID0gbmV3IEluamVjdGlvblRva2VuKG5nRGV2TW9kZSA/ICdNQVAnIDogJycsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAoKTtcblxuICAgICAgICBpbmplY3QoRGVzdHJveVJlZikub25EZXN0cm95KCgpID0+XG4gICAgICAgICAgICBtYXAuZm9yRWFjaCgoY29tcG9uZW50KSA9PiBjb21wb25lbnQuZGVzdHJveSgpKSxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gbWFwO1xuICAgIH0sXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aVdpdGhTdHlsZXMoY29tcG9uZW50OiBUeXBlPHVua25vd24+KTogdW5kZWZpbmVkIHtcbiAgICBjb25zdCBtYXAgPSBpbmplY3QoTUFQKTtcbiAgICBjb25zdCBlbnZpcm9ubWVudEluamVjdG9yID0gaW5qZWN0KEVudmlyb25tZW50SW5qZWN0b3IpO1xuXG4gICAgaWYgKCFtYXAuaGFzKGNvbXBvbmVudCkpIHtcbiAgICAgICAgbWFwLnNldChjb21wb25lbnQsIGNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQsIHtlbnZpcm9ubWVudEluamVjdG9yfSkpO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG4iXX0=