@visa/nova-angular
Version:
Visa Product Design System Nova Angular library
88 lines • 8.35 kB
JavaScript
/**
* 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