UNPKG

@clr/angular

Version:

Angular components for Clarity

1 lines 40.8 kB
{"version":3,"file":"clr-angular-emphasis-alert.mjs","sources":["../../../projects/angular/emphasis/alert/utils/alert-types.ts","../../../projects/angular/emphasis/alert/providers/icon-and-types.service.ts","../../../projects/angular/emphasis/alert/providers/multi-alert.service.ts","../../../projects/angular/emphasis/alert/alert.ts","../../../projects/angular/emphasis/alert/alert.html","../../../projects/angular/emphasis/alert/alert-item.ts","../../../projects/angular/emphasis/alert/alert-text.ts","../../../projects/angular/emphasis/alert/alerts-pager.ts","../../../projects/angular/emphasis/alert/alerts-pager.html","../../../projects/angular/emphasis/alert/alerts.ts","../../../projects/angular/emphasis/alert/alerts.html","../../../projects/angular/emphasis/alert/alert.module.ts","../../../projects/angular/emphasis/alert/index.ts","../../../projects/angular/emphasis/alert/clr-angular-emphasis-alert.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\n// @TODO Make this an enum\nexport const ALERT_TYPES: string[] = ['info', 'warning', 'danger', 'success', 'neutral', 'unknown', 'loading'];\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable } from '@angular/core';\nimport { ClrCommonStringsService } from '@clr/angular/utils';\n\nimport { AlertInfoObject } from '../utils/alert-info-object';\nimport { ALERT_TYPES } from '../utils/alert-types';\n\n@Injectable()\nexport class AlertIconAndTypesService {\n private defaultIconShape = 'info-standard';\n private _alertIconShape = '';\n private _alertType = 'info';\n\n constructor(private commonStrings: ClrCommonStringsService) {}\n\n get alertType(): string {\n return this._alertType;\n }\n set alertType(val: string) {\n if (ALERT_TYPES.indexOf(val) > -1) {\n this._alertType = val;\n }\n }\n\n get alertIconShape(): string {\n if ('' === this._alertIconShape) {\n return this.iconInfoFromType(this._alertType).shape;\n }\n return this._alertIconShape;\n }\n set alertIconShape(val: string) {\n if (!val) {\n this._alertIconShape = '';\n } else if (val !== this._alertIconShape) {\n this._alertIconShape = val;\n }\n }\n\n get alertIconTitle(): string {\n return this.iconInfoFromType(this._alertType).title;\n }\n\n iconInfoFromType(type: string): AlertInfoObject {\n const returnObj = { shape: '', cssClass: '', title: '' };\n\n switch (type) {\n case 'warning':\n returnObj.shape = 'warning-standard';\n returnObj.cssClass = 'alert-warning';\n returnObj.title = this.commonStrings.keys.warning;\n break;\n case 'danger':\n returnObj.shape = 'error-standard';\n returnObj.cssClass = 'alert-danger';\n returnObj.title = this.commonStrings.keys.danger;\n break;\n case 'success':\n returnObj.shape = 'success-standard';\n returnObj.cssClass = 'alert-success';\n returnObj.title = this.commonStrings.keys.success;\n break;\n case 'neutral':\n returnObj.shape = 'note';\n returnObj.cssClass = 'alert-neutral';\n returnObj.title = this.commonStrings.keys.neutral;\n break;\n case 'unknown':\n returnObj.shape = 'help';\n returnObj.cssClass = 'alert-neutral';\n returnObj.title = this.commonStrings.keys.unknown;\n break;\n case 'loading':\n returnObj.shape = 'loading';\n returnObj.cssClass = 'alert-neutral';\n returnObj.title = this.commonStrings.keys.unknown;\n break;\n default:\n returnObj.shape = this.defaultIconShape;\n returnObj.cssClass = 'alert-info';\n returnObj.title = this.commonStrings.keys.info;\n break;\n }\n\n return returnObj;\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable, QueryList } from '@angular/core';\nimport { Observable, Subject, Subscription } from 'rxjs';\n\nimport { ClrAlert } from '../alert';\n\n@Injectable()\nexport class MultiAlertService {\n private subscription: Subscription;\n private allAlerts: QueryList<ClrAlert>;\n private _change = new Subject<number>();\n private _current: number;\n\n /**\n * The Observable that lets other classes subscribe to changes\n */\n get changes(): Observable<number> {\n return this._change.asObservable();\n }\n\n get current() {\n return this._current;\n }\n set current(index: number) {\n if (index !== this._current) {\n this._current = index;\n this._change.next(index);\n }\n }\n\n get activeAlerts() {\n return this.allAlerts && this.allAlerts.filter(alert => !alert._closed);\n }\n\n get currentAlert() {\n return this.activeAlerts && this.activeAlerts[this.current];\n }\n set currentAlert(alert: ClrAlert) {\n this.current = this.activeAlerts.indexOf(alert);\n }\n\n get count() {\n return (this.activeAlerts && this.activeAlerts.length) || 0;\n }\n\n manage(alerts: QueryList<ClrAlert>) {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n this.allAlerts = alerts;\n // After receiving alerts' QueryList,\n // we are picking index 0 as current by default if a user hasn't any index\n this.current = typeof this._current === 'number' ? this._current : 0;\n // we have to also broadcast that initial index\n this._change.next(this.current);\n\n this.subscription = this.allAlerts.changes.subscribe(() => {\n if (this.current >= this.allAlerts.length) {\n this.current = Math.max(0, this.allAlerts.length - 1);\n }\n });\n }\n\n next() {\n this._current = this.current === this.activeAlerts.length - 1 ? 0 : this.current + 1;\n this._change.next(this._current);\n }\n\n previous() {\n if (this.activeAlerts.length === 0) {\n return;\n }\n this._current = this.current === 0 ? this.activeAlerts.length - 1 : this.current - 1;\n this._change.next(this._current);\n }\n\n open() {\n if (this.activeAlerts.length === 0) {\n return;\n }\n\n if (!this.currentAlert) {\n this._current = 0;\n }\n\n this._change.next(this._current);\n }\n\n close(isCurrentAlert: boolean) {\n if (this.activeAlerts.length === 0) {\n return;\n }\n\n if (isCurrentAlert) {\n this._current = Math.max(0, this.current - 1);\n }\n\n this._change.next(this._current);\n }\n\n destroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { ClrCommonStringsService } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\n\nimport { AlertIconAndTypesService } from './providers/icon-and-types.service';\nimport { MultiAlertService } from './providers/multi-alert.service';\n\n@Component({\n selector: 'clr-alert',\n providers: [AlertIconAndTypesService],\n templateUrl: './alert.html',\n standalone: false,\n})\nexport class ClrAlert implements OnInit, OnDestroy {\n @Input('clrAlertSizeSmall') isSmall = false;\n @Input('clrAlertClosable') closable = true;\n @Input('clrAlertAppLevel') isAppLevel = false;\n @Input() clrCloseButtonAriaLabel: string = this.commonStrings.keys.alertCloseButtonAriaLabel;\n\n @Output('clrAlertClosedChange') _closedChanged = new EventEmitter<boolean>(false);\n\n _closed = false;\n\n private _hidden: boolean;\n private subscriptions: Subscription[] = [];\n private _isLightweight = false;\n private _origAlertType: string;\n\n constructor(\n private iconService: AlertIconAndTypesService,\n private cdr: ChangeDetectorRef,\n @Optional() private multiAlertService: MultiAlertService,\n private commonStrings: ClrCommonStringsService,\n private renderer: Renderer2,\n private hostElement: ElementRef<HTMLElement>\n ) {}\n\n @Input('clrAlertLightweight')\n get isLightweight(): boolean {\n return this._isLightweight;\n }\n set isLightweight(val: boolean) {\n this._isLightweight = val;\n\n this.configAlertType(this._origAlertType);\n }\n\n @Input('clrAlertType')\n get alertType(): string {\n return this.iconService.alertType;\n }\n set alertType(val: string) {\n this._origAlertType = val;\n\n this.configAlertType(val);\n }\n\n @Input('clrAlertIcon')\n set alertIconShape(value: string) {\n this.iconService.alertIconShape = value;\n }\n\n @Input('clrAlertClosed')\n set closed(value: boolean) {\n if (value && !this._closed) {\n this.close();\n } else if (!value && this._closed) {\n this.open();\n }\n }\n\n get alertClass(): string {\n return this.iconService.iconInfoFromType(this.iconService.alertType).cssClass;\n }\n\n get hidden() {\n return this._hidden;\n }\n set hidden(value: boolean) {\n if (value !== this._hidden) {\n this._hidden = value;\n\n // CDE-1249 @HostBinding('class.alert-hidden') decoration will raise error in console https://angular.io/errors/NG0100\n if (this._hidden) {\n this.renderer.addClass(this.hostElement.nativeElement, 'alert-hidden');\n } else {\n this.renderer.removeClass(this.hostElement.nativeElement, 'alert-hidden');\n }\n this.cdr.detectChanges();\n }\n }\n\n ngOnInit() {\n if (this.multiAlertService) {\n this.subscriptions.push(\n this.multiAlertService.changes.subscribe(() => {\n this.hidden = this.multiAlertService.currentAlert !== this;\n })\n );\n }\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n\n configAlertType(val: string) {\n this.iconService.alertType = val;\n }\n\n open(): void {\n this._closed = false;\n if (this.multiAlertService) {\n this.multiAlertService.open();\n }\n this._closedChanged.emit(false);\n }\n\n close(): void {\n if (!this.closable) {\n return;\n }\n const isCurrentAlert = this.multiAlertService?.currentAlert === this;\n this._closed = true;\n if (this.multiAlertService?.activeAlerts) {\n this.multiAlertService.close(isCurrentAlert);\n }\n this._closedChanged.emit(true);\n }\n}\n","<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n@if (!_closed) {\n<div\n class=\"alert\"\n [ngClass]=\"alertClass\"\n [class.alert-sm]=\"isSmall\"\n [class.alert-lightweight]=\"isLightweight\"\n [class.alert-app-level]=\"isAppLevel\"\n>\n <div class=\"alert-items\">\n <ng-content></ng-content>\n </div>\n @if (closable) {\n <button type=\"button\" class=\"close\" (click)=\"close()\" [attr.aria-label]=\"clrCloseButtonAriaLabel\">\n <cds-icon shape=\"times\"></cds-icon>\n </button>\n }\n</div>\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\n\nimport { AlertIconAndTypesService } from './providers/icon-and-types.service';\n\n@Component({\n selector: 'clr-alert-item',\n template: `\n <div class=\"alert-icon-wrapper\">\n @if (iconService.alertIconShape === 'loading') {\n <clr-spinner class=\"alert-spinner\" clrInline></clr-spinner>\n }\n @if (iconService.alertIconShape !== 'loading') {\n <cds-icon\n class=\"alert-icon\"\n role=\"img\"\n [shape]=\"iconService.alertIconShape\"\n [attr.aria-label]=\"iconService.alertIconTitle\"\n ></cds-icon>\n }\n </div>\n <ng-content></ng-content>\n `,\n host: { class: 'alert-item' },\n standalone: false,\n})\nexport class ClrAlertItem {\n constructor(public iconService: AlertIconAndTypesService) {}\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive } from '@angular/core';\n\n/**\n * @remark\n * This directive is used only of selectin alert text.\n */\n@Directive({\n selector: '.alert-text',\n standalone: false,\n})\nexport class ClrAlertText {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { ClrCommonStringsService } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\n\nimport { ClrAlert } from './alert';\nimport { MultiAlertService } from './providers/multi-alert.service';\n\n@Component({\n selector: 'clr-alerts-pager',\n templateUrl: './alerts-pager.html',\n host: { '[class.alerts-pager]': 'true' },\n standalone: false,\n})\nexport class ClrAlertsPager implements OnInit, OnDestroy {\n @Output('clrCurrentAlertChange') currentAlertChange = new EventEmitter<ClrAlert>(false);\n @Output('clrCurrentAlertIndexChange') currentAlertIndexChange = new EventEmitter<number>();\n\n private multiAlertServiceChanges: Subscription;\n\n constructor(\n public multiAlertService: MultiAlertService,\n public commonStrings: ClrCommonStringsService\n ) {}\n\n /**\n * Input/Output to support two way binding on current alert instance\n */\n @Input('clrCurrentAlert')\n get currentAlert() {\n return this.multiAlertService.currentAlert;\n }\n set currentAlert(alert: ClrAlert) {\n if (alert) {\n this.multiAlertService.currentAlert = alert;\n }\n }\n\n /**\n * Input/Output to support two way binding on current alert index\n */\n @Input('clrCurrentAlertIndex')\n get currentAlertIndex() {\n return this.multiAlertService.current;\n }\n set currentAlertIndex(index: number) {\n this.multiAlertService.current = index;\n }\n\n protected get previousAlertAriaLabel() {\n const CURRENT = this.currentAlertIndex + 1;\n return this.commonStrings.parse(this.commonStrings.keys.alertPreviousAlertAriaLabel, {\n CURRENT: (CURRENT === 1 ? this.multiAlertService.count : CURRENT - 1).toString(),\n COUNT: this.multiAlertService.count.toString(),\n });\n }\n\n protected get nextAlertAriaLabel() {\n const CURRENT = this.currentAlertIndex + 1;\n return this.commonStrings.parse(this.commonStrings.keys.alertNextAlertAriaLabel, {\n CURRENT: (CURRENT === this.multiAlertService.count ? 1 : CURRENT + 1).toString(),\n COUNT: this.multiAlertService.count.toString(),\n });\n }\n\n ngOnInit() {\n this.multiAlertServiceChanges = this.multiAlertService.changes.subscribe(index => {\n this.currentAlertIndexChange.emit(index);\n this.currentAlertChange.emit(this.multiAlertService.activeAlerts[index]);\n });\n }\n\n ngOnDestroy() {\n this.multiAlertServiceChanges.unsubscribe();\n }\n\n pageUp() {\n this.multiAlertService.next();\n }\n\n pageDown() {\n this.multiAlertService.previous();\n }\n}\n","<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div class=\"alerts-pager-control\">\n <div class=\"alerts-page-down\">\n <button class=\"alerts-pager-button\" type=\"button\" (click)=\"pageDown()\" [attr.aria-label]=\"previousAlertAriaLabel\">\n <cds-icon shape=\"angle\" direction=\"left\" [attr.title]=\"commonStrings.keys.previous\"></cds-icon>\n </button>\n </div>\n <div class=\"alerts-pager-text\">{{multiAlertService.current+1}} / {{multiAlertService.count}}</div>\n <div class=\"alerts-page-up\">\n <button class=\"alerts-pager-button\" type=\"button\" (click)=\"pageUp()\" [attr.aria-label]=\"nextAlertAriaLabel\">\n <cds-icon shape=\"angle\" direction=\"right\" [attr.title]=\"commonStrings.keys.next\"></cds-icon>\n </button>\n </div>\n</div>\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ClrAlert } from './alert';\nimport { MultiAlertService } from './providers/multi-alert.service';\n\n@Component({\n selector: 'clr-alerts',\n templateUrl: './alerts.html',\n providers: [MultiAlertService],\n host: {\n '[class.alerts]': 'true',\n '[class.alert-danger]': \"this.currentAlertType == 'danger'\",\n '[class.alert-info]': \"this.currentAlertType == 'info'\",\n '[class.alert-success]': \"this.currentAlertType == 'success'\",\n '[class.alert-warning]': \"this.currentAlertType == 'warning'\",\n '[class.alert-neutral]': \"this.currentAlertType == 'neutral'\",\n },\n styles: [':host { display: block }'],\n standalone: false,\n})\nexport class ClrAlerts implements AfterContentInit, OnDestroy {\n @Output('clrCurrentAlertChange') currentAlertChange = new EventEmitter<ClrAlert>(false);\n @Output('clrCurrentAlertIndexChange') currentAlertIndexChange = new EventEmitter<number>(false);\n\n private subscriptions: Subscription[] = [];\n\n constructor(public multiAlertService: MultiAlertService) {}\n\n @ContentChildren(ClrAlert)\n set allAlerts(value: QueryList<ClrAlert>) {\n this.multiAlertService.manage(value); // provide alerts\n }\n\n /**\n * Input/Output to support two way binding on current alert index\n */\n @Input('clrCurrentAlertIndex')\n set _inputCurrentIndex(index: number) {\n if (Number.isInteger(index) && index >= 0) {\n this.multiAlertService.current = index;\n }\n }\n\n get currentAlertIndex() {\n return this.multiAlertService.current;\n }\n set currentAlertIndex(index: number) {\n this.multiAlertService.current = index;\n }\n\n /**\n * Input/Output to support two way binding on current alert instance\n */\n @Input('clrCurrentAlert')\n get currentAlert() {\n return this.multiAlertService.currentAlert;\n }\n set currentAlert(alert: ClrAlert) {\n if (alert) {\n this.multiAlertService.currentAlert = alert;\n }\n }\n\n /**\n * Ensure we are only dealing with alerts that have not been closed yet\n */\n get alerts() {\n return this.allAlerts.filter(alert => {\n return alert.hidden === false;\n });\n }\n\n get currentAlertType(): string {\n if (this.multiAlertService.currentAlert) {\n return this.multiAlertService.currentAlert.alertType;\n }\n return '';\n }\n\n ngAfterContentInit() {\n this.subscriptions.push(\n this.multiAlertService.changes.subscribe(index => {\n this.currentAlertIndexChange.emit(index);\n this.currentAlertChange.emit(this.multiAlertService.currentAlert);\n })\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n this.multiAlertService.destroy();\n }\n}\n","<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n<div class=\"alerts-wrapper\">\n @if (multiAlertService.count > 1) {\n <clr-alerts-pager [clrCurrentAlertIndex]=\"currentAlertIndex\"></clr-alerts-pager>\n }\n <ng-content select=\"clr-alert\"></ng-content>\n</div>\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport {\n ClarityIcons,\n ClrIcon,\n errorStandardIcon,\n helpIcon,\n infoStandardIcon,\n noteIcon,\n successStandardIcon,\n warningStandardIcon,\n windowCloseIcon,\n} from '@clr/angular/icon';\nimport { ClrDropdownModule } from '@clr/angular/popover/dropdown';\nimport { ClrSpinnerModule } from '@clr/angular/progress/spinner';\n\nimport { ClrAlert } from './alert';\nimport { ClrAlertItem } from './alert-item';\nimport { ClrAlertText } from './alert-text';\nimport { ClrAlerts } from './alerts';\nimport { ClrAlertsPager } from './alerts-pager';\n\nexport const CLR_ALERT_DIRECTIVES: Type<any>[] = [ClrAlert, ClrAlertItem, ClrAlerts, ClrAlertsPager, ClrAlertText];\n\n@NgModule({\n imports: [CommonModule, ClrIcon, ClrDropdownModule, ClrSpinnerModule],\n declarations: [CLR_ALERT_DIRECTIVES],\n exports: [CLR_ALERT_DIRECTIVES],\n})\nexport class ClrAlertModule {\n constructor() {\n ClarityIcons.addIcons(\n errorStandardIcon,\n helpIcon,\n infoStandardIcon,\n noteIcon,\n successStandardIcon,\n warningStandardIcon,\n windowCloseIcon\n );\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './alert';\nexport * from './alert-item';\nexport * from './alert-text';\nexport * from './alerts';\nexport * from './alerts-pager';\nexport * from './alert.module';\nexport * from './utils/alert-types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.AlertIconAndTypesService","i2.MultiAlertService","i3","i2","i1.MultiAlertService","i2.ClrAlertsPager"],"mappings":"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"}