nw-style-guide 21.2.4 → 21.2.5-beta.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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ChangeDetectorRef, ChangeDetectionStrategy, Component, ApplicationRef, Injector, Injectable } from '@angular/core';
2
+ import { inject, ChangeDetectorRef, ElementRef, ChangeDetectionStrategy, Component, ApplicationRef, Injector, Injectable } from '@angular/core';
3
3
  import { ComponentPortal, DomPortalOutlet } from '@angular/cdk/portal';
4
4
  import { DomSanitizer } from '@angular/platform-browser';
5
5
  import { NgClass, NgTemplateOutlet } from '@angular/common';
@@ -16,8 +16,12 @@ class ToastsComponent {
16
16
  constructor() {
17
17
  this._cdRef = inject(ChangeDetectorRef);
18
18
  this._domSanitizer = inject(DomSanitizer);
19
+ this._elRef = inject(ElementRef);
19
20
  this.toasts = [];
20
21
  }
22
+ ngAfterViewInit() {
23
+ this._elRef.nativeElement.showPopover();
24
+ }
21
25
  isTemplateRef(value) {
22
26
  return typeof value !== 'string';
23
27
  }
@@ -44,6 +48,11 @@ class ToastsComponent {
44
48
  const _toast = new Toast(toast);
45
49
  this.toasts.push(_toast);
46
50
  this._cdRef.detectChanges();
51
+ // Re-promote into the top layer so toasts sit above any dialog/popover
52
+ // opened after the toasts host was first shown.
53
+ const el = this._elRef.nativeElement;
54
+ el.hidePopover();
55
+ el.showPopover();
47
56
  if (_toast.autoDismiss) {
48
57
  setTimeout(() => {
49
58
  this.removeToast(_toast);
@@ -65,7 +74,7 @@ class ToastsComponent {
65
74
  return this.toasts.indexOf(toast);
66
75
  }
67
76
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ToastsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
68
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: ToastsComponent, isStandalone: true, selector: "nw-toasts", ngImport: i0, template: `
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: ToastsComponent, isStandalone: true, selector: "nw-toasts", host: { attributes: { "popover": "manual" } }, ngImport: i0, template: `
69
78
  <div class="toasts-container">
70
79
  @for (toast of toasts; track toast) {
71
80
  <div
@@ -107,6 +116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
107
116
  type: Component,
108
117
  args: [{
109
118
  selector: 'nw-toasts',
119
+ host: { popover: 'manual' },
110
120
  template: `
111
121
  <div class="toasts-container">
112
122
  @for (toast of toasts; track toast) {
@@ -1 +1 @@
1
- {"version":3,"file":"nw-style-guide-toasts.mjs","sources":["../../../projects/nw-style-guide/toasts/Toast.ts","../../../projects/nw-style-guide/toasts/toasts.component.ts","../../../projects/nw-style-guide/toasts/config.ts","../../../projects/nw-style-guide/toasts/toasts.service.ts","../../../projects/nw-style-guide/toasts/IToast.ts","../../../projects/nw-style-guide/toasts/public-api.ts","../../../projects/nw-style-guide/toasts/nw-style-guide-toasts.ts"],"sourcesContent":["import { TemplateRef } from '@angular/core';\nimport { IToast } from './IToast';\n\nexport class Toast implements IToast {\n message: string | TemplateRef<any>;\n typeId: string;\n isDismissable?: boolean;\n autoDismiss?: boolean = true;\n dismissTimeout?: number = 3000;\n size?: 'md';\n\n constructor(options: IToast) {\n Object.assign(this, options);\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, TemplateRef, inject } from '@angular/core';\nimport { IToast } from './IToast';\nimport { Toast } from './Toast';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'nw-toasts',\n template: `\n <div class=\"toasts-container\">\n @for (toast of toasts; track toast) {\n <div\n class=\"toast\"\n animate.enter=\"toast-animate-in\"\n animate.leave=\"toast-animate-out\"\n [ngClass]=\"['toast-' + toast.typeId, 'size-' + toast.size]\">\n @if (toast.typeId === 'success') {\n <i class=\"fas fa-check toast-icon\"></i>\n }\n @if (toast.typeId === 'error') {\n <i class=\"fas fa-exclamation toast-icon\"></i>\n }\n\n <!-- If templateRef render via ngTemplateOutlet-->\n @if (isTemplateRef(toast.message)) {\n <ng-container *ngTemplateOutlet=\"toast.message\"></ng-container>\n }\n\n @if (!isTemplateRef(toast.message)) {\n <p\n class=\"toast-message\"\n [innerHTML]=\"getInnerHTML(toast.message)\"></p>\n }\n\n @if (toast.isDismissable) {\n <button\n class=\"btn btn-md btn-ghost-alt btn-no-padding close-button\"\n (click)=\"dismiss(toast)\">\n <i class=\"far fa-times\"></i>\n </button>\n }\n </div>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgClass, NgTemplateOutlet]\n})\nexport class ToastsComponent {\n private _cdRef = inject(ChangeDetectorRef);\n private _domSanitizer = inject(DomSanitizer);\n\n public toasts: Toast[] = [];\n\n isTemplateRef(value: string | TemplateRef<any>): boolean {\n return typeof value !== 'string';\n }\n\n getInnerHTML(message: string): SafeHtml {\n return this._domSanitizer.bypassSecurityTrustHtml(message);\n }\n\n success(message: string | TemplateRef<any>): Toast {\n const toast: IToast = {\n message: message,\n typeId: 'success',\n isDismissable: false\n };\n return this.show(toast);\n }\n\n error(message: string | TemplateRef<any>): Toast {\n const toast: IToast = {\n message: message,\n typeId: 'error',\n isDismissable: true\n };\n return this.show(toast);\n }\n\n show(toast: IToast): Toast {\n const _toast = new Toast(toast);\n\n this.toasts.push(_toast);\n this._cdRef.detectChanges();\n\n if (_toast.autoDismiss) {\n setTimeout(() => {\n this.removeToast(_toast);\n }, _toast.dismissTimeout);\n }\n return _toast;\n }\n\n dismiss(toast: Toast) {\n this.removeToast(toast);\n }\n\n removeToast(toast: Toast) {\n const index = this.getToastIndex(toast);\n\n if (index > -1) {\n this.toasts.splice(index, 1);\n this._cdRef.detectChanges();\n }\n }\n\n getToastIndex(toast: Toast): number {\n return this.toasts.indexOf(toast);\n }\n}\n","import { IToastConfig } from './IToastConfig';\n\nexport const defaultConfig: IToastConfig = {\n outletElement: document.body\n};\n","import { Injectable, ApplicationRef, Injector, TemplateRef, inject } from '@angular/core';\nimport { ComponentPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { ToastsComponent } from './toasts.component';\nimport { IToast } from './IToast';\nimport { Toast } from './Toast';\nimport { IToastConfig } from './IToastConfig';\nimport { defaultConfig } from './config';\n\n@Injectable()\nexport class Toaster {\n private _appRef = inject(ApplicationRef);\n private _injector = inject(Injector);\n\n private _toastPortal: ComponentPortal<ToastsComponent>;\n private _outlet: DomPortalOutlet;\n private _toastsComponentRef: ToastsComponent;\n private _config: IToastConfig;\n\n private _attachOutlet(): ToastsComponent {\n /**\n * If the `ToastsComponent` already exists return it\n */\n if (this._toastsComponentRef) {\n return this._toastsComponentRef;\n }\n this._config = this._config || defaultConfig;\n this._toastPortal = new ComponentPortal(ToastsComponent);\n this._outlet = new DomPortalOutlet(this._config.outletElement, this._appRef, this._injector);\n this._toastsComponentRef = this._outlet.attach(this._toastPortal).instance;\n return this._toastsComponentRef;\n }\n\n show(toast: IToast): Toast {\n this._attachOutlet();\n return this._toastsComponentRef.show(toast);\n }\n\n success(message: string | TemplateRef<any>): Toast {\n this._attachOutlet();\n return this._toastsComponentRef.success(message);\n }\n\n error(message: string | TemplateRef<any>): Toast {\n this._attachOutlet();\n return this._toastsComponentRef.error(message);\n }\n\n dismiss(toast: Toast): void {\n this._toastsComponentRef.dismiss(toast);\n }\n\n isToastActive(toast: Toast): boolean {\n return this._toastsComponentRef.getToastIndex(toast) > -1;\n }\n\n /**\n * Set the configuration values for a `Toaster` instance. This can only be called once\n * per `Toaster` instance and must be called before the outlet is created\n *\n * @param config Configuration settings for the Toaster\n */\n setConfig(config: IToastConfig): void {\n if (!this._config) {\n this._config = config;\n } else {\n console.warn(`config has already been set for this Toaster instance with a value of`, this._config);\n }\n }\n}\n","import { TemplateRef } from '@angular/core';\n\nexport class IToast {\n message: string | TemplateRef<any>;\n typeId: string;\n isDismissable?: boolean;\n autoDismiss?: boolean;\n dismissTimeout?: number;\n size?: 'sm' | 'md';\n}\n","export { Toaster } from './toasts.service';\nexport { IToast } from './IToast';\nexport { Toast } from './Toast';\nexport { IToastConfig } from './IToastConfig';\n\nimport { Provider } from '@angular/core';\nimport { Toaster } from './toasts.service';\n\nexport function provideToasts(): Provider[] {\n return [Toaster];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nw-style-guide-toasts.mjs","sources":["../../../projects/nw-style-guide/toasts/Toast.ts","../../../projects/nw-style-guide/toasts/toasts.component.ts","../../../projects/nw-style-guide/toasts/config.ts","../../../projects/nw-style-guide/toasts/toasts.service.ts","../../../projects/nw-style-guide/toasts/IToast.ts","../../../projects/nw-style-guide/toasts/public-api.ts","../../../projects/nw-style-guide/toasts/nw-style-guide-toasts.ts"],"sourcesContent":["import { TemplateRef } from '@angular/core';\nimport { IToast } from './IToast';\n\nexport class Toast implements IToast {\n message: string | TemplateRef<any>;\n typeId: string;\n isDismissable?: boolean;\n autoDismiss?: boolean = true;\n dismissTimeout?: number = 3000;\n size?: 'md';\n\n constructor(options: IToast) {\n Object.assign(this, options);\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n TemplateRef,\n inject\n} from '@angular/core';\nimport { IToast } from './IToast';\nimport { Toast } from './Toast';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'nw-toasts',\n host: { popover: 'manual' },\n template: `\n <div class=\"toasts-container\">\n @for (toast of toasts; track toast) {\n <div\n class=\"toast\"\n animate.enter=\"toast-animate-in\"\n animate.leave=\"toast-animate-out\"\n [ngClass]=\"['toast-' + toast.typeId, 'size-' + toast.size]\">\n @if (toast.typeId === 'success') {\n <i class=\"fas fa-check toast-icon\"></i>\n }\n @if (toast.typeId === 'error') {\n <i class=\"fas fa-exclamation toast-icon\"></i>\n }\n\n <!-- If templateRef render via ngTemplateOutlet-->\n @if (isTemplateRef(toast.message)) {\n <ng-container *ngTemplateOutlet=\"toast.message\"></ng-container>\n }\n\n @if (!isTemplateRef(toast.message)) {\n <p\n class=\"toast-message\"\n [innerHTML]=\"getInnerHTML(toast.message)\"></p>\n }\n\n @if (toast.isDismissable) {\n <button\n class=\"btn btn-md btn-ghost-alt btn-no-padding close-button\"\n (click)=\"dismiss(toast)\">\n <i class=\"far fa-times\"></i>\n </button>\n }\n </div>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgClass, NgTemplateOutlet]\n})\nexport class ToastsComponent implements AfterViewInit {\n private _cdRef = inject(ChangeDetectorRef);\n private _domSanitizer = inject(DomSanitizer);\n private _elRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n public toasts: Toast[] = [];\n\n ngAfterViewInit() {\n this._elRef.nativeElement.showPopover();\n }\n\n isTemplateRef(value: string | TemplateRef<any>): boolean {\n return typeof value !== 'string';\n }\n\n getInnerHTML(message: string): SafeHtml {\n return this._domSanitizer.bypassSecurityTrustHtml(message);\n }\n\n success(message: string | TemplateRef<any>): Toast {\n const toast: IToast = {\n message: message,\n typeId: 'success',\n isDismissable: false\n };\n return this.show(toast);\n }\n\n error(message: string | TemplateRef<any>): Toast {\n const toast: IToast = {\n message: message,\n typeId: 'error',\n isDismissable: true\n };\n return this.show(toast);\n }\n\n show(toast: IToast): Toast {\n const _toast = new Toast(toast);\n\n this.toasts.push(_toast);\n this._cdRef.detectChanges();\n\n // Re-promote into the top layer so toasts sit above any dialog/popover\n // opened after the toasts host was first shown.\n const el = this._elRef.nativeElement;\n el.hidePopover();\n el.showPopover();\n\n if (_toast.autoDismiss) {\n setTimeout(() => {\n this.removeToast(_toast);\n }, _toast.dismissTimeout);\n }\n return _toast;\n }\n\n dismiss(toast: Toast) {\n this.removeToast(toast);\n }\n\n removeToast(toast: Toast) {\n const index = this.getToastIndex(toast);\n\n if (index > -1) {\n this.toasts.splice(index, 1);\n this._cdRef.detectChanges();\n }\n }\n\n getToastIndex(toast: Toast): number {\n return this.toasts.indexOf(toast);\n }\n}\n","import { IToastConfig } from './IToastConfig';\n\nexport const defaultConfig: IToastConfig = {\n outletElement: document.body\n};\n","import { Injectable, ApplicationRef, Injector, TemplateRef, inject } from '@angular/core';\nimport { ComponentPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { ToastsComponent } from './toasts.component';\nimport { IToast } from './IToast';\nimport { Toast } from './Toast';\nimport { IToastConfig } from './IToastConfig';\nimport { defaultConfig } from './config';\n\n@Injectable()\nexport class Toaster {\n private _appRef = inject(ApplicationRef);\n private _injector = inject(Injector);\n\n private _toastPortal: ComponentPortal<ToastsComponent>;\n private _outlet: DomPortalOutlet;\n private _toastsComponentRef: ToastsComponent;\n private _config: IToastConfig;\n\n private _attachOutlet(): ToastsComponent {\n /**\n * If the `ToastsComponent` already exists return it\n */\n if (this._toastsComponentRef) {\n return this._toastsComponentRef;\n }\n this._config = this._config || defaultConfig;\n this._toastPortal = new ComponentPortal(ToastsComponent);\n this._outlet = new DomPortalOutlet(this._config.outletElement, this._appRef, this._injector);\n this._toastsComponentRef = this._outlet.attach(this._toastPortal).instance;\n return this._toastsComponentRef;\n }\n\n show(toast: IToast): Toast {\n this._attachOutlet();\n return this._toastsComponentRef.show(toast);\n }\n\n success(message: string | TemplateRef<any>): Toast {\n this._attachOutlet();\n return this._toastsComponentRef.success(message);\n }\n\n error(message: string | TemplateRef<any>): Toast {\n this._attachOutlet();\n return this._toastsComponentRef.error(message);\n }\n\n dismiss(toast: Toast): void {\n this._toastsComponentRef.dismiss(toast);\n }\n\n isToastActive(toast: Toast): boolean {\n return this._toastsComponentRef.getToastIndex(toast) > -1;\n }\n\n /**\n * Set the configuration values for a `Toaster` instance. This can only be called once\n * per `Toaster` instance and must be called before the outlet is created\n *\n * @param config Configuration settings for the Toaster\n */\n setConfig(config: IToastConfig): void {\n if (!this._config) {\n this._config = config;\n } else {\n console.warn(`config has already been set for this Toaster instance with a value of`, this._config);\n }\n }\n}\n","import { TemplateRef } from '@angular/core';\n\nexport class IToast {\n message: string | TemplateRef<any>;\n typeId: string;\n isDismissable?: boolean;\n autoDismiss?: boolean;\n dismissTimeout?: number;\n size?: 'sm' | 'md';\n}\n","export { Toaster } from './toasts.service';\nexport { IToast } from './IToast';\nexport { Toast } from './Toast';\nexport { IToastConfig } from './IToastConfig';\n\nimport { Provider } from '@angular/core';\nimport { Toaster } from './toasts.service';\n\nexport function provideToasts(): Provider[] {\n return [Toaster];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nw-style-guide",
3
3
  "type": "module",
4
- "version": "21.2.4",
4
+ "version": "21.2.5-beta.2",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/NewsWhip/style-guide"
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../fesm2022/nw-style-guide-animations.mjs",
3
- "typings": "../types/nw-style-guide-animations.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../fesm2022/nw-style-guide-autofocus.mjs",
3
- "typings": "../types/nw-style-guide-autofocus.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../fesm2022/nw-style-guide-carousel.mjs",
3
- "typings": "../types/nw-style-guide-carousel.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../fesm2022/nw-style-guide-charts.mjs",
3
- "typings": "../types/nw-style-guide-charts.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../fesm2022/nw-style-guide-email-input.mjs",
3
- "typings": "../types/nw-style-guide-email-input.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../fesm2022/nw-style-guide-feature-alerts.mjs",
3
- "typings": "../types/nw-style-guide-feature-alerts.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../fesm2022/nw-style-guide-loader.mjs",
3
- "typings": "../types/nw-style-guide-loader.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../fesm2022/nw-style-guide-picker.mjs",
3
- "typings": "../types/nw-style-guide-picker.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../fesm2022/nw-style-guide-resize-observer.mjs",
3
- "typings": "../types/nw-style-guide-resize-observer.d.ts"
4
- }
package/tabs/package.json DELETED
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../fesm2022/nw-style-guide-tabs.mjs",
3
- "typings": "../types/nw-style-guide-tabs.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../fesm2022/nw-style-guide-toasts.mjs",
3
- "typings": "../types/nw-style-guide-toasts.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../fesm2022/nw-style-guide-tooltips.mjs",
3
- "typings": "../types/nw-style-guide-tooltips.d.ts"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "module": "../fesm2022/nw-style-guide-word-cloud.mjs",
3
- "typings": "../types/nw-style-guide-word-cloud.d.ts"
4
- }