@taiga-ui/core
Version:
Core library for creating Angular components and applications using Taiga UI
21 lines • 3.83 kB
JavaScript
import { DOCUMENT } from '@angular/common';
import { inject, InjectionToken, signal, } from '@angular/core';
import { TUI_FONT_SIZE_HANDLER } from '@taiga-ui/cdk/directives/font-size';
import { tuiClamp } from '@taiga-ui/cdk/utils/math';
import { tuiPx } from '@taiga-ui/cdk/utils/miscellaneous';
export const TUI_FONT_OFFSET = new InjectionToken(ngDevMode ? 'TUI_FONT_OFFSET' : '', { factory: () => signal(0) });
export function tuiEnableFontScaling() {
return {
provide: TUI_FONT_SIZE_HANDLER,
useFactory: () => {
const offset = inject(TUI_FONT_OFFSET);
const { documentElement } = inject(DOCUMENT);
return (size) => {
const current = tuiClamp(size, 17, 28) - 17;
offset.set(current);
return documentElement.style.setProperty('--tui-font-offset', tuiPx(current));
};
},
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9udC1zY2FsaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9taXNjZWxsYW5lb3VzL2ZvbnQtc2NhbGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILE1BQU0sRUFDTixjQUFjLEVBRWQsTUFBTSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFeEQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUM3QyxTQUFTLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ2xDLEVBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUM3QixDQUFDO0FBRUYsTUFBTSxVQUFVLG9CQUFvQjtJQUNoQyxPQUFPO1FBQ0gsT0FBTyxFQUFFLHFCQUFxQjtRQUM5QixVQUFVLEVBQUUsR0FBRyxFQUFFO1lBQ2IsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sRUFBQyxlQUFlLEVBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFM0MsT0FBTyxDQUFDLElBQVksRUFBUSxFQUFFO2dCQUMxQixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBRTVDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBRXBCLE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQ3BDLG1CQUFtQixFQUNuQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQ2pCLENBQUM7WUFDTixDQUFDLENBQUM7UUFDTixDQUFDO0tBQ0osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgdHlwZSBQcm92aWRlcixcbiAgICBzaWduYWwsXG4gICAgdHlwZSBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9GT05UX1NJWkVfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2ZvbnQtc2l6ZSc7XG5pbXBvcnQge3R1aUNsYW1wfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlQeH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcblxuZXhwb3J0IGNvbnN0IFRVSV9GT05UX09GRlNFVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxXcml0YWJsZVNpZ25hbDxudW1iZXI+PihcbiAgICBuZ0Rldk1vZGUgPyAnVFVJX0ZPTlRfT0ZGU0VUJyA6ICcnLFxuICAgIHtmYWN0b3J5OiAoKSA9PiBzaWduYWwoMCl9LFxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUVuYWJsZUZvbnRTY2FsaW5nKCk6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBwcm92aWRlOiBUVUlfRk9OVF9TSVpFX0hBTkRMRVIsXG4gICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9mZnNldCA9IGluamVjdChUVUlfRk9OVF9PRkZTRVQpO1xuICAgICAgICAgICAgY29uc3Qge2RvY3VtZW50RWxlbWVudH0gPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgICAgICAgICByZXR1cm4gKHNpemU6IG51bWJlcik6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSB0dWlDbGFtcChzaXplLCAxNywgMjgpIC0gMTc7XG5cbiAgICAgICAgICAgICAgICBvZmZzZXQuc2V0KGN1cnJlbnQpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICAgICAgJy0tdHVpLWZvbnQtb2Zmc2V0JyxcbiAgICAgICAgICAgICAgICAgICAgdHVpUHgoY3VycmVudCksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgfTtcbn1cbiJdfQ==