@visa/nova-angular
Version:
Visa Product Design System Nova Angular library
88 lines • 8.31 kB
JavaScript
/**
* © 2025 Visa
*
* 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwb2dyYXBoeS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25vdmEtbGliL3NyYy9saWIvdHlwb2dyYXBoeS90eXBvZ3JhcGh5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0lBZUk7QUFDSixPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTlELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixRQUFRLEVBQUUsV0FBVztJQUNyQixRQUFRLEVBQUUsV0FBVztJQUNyQixTQUFTLEVBQUUsWUFBWTtJQUN2QixTQUFTLEVBQUUsWUFBWTtJQUN2QixTQUFTLEVBQUUsWUFBWTtJQUN2QixTQUFTLEVBQUUsWUFBWTtJQUN2QixTQUFTLEVBQUUsWUFBWTtJQUN2QixTQUFTLEVBQUUsWUFBWTtJQUN2QixTQUFTLEVBQUUsWUFBWTtJQUN2QixRQUFRLEVBQUUsVUFBVTtJQUNwQixLQUFLLEVBQUUsUUFBUTtJQUNmLEtBQUssRUFBRSxRQUFRO0lBQ2YsU0FBUyxFQUFFLGFBQWE7SUFDeEIsU0FBUyxFQUFFLGFBQWE7SUFDeEIsV0FBVyxFQUFFLGVBQWU7SUFDNUIsS0FBSyxFQUFFLFFBQVE7SUFDZixXQUFXLEVBQUUsY0FBYztJQUMzQixZQUFZLEVBQUUsZUFBZTtJQUM3QixXQUFXLEVBQUUsY0FBYztJQUMzQixLQUFLLEVBQUUsT0FBTztJQUNkLFVBQVUsRUFBRSxhQUFhO0lBQ3pCLFdBQVcsRUFBRSxjQUFjO0lBQzNCLFVBQVUsRUFBRSxhQUFhO0lBQ3pCLGdCQUFnQixFQUFFLG9CQUFvQjtJQUN0QyxnQkFBZ0IsRUFBRSxvQkFBb0I7Q0FDOUIsQ0FBQztBQVFYLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsSUFDSSxXQUFXO1FBQ2IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsT0FBTyxnQkFBZ0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksV0FBVyxDQUFDLEtBQUs7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBaUM7UUFDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQzsrR0E3QlUsbUJBQW1CO21HQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx3QkFBd0I7aUJBQ25DOzhCQUdLLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQVdoQixXQUFXO3NCQURkLEtBQUs7Z0JBYUYsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgICAgICAgICAgICAgwqkgMjAyNSBWaXNhXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqXG4gKiovXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVHlwb2dyYXBoeVR5cGUgPSB7XG4gIERpc3BsYXkxOiAnZGlzcGxheS0xJyxcbiAgRGlzcGxheTI6ICdkaXNwbGF5LTInLFxuICBIZWFkbGluZTE6ICdoZWFkbGluZS0xJyxcbiAgSGVhZGxpbmUyOiAnaGVhZGxpbmUtMicsXG4gIEhlYWRsaW5lMzogJ2hlYWRsaW5lLTMnLFxuICBIZWFkbGluZTQ6ICdoZWFkbGluZS00JyxcbiAgU3VidGl0bGUxOiAnc3VidGl0bGUtMScsXG4gIFN1YnRpdGxlMjogJ3N1YnRpdGxlLTInLFxuICBTdWJ0aXRsZTM6ICdzdWJ0aXRsZS0zJyxcbiAgT3ZlcmxpbmU6ICdvdmVybGluZScsXG4gIEJvZHkxOiAnYm9keS0xJyxcbiAgQm9keTI6ICdib2R5LTInLFxuICBCb2R5MkJvbGQ6ICdib2R5LTItYm9sZCcsXG4gIEJvZHkyTGluazogJ2JvZHktMi1saW5rJyxcbiAgQm9keTJNZWRpdW06ICdib2R5LTItbWVkaXVtJyxcbiAgQm9keTM6ICdib2R5LTMnLFxuICBCdXR0b25TbWFsbDogJ2J1dHRvbi1zbWFsbCcsXG4gIEJ1dHRvbk1lZGl1bTogJ2J1dHRvbi1tZWRpdW0nLFxuICBCdXR0b25MYXJnZTogJ2J1dHRvbi1sYXJnZScsXG4gIExhYmVsOiAnbGFiZWwnLFxuICBMYWJlbFNtYWxsOiAnbGFiZWwtc21hbGwnLFxuICBMYWJlbEFjdGl2ZTogJ2xhYmVsLWFjdGl2ZScsXG4gIExhYmVsTGFyZ2U6ICdsYWJlbC1sYXJnZScsXG4gIExhYmVsTGFyZ2VBY3RpdmU6ICdsYWJlbC1sYXJnZS1hY3RpdmUnLFxuICBMYWJlbFNtYWxsQWN0aXZlOiAnbGFiZWwtc21hbGwtYWN0aXZlJ1xufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgVHlwb2dyYXBoeVR5cGUgPSAodHlwZW9mIFR5cG9ncmFwaHlUeXBlKVtrZXlvZiB0eXBlb2YgVHlwb2dyYXBoeVR5cGVdO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbdlR5cG9ncmFwaHldLCBbdkZvbnRdJ1xufSlcbmV4cG9ydCBjbGFzcyBUeXBvZ3JhcGh5RGlyZWN0aXZlIHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBzdHJpbmcgfCB2b2lkIHtcbiAgICBpZiAodGhpcy52VHlwb2dyYXBoeSkge1xuICAgICAgcmV0dXJuIGB2LXR5cG9ncmFwaHktJHt0aGlzLnZUeXBvZ3JhcGh5fWA7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFwcGxpZXMgZ2l2ZW4gdHlwb2dyYXBoeSBjbGFzcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCB2VHlwb2dyYXBoeSgpOiBUeXBvZ3JhcGh5VHlwZSB8ICcnIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZUeXBvZ3JhcGh5O1xuICB9XG4gIHNldCB2VHlwb2dyYXBoeSh2YWx1ZSkge1xuICAgIHRoaXMuX3ZUeXBvZ3JhcGh5ID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQXBwbGllcyBnaXZlbiB0eXBvZ3JhcGh5IGNsYXNzLiA8YnI+XG4gICAqIENhbiBiZSB1c2VkIGFzIGEgbW9yZSBzdWNjaW5jdCBhbGlhcyBmb3IgPGNvZGU+dlR5cG9ncmFwaHk8L2NvZGU+LlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHZGb250KCk6IFR5cG9ncmFwaHlUeXBlIHwgJycgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdlR5cG9ncmFwaHk7XG4gIH1cbiAgc2V0IHZGb250KHZhbHVlOiBUeXBvZ3JhcGh5VHlwZSB8ICcnIHwgbnVsbCkge1xuICAgIHRoaXMuX3ZUeXBvZ3JhcGh5ID0gdmFsdWU7XG4gIH1cbiAgX3ZUeXBvZ3JhcGh5OiBUeXBvZ3JhcGh5VHlwZSB8ICcnIHwgbnVsbDtcbn1cbiJdfQ==