primeng
Version:
PrimeNG is an open source UI library for Angular featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeB
1 lines • 31.1 kB
Source Map (JSON)
{"version":3,"file":"primeng-message.mjs","sources":["../../src/message/style/messagestyle.ts","../../src/message/message.ts","../../src/message/primeng-message.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-message {\n border-radius: ${dt('message.border.radius')};\n outline-width: ${dt('message.border.width')};\n outline-style: solid;\n}\n\n.p-message-content {\n display: flex;\n align-items: center;\n padding: ${dt('message.content.padding')};\n gap: ${dt('message.content.gap')};\n height: 100%;\n}\n\n.p-message-icon {\n flex-shrink: 0;\n}\n\n.p-message-close-button {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n margin-inline-start: auto;\n overflow: hidden;\n position: relative;\n width: ${dt('message.close.button.width')};\n height: ${dt('message.close.button.height')};\n border-radius: ${dt('message.close.button.border.radius')};\n background: transparent;\n transition: background ${dt('message.transition.duration')}, color ${dt('message.transition.duration')}, outline-color ${dt('message.transition.duration')}, box-shadow ${dt('message.transition.duration')}, opacity 0.3s;\n outline-color: transparent;\n color: inherit;\n padding: 0;\n border: none;\n cursor: pointer;\n user-select: none;\n}\n\n.p-message-close-icon {\n font-size: ${dt('message.close.icon.size')};\n width: ${dt('message.close.icon.size')};\n height: ${dt('message.close.icon.size')};\n}\n\n.p-message-close-button:focus-visible {\n outline-width: ${dt('message.close.button.focus.ring.width')};\n outline-style: ${dt('message.close.button.focus.ring.style')};\n outline-offset: ${dt('message.close.button.focus.ring.offset')};\n}\n\n.p-message-info {\n background: ${dt('message.info.background')};\n outline-color: ${dt('message.info.border.color')};\n color: ${dt('message.info.color')};\n box-shadow: ${dt('message.info.shadow')};\n}\n\n.p-message-info .p-message-close-button:focus-visible {\n outline-color: ${dt('message.info.close.button.focus.ring.color')};\n box-shadow: ${dt('message.info.close.button.focus.ring.shadow')};\n}\n\n.p-message-info .p-message-close-button:hover {\n background: ${dt('message.info.close.button.hover.background')};\n}\n\n.p-message-info.p-message-outlined {\n color: ${dt('message.info.outlined.color')};\n outline-color: ${dt('message.info.outlined.border.color')};\n}\n\n.p-message-info.p-message-simple {\n color: ${dt('message.info.simple.color')};\n}\n\n.p-message-success {\n background: ${dt('message.success.background')};\n outline-color: ${dt('message.success.border.color')};\n color: ${dt('message.success.color')};\n box-shadow: ${dt('message.success.shadow')};\n}\n\n.p-message-success .p-message-close-button:focus-visible {\n outline-color: ${dt('message.success.close.button.focus.ring.color')};\n box-shadow: ${dt('message.success.close.button.focus.ring.shadow')};\n}\n\n.p-message-success .p-message-close-button:hover {\n background: ${dt('message.success.close.button.hover.background')};\n}\n\n.p-message-success.p-message-outlined {\n color: ${dt('message.success.outlined.color')};\n outline-color: ${dt('message.success.outlined.border.color')};\n}\n\n.p-message-success.p-message-simple {\n color: ${dt('message.success.simple.color')};\n}\n\n.p-message-warn {\n background: ${dt('message.warn.background')};\n outline-color: ${dt('message.warn.border.color')};\n color: ${dt('message.warn.color')};\n box-shadow: ${dt('message.warn.shadow')};\n}\n\n.p-message-warn .p-message-close-button:focus-visible {\n outline-color: ${dt('message.warn.close.button.focus.ring.color')};\n box-shadow: ${dt('message.warn.close.button.focus.ring.shadow')};\n}\n\n.p-message-warn .p-message-close-button:hover {\n background: ${dt('message.warn.close.button.hover.background')};\n}\n\n.p-message-warn.p-message-outlined {\n color: ${dt('message.warn.outlined.color')};\n outline-color: ${dt('message.warn.outlined.border.color')};\n}\n\n.p-message-warn.p-message-simple {\n color: ${dt('message.warn.simple.color')};\n}\n\n.p-message-error {\n background: ${dt('message.error.background')};\n outline-color: ${dt('message.error.border.color')};\n color: ${dt('message.error.color')};\n box-shadow: ${dt('message.error.shadow')};\n}\n\n.p-message-error .p-message-close-button:focus-visible {\n outline-color: ${dt('message.error.close.button.focus.ring.color')};\n box-shadow: ${dt('message.error.close.button.focus.ring.shadow')};\n}\n\n.p-message-error .p-message-close-button:hover {\n background: ${dt('message.error.close.button.hover.background')};\n}\n\n.p-message-error.p-message-outlined {\n color: ${dt('message.error.outlined.color')};\n outline-color: ${dt('message.error.outlined.border.color')};\n}\n\n.p-message-error.p-message-simple {\n color: ${dt('message.error.simple.color')};\n}\n\n.p-message-secondary {\n background: ${dt('message.secondary.background')};\n outline-color: ${dt('message.secondary.border.color')};\n color: ${dt('message.secondary.color')};\n box-shadow: ${dt('message.secondary.shadow')};\n}\n\n.p-message-secondary .p-message-close-button:focus-visible {\n outline-color: ${dt('message.secondary.close.button.focus.ring.color')};\n box-shadow: ${dt('message.secondary.close.button.focus.ring.shadow')};\n}\n\n.p-message-secondary .p-message-close-button:hover {\n background: ${dt('message.secondary.close.button.hover.background')};\n}\n\n.p-message-secondary.p-message-outlined {\n color: ${dt('message.secondary.outlined.color')};\n outline-color: ${dt('message.secondary.outlined.border.color')};\n}\n\n.p-message-secondary.p-message-simple {\n color: ${dt('message.secondary.simple.color')};\n}\n\n.p-message-contrast {\n background: ${dt('message.contrast.background')};\n outline-color: ${dt('message.contrast.border.color')};\n color: ${dt('message.contrast.color')};\n box-shadow: ${dt('message.contrast.shadow')};\n}\n\n.p-message-contrast .p-message-close-button:focus-visible {\n outline-color: ${dt('message.contrast.close.button.focus.ring.color')};\n box-shadow: ${dt('message.contrast.close.button.focus.ring.shadow')};\n}\n\n.p-message-contrast .p-message-close-button:hover {\n background: ${dt('message.contrast.close.button.hover.background')};\n}\n\n.p-message-contrast.p-message-outlined {\n color: ${dt('message.contrast.outlined.color')};\n outline-color: ${dt('message.contrast.outlined.border.color')};\n}\n\n.p-message-contrast.p-message-simple {\n color: ${dt('message.contrast.simple.color')};\n}\n\n.p-message-text {\n display: inline-flex;\n align-items: center;\n font-size: ${dt('message.text.font.size')};\n font-weight: ${dt('message.text.font.weight')};\n}\n\n.p-message-icon {\n font-size: ${dt('message.icon.size')};\n width: ${dt('message.icon.size')};\n height: ${dt('message.icon.size')};\n}\n\n.p-message-enter-from {\n opacity: 0;\n}\n\n.p-message-enter-active {\n transition: opacity 0.3s;\n}\n\n.p-message.p-message-leave-from {\n max-height: 1000px;\n}\n\n.p-message.p-message-leave-to {\n max-height: 0;\n opacity: 0;\n margin: 0;\n}\n\n.p-message-leave-active {\n overflow: hidden;\n transition: max-height 0.45s cubic-bezier(0, 1, 0, 1), opacity 0.3s, margin 0.3s;\n}\n\n.p-message-leave-active .p-message-close-button {\n opacity: 0;\n}\n\n.p-message-sm .p-message-content {\n padding: ${dt('message.content.sm.padding')};\n}\n\n.p-message-sm .p-message-text {\n font-size: ${dt('message.text.sm.font.size')};\n}\n\n.p-message-sm .p-message-icon {\n font-size: ${dt('message.icon.sm.size')};\n width: ${dt('message.icon.sm.size')};\n height: ${dt('message.icon.sm.size')};\n}\n\n.p-message-sm .p-message-close-icon {\n font-size: ${dt('message.close.icon.sm.size')};\n width: ${dt('message.close.icon.sm.size')};\n height: ${dt('message.close.icon.sm.size')};\n}\n\n.p-message-lg .p-message-content {\n padding: ${dt('message.content.lg.padding')};\n}\n\n.p-message-lg .p-message-text {\n font-size: ${dt('message.text.lg.font.size')};\n}\n\n.p-message-lg .p-message-icon {\n font-size: ${dt('message.icon.lg.size')};\n width: ${dt('message.icon.lg.size')};\n height: ${dt('message.icon.lg.size')};\n}\n\n.p-message-lg .p-message-close-icon {\n font-size: ${dt('message.close.icon.lg.size')};\n width: ${dt('message.close.icon.lg.size')};\n height: ${dt('message.close.icon.lg.size')};\n}\n\n.p-message-outlined {\n background: transparent;\n outline-width: ${dt('message.outlined.border.width')};\n}\n\n.p-message-simple {\n background: transparent;\n outline-color: transparent;\n box-shadow: none;\n}\n\n.p-message-simple .p-message-content {\n padding: ${dt('message.simple.content.padding')};\n}\n\n.p-message-outlined .p-message-close-button:hover,\n.p-message-simple .p-message-close-button:hover {\n background: transparent;\n}`;\n\nconst classes = {\n root: ({ props }) => ['p-message p-component p-message-' + props.severity, { 'p-message-simple': props.variant === 'simple' }],\n content: 'p-message-content',\n icon: 'p-message-icon',\n text: 'p-message-text',\n closeButton: 'p-message-close-button',\n closeIcon: 'p-message-close-icon'\n};\n\n@Injectable()\nexport class MessageStyle extends BaseStyle {\n name = 'message';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * Message groups a collection of contents in tabs.\n *\n * [Live Demo](https://www.primeng.org/message/)\n *\n * @module messagestyle\n *\n */\n\nexport enum MessageClasses {\n /**\n * Class name of the root element\n */\n root = 'p-message',\n /**\n * Class name of the content element\n */\n content = 'p-message-content',\n /**\n * Class name of the icon element\n */\n icon = 'p-message-icon',\n /**\n * Class name of the text element\n */\n text = 'p-message-text',\n /**\n * Class name of the close button element\n */\n closeButton = 'p-message-close-button',\n /**\n * Class name of the close icon element\n */\n closeIcon = 'p-message-close-icon'\n}\n\nexport interface MessageStyle extends BaseStyle {}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { AfterContentInit, booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, inject, Input, NgModule, Output, QueryList, signal, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { TimesIcon } from 'primeng/icons';\nimport { Ripple } from 'primeng/ripple';\nimport { MessageStyle } from './style/messagestyle';\n\n/**\n * Message groups a collection of contents in tabs.\n * @group Components\n */\n@Component({\n selector: 'p-message',\n standalone: true,\n imports: [CommonModule, TimesIcon, Ripple, SharedModule],\n template: `\n @if (visible()) {\n <div\n class=\"p-message p-component\"\n [attr.aria-live]=\"'polite'\"\n [ngClass]=\"containerClass\"\n [attr.role]=\"'alert'\"\n [@messageAnimation]=\"{\n value: 'visible()',\n params: {\n showTransitionParams: showTransitionOptions,\n hideTransitionParams: hideTransitionOptions\n }\n }\"\n >\n <div class=\"p-message-content\">\n @if (iconTemplate || _iconTemplate) {\n <ng-container *ngTemplateOutlet=\"iconTemplate || iconTemplate\"></ng-container>\n }\n @if (icon) {\n <i class=\"p-message-icon\" [ngClass]=\"icon\"></i>\n }\n\n <div *ngIf=\"!escape; else escapeOut\">\n <span *ngIf=\"!escape\" [ngClass]=\"cx('text')\" [innerHTML]=\"text\"></span>\n </div>\n\n <ng-template #escapeOut>\n <span *ngIf=\"escape && text\" [ngClass]=\"cx('text')\">{{ text }}</span>\n </ng-template>\n\n @if (containerTemplate || _containerTemplate) {\n <ng-container *ngTemplateOutlet=\"containerTemplate || containerTemplate; context: { closeCallback: close.bind(this) }\"></ng-container>\n } @else {\n <span [ngClass]=\"cx('text')\">\n <ng-content></ng-content>\n </span>\n }\n @if (closable) {\n <button pRipple type=\"button\" class=\"p-message-close-button\" (click)=\"close($event)\" [attr.aria-label]=\"closeAriaLabel\">\n @if (closeIcon) {\n <i class=\"p-message-close-icon\" [ngClass]=\"closeIcon\"></i>\n }\n @if (closeIconTemplate || _closeIconTemplate) {\n <ng-container *ngTemplateOutlet=\"closeIconTemplate || _closeIconTemplate\"></ng-container>\n }\n @if (!closeIconTemplate && !_closeIconTemplate && !closeIcon) {\n <TimesIcon styleClass=\"p-message-close-icon\" />\n }\n </button>\n }\n </div>\n </div>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [MessageStyle],\n animations: [\n trigger('messageAnimation', [\n transition(':enter', [style({ opacity: 0, transform: 'translateY(-25%)' }), animate('{{showTransitionParams}}')]),\n transition(':leave', [\n animate(\n '{{hideTransitionParams}}',\n style({\n height: 0,\n marginTop: 0,\n marginBottom: 0,\n marginLeft: 0,\n marginRight: 0,\n opacity: 0\n })\n )\n ])\n ])\n ]\n})\nexport class Message extends BaseComponent implements AfterContentInit {\n /**\n * Severity level of the message.\n * @defaultValue 'info'\n * @group Props\n */\n @Input() severity: string | 'success' | 'info' | 'warn' | 'error' | 'secondary' | 'contrast' | undefined | null = 'info';\n /**\n * Text content.\n * @group Props\n */\n @Input() text: string | undefined;\n /**\n * Whether displaying messages would be escaped or not.\n * @deprecated Use content projection instead '<p-message>Content</p-message>'.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) escape: boolean = true;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Whether the message can be closed manually using the close icon.\n * @group Props\n * @defaultValue false\n */\n @Input({ transform: booleanAttribute }) closable: boolean = false;\n /**\n * Icon to display in the message.\n * @group Props\n * @defaultValue undefined\n */\n @Input() icon: string | undefined;\n /**\n * Icon to display in the message close button.\n * @group Props\n * @defaultValue undefined\n */\n @Input() closeIcon: string | undefined;\n /**\n * Delay in milliseconds to close the message automatically.\n * @defaultValue undefined\n */\n @Input() life: number | undefined;\n /**\n * Transition options of the show animation.\n * @defaultValue '300ms ease-out'\n * @group Props\n */\n @Input() showTransitionOptions: string = '300ms ease-out';\n /**\n * Transition options of the hide animation.\n * @defaultValue '200ms cubic-bezier(0.86, 0, 0.07, 1)'\n * @group Props\n */\n @Input() hideTransitionOptions: string = '200ms cubic-bezier(0.86, 0, 0.07, 1)';\n /**\n * Defines the size of the component.\n * @group Props\n */\n @Input() size: 'large' | 'small' | undefined;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'outlined' | 'text' | 'simple' | undefined;\n /**\n * Emits when the message is closed.\n * @param {{ originalEvent: Event }} event - The event object containing the original event.\n * @group Emits\n */\n @Output() onClose: EventEmitter<{ originalEvent: Event }> = new EventEmitter<{ originalEvent: Event }>();\n\n get closeAriaLabel() {\n return this.config.translation.aria ? this.config.translation.aria.close : undefined;\n }\n\n get containerClass(): string {\n const variantClass = this.variant === 'outlined' ? 'p-message-outlined' : this.variant === 'simple' ? 'p-message-simple' : '';\n const sizeClass = this.size === 'small' ? 'p-message-sm' : this.size === 'large' ? 'p-message-lg' : '';\n\n return `p-message-${this.severity} ${variantClass} ${sizeClass}`.trim() + (this.styleClass ? ' ' + this.styleClass : '');\n }\n visible = signal<boolean>(true);\n\n _componentStyle = inject(MessageStyle);\n\n /**\n * Custom template of the message container.\n * @group Templates\n */\n @ContentChild('container', { descendants: false }) containerTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom template of the message icon.\n * @group Templates\n */\n @ContentChild('icon', { descendants: false }) iconTemplate: TemplateRef<any> | undefined;\n\n /**\n * Custom template of the close icon.\n * @group Templates\n */\n @ContentChild('closeicon', { descendants: false }) closeIconTemplate: TemplateRef<any> | undefined;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n _containerTemplate: TemplateRef<any> | undefined;\n\n _iconTemplate: TemplateRef<any> | undefined;\n\n _closeIconTemplate: TemplateRef<any> | undefined;\n\n ngOnInit() {\n super.ngOnInit();\n if (this.life) {\n setTimeout(() => {\n this.visible.set(false);\n }, this.life);\n }\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'container':\n this._containerTemplate = item.template;\n break;\n\n case 'icon':\n this._iconTemplate = item.template;\n break;\n\n case 'closeicon':\n this._closeIconTemplate = item.template;\n break;\n }\n });\n }\n\n /**\n * Closes the message.\n * @param {Event} event - Browser event.\n * @group Method\n */\n public close(event: Event) {\n this.visible.set(false);\n this.onClose.emit({ originalEvent: event });\n }\n}\n\n@NgModule({\n imports: [Message, SharedModule],\n exports: [Message, SharedModule]\n})\nexport class MessageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}