UNPKG

@visa/nova-angular

Version:

Visa Product Design System Nova Angular library

88 lines 8.35 kB
/** * Copyright (c) 2025 Visa, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * **/ import { Directive, HostBinding, Input } from '@angular/core'; import * as i0 from "@angular/core"; export const TypographyType = { Display1: 'display-1', Display2: 'display-2', Headline1: 'headline-1', Headline2: 'headline-2', Headline3: 'headline-3', Headline4: 'headline-4', Subtitle1: 'subtitle-1', Subtitle2: 'subtitle-2', Subtitle3: 'subtitle-3', Overline: 'overline', Body1: 'body-1', Body2: 'body-2', Body2Bold: 'body-2-bold', Body2Link: 'body-2-link', Body2Medium: 'body-2-medium', Body3: 'body-3', ButtonSmall: 'button-small', ButtonMedium: 'button-medium', ButtonLarge: 'button-large', Label: 'label', LabelSmall: 'label-small', LabelActive: 'label-active', LabelLarge: 'label-large', LabelLargeActive: 'label-large-active', LabelSmallActive: 'label-small-active' }; export class TypographyDirective { get hostClasses() { if (this.vTypography) { return `v-typography-${this.vTypography}`; } } /** * Applies given typography class. */ get vTypography() { return this._vTypography; } set vTypography(value) { this._vTypography = value; } /** * Applies given typography class. <br> * Can be used as a more succinct alias for <code>vTypography</code>. */ get vFont() { return this._vTypography; } set vFont(value) { this._vTypography = value; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TypographyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: TypographyDirective, isStandalone: true, selector: "[vTypography], [vFont]", inputs: { vTypography: "vTypography", vFont: "vFont" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TypographyDirective, decorators: [{ type: Directive, args: [{ standalone: true, selector: '[vTypography], [vFont]' }] }], propDecorators: { hostClasses: [{ type: HostBinding, args: ['class'] }], vTypography: [{ type: Input }], vFont: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwb2dyYXBoeS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25vdmEtbGliL3NyYy9saWIvdHlwb2dyYXBoeS90eXBvZ3JhcGh5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0lBZUk7QUFDSixPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTlELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixRQUFRLEVBQUUsV0FBVztJQUNyQixRQUFRLEVBQUUsV0FBVztJQUNyQixTQUFTLEVBQUUsWUFBWTtJQUN2QixTQUFTLEVBQUUsWUFBWTtJQUN2QixTQUFTLEVBQUUsWUFBWTtJQUN2QixTQUFTLEVBQUUsWUFBWTtJQUN2QixTQUFTLEVBQUUsWUFBWTtJQUN2QixTQUFTLEVBQUUsWUFBWTtJQUN2QixTQUFTLEVBQUUsWUFBWTtJQUN2QixRQUFRLEVBQUUsVUFBVTtJQUNwQixLQUFLLEVBQUUsUUFBUTtJQUNmLEtBQUssRUFBRSxRQUFRO0lBQ2YsU0FBUyxFQUFFLGFBQWE7SUFDeEIsU0FBUyxFQUFFLGFBQWE7SUFDeEIsV0FBVyxFQUFFLGVBQWU7SUFDNUIsS0FBSyxFQUFFLFFBQVE7SUFDZixXQUFXLEVBQUUsY0FBYztJQUMzQixZQUFZLEVBQUUsZUFBZTtJQUM3QixXQUFXLEVBQUUsY0FBYztJQUMzQixLQUFLLEVBQUUsT0FBTztJQUNkLFVBQVUsRUFBRSxhQUFhO0lBQ3pCLFdBQVcsRUFBRSxjQUFjO0lBQzNCLFVBQVUsRUFBRSxhQUFhO0lBQ3pCLGdCQUFnQixFQUFFLG9CQUFvQjtJQUN0QyxnQkFBZ0IsRUFBRSxvQkFBb0I7Q0FDOUIsQ0FBQztBQVFYLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsSUFDSSxXQUFXO1FBQ2IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsT0FBTyxnQkFBZ0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksV0FBVyxDQUFDLEtBQUs7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBaUM7UUFDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQzsrR0E3QlUsbUJBQW1CO21HQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx3QkFBd0I7aUJBQ25DOzhCQUdLLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQVdoQixXQUFXO3NCQURkLEtBQUs7Z0JBYUYsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgICAgICAgICAgICAgQ29weXJpZ2h0IChjKSAyMDI1IFZpc2EsIEluYy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICpcbiAqKi9cbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBUeXBvZ3JhcGh5VHlwZSA9IHtcbiAgRGlzcGxheTE6ICdkaXNwbGF5LTEnLFxuICBEaXNwbGF5MjogJ2Rpc3BsYXktMicsXG4gIEhlYWRsaW5lMTogJ2hlYWRsaW5lLTEnLFxuICBIZWFkbGluZTI6ICdoZWFkbGluZS0yJyxcbiAgSGVhZGxpbmUzOiAnaGVhZGxpbmUtMycsXG4gIEhlYWRsaW5lNDogJ2hlYWRsaW5lLTQnLFxuICBTdWJ0aXRsZTE6ICdzdWJ0aXRsZS0xJyxcbiAgU3VidGl0bGUyOiAnc3VidGl0bGUtMicsXG4gIFN1YnRpdGxlMzogJ3N1YnRpdGxlLTMnLFxuICBPdmVybGluZTogJ292ZXJsaW5lJyxcbiAgQm9keTE6ICdib2R5LTEnLFxuICBCb2R5MjogJ2JvZHktMicsXG4gIEJvZHkyQm9sZDogJ2JvZHktMi1ib2xkJyxcbiAgQm9keTJMaW5rOiAnYm9keS0yLWxpbmsnLFxuICBCb2R5Mk1lZGl1bTogJ2JvZHktMi1tZWRpdW0nLFxuICBCb2R5MzogJ2JvZHktMycsXG4gIEJ1dHRvblNtYWxsOiAnYnV0dG9uLXNtYWxsJyxcbiAgQnV0dG9uTWVkaXVtOiAnYnV0dG9uLW1lZGl1bScsXG4gIEJ1dHRvbkxhcmdlOiAnYnV0dG9uLWxhcmdlJyxcbiAgTGFiZWw6ICdsYWJlbCcsXG4gIExhYmVsU21hbGw6ICdsYWJlbC1zbWFsbCcsXG4gIExhYmVsQWN0aXZlOiAnbGFiZWwtYWN0aXZlJyxcbiAgTGFiZWxMYXJnZTogJ2xhYmVsLWxhcmdlJyxcbiAgTGFiZWxMYXJnZUFjdGl2ZTogJ2xhYmVsLWxhcmdlLWFjdGl2ZScsXG4gIExhYmVsU21hbGxBY3RpdmU6ICdsYWJlbC1zbWFsbC1hY3RpdmUnXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBUeXBvZ3JhcGh5VHlwZSA9ICh0eXBlb2YgVHlwb2dyYXBoeVR5cGUpW2tleW9mIHR5cGVvZiBUeXBvZ3JhcGh5VHlwZV07XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1t2VHlwb2dyYXBoeV0sIFt2Rm9udF0nXG59KVxuZXhwb3J0IGNsYXNzIFR5cG9ncmFwaHlEaXJlY3RpdmUge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IHN0cmluZyB8IHZvaWQge1xuICAgIGlmICh0aGlzLnZUeXBvZ3JhcGh5KSB7XG4gICAgICByZXR1cm4gYHYtdHlwb2dyYXBoeS0ke3RoaXMudlR5cG9ncmFwaHl9YDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQXBwbGllcyBnaXZlbiB0eXBvZ3JhcGh5IGNsYXNzLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHZUeXBvZ3JhcGh5KCk6IFR5cG9ncmFwaHlUeXBlIHwgJycgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdlR5cG9ncmFwaHk7XG4gIH1cbiAgc2V0IHZUeXBvZ3JhcGh5KHZhbHVlKSB7XG4gICAgdGhpcy5fdlR5cG9ncmFwaHkgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBsaWVzIGdpdmVuIHR5cG9ncmFwaHkgY2xhc3MuIDxicj5cbiAgICogQ2FuIGJlIHVzZWQgYXMgYSBtb3JlIHN1Y2NpbmN0IGFsaWFzIGZvciA8Y29kZT52VHlwb2dyYXBoeTwvY29kZT4uXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgdkZvbnQoKTogVHlwb2dyYXBoeVR5cGUgfCAnJyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl92VHlwb2dyYXBoeTtcbiAgfVxuICBzZXQgdkZvbnQodmFsdWU6IFR5cG9ncmFwaHlUeXBlIHwgJycgfCBudWxsKSB7XG4gICAgdGhpcy5fdlR5cG9ncmFwaHkgPSB2YWx1ZTtcbiAgfVxuICBfdlR5cG9ncmFwaHk6IFR5cG9ncmFwaHlUeXBlIHwgJycgfCBudWxsO1xufVxuIl19