UNPKG

@taiga-ui/core

Version:

Core library for creating Angular components and applications using Taiga UI

21 lines 3.83 kB
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==