@visa/nova-angular
Version:
Visa Product Design System Nova Angular library
59 lines • 6.33 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 { MessageType } from './message.constants';
import * as i0 from "@angular/core";
export class MessageDirective {
/**
* Sets message type.
* @default 'information' / MessageType.INFORMATION
* @options "error" | MessageType.ERROR | <br> "information" | MessageType.INFORMATION | <br> "success" | MessageType.SUCCESS | <br> "warning" | MessageType.WARNING | <br> "close" | MessageType.CLOSE | <br> "subtle" | MessageType.SUBTLE
*/
get messageType() {
return this._messageType;
}
set messageType(value) {
this._messageType = value;
}
get hostClasses() {
return [
this.class,
'v-message',
this.messageType != MessageType.INFORMATION ? `v-message-${this.messageType}` : ''
].join(' ');
}
constructor() {
this._messageType = MessageType.INFORMATION;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MessageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: MessageDirective, isStandalone: true, selector: "[v-message]", inputs: { messageType: "messageType", class: "class" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MessageDirective, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: '[v-message]'
}]
}], ctorParameters: () => [], propDecorators: { messageType: [{
type: Input
}], class: [{
type: Input
}], hostClasses: [{
type: HostBinding,
args: ['class']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25vdmEtbGliL3NyYy9saWIvbWVzc2FnZS9tZXNzYWdlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0lBZUk7QUFDSixPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU1sRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCOzs7O09BSUc7SUFDSCxJQUNJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksV0FBVyxDQUFDLEtBQWtCO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFRRCxJQUNJLFdBQVc7UUFDYixPQUFPO1lBQ0wsSUFBSSxDQUFDLEtBQUs7WUFDVixXQUFXO1lBQ1gsSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxhQUFhLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUNuRixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRDtRQWhCQSxpQkFBWSxHQUFnQixXQUFXLENBQUMsV0FBVyxDQUFDO0lBZ0JyQyxDQUFDOytHQTdCTCxnQkFBZ0I7bUdBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGFBQWE7aUJBQ3hCO3dEQVFLLFdBQVc7c0JBRGQsS0FBSztnQkFhRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUYsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICAgICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDIwMjUgVmlzYSwgSW5jLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKlxuICoqL1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi9tZXNzYWdlLmNvbnN0YW50cyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1t2LW1lc3NhZ2VdJ1xufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlRGlyZWN0aXZlIHtcbiAgLyoqXG4gICAqIFNldHMgbWVzc2FnZSB0eXBlLlxuICAgKiBAZGVmYXVsdCAnaW5mb3JtYXRpb24nIC8gTWVzc2FnZVR5cGUuSU5GT1JNQVRJT05cbiAgICogQG9wdGlvbnMgXCJlcnJvclwiIHwgTWVzc2FnZVR5cGUuRVJST1IgfCA8YnI+IFwiaW5mb3JtYXRpb25cIiB8IE1lc3NhZ2VUeXBlLklORk9STUFUSU9OIHwgPGJyPiBcInN1Y2Nlc3NcIiB8IE1lc3NhZ2VUeXBlLlNVQ0NFU1MgfCA8YnI+IFwid2FybmluZ1wiIHwgTWVzc2FnZVR5cGUuV0FSTklORyB8IDxicj4gXCJjbG9zZVwiIHwgTWVzc2FnZVR5cGUuQ0xPU0UgfCA8YnI+IFwic3VidGxlXCIgfCBNZXNzYWdlVHlwZS5TVUJUTEVcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBtZXNzYWdlVHlwZSgpOiBNZXNzYWdlVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VUeXBlO1xuICB9XG4gIHNldCBtZXNzYWdlVHlwZSh2YWx1ZTogTWVzc2FnZVR5cGUpIHtcbiAgICB0aGlzLl9tZXNzYWdlVHlwZSA9IHZhbHVlO1xuICB9XG4gIF9tZXNzYWdlVHlwZTogTWVzc2FnZVR5cGUgPSBNZXNzYWdlVHlwZS5JTkZPUk1BVElPTjtcblxuICAvKipcbiAgICogUHJvdmlkZXMgY3VzdG9tIGNsYXNzJiM0MDtlcyYjNDE7IGZvciBjdXN0b20gc3R5bGluZy5cbiAgICogQGRlZmF1bHQgLnYtbWVzc2FnZS52LW1lc3NhZ2UtJmx0O21lc3NhZ2VUeXBlJmd0O1xuICAgKi9cbiAgQElucHV0KCkgY2xhc3M6IHN0cmluZztcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLmNsYXNzLFxuICAgICAgJ3YtbWVzc2FnZScsXG4gICAgICB0aGlzLm1lc3NhZ2VUeXBlICE9IE1lc3NhZ2VUeXBlLklORk9STUFUSU9OID8gYHYtbWVzc2FnZS0ke3RoaXMubWVzc2FnZVR5cGV9YCA6ICcnXG4gICAgXS5qb2luKCcgJyk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=