novo-elements 12.0.0 → 12.0.1-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -190,8 +190,7 @@ const DEFAULT_CONFIG = {
190
190
  };
191
191
  class NovoModalService {
192
192
  set parentViewContainer(view) {
193
- console.warn('parentViewContainer is deprecated');
194
- this._parentViewContainer = view;
193
+ console.warn('parentViewContainer is deprecated - will be ignored');
195
194
  }
196
195
  constructor(injector, overlay) {
197
196
  this.injector = injector;
@@ -1 +1 @@
1
- {"version":3,"file":"novo-elements-elements-modal.mjs","sources":["../../../projects/novo-elements/src/elements/modal/modal-ref.ts","../../../projects/novo-elements/src/elements/modal/modal.animation.ts","../../../projects/novo-elements/src/elements/modal/modal-container.component.ts","../../../projects/novo-elements/src/elements/modal/modal-container.component.html","../../../projects/novo-elements/src/elements/modal/modal.component.ts","../../../projects/novo-elements/src/elements/modal/modal.service.ts","../../../projects/novo-elements/src/elements/modal/modal.module.ts","../../../projects/novo-elements/src/elements/modal/novo-elements-elements-modal.ts"],"sourcesContent":["import { OverlayRef } from '@angular/cdk/overlay';\nimport { Observable, Subject } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\nimport { NovoModalContainerComponent } from './modal-container.component';\n\n/**\n * Params that can be passed to the Modal\n */\n\nexport interface ModalParams {\n [propName: string]: any;\n}\nexport class NovoModalParams implements ModalParams {}\n\nexport class NovoModalRef<T = any, R = any> {\n constructor(public component: any, public params: T, private overlayRef: OverlayRef) {}\n\n private _beforeClose = new Subject<R>();\n private _afterClosed = new Subject<R>();\n\n componentInstance: NovoModalContainerComponent;\n isClosed: boolean = false;\n\n // Gets a promise that is resolved when the dialog is closed.\n get onClosed(): Promise<R> {\n return this._afterClosed.toPromise();\n }\n\n afterClosed(): Observable<R> {\n return this._afterClosed.asObservable();\n }\n\n beforeClose(): Observable<R> {\n return this._beforeClose.asObservable();\n }\n\n close(result?: R): void {\n // Listen for animation 'start' events\n this.componentInstance.animationStateChanged\n .pipe(\n filter((event) => event.phaseName === 'start'),\n take(1),\n )\n .subscribe(() => {\n this._beforeClose.next(result);\n this._beforeClose.complete();\n this.overlayRef.detachBackdrop();\n });\n\n // Listen for animation 'done' events\n this.componentInstance.animationStateChanged\n .pipe(\n filter((event) => event.phaseName === 'done' && event.toState === 'leave'),\n take(1),\n )\n .subscribe(() => {\n this.isClosed = true;\n this.overlayRef.dispose();\n this._afterClosed.next(result);\n this._afterClosed.complete();\n // Make sure to also clear the reference to the\n // component instance to avoid memory leaks\n this.componentInstance = null;\n });\n\n // Start exit animation\n this.componentInstance.startExitAnimation();\n }\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const zoomInOut = trigger('zoomInOut', [\n transition('void => *', [style({ transform: 'scale3d(.3, .3, .3)' }), animate(50)]),\n transition('* => void', [animate(50, style({ transform: 'scale3d(.0, .0, .0)' }))]),\n]);\n","import { AnimationEvent } from '@angular/animations';\nimport { ComponentPortal, Portal } from '@angular/cdk/portal';\nimport { Component, EventEmitter, HostBinding, Injector, Output } from '@angular/core';\nimport { NovoModalRef } from './modal-ref';\nimport { zoomInOut } from './modal.animation';\n\n@Component({\n selector: 'novo-modal-container',\n templateUrl: './modal-container.component.html',\n styleUrls: ['./modal-container.component.scss'],\n animations: [zoomInOut],\n standalone: false,\n})\nexport class NovoModalContainerComponent {\n @Output() animationStateChanged = new EventEmitter<AnimationEvent>();\n animationState: 'void' | 'enter' | 'leave' = 'enter';\n component: Portal<any>;\n initTimestamp = Date.now();\n @HostBinding('id') id = `modal-container-${this.initTimestamp}`;\n\n constructor(private injector: Injector, private modalRef: NovoModalRef) {\n this.component = new ComponentPortal(modalRef.component, null, injector);\n }\n\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n onAnimationDone(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n startExitAnimation() {\n this.animationState = 'leave';\n }\n}\n","<div class=\"modal-container\"\n [@zoomInOut]=\"animationState\"\n (@zoomInOut.start)=\"onAnimationStart($event)\"\n (@zoomInOut.done)=\"onAnimationDone($event)\">\n <ng-template [cdkPortalOutlet]=\"component\"></ng-template>\n</div>","// NG2\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NovoModalRef } from './modal-ref';\n\n@Component({\n selector: 'novo-modal',\n template: `\n <ng-content select=\"header,novo-header,novo-card-header\"></ng-content>\n <ng-content select=\"section,novo-card-content\"></ng-content>\n <footer class=\"novo-modal-footer\"><ng-content select=\"button,novo-button\"></ng-content></footer>\n `,\n styleUrls: ['./modal.component.scss'],\n host: {\n class: 'novo-modal',\n },\n standalone: false,\n})\nexport class NovoModalElement {\n constructor(private modalRef: NovoModalRef) {}\n}\n\n@Component({\n selector: 'novo-notification',\n template: `\n <novo-button class=\"modal-close\" theme=\"icon\" icon=\"x\" (click)=\"close()\"></novo-button>\n <header class=\"novo-notification-header\"><ng-content select=\"label,novo-label\"></ng-content></header>\n <section class=\"novo-notification-body notification-body\">\n <i class=\"indicator\" [ngClass]=\"iconType\" *ngIf=\"iconType\"></i>\n <ng-content select=\"h1\"></ng-content>\n <ng-content select=\"h2\"></ng-content>\n <ng-content select=\"p\"></ng-content>\n </section>\n <footer class=\"novo-notification-footer\"><ng-content select=\"button,novo-button,novo-dropdown\"></ng-content></footer>\n `,\n styleUrls: ['./notification.component.scss'],\n host: {\n class: 'novo-notification',\n },\n standalone: false,\n})\nexport class NovoModalNotificationElement implements OnInit {\n @Input()\n type: string;\n @Input()\n icon: string;\n\n @Output()\n cancel: EventEmitter<any> = new EventEmitter();\n\n iconType: string;\n\n constructor(private modalRef: NovoModalRef) {\n this.modalRef = modalRef;\n }\n\n close() {\n this.cancel.emit();\n this.modalRef.close();\n }\n\n ngOnInit() {\n switch (this.type) {\n case 'success':\n this.iconType = 'bhi-check';\n break;\n case 'warning':\n this.iconType = 'bhi-caution-o';\n break;\n case 'error':\n this.iconType = 'bhi-caution-o';\n break;\n case 'custom':\n this.iconType = `bhi-${this.icon}`;\n break;\n default:\n break;\n }\n }\n}\n","// NG2\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, Injector, ViewContainerRef } from '@angular/core';\nimport { NovoModalContainerComponent } from './modal-container.component';\n// APP\nimport { NovoModalParams, NovoModalRef } from './modal-ref';\n\ninterface ModalConfig {\n panelClass?: string;\n hasBackdrop?: boolean;\n backdropClass?: string;\n}\n\nconst DEFAULT_CONFIG: ModalConfig = {\n hasBackdrop: true,\n backdropClass: 'modal-overlay-backdrop',\n panelClass: 'modal-overlay-panel',\n};\n\n@Injectable({ providedIn: 'root' })\nexport class NovoModalService {\n _parentViewContainer: ViewContainerRef;\n overlayRef: OverlayRef;\n\n set parentViewContainer(view: ViewContainerRef) {\n console.warn('parentViewContainer is deprecated');\n this._parentViewContainer = view;\n }\n\n constructor(private injector: Injector, private overlay: Overlay) {}\n\n open<T extends Record<string, any>>(component, params: Partial<T> = {}) {\n // Override default configuration\n const modalConfig = DEFAULT_CONFIG;\n\n // Returns an OverlayRef which is a PortalHost\n const overlayRef = this.createOverlay(modalConfig);\n this.overlayRef = overlayRef;\n\n // Instantiate remote control\n const modalRef = new NovoModalRef<typeof params>(component, params, overlayRef);\n\n const overlayComponent = this.attachModalContainer(NovoModalContainerComponent, overlayRef, modalConfig, modalRef);\n\n // Pass the instance of the overlay component to the remote control\n modalRef.componentInstance = overlayComponent;\n\n overlayRef.backdropClick().subscribe(() => modalRef.close());\n\n return modalRef;\n }\n\n private createOverlay(config: ModalConfig) {\n const overlayConfig = this.getOverlayConfig(config);\n return this.overlay.create(overlayConfig);\n }\n\n private attachModalContainer(component, overlayRef: OverlayRef, config: ModalConfig, modalRef: NovoModalRef) {\n const injector = this.createInjector(config, modalRef);\n const containerPortal = new ComponentPortal(component, null, injector);\n const containerRef: ComponentRef<any> = overlayRef.attach(containerPortal);\n\n return containerRef.instance;\n }\n\n private createInjector(config: ModalConfig, modalRef: NovoModalRef): Injector {\n return Injector.create({\n parent: this.injector,\n providers: [\n { provide: NovoModalRef, useValue: modalRef },\n // Support backwards compatability\n { provide: NovoModalParams, useValue: modalRef.params },\n ],\n });\n }\n\n private getOverlayConfig(config: ModalConfig): OverlayConfig {\n const positionStrategy = this.overlay.position().global().centerHorizontally().centerVertically();\n\n const overlayConfig = new OverlayConfig({\n positionStrategy,\n hasBackdrop: config.hasBackdrop,\n backdropClass: config.backdropClass,\n panelClass: config.panelClass,\n });\n\n return overlayConfig;\n }\n}\n","// NG2\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoModalContainerComponent } from './modal-container.component';\nimport { NovoModalElement, NovoModalNotificationElement } from './modal.component';\nimport { NovoModalService } from './modal.service';\n\n@NgModule({\n imports: [OverlayModule, PortalModule, CommonModule, NovoButtonModule],\n declarations: [NovoModalContainerComponent, NovoModalElement, NovoModalNotificationElement],\n exports: [NovoModalElement, NovoModalNotificationElement],\n providers: [NovoModalService],\n})\nexport class NovoModalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NovoModalRef","i2"],"mappings":"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"}
1
+ {"version":3,"file":"novo-elements-elements-modal.mjs","sources":["../../../projects/novo-elements/src/elements/modal/modal-ref.ts","../../../projects/novo-elements/src/elements/modal/modal.animation.ts","../../../projects/novo-elements/src/elements/modal/modal-container.component.ts","../../../projects/novo-elements/src/elements/modal/modal-container.component.html","../../../projects/novo-elements/src/elements/modal/modal.component.ts","../../../projects/novo-elements/src/elements/modal/modal.service.ts","../../../projects/novo-elements/src/elements/modal/modal.module.ts","../../../projects/novo-elements/src/elements/modal/novo-elements-elements-modal.ts"],"sourcesContent":["import { OverlayRef } from '@angular/cdk/overlay';\nimport { Observable, Subject } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\nimport { NovoModalContainerComponent } from './modal-container.component';\n\n/**\n * Params that can be passed to the Modal\n */\n\nexport interface ModalParams {\n [propName: string]: any;\n}\nexport class NovoModalParams implements ModalParams {}\n\nexport class NovoModalRef<T = any, R = any> {\n constructor(public component: any, public params: T, private overlayRef: OverlayRef) {}\n\n private _beforeClose = new Subject<R>();\n private _afterClosed = new Subject<R>();\n\n componentInstance: NovoModalContainerComponent;\n isClosed: boolean = false;\n\n // Gets a promise that is resolved when the dialog is closed.\n get onClosed(): Promise<R> {\n return this._afterClosed.toPromise();\n }\n\n afterClosed(): Observable<R> {\n return this._afterClosed.asObservable();\n }\n\n beforeClose(): Observable<R> {\n return this._beforeClose.asObservable();\n }\n\n close(result?: R): void {\n // Listen for animation 'start' events\n this.componentInstance.animationStateChanged\n .pipe(\n filter((event) => event.phaseName === 'start'),\n take(1),\n )\n .subscribe(() => {\n this._beforeClose.next(result);\n this._beforeClose.complete();\n this.overlayRef.detachBackdrop();\n });\n\n // Listen for animation 'done' events\n this.componentInstance.animationStateChanged\n .pipe(\n filter((event) => event.phaseName === 'done' && event.toState === 'leave'),\n take(1),\n )\n .subscribe(() => {\n this.isClosed = true;\n this.overlayRef.dispose();\n this._afterClosed.next(result);\n this._afterClosed.complete();\n // Make sure to also clear the reference to the\n // component instance to avoid memory leaks\n this.componentInstance = null;\n });\n\n // Start exit animation\n this.componentInstance.startExitAnimation();\n }\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const zoomInOut = trigger('zoomInOut', [\n transition('void => *', [style({ transform: 'scale3d(.3, .3, .3)' }), animate(50)]),\n transition('* => void', [animate(50, style({ transform: 'scale3d(.0, .0, .0)' }))]),\n]);\n","import { AnimationEvent } from '@angular/animations';\nimport { ComponentPortal, Portal } from '@angular/cdk/portal';\nimport { Component, EventEmitter, HostBinding, Injector, Output } from '@angular/core';\nimport { NovoModalRef } from './modal-ref';\nimport { zoomInOut } from './modal.animation';\n\n@Component({\n selector: 'novo-modal-container',\n templateUrl: './modal-container.component.html',\n styleUrls: ['./modal-container.component.scss'],\n animations: [zoomInOut],\n standalone: false,\n})\nexport class NovoModalContainerComponent {\n @Output() animationStateChanged = new EventEmitter<AnimationEvent>();\n animationState: 'void' | 'enter' | 'leave' = 'enter';\n component: Portal<any>;\n initTimestamp = Date.now();\n @HostBinding('id') id = `modal-container-${this.initTimestamp}`;\n\n constructor(private injector: Injector, private modalRef: NovoModalRef) {\n this.component = new ComponentPortal(modalRef.component, null, injector);\n }\n\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n onAnimationDone(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n startExitAnimation() {\n this.animationState = 'leave';\n }\n}\n","<div class=\"modal-container\"\n [@zoomInOut]=\"animationState\"\n (@zoomInOut.start)=\"onAnimationStart($event)\"\n (@zoomInOut.done)=\"onAnimationDone($event)\">\n <ng-template [cdkPortalOutlet]=\"component\"></ng-template>\n</div>","// NG2\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NovoModalRef } from './modal-ref';\n\n@Component({\n selector: 'novo-modal',\n template: `\n <ng-content select=\"header,novo-header,novo-card-header\"></ng-content>\n <ng-content select=\"section,novo-card-content\"></ng-content>\n <footer class=\"novo-modal-footer\"><ng-content select=\"button,novo-button\"></ng-content></footer>\n `,\n styleUrls: ['./modal.component.scss'],\n host: {\n class: 'novo-modal',\n },\n standalone: false,\n})\nexport class NovoModalElement {\n constructor(private modalRef: NovoModalRef) {}\n}\n\n@Component({\n selector: 'novo-notification',\n template: `\n <novo-button class=\"modal-close\" theme=\"icon\" icon=\"x\" (click)=\"close()\"></novo-button>\n <header class=\"novo-notification-header\"><ng-content select=\"label,novo-label\"></ng-content></header>\n <section class=\"novo-notification-body notification-body\">\n <i class=\"indicator\" [ngClass]=\"iconType\" *ngIf=\"iconType\"></i>\n <ng-content select=\"h1\"></ng-content>\n <ng-content select=\"h2\"></ng-content>\n <ng-content select=\"p\"></ng-content>\n </section>\n <footer class=\"novo-notification-footer\"><ng-content select=\"button,novo-button,novo-dropdown\"></ng-content></footer>\n `,\n styleUrls: ['./notification.component.scss'],\n host: {\n class: 'novo-notification',\n },\n standalone: false,\n})\nexport class NovoModalNotificationElement implements OnInit {\n @Input()\n type: string;\n @Input()\n icon: string;\n\n @Output()\n cancel: EventEmitter<any> = new EventEmitter();\n\n iconType: string;\n\n constructor(private modalRef: NovoModalRef) {\n this.modalRef = modalRef;\n }\n\n close() {\n this.cancel.emit();\n this.modalRef.close();\n }\n\n ngOnInit() {\n switch (this.type) {\n case 'success':\n this.iconType = 'bhi-check';\n break;\n case 'warning':\n this.iconType = 'bhi-caution-o';\n break;\n case 'error':\n this.iconType = 'bhi-caution-o';\n break;\n case 'custom':\n this.iconType = `bhi-${this.icon}`;\n break;\n default:\n break;\n }\n }\n}\n","// NG2\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, Injector, ViewContainerRef } from '@angular/core';\nimport { NovoModalContainerComponent } from './modal-container.component';\n// APP\nimport { NovoModalParams, NovoModalRef } from './modal-ref';\n\ninterface ModalConfig {\n panelClass?: string;\n hasBackdrop?: boolean;\n backdropClass?: string;\n}\n\nconst DEFAULT_CONFIG: ModalConfig = {\n hasBackdrop: true,\n backdropClass: 'modal-overlay-backdrop',\n panelClass: 'modal-overlay-panel',\n};\n\n@Injectable({ providedIn: 'root' })\nexport class NovoModalService {\n overlayRef: OverlayRef;\n\n set parentViewContainer(view: ViewContainerRef) {\n console.warn('parentViewContainer is deprecated - will be ignored');\n }\n\n constructor(private injector: Injector, private overlay: Overlay) {}\n\n open<T extends Record<string, any>>(component, params: Partial<T> = {}) {\n // Override default configuration\n const modalConfig = DEFAULT_CONFIG;\n\n // Returns an OverlayRef which is a PortalHost\n const overlayRef = this.createOverlay(modalConfig);\n this.overlayRef = overlayRef;\n\n // Instantiate remote control\n const modalRef = new NovoModalRef<typeof params>(component, params, overlayRef);\n\n const overlayComponent = this.attachModalContainer(NovoModalContainerComponent, overlayRef, modalConfig, modalRef);\n\n // Pass the instance of the overlay component to the remote control\n modalRef.componentInstance = overlayComponent;\n\n overlayRef.backdropClick().subscribe(() => modalRef.close());\n\n return modalRef;\n }\n\n private createOverlay(config: ModalConfig) {\n const overlayConfig = this.getOverlayConfig(config);\n return this.overlay.create(overlayConfig);\n }\n\n private attachModalContainer(component, overlayRef: OverlayRef, config: ModalConfig, modalRef: NovoModalRef) {\n const injector = this.createInjector(config, modalRef);\n const containerPortal = new ComponentPortal(component, null, injector);\n const containerRef: ComponentRef<any> = overlayRef.attach(containerPortal);\n\n return containerRef.instance;\n }\n\n private createInjector(config: ModalConfig, modalRef: NovoModalRef): Injector {\n return Injector.create({\n parent: this.injector,\n providers: [\n { provide: NovoModalRef, useValue: modalRef },\n // Support backwards compatability\n { provide: NovoModalParams, useValue: modalRef.params },\n ],\n });\n }\n\n private getOverlayConfig(config: ModalConfig): OverlayConfig {\n const positionStrategy = this.overlay.position().global().centerHorizontally().centerVertically();\n\n const overlayConfig = new OverlayConfig({\n positionStrategy,\n hasBackdrop: config.hasBackdrop,\n backdropClass: config.backdropClass,\n panelClass: config.panelClass,\n });\n\n return overlayConfig;\n }\n}\n","// NG2\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoModalContainerComponent } from './modal-container.component';\nimport { NovoModalElement, NovoModalNotificationElement } from './modal.component';\nimport { NovoModalService } from './modal.service';\n\n@NgModule({\n imports: [OverlayModule, PortalModule, CommonModule, NovoButtonModule],\n declarations: [NovoModalContainerComponent, NovoModalElement, NovoModalNotificationElement],\n exports: [NovoModalElement, NovoModalNotificationElement],\n providers: [NovoModalService],\n})\nexport class NovoModalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NovoModalRef","i2"],"mappings":"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"}
@@ -181,8 +181,18 @@ class NovoToastService {
181
181
  this.defaults = { hideDelay: 3500, position: 'growlTopRight', theme: 'default' };
182
182
  }
183
183
  set parentViewContainer(view) {
184
+ console.warn('parentViewContainer is deprecated. Use ownViewContainer(view, destroyRef) to promote lifecycle management');
184
185
  this._parentViewContainer = view;
185
186
  }
187
+ ownViewContainer(view, destroyRef) {
188
+ this._parentViewContainer = view;
189
+ const weakView = new WeakRef(view);
190
+ destroyRef.onDestroy(() => {
191
+ if (this._parentViewContainer === weakView.deref()) {
192
+ this._parentViewContainer = null;
193
+ }
194
+ });
195
+ }
186
196
  alert(options, toastElement = NovoToastElement) {
187
197
  return new Promise((resolve) => {
188
198
  if (!this._parentViewContainer) {
@@ -1 +1 @@
1
- {"version":3,"file":"novo-elements-elements-toast.mjs","sources":["../../../projects/novo-elements/src/elements/toast/Toast.ts","../../../projects/novo-elements/src/elements/toast/Toast.module.ts","../../../projects/novo-elements/src/elements/toast/ToastService.ts","../../../projects/novo-elements/src/elements/toast/novo-elements-elements-toast.ts"],"sourcesContent":["// NG2\nimport { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Deferred, DeferredPromise } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-toast',\n host: {\n '[class]': 'alertTheme',\n '[class.growl]': 'appearance == \"growl\"',\n '[class.banner]': 'appearance == \"banner\"',\n '[class.show]': 'show',\n '[class.animate]': 'animate',\n '[class.embedded]': 'embedded',\n '[attr.theme]': 'theme',\n '(click)': '!isCloseable && clickHandler($event)',\n },\n template: `\n <div class=\"toast-icon\">\n <i [ngClass]=\"iconClass\"></i>\n </div>\n <div class=\"toast-content\">\n <h5 *ngIf=\"title\">{{ title }}</h5>\n <p *ngIf=\"_message\" [class.message-only]=\"!title\" [innerHtml]=\"_message\"></p>\n <div *ngIf=\"link\" class=\"link-generated\">\n <input type=\"text\" [value]=\"link\" onfocus=\"this.select();\" />\n </div>\n <div class=\"dialogue\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"action\" class=\"action\">\n <button theme=\"dialogue\" color=\"white\" (click)=\"actionHandler($event)\">{{ action }}</button>\n </div>\n </div>\n <div class=\"close-icon\" *ngIf=\"isCloseable\" (click)=\"close($event)\">\n <i class=\"bhi-times\"></i>\n </div>\n `,\n styleUrls: ['./Toast.scss'],\n standalone: false,\n})\nexport class NovoToastElement implements OnInit, OnChanges {\n @Input()\n appearance: 'growl' | 'banner' = 'banner';\n @Input()\n theme: string = 'danger';\n @Input()\n icon: string = 'caution';\n @Input()\n title: string;\n @Input()\n action: string;\n @Input()\n hasDialogue: boolean = false;\n @Input()\n link: string;\n @Input()\n isCloseable: boolean = false;\n @Input()\n set message(m: string) {\n this._message = this.sanitizer.bypassSecurityTrustHtml(m);\n }\n @Output()\n closed: EventEmitter<any> = new EventEmitter();\n\n _message: SafeHtml;\n show: boolean = false;\n animate: boolean = false;\n parent: any = null;\n launched: boolean = false;\n position: any;\n time: any;\n iconClass: string;\n alertTheme: string;\n embedded: any;\n onActionPromise: DeferredPromise = Deferred();\n\n constructor(private sanitizer: DomSanitizer) {}\n\n ngOnInit() {\n if (!this.launched) {\n // clear position and time\n this.position = null;\n this.time = null;\n\n // set icon and styling\n this.iconClass = `bhi-${this.icon}`;\n this.alertTheme = `${this.theme} toast-container embedded`;\n if (this.hasDialogue) {\n this.alertTheme += ' dialogue';\n }\n }\n }\n\n ngOnChanges(changes?: SimpleChanges) {\n // set icon and styling\n this.iconClass = `bhi-${this.icon}`;\n this.alertTheme = `${this.theme} toast-container embedded`;\n if (this.hasDialogue) {\n this.alertTheme += ' dialogue';\n }\n }\n\n clickHandler(event) {\n if (!this.isCloseable) {\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n }\n if (this.parent) {\n this.parent.hide(this);\n } else {\n this.closed.emit({ closed: true });\n }\n }\n }\n\n close(event) {\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n }\n if (this.parent) {\n this.parent.hide(this);\n } else {\n this.closed.emit({ closed: true });\n }\n }\n\n actionHandler(event) {\n this.onActionPromise.resolve(event);\n }\n\n onAction(fn: () => void) {\n return this.onActionPromise.then(fn);\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NovoButtonModule } from 'novo-elements/elements/button';\n// APP\nimport { NovoToastElement } from './Toast';\n\n@NgModule({\n imports: [CommonModule, NovoButtonModule],\n declarations: [NovoToastElement],\n exports: [NovoToastElement],\n})\nexport class NovoToastModule {}\n","// NG2\nimport { Injectable } from '@angular/core';\nimport { ComponentUtils } from 'novo-elements/services';\n// APP\nimport { NovoToastElement } from './Toast';\n\nexport type ToastThemes = 'default' | 'success' | 'info' | 'warning' | 'danger' | 'positive' | string;\nexport type ToastIcons = 'bell' | 'check' | 'info' | 'warning' | 'remove' | 'caution' | 'times' | 'coffee' | 'danger' | string;\nexport type ToastPositions = 'fixedTop' | 'fixedBottom' | 'growlTopRight' | 'growlTopLeft' | 'growlBottomRight' | 'growlBottomLeft';\n\nexport interface ToastOptions {\n title?: string;\n message?: string;\n action?: string;\n icon?: ToastIcons;\n theme?: ToastThemes;\n accent?: ToastThemes;\n hideDelay?: number;\n position?: ToastPositions;\n isCloseable?: boolean;\n customClass?: string;\n}\n\n@Injectable()\nexport class NovoToastService {\n _parentViewContainer: any;\n references: Array<any> = [];\n icons = { default: 'bell', success: 'check', info: 'info', warning: 'warning', danger: 'remove' };\n defaults = { hideDelay: 3500, position: 'growlTopRight', theme: 'default' };\n\n constructor(private componentUtils: ComponentUtils) {}\n\n set parentViewContainer(view) {\n this._parentViewContainer = view;\n }\n\n alert(options: ToastOptions, toastElement: any = NovoToastElement): Promise<any> {\n return new Promise((resolve) => {\n if (!this._parentViewContainer) {\n console.error(\n 'No parent view container specified for the ToastService. Set it inside your main application. \\nthis.toastService.parentViewContainer = view (ViewContainerRef)',\n );\n return;\n }\n const toast = this.componentUtils.append(toastElement, this._parentViewContainer);\n this.references.push(toast);\n this.handleAlert(toast.instance, options);\n resolve(toast.instance);\n });\n }\n\n isVisible(toast) {\n return toast.show;\n }\n\n hide(toast) {\n toast.animate = false;\n setTimeout(() => {\n toast.show = false;\n const REF = this.references.filter((x) => x.instance === toast)[0];\n if (REF) {\n this.references.splice(this.references.indexOf(REF), 1);\n REF.destroy();\n }\n }, 300);\n }\n\n handleAlert(toast, options) {\n this.setToastOnSession(toast, options);\n setTimeout(() => {\n this.show(toast);\n }, 20);\n if (!toast.isCloseable) {\n this.toastTimer(toast);\n }\n }\n\n setToastOnSession(toast, opts) {\n const OPTIONS = typeof opts === 'object' ? opts : {};\n\n toast.parent = this;\n toast.title = OPTIONS.title || '';\n toast.message = OPTIONS.message || '';\n toast.action = OPTIONS.action || null;\n toast.hideDelay = OPTIONS.hideDelay || this.defaults.hideDelay;\n toast.link = OPTIONS.link || '';\n toast.isCloseable = OPTIONS.isCloseable || false;\n\n const CUSTOM_CLASS = OPTIONS.customClass || '';\n const ALERT_STYLE = OPTIONS.accent ? `novo-accent-${OPTIONS.accent}` : OPTIONS.theme || this.defaults.theme;\n const ALERT_POSITION = OPTIONS.position || this.defaults.position;\n const ALERT_ICON = OPTIONS.icon || this.icons.default;\n\n toast.iconClass = `bhi-${ALERT_ICON}`;\n toast.launched = true;\n toast.alertTheme = `${ALERT_STYLE} ${ALERT_POSITION} ${CUSTOM_CLASS} toast-container launched`;\n }\n\n show(toast) {\n toast.show = true;\n setTimeout(addClass, 25);\n /**\n * Adds animate class to be called after a timeout\n **/\n function addClass() {\n toast.animate = true;\n }\n }\n\n toastTimer(toast) {\n if (toast.hideDelay < 0) {\n return;\n }\n setTimeout(() => {\n this.hide(toast);\n }, toast.hideDelay);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"novo-elements-elements-toast.mjs","sources":["../../../projects/novo-elements/src/elements/toast/Toast.ts","../../../projects/novo-elements/src/elements/toast/Toast.module.ts","../../../projects/novo-elements/src/elements/toast/ToastService.ts","../../../projects/novo-elements/src/elements/toast/novo-elements-elements-toast.ts"],"sourcesContent":["// NG2\nimport { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Deferred, DeferredPromise } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-toast',\n host: {\n '[class]': 'alertTheme',\n '[class.growl]': 'appearance == \"growl\"',\n '[class.banner]': 'appearance == \"banner\"',\n '[class.show]': 'show',\n '[class.animate]': 'animate',\n '[class.embedded]': 'embedded',\n '[attr.theme]': 'theme',\n '(click)': '!isCloseable && clickHandler($event)',\n },\n template: `\n <div class=\"toast-icon\">\n <i [ngClass]=\"iconClass\"></i>\n </div>\n <div class=\"toast-content\">\n <h5 *ngIf=\"title\">{{ title }}</h5>\n <p *ngIf=\"_message\" [class.message-only]=\"!title\" [innerHtml]=\"_message\"></p>\n <div *ngIf=\"link\" class=\"link-generated\">\n <input type=\"text\" [value]=\"link\" onfocus=\"this.select();\" />\n </div>\n <div class=\"dialogue\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"action\" class=\"action\">\n <button theme=\"dialogue\" color=\"white\" (click)=\"actionHandler($event)\">{{ action }}</button>\n </div>\n </div>\n <div class=\"close-icon\" *ngIf=\"isCloseable\" (click)=\"close($event)\">\n <i class=\"bhi-times\"></i>\n </div>\n `,\n styleUrls: ['./Toast.scss'],\n standalone: false,\n})\nexport class NovoToastElement implements OnInit, OnChanges {\n @Input()\n appearance: 'growl' | 'banner' = 'banner';\n @Input()\n theme: string = 'danger';\n @Input()\n icon: string = 'caution';\n @Input()\n title: string;\n @Input()\n action: string;\n @Input()\n hasDialogue: boolean = false;\n @Input()\n link: string;\n @Input()\n isCloseable: boolean = false;\n @Input()\n set message(m: string) {\n this._message = this.sanitizer.bypassSecurityTrustHtml(m);\n }\n @Output()\n closed: EventEmitter<any> = new EventEmitter();\n\n _message: SafeHtml;\n show: boolean = false;\n animate: boolean = false;\n parent: any = null;\n launched: boolean = false;\n position: any;\n time: any;\n iconClass: string;\n alertTheme: string;\n embedded: any;\n onActionPromise: DeferredPromise = Deferred();\n\n constructor(private sanitizer: DomSanitizer) {}\n\n ngOnInit() {\n if (!this.launched) {\n // clear position and time\n this.position = null;\n this.time = null;\n\n // set icon and styling\n this.iconClass = `bhi-${this.icon}`;\n this.alertTheme = `${this.theme} toast-container embedded`;\n if (this.hasDialogue) {\n this.alertTheme += ' dialogue';\n }\n }\n }\n\n ngOnChanges(changes?: SimpleChanges) {\n // set icon and styling\n this.iconClass = `bhi-${this.icon}`;\n this.alertTheme = `${this.theme} toast-container embedded`;\n if (this.hasDialogue) {\n this.alertTheme += ' dialogue';\n }\n }\n\n clickHandler(event) {\n if (!this.isCloseable) {\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n }\n if (this.parent) {\n this.parent.hide(this);\n } else {\n this.closed.emit({ closed: true });\n }\n }\n }\n\n close(event) {\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n }\n if (this.parent) {\n this.parent.hide(this);\n } else {\n this.closed.emit({ closed: true });\n }\n }\n\n actionHandler(event) {\n this.onActionPromise.resolve(event);\n }\n\n onAction(fn: () => void) {\n return this.onActionPromise.then(fn);\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NovoButtonModule } from 'novo-elements/elements/button';\n// APP\nimport { NovoToastElement } from './Toast';\n\n@NgModule({\n imports: [CommonModule, NovoButtonModule],\n declarations: [NovoToastElement],\n exports: [NovoToastElement],\n})\nexport class NovoToastModule {}\n","// NG2\nimport { DestroyRef, Injectable, ViewContainerRef } from '@angular/core';\nimport { ComponentUtils } from 'novo-elements/services';\n// APP\nimport { NovoToastElement } from './Toast';\n\nexport type ToastThemes = 'default' | 'success' | 'info' | 'warning' | 'danger' | 'positive' | string;\nexport type ToastIcons = 'bell' | 'check' | 'info' | 'warning' | 'remove' | 'caution' | 'times' | 'coffee' | 'danger' | string;\nexport type ToastPositions = 'fixedTop' | 'fixedBottom' | 'growlTopRight' | 'growlTopLeft' | 'growlBottomRight' | 'growlBottomLeft';\n\nexport interface ToastOptions {\n title?: string;\n message?: string;\n action?: string;\n icon?: ToastIcons;\n theme?: ToastThemes;\n accent?: ToastThemes;\n hideDelay?: number;\n position?: ToastPositions;\n isCloseable?: boolean;\n customClass?: string;\n}\n\n@Injectable()\nexport class NovoToastService {\n _parentViewContainer: any;\n references: Array<any> = [];\n icons = { default: 'bell', success: 'check', info: 'info', warning: 'warning', danger: 'remove' };\n defaults = { hideDelay: 3500, position: 'growlTopRight', theme: 'default' };\n\n constructor(private componentUtils: ComponentUtils) {}\n\n set parentViewContainer(view) {\n console.warn('parentViewContainer is deprecated. Use ownViewContainer(view, destroyRef) to promote lifecycle management');\n this._parentViewContainer = view;\n }\n\n ownViewContainer(view: ViewContainerRef, destroyRef: DestroyRef) {\n this._parentViewContainer = view;\n const weakView = new WeakRef(view);\n destroyRef.onDestroy(() => {\n if (this._parentViewContainer === weakView.deref()) {\n this._parentViewContainer = null;\n }\n })\n }\n\n alert(options: ToastOptions, toastElement: any = NovoToastElement): Promise<any> {\n return new Promise((resolve) => {\n if (!this._parentViewContainer) {\n console.error(\n 'No parent view container specified for the ToastService. Set it inside your main application. \\nthis.toastService.parentViewContainer = view (ViewContainerRef)',\n );\n return;\n }\n const toast = this.componentUtils.append(toastElement, this._parentViewContainer);\n this.references.push(toast);\n this.handleAlert(toast.instance, options);\n resolve(toast.instance);\n });\n }\n\n isVisible(toast) {\n return toast.show;\n }\n\n hide(toast) {\n toast.animate = false;\n setTimeout(() => {\n toast.show = false;\n const REF = this.references.filter((x) => x.instance === toast)[0];\n if (REF) {\n this.references.splice(this.references.indexOf(REF), 1);\n REF.destroy();\n }\n }, 300);\n }\n\n handleAlert(toast, options) {\n this.setToastOnSession(toast, options);\n setTimeout(() => {\n this.show(toast);\n }, 20);\n if (!toast.isCloseable) {\n this.toastTimer(toast);\n }\n }\n\n setToastOnSession(toast, opts) {\n const OPTIONS = typeof opts === 'object' ? opts : {};\n\n toast.parent = this;\n toast.title = OPTIONS.title || '';\n toast.message = OPTIONS.message || '';\n toast.action = OPTIONS.action || null;\n toast.hideDelay = OPTIONS.hideDelay || this.defaults.hideDelay;\n toast.link = OPTIONS.link || '';\n toast.isCloseable = OPTIONS.isCloseable || false;\n\n const CUSTOM_CLASS = OPTIONS.customClass || '';\n const ALERT_STYLE = OPTIONS.accent ? `novo-accent-${OPTIONS.accent}` : OPTIONS.theme || this.defaults.theme;\n const ALERT_POSITION = OPTIONS.position || this.defaults.position;\n const ALERT_ICON = OPTIONS.icon || this.icons.default;\n\n toast.iconClass = `bhi-${ALERT_ICON}`;\n toast.launched = true;\n toast.alertTheme = `${ALERT_STYLE} ${ALERT_POSITION} ${CUSTOM_CLASS} toast-container launched`;\n }\n\n show(toast) {\n toast.show = true;\n setTimeout(addClass, 25);\n /**\n * Adds animate class to be called after a timeout\n **/\n function addClass() {\n toast.animate = true;\n }\n }\n\n toastTimer(toast) {\n if (toast.hideDelay < 0) {\n return;\n }\n setTimeout(() => {\n this.hide(toast);\n }, toast.hideDelay);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -22238,6 +22238,8 @@ class OutsideClick {
22238
22238
  */
22239
22239
  ngOnDestroy() {
22240
22240
  window.removeEventListener('click', this.onOutsideClick);
22241
+ delete this.onOutsideClick;
22242
+ delete this.otherElement;
22241
22243
  }
22242
22244
  /**
22243
22245
  * Toggles the element as active and adds/removes the outside click handler