@spartacus/storefront
Version:
Spartacus Storefront is a package that you can include in your application, which allows you to add default storefront features.
61 lines • 10.5 kB
JavaScript
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { GlobalMessageType } from '@spartacus/core';
import { ICON_TYPE } from '../../../cms-components/misc/icon/icon.model';
import * as i0 from "@angular/core";
import * as i1 from "../icon/icon.component";
import * as i2 from "@angular/common";
export class MessageComponent {
constructor() {
this.showBody = false;
this.isVisibleCloseButton = true;
this.closeMessage = new EventEmitter();
this.buttonAction = new EventEmitter();
this.iconTypes = ICON_TYPE;
}
get getCssClassesForMessage() {
return {
'cx-message-success': this.type === GlobalMessageType.MSG_TYPE_CONFIRMATION,
'cx-message-info': this.type === GlobalMessageType.MSG_TYPE_INFO,
'cx-message-warning': this.type === GlobalMessageType.MSG_TYPE_WARNING,
'cx-message-danger': this.type === GlobalMessageType.MSG_TYPE_ERROR,
};
}
get getIconType() {
switch (this.type) {
case GlobalMessageType.MSG_TYPE_CONFIRMATION:
return ICON_TYPE.SUCCESS;
case GlobalMessageType.MSG_TYPE_WARNING:
return ICON_TYPE.WARNING;
case GlobalMessageType.MSG_TYPE_ERROR:
return ICON_TYPE.ERROR;
case GlobalMessageType.MSG_TYPE_INFO:
return ICON_TYPE.INFO;
}
}
}
MessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: MessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
MessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: MessageComponent, selector: "cx-message", inputs: { text: "text", actionButtonText: "actionButtonText", accordionText: "accordionText", showBody: "showBody", isVisibleCloseButton: "isVisibleCloseButton", type: "type" }, outputs: { closeMessage: "closeMessage", buttonAction: "buttonAction" }, ngImport: i0, template: "<div [ngClass]=\"getCssClassesForMessage\" class=\"cx-message\">\n <div class=\"cx-message-content\">\n <div class=\"cx-message-header\">\n <span class=\"cx-message-icon\">\n <cx-icon [type]=\"getIconType\"></cx-icon>\n </span>\n\n <span class=\"cx-message-text\">\n {{ text }}\n <button\n *ngIf=\"accordionText\"\n (click)=\"showBody = !showBody\"\n class=\"cx-message-accordion-button link cx-action-link\"\n type=\"button\"\n >\n {{ accordionText }}\n <cx-icon\n [type]=\"showBody ? 'CARET_UP' : 'CARET_DOWN'\"\n class=\"cx-message-accordion-icon\"\n ></cx-icon>\n </button>\n <button\n *ngIf=\"actionButtonText\"\n (click)=\"buttonAction.emit()\"\n class=\"btn btn-link cx-action-link\"\n type=\"button\"\n >\n {{ actionButtonText }}\n </button>\n </span>\n\n <button\n *ngIf=\"isVisibleCloseButton\"\n (click)=\"closeMessage.emit()\"\n class=\"close\"\n type=\"button\"\n >\n <cx-icon [type]=\"iconTypes.CLOSE\"></cx-icon>\n </button>\n </div>\n\n <div *ngIf=\"showBody || !accordionText\" class=\"cx-message-body\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", components: [{ type: i1.IconComponent, selector: "cx-icon,[cxIcon]", inputs: ["cxIcon", "type"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: MessageComponent, decorators: [{
type: Component,
args: [{
selector: 'cx-message',
templateUrl: './message.component.html',
}]
}], ctorParameters: function () { return []; }, propDecorators: { text: [{
type: Input
}], actionButtonText: [{
type: Input
}], accordionText: [{
type: Input
}], showBody: [{
type: Input
}], isVisibleCloseButton: [{
type: Input
}], type: [{
type: Input
}], closeMessage: [{
type: Output
}], buttonAction: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdG9yZWZyb250bGliL2Ntcy1jb21wb25lbnRzL21pc2MvbWVzc2FnZS9tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0b3JlZnJvbnRsaWIvY21zLWNvbXBvbmVudHMvbWlzYy9tZXNzYWdlL21lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7QUFLekUsTUFBTSxPQUFPLGdCQUFnQjtJQTJCM0I7UUFoQkEsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQix5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFNNUIsaUJBQVksR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd0RCxpQkFBWSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXRELGNBQVMsR0FBRyxTQUFTLENBQUM7SUFFUCxDQUFDO0lBRWhCLElBQUksdUJBQXVCO1FBQ3pCLE9BQU87WUFDTCxvQkFBb0IsRUFDbEIsSUFBSSxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxxQkFBcUI7WUFDdkQsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxhQUFhO1lBQ2hFLG9CQUFvQixFQUFFLElBQUksQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsZ0JBQWdCO1lBQ3RFLG1CQUFtQixFQUFFLElBQUksQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUMsY0FBYztTQUNwRSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksV0FBVztRQUNiLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLGlCQUFpQixDQUFDLHFCQUFxQjtnQkFDMUMsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQzNCLEtBQUssaUJBQWlCLENBQUMsZ0JBQWdCO2dCQUNyQyxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDM0IsS0FBSyxpQkFBaUIsQ0FBQyxjQUFjO2dCQUNuQyxPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDekIsS0FBSyxpQkFBaUIsQ0FBQyxhQUFhO2dCQUNsQyxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUM7U0FDekI7SUFDSCxDQUFDOzs2R0FsRFUsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsNlNDUDdCLDAwQ0E4Q0E7MkZEdkNhLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsV0FBVyxFQUFFLDBCQUEwQjtpQkFDeEM7MEVBR0MsSUFBSTtzQkFESCxLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sb0JBQW9CO3NCQURuQixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixZQUFZO3NCQURYLE1BQU07Z0JBSVAsWUFBWTtzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdsb2JhbE1lc3NhZ2VUeXBlIH0gZnJvbSAnQHNwYXJ0YWN1cy9jb3JlJztcbmltcG9ydCB7IElDT05fVFlQRSB9IGZyb20gJy4uLy4uLy4uL2Ntcy1jb21wb25lbnRzL21pc2MvaWNvbi9pY29uLm1vZGVsJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N4LW1lc3NhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VDb21wb25lbnQge1xuICBASW5wdXQoKVxuICB0ZXh0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgYWN0aW9uQnV0dG9uVGV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGFjY29yZGlvblRleHQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzaG93Qm9keSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGlzVmlzaWJsZUNsb3NlQnV0dG9uID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICB0eXBlOiBHbG9iYWxNZXNzYWdlVHlwZTtcblxuICBAT3V0cHV0KClcbiAgY2xvc2VNZXNzYWdlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIGJ1dHRvbkFjdGlvbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGljb25UeXBlcyA9IElDT05fVFlQRTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZ2V0IGdldENzc0NsYXNzZXNGb3JNZXNzYWdlKCk6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2N4LW1lc3NhZ2Utc3VjY2Vzcyc6XG4gICAgICAgIHRoaXMudHlwZSA9PT0gR2xvYmFsTWVzc2FnZVR5cGUuTVNHX1RZUEVfQ09ORklSTUFUSU9OLFxuICAgICAgJ2N4LW1lc3NhZ2UtaW5mbyc6IHRoaXMudHlwZSA9PT0gR2xvYmFsTWVzc2FnZVR5cGUuTVNHX1RZUEVfSU5GTyxcbiAgICAgICdjeC1tZXNzYWdlLXdhcm5pbmcnOiB0aGlzLnR5cGUgPT09IEdsb2JhbE1lc3NhZ2VUeXBlLk1TR19UWVBFX1dBUk5JTkcsXG4gICAgICAnY3gtbWVzc2FnZS1kYW5nZXInOiB0aGlzLnR5cGUgPT09IEdsb2JhbE1lc3NhZ2VUeXBlLk1TR19UWVBFX0VSUk9SLFxuICAgIH07XG4gIH1cblxuICBnZXQgZ2V0SWNvblR5cGUoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBHbG9iYWxNZXNzYWdlVHlwZS5NU0dfVFlQRV9DT05GSVJNQVRJT046XG4gICAgICAgIHJldHVybiBJQ09OX1RZUEUuU1VDQ0VTUztcbiAgICAgIGNhc2UgR2xvYmFsTWVzc2FnZVR5cGUuTVNHX1RZUEVfV0FSTklORzpcbiAgICAgICAgcmV0dXJuIElDT05fVFlQRS5XQVJOSU5HO1xuICAgICAgY2FzZSBHbG9iYWxNZXNzYWdlVHlwZS5NU0dfVFlQRV9FUlJPUjpcbiAgICAgICAgcmV0dXJuIElDT05fVFlQRS5FUlJPUjtcbiAgICAgIGNhc2UgR2xvYmFsTWVzc2FnZVR5cGUuTVNHX1RZUEVfSU5GTzpcbiAgICAgICAgcmV0dXJuIElDT05fVFlQRS5JTkZPO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBbbmdDbGFzc109XCJnZXRDc3NDbGFzc2VzRm9yTWVzc2FnZVwiIGNsYXNzPVwiY3gtbWVzc2FnZVwiPlxuICA8ZGl2IGNsYXNzPVwiY3gtbWVzc2FnZS1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImN4LW1lc3NhZ2UtaGVhZGVyXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImN4LW1lc3NhZ2UtaWNvblwiPlxuICAgICAgICA8Y3gtaWNvbiBbdHlwZV09XCJnZXRJY29uVHlwZVwiPjwvY3gtaWNvbj5cbiAgICAgIDwvc3Bhbj5cblxuICAgICAgPHNwYW4gY2xhc3M9XCJjeC1tZXNzYWdlLXRleHRcIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJhY2NvcmRpb25UZXh0XCJcbiAgICAgICAgICAoY2xpY2spPVwic2hvd0JvZHkgPSAhc2hvd0JvZHlcIlxuICAgICAgICAgIGNsYXNzPVwiY3gtbWVzc2FnZS1hY2NvcmRpb24tYnV0dG9uIGxpbmsgY3gtYWN0aW9uLWxpbmtcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICA+XG4gICAgICAgICAge3sgYWNjb3JkaW9uVGV4dCB9fVxuICAgICAgICAgIDxjeC1pY29uXG4gICAgICAgICAgICBbdHlwZV09XCJzaG93Qm9keSA/ICdDQVJFVF9VUCcgOiAnQ0FSRVRfRE9XTidcIlxuICAgICAgICAgICAgY2xhc3M9XCJjeC1tZXNzYWdlLWFjY29yZGlvbi1pY29uXCJcbiAgICAgICAgICA+PC9jeC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiYWN0aW9uQnV0dG9uVGV4dFwiXG4gICAgICAgICAgKGNsaWNrKT1cImJ1dHRvbkFjdGlvbi5lbWl0KClcIlxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIGN4LWFjdGlvbi1saW5rXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGFjdGlvbkJ1dHRvblRleHQgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NwYW4+XG5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJpc1Zpc2libGVDbG9zZUJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJjbG9zZU1lc3NhZ2UuZW1pdCgpXCJcbiAgICAgICAgY2xhc3M9XCJjbG9zZVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgPlxuICAgICAgICA8Y3gtaWNvbiBbdHlwZV09XCJpY29uVHlwZXMuQ0xPU0VcIj48L2N4LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJzaG93Qm9keSB8fCAhYWNjb3JkaW9uVGV4dFwiIGNsYXNzPVwiY3gtbWVzc2FnZS1ib2R5XCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=