@energinet/watt 4.6.14 → 4.6.15

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.
@@ -86,11 +86,11 @@ class WattToastComponent {
86
86
  .subscribe();
87
87
  }
88
88
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: WattToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
89
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: WattToastComponent, isStandalone: true, selector: "watt-toast", host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<span>\n @if (config.type === \"loading\") {\n <watt-spinner [diameter]=\"24\" />\n }\n\n @if (config.type && config.type !== \"loading\") {\n <watt-icon [name]=\"config.type\" />\n }\n <p>{{ config.message }}</p>\n</span>\n<span class=\"toast__actions\">\n @if (config.action && config.actionLabel) {\n <watt-button variant=\"text\" (click)=\"config.action(matSnackBarRef)\">{{\n config.actionLabel\n }}</watt-button>\n }\n\n @if (config.type !== \"loading\") {\n <watt-button data-testid=\"dismiss\" variant=\"icon\" icon=\"close\" (click)=\"onClose()\" />\n }\n</span>\n", styles: [".watt-toast{display:flex;justify-content:space-between;align-items:center;background:var(--watt-color-neutral-white);border-left:6px solid transparent;box-shadow:0 var(--watt-space-m) var(--watt-space-m) #0003,0 32px 64px 3px #2e323433;border-radius:4px;padding:var(--watt-space-s) var(--watt-space-m);max-width:704px;min-height:4rem}.watt-toast--success{border-color:var(--watt-color-state-success)}.watt-toast--info{border-color:var(--watt-color-state-info)}.watt-toast--warning{border-color:var(--watt-color-state-warning)}.watt-toast--danger{border-color:var(--watt-color-state-danger)}.watt-toast span{display:flex;align-items:center}.watt-toast watt-icon,.watt-toast watt-spinner{margin-right:var(--watt-space-m)}.watt-toast watt-button .watt-button--text{text-transform:capitalize}.watt-toast p{margin:0 var(--watt-space-s) 0 0}\n"], dependencies: [{ kind: "ngmodule", type: MatSnackBarModule }, { kind: "component", type: WattButtonComponent, selector: "watt-button", inputs: ["icon", "iconPosition", "variant", "size", "type", "formId", "disabled", "loading", "block", "aria-label"] }, { kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }, { kind: "component", type: WattSpinnerComponent, selector: "watt-spinner", inputs: ["diameter", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
89
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: WattToastComponent, isStandalone: true, selector: "watt-toast", host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<span>\n @if (config.type === \"loading\") {\n <watt-spinner [diameter]=\"24\" />\n }\n\n @if (config.type && config.type !== \"loading\") {\n <watt-icon [name]=\"config.type\" />\n }\n <p>{{ config.message }}</p>\n</span>\n<span class=\"toast__actions\">\n @if (config.action && config.actionLabel) {\n <watt-button variant=\"text\" (click)=\"config.action(matSnackBarRef)\">{{\n config.actionLabel\n }}</watt-button>\n }\n\n @if (config.type !== \"loading\") {\n <watt-button data-testid=\"dismiss\" variant=\"icon\" icon=\"close\" (click)=\"onClose()\" />\n }\n</span>\n", styles: [".watt-toast{display:flex;justify-content:space-between;align-items:center;background:var(--watt-color-neutral-white);border-left:6px solid transparent;box-shadow:0 var(--watt-space-m) var(--watt-space-m) #0003,0 32px 64px 3px #2e323433;border-radius:4px;padding:var(--watt-space-s) var(--watt-space-m);max-width:704px;min-height:4rem}.watt-toast--success{border-color:var(--watt-color-state-success)}.watt-toast--info{border-color:var(--watt-color-state-info)}.watt-toast--warning{border-color:var(--watt-color-state-warning)}.watt-toast--danger{border-color:var(--watt-color-state-danger)}.watt-toast>span{display:flex;align-items:center}.watt-toast>span>watt-icon,.watt-toast>span>watt-spinner{margin-right:var(--watt-space-m)}.watt-toast watt-button .watt-button--text{text-transform:capitalize}.watt-toast p{margin:0 var(--watt-space-s) 0 0}\n"], dependencies: [{ kind: "ngmodule", type: MatSnackBarModule }, { kind: "component", type: WattButtonComponent, selector: "watt-button", inputs: ["icon", "iconPosition", "variant", "size", "type", "formId", "disabled", "loading", "block", "aria-label"] }, { kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }, { kind: "component", type: WattSpinnerComponent, selector: "watt-spinner", inputs: ["diameter", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
90
90
  }
91
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: WattToastComponent, decorators: [{
92
92
  type: Component,
93
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, selector: 'watt-toast', imports: [MatSnackBarModule, WattButtonComponent, WattIconComponent, WattSpinnerComponent], template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<span>\n @if (config.type === \"loading\") {\n <watt-spinner [diameter]=\"24\" />\n }\n\n @if (config.type && config.type !== \"loading\") {\n <watt-icon [name]=\"config.type\" />\n }\n <p>{{ config.message }}</p>\n</span>\n<span class=\"toast__actions\">\n @if (config.action && config.actionLabel) {\n <watt-button variant=\"text\" (click)=\"config.action(matSnackBarRef)\">{{\n config.actionLabel\n }}</watt-button>\n }\n\n @if (config.type !== \"loading\") {\n <watt-button data-testid=\"dismiss\" variant=\"icon\" icon=\"close\" (click)=\"onClose()\" />\n }\n</span>\n", styles: [".watt-toast{display:flex;justify-content:space-between;align-items:center;background:var(--watt-color-neutral-white);border-left:6px solid transparent;box-shadow:0 var(--watt-space-m) var(--watt-space-m) #0003,0 32px 64px 3px #2e323433;border-radius:4px;padding:var(--watt-space-s) var(--watt-space-m);max-width:704px;min-height:4rem}.watt-toast--success{border-color:var(--watt-color-state-success)}.watt-toast--info{border-color:var(--watt-color-state-info)}.watt-toast--warning{border-color:var(--watt-color-state-warning)}.watt-toast--danger{border-color:var(--watt-color-state-danger)}.watt-toast span{display:flex;align-items:center}.watt-toast watt-icon,.watt-toast watt-spinner{margin-right:var(--watt-space-m)}.watt-toast watt-button .watt-button--text{text-transform:capitalize}.watt-toast p{margin:0 var(--watt-space-s) 0 0}\n"] }]
93
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, selector: 'watt-toast', imports: [MatSnackBarModule, WattButtonComponent, WattIconComponent, WattSpinnerComponent], template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<span>\n @if (config.type === \"loading\") {\n <watt-spinner [diameter]=\"24\" />\n }\n\n @if (config.type && config.type !== \"loading\") {\n <watt-icon [name]=\"config.type\" />\n }\n <p>{{ config.message }}</p>\n</span>\n<span class=\"toast__actions\">\n @if (config.action && config.actionLabel) {\n <watt-button variant=\"text\" (click)=\"config.action(matSnackBarRef)\">{{\n config.actionLabel\n }}</watt-button>\n }\n\n @if (config.type !== \"loading\") {\n <watt-button data-testid=\"dismiss\" variant=\"icon\" icon=\"close\" (click)=\"onClose()\" />\n }\n</span>\n", styles: [".watt-toast{display:flex;justify-content:space-between;align-items:center;background:var(--watt-color-neutral-white);border-left:6px solid transparent;box-shadow:0 var(--watt-space-m) var(--watt-space-m) #0003,0 32px 64px 3px #2e323433;border-radius:4px;padding:var(--watt-space-s) var(--watt-space-m);max-width:704px;min-height:4rem}.watt-toast--success{border-color:var(--watt-color-state-success)}.watt-toast--info{border-color:var(--watt-color-state-info)}.watt-toast--warning{border-color:var(--watt-color-state-warning)}.watt-toast--danger{border-color:var(--watt-color-state-danger)}.watt-toast>span{display:flex;align-items:center}.watt-toast>span>watt-icon,.watt-toast>span>watt-spinner{margin-right:var(--watt-space-m)}.watt-toast watt-button .watt-button--text{text-transform:capitalize}.watt-toast p{margin:0 var(--watt-space-s) 0 0}\n"] }]
94
94
  }], ctorParameters: () => [], propDecorators: { class: [{
95
95
  type: HostBinding,
96
96
  args: ['class']
@@ -1 +1 @@
1
- {"version":3,"file":"energinet-watt-toast.mjs","sources":["../../../libs/watt/package/toast/watt-toast.component.ts","../../../libs/watt/package/toast/watt-toast.component.html","../../../libs/watt/package/toast/watt-toast.service.ts","../../../libs/watt/package/toast/index.ts","../../../libs/watt/package/toast/energinet-watt-toast.ts"],"sourcesContent":["//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { MatSnackBarModule, MatSnackBarRef, MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\nimport { fromEvent, repeat, Subscription, takeUntil, tap, timer } from 'rxjs';\n\nimport { WattIconComponent } from '@energinet/watt/icon';\nimport { WattButtonComponent } from '@energinet/watt/button';\nimport { WattSpinnerComponent } from '@energinet/watt/spinner';\n\nexport type WattToastType = 'success' | 'info' | 'warning' | 'danger' | 'loading';\n\nexport interface WattToastConfig {\n duration?: number;\n type?: WattToastType;\n message: string;\n action?: (wattToastRef: WattToastRef) => void;\n actionLabel?: string;\n}\n\nexport type WattToastRef = MatSnackBarRef<WattToastComponent>;\n\n/**\n * Usage:\n * `import { WattToastService } from '@energinet/watt/toast';`\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'watt-toast',\n styleUrls: ['./watt-toast.component.scss'],\n templateUrl: './watt-toast.component.html',\n imports: [MatSnackBarModule, WattButtonComponent, WattIconComponent, WattSpinnerComponent],\n})\nexport class WattToastComponent {\n private _config = inject(MAT_SNACK_BAR_DATA);\n private cd = inject(ChangeDetectorRef);\n private _matSnackBarRef = inject<MatSnackBarRef<WattToastComponent>>(MatSnackBarRef);\n private elementRef = inject(ElementRef);\n\n @HostBinding('class')\n get class() {\n this.cd.detectChanges(); // Make sure changes to the config will be detected\n return this.config.type ? `watt-toast watt-toast--${this.config.type}` : 'watt-toast';\n }\n\n /**\n * @ignore\n */\n config: WattToastConfig;\n\n /**\n * @ignore\n */\n matSnackBarRef: WattToastRef;\n\n /**\n * @ignore\n */\n private dissmissToastSubscription?: Subscription;\n\n constructor() {\n this.config = this._config;\n this.matSnackBarRef = this._matSnackBarRef;\n this.initDuration(this.config.duration);\n }\n\n /**\n * @ignore\n */\n onClose(): void {\n if (!this.matSnackBarRef) return;\n this.matSnackBarRef.dismiss();\n this.dissmissToastSubscription?.unsubscribe();\n }\n\n update(config: Partial<WattToastConfig>) {\n this.config = { ...this.config, ...config };\n if (this.dissmissToastSubscription) {\n this.dissmissToastSubscription.unsubscribe();\n }\n this.initDuration();\n this.cd.detectChanges();\n }\n\n /**\n * @ignore\n * Ensure the toast won't get dismissed when the user hovers over it.\n */\n private initDuration(duration = 5000): void {\n // When the type is loading, the developer is responsible for dismissing the toast manually.\n if (this.config.type === 'loading') return;\n\n const mouseEnter$ = fromEvent(this.elementRef.nativeElement, 'mouseenter');\n const mouseLeave$ = fromEvent(this.elementRef.nativeElement, 'mouseleave');\n\n this.dissmissToastSubscription = timer(duration)\n .pipe(\n tap(() => this.onClose()),\n takeUntil(mouseEnter$),\n repeat({ delay: () => mouseLeave$ })\n )\n .subscribe();\n }\n}\n","<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<span>\n @if (config.type === \"loading\") {\n <watt-spinner [diameter]=\"24\" />\n }\n\n @if (config.type && config.type !== \"loading\") {\n <watt-icon [name]=\"config.type\" />\n }\n <p>{{ config.message }}</p>\n</span>\n<span class=\"toast__actions\">\n @if (config.action && config.actionLabel) {\n <watt-button variant=\"text\" (click)=\"config.action(matSnackBarRef)\">{{\n config.actionLabel\n }}</watt-button>\n }\n\n @if (config.type !== \"loading\") {\n <watt-button data-testid=\"dismiss\" variant=\"icon\" icon=\"close\" (click)=\"onClose()\" />\n }\n</span>\n","//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nimport { Injectable, inject } from '@angular/core';\nimport { MatSnackBar, MatSnackBarRef } from '@angular/material/snack-bar';\n\nimport { WattToastComponent, WattToastConfig } from './watt-toast.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WattToastService {\n private readonly _snackBar = inject(MatSnackBar);\n private ref?: MatSnackBarRef<WattToastComponent>;\n\n open(config: WattToastConfig): MatSnackBarRef<WattToastComponent> {\n this.ref = this._snackBar.openFromComponent(WattToastComponent, {\n data: config,\n });\n return this.ref;\n }\n\n update(config: Partial<WattToastConfig>): void {\n if (!this.ref) return;\n this.ref.instance.update(config);\n }\n\n dismiss() {\n if (!this.ref) return;\n this.ref.dismiss();\n }\n\n get isOpen() {\n return !!this.ref;\n }\n}\n","//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nexport { WattToastComponent, WattToastType } from './watt-toast.component';\nexport { WattToastService } from './watt-toast.service';\nexport type { WattToastRef, WattToastConfig } from './watt-toast.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"energinet-watt-toast.mjs","sources":["../../../libs/watt/package/toast/watt-toast.component.ts","../../../libs/watt/package/toast/watt-toast.component.html","../../../libs/watt/package/toast/watt-toast.service.ts","../../../libs/watt/package/toast/index.ts","../../../libs/watt/package/toast/energinet-watt-toast.ts"],"sourcesContent":["//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { MatSnackBarModule, MatSnackBarRef, MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\nimport { fromEvent, repeat, Subscription, takeUntil, tap, timer } from 'rxjs';\n\nimport { WattIconComponent } from '@energinet/watt/icon';\nimport { WattButtonComponent } from '@energinet/watt/button';\nimport { WattSpinnerComponent } from '@energinet/watt/spinner';\n\nexport type WattToastType = 'success' | 'info' | 'warning' | 'danger' | 'loading';\n\nexport interface WattToastConfig {\n duration?: number;\n type?: WattToastType;\n message: string;\n action?: (wattToastRef: WattToastRef) => void;\n actionLabel?: string;\n}\n\nexport type WattToastRef = MatSnackBarRef<WattToastComponent>;\n\n/**\n * Usage:\n * `import { WattToastService } from '@energinet/watt/toast';`\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'watt-toast',\n styleUrls: ['./watt-toast.component.scss'],\n templateUrl: './watt-toast.component.html',\n imports: [MatSnackBarModule, WattButtonComponent, WattIconComponent, WattSpinnerComponent],\n})\nexport class WattToastComponent {\n private _config = inject(MAT_SNACK_BAR_DATA);\n private cd = inject(ChangeDetectorRef);\n private _matSnackBarRef = inject<MatSnackBarRef<WattToastComponent>>(MatSnackBarRef);\n private elementRef = inject(ElementRef);\n\n @HostBinding('class')\n get class() {\n this.cd.detectChanges(); // Make sure changes to the config will be detected\n return this.config.type ? `watt-toast watt-toast--${this.config.type}` : 'watt-toast';\n }\n\n /**\n * @ignore\n */\n config: WattToastConfig;\n\n /**\n * @ignore\n */\n matSnackBarRef: WattToastRef;\n\n /**\n * @ignore\n */\n private dissmissToastSubscription?: Subscription;\n\n constructor() {\n this.config = this._config;\n this.matSnackBarRef = this._matSnackBarRef;\n this.initDuration(this.config.duration);\n }\n\n /**\n * @ignore\n */\n onClose(): void {\n if (!this.matSnackBarRef) return;\n this.matSnackBarRef.dismiss();\n this.dissmissToastSubscription?.unsubscribe();\n }\n\n update(config: Partial<WattToastConfig>) {\n this.config = { ...this.config, ...config };\n if (this.dissmissToastSubscription) {\n this.dissmissToastSubscription.unsubscribe();\n }\n this.initDuration();\n this.cd.detectChanges();\n }\n\n /**\n * @ignore\n * Ensure the toast won't get dismissed when the user hovers over it.\n */\n private initDuration(duration = 5000): void {\n // When the type is loading, the developer is responsible for dismissing the toast manually.\n if (this.config.type === 'loading') return;\n\n const mouseEnter$ = fromEvent(this.elementRef.nativeElement, 'mouseenter');\n const mouseLeave$ = fromEvent(this.elementRef.nativeElement, 'mouseleave');\n\n this.dissmissToastSubscription = timer(duration)\n .pipe(\n tap(() => this.onClose()),\n takeUntil(mouseEnter$),\n repeat({ delay: () => mouseLeave$ })\n )\n .subscribe();\n }\n}\n","<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<span>\n @if (config.type === \"loading\") {\n <watt-spinner [diameter]=\"24\" />\n }\n\n @if (config.type && config.type !== \"loading\") {\n <watt-icon [name]=\"config.type\" />\n }\n <p>{{ config.message }}</p>\n</span>\n<span class=\"toast__actions\">\n @if (config.action && config.actionLabel) {\n <watt-button variant=\"text\" (click)=\"config.action(matSnackBarRef)\">{{\n config.actionLabel\n }}</watt-button>\n }\n\n @if (config.type !== \"loading\") {\n <watt-button data-testid=\"dismiss\" variant=\"icon\" icon=\"close\" (click)=\"onClose()\" />\n }\n</span>\n","//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nimport { Injectable, inject } from '@angular/core';\nimport { MatSnackBar, MatSnackBarRef } from '@angular/material/snack-bar';\n\nimport { WattToastComponent, WattToastConfig } from './watt-toast.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WattToastService {\n private readonly _snackBar = inject(MatSnackBar);\n private ref?: MatSnackBarRef<WattToastComponent>;\n\n open(config: WattToastConfig): MatSnackBarRef<WattToastComponent> {\n this.ref = this._snackBar.openFromComponent(WattToastComponent, {\n data: config,\n });\n return this.ref;\n }\n\n update(config: Partial<WattToastConfig>): void {\n if (!this.ref) return;\n this.ref.instance.update(config);\n }\n\n dismiss() {\n if (!this.ref) return;\n this.ref.dismiss();\n }\n\n get isOpen() {\n return !!this.ref;\n }\n}\n","//#region License\n/**\n * @license\n * Copyright 2020 Energinet DataHub A/S\n *\n * Licensed under the Apache License, Version 2.0 (the \"License2\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n//#endregion\nexport { WattToastComponent, WattToastType } from './watt-toast.component';\nexport { WattToastService } from './watt-toast.service';\nexport type { WattToastRef, WattToastConfig } from './watt-toast.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@energinet/watt",
4
- "version": "4.6.14",
4
+ "version": "4.6.15",
5
5
  "license": "Apache-2.0",
6
6
  "exports": {
7
7
  ".": {