@fundamental-ngx/core 0.42.0-rc.26 → 0.42.0-rc.27
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.
- package/alert/alert.module.d.ts +1 -1
- package/esm2020/alert/alert.module.mjs +5 -5
- package/esm2020/message-strip/alert/default-config.mjs +11 -0
- package/esm2020/message-strip/alert/index.mjs +6 -0
- package/esm2020/message-strip/alert/message-strip-alert/message-strip-alert.component.mjs +68 -0
- package/esm2020/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.mjs +57 -0
- package/esm2020/message-strip/alert/message-strip-alert-container-footer/message-strip-alert-container-footer.component.mjs +65 -0
- package/esm2020/message-strip/alert/message-strip-alert.position.mjs +2 -0
- package/esm2020/message-strip/alert/message-strip-alert.ref.mjs +3 -0
- package/esm2020/message-strip/alert/message-strip-alert.service.mjs +195 -0
- package/esm2020/message-strip/alert/message-strip-configuration-type.mjs +2 -0
- package/esm2020/message-strip/alert/open-message-strip-alert.config.mjs +2 -0
- package/esm2020/message-strip/alert/tokens.mjs +14 -0
- package/esm2020/message-strip/auto-dismiss-message-strip.directive.mjs +98 -0
- package/esm2020/message-strip/fundamental-ngx-core-message-strip.mjs +2 -2
- package/esm2020/message-strip/index.mjs +6 -0
- package/esm2020/message-strip/message-strip-type.mjs +2 -0
- package/esm2020/message-strip/message-strip.component.mjs +12 -12
- package/esm2020/message-strip/message-strip.module.mjs +6 -9
- package/fesm2015/fundamental-ngx-core-alert.mjs +4 -4
- package/fesm2015/fundamental-ngx-core-alert.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-message-strip.mjs +484 -20
- package/fesm2015/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-alert.mjs +4 -4
- package/fesm2020/fundamental-ngx-core-alert.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-message-strip.mjs +489 -20
- package/fesm2020/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fundamental-ngx-core-v0.42.0-rc.27.tgz +0 -0
- package/message-strip/alert/default-config.d.ts +5 -0
- package/message-strip/alert/index.d.ts +9 -0
- package/message-strip/alert/message-strip-alert/message-strip-alert.component.d.ts +52 -0
- package/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.d.ts +28 -0
- package/message-strip/alert/message-strip-alert-container-footer/message-strip-alert-container-footer.component.d.ts +36 -0
- package/message-strip/alert/message-strip-alert.position.d.ts +3 -0
- package/message-strip/alert/message-strip-alert.ref.d.ts +14 -0
- package/message-strip/alert/message-strip-alert.service.d.ts +52 -0
- package/message-strip/alert/message-strip-configuration-type.d.ts +15 -0
- package/message-strip/alert/open-message-strip-alert.config.d.ts +22 -0
- package/message-strip/alert/tokens.d.ts +20 -0
- package/message-strip/auto-dismiss-message-strip.directive.d.ts +35 -0
- package/message-strip/index.d.ts +5 -5
- package/message-strip/message-strip-type.d.ts +2 -0
- package/message-strip/message-strip.component.d.ts +4 -5
- package/message-strip/message-strip.module.d.ts +2 -4
- package/package.json +3 -3
- package/schematics/add-dependencies/index.js +4 -4
- package/esm2020/message-strip/public_api.mjs +0 -3
- package/fundamental-ngx-core-v0.42.0-rc.26.tgz +0 -0
- package/message-strip/public_api.d.ts +0 -2
package/alert/alert.module.d.ts
CHANGED
|
@@ -11,6 +11,6 @@ import * as i5 from "@fundamental-ngx/core/message-strip";
|
|
|
11
11
|
*/
|
|
12
12
|
export declare class AlertModule {
|
|
13
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<AlertModule, never>;
|
|
14
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AlertModule, [typeof i1.AlertComponent, typeof i2.AlertContainerComponent], [typeof i3.CommonModule, typeof i4.ButtonModule, typeof i5.
|
|
14
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AlertModule, [typeof i1.AlertComponent, typeof i2.AlertContainerComponent], [typeof i3.CommonModule, typeof i4.ButtonModule, typeof i5.MessageStripComponent], [typeof i1.AlertComponent, typeof i2.AlertContainerComponent]>;
|
|
15
15
|
static ɵinj: i0.ɵɵInjectorDeclaration<AlertModule>;
|
|
16
16
|
}
|
|
@@ -5,7 +5,7 @@ import { AlertService } from './alert-service/alert.service';
|
|
|
5
5
|
import { AlertContainerComponent } from './alert-utils/alert-container.component';
|
|
6
6
|
import { DynamicComponentService } from '@fundamental-ngx/cdk/utils';
|
|
7
7
|
import { ButtonModule } from '@fundamental-ngx/core/button';
|
|
8
|
-
import {
|
|
8
|
+
import { MessageStripComponent } from '@fundamental-ngx/core/message-strip';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
/**
|
|
11
11
|
* @deprecated
|
|
@@ -15,15 +15,15 @@ import * as i0 from "@angular/core";
|
|
|
15
15
|
export class AlertModule {
|
|
16
16
|
}
|
|
17
17
|
AlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18
|
-
AlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: AlertModule, declarations: [AlertComponent, AlertContainerComponent], imports: [CommonModule, ButtonModule,
|
|
19
|
-
AlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AlertModule, providers: [AlertService, DynamicComponentService], imports: [CommonModule, ButtonModule,
|
|
18
|
+
AlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: AlertModule, declarations: [AlertComponent, AlertContainerComponent], imports: [CommonModule, ButtonModule, MessageStripComponent], exports: [AlertComponent, AlertContainerComponent] });
|
|
19
|
+
AlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AlertModule, providers: [AlertService, DynamicComponentService], imports: [CommonModule, ButtonModule, MessageStripComponent] });
|
|
20
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AlertModule, decorators: [{
|
|
21
21
|
type: NgModule,
|
|
22
22
|
args: [{
|
|
23
23
|
declarations: [AlertComponent, AlertContainerComponent],
|
|
24
|
-
imports: [CommonModule, ButtonModule,
|
|
24
|
+
imports: [CommonModule, ButtonModule, MessageStripComponent],
|
|
25
25
|
exports: [AlertComponent, AlertContainerComponent],
|
|
26
26
|
providers: [AlertService, DynamicComponentService]
|
|
27
27
|
}]
|
|
28
28
|
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYWxlcnQvYWxlcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUU1RTs7OztHQUlHO0FBT0gsTUFBTSxPQUFPLFdBQVc7O3dHQUFYLFdBQVc7eUdBQVgsV0FBVyxpQkFMTCxjQUFjLEVBQUUsdUJBQXVCLGFBQzVDLFlBQVksRUFBRSxZQUFZLEVBQUUscUJBQXFCLGFBQ2pELGNBQWMsRUFBRSx1QkFBdUI7eUdBR3hDLFdBQVcsYUFGVCxDQUFDLFlBQVksRUFBRSx1QkFBdUIsQ0FBQyxZQUZ4QyxZQUFZLEVBQUUsWUFBWSxFQUFFLHFCQUFxQjsyRkFJbEQsV0FBVztrQkFOdkIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsdUJBQXVCLENBQUM7b0JBQ3ZELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUscUJBQXFCLENBQUM7b0JBQzVELE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQztvQkFDbEQsU0FBUyxFQUFFLENBQUMsWUFBWSxFQUFFLHVCQUF1QixDQUFDO2lCQUNyRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBBbGVydENvbXBvbmVudCB9IGZyb20gJy4vYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4vYWxlcnQtc2VydmljZS9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IEFsZXJ0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9hbGVydC11dGlscy9hbGVydC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVzc2FnZS1zdHJpcCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqIEFsZXJ0IGNvbXBvbmVudCBpcyBkZXByaWNhdGVkIHNpbmNlIHZlcnNpb24gMC4xNi4wXG4gKiBNZXNzYWdlIFN0cmlwIGNvbXBvbmVudCBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0FsZXJ0Q29tcG9uZW50LCBBbGVydENvbnRhaW5lckNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQnV0dG9uTW9kdWxlLCBNZXNzYWdlU3RyaXBDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtBbGVydENvbXBvbmVudCwgQWxlcnRDb250YWluZXJDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW0FsZXJ0U2VydmljZSwgRHluYW1pY0NvbXBvbmVudFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEFsZXJ0TW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const defaultConfig = {
|
|
2
|
+
position: 'top-middle',
|
|
3
|
+
messageStrip: {}
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Applies default config to the given config
|
|
7
|
+
*/
|
|
8
|
+
export function applyDefaultConfig(config) {
|
|
9
|
+
return { ...defaultConfig, ...config };
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9tZXNzYWdlLXN0cmlwL2FsZXJ0L2RlZmF1bHQtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sYUFBYSxHQUEyRDtJQUMxRSxRQUFRLEVBQUUsWUFBWTtJQUN0QixZQUFZLEVBQUUsRUFBRTtDQUNuQixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQzlCLE1BQWtEO0lBRWxELE9BQU8sRUFBRSxHQUFHLGFBQWEsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcGVuTWVzc2FnZVN0cmlwQWxlcnRDb25maWcgfSBmcm9tICcuL29wZW4tbWVzc2FnZS1zdHJpcC1hbGVydC5jb25maWcnO1xuXG5jb25zdCBkZWZhdWx0Q29uZmlnOiBSZXF1aXJlZDxPbWl0PE9wZW5NZXNzYWdlU3RyaXBBbGVydENvbmZpZywgJ2NvbnRlbnQnPj4gPSB7XG4gICAgcG9zaXRpb246ICd0b3AtbWlkZGxlJyxcbiAgICBtZXNzYWdlU3RyaXA6IHt9XG59O1xuXG4vKipcbiAqIEFwcGxpZXMgZGVmYXVsdCBjb25maWcgdG8gdGhlIGdpdmVuIGNvbmZpZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlEZWZhdWx0Q29uZmlnPENvbXBvbmVudFR5cGUgPSB1bmtub3duPihcbiAgICBjb25maWc6IE9wZW5NZXNzYWdlU3RyaXBBbGVydENvbmZpZzxDb21wb25lbnRUeXBlPlxuKTogUmVxdWlyZWQ8T3Blbk1lc3NhZ2VTdHJpcEFsZXJ0Q29uZmlnPENvbXBvbmVudFR5cGU+PiB7XG4gICAgcmV0dXJuIHsgLi4uZGVmYXVsdENvbmZpZywgLi4uY29uZmlnIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './message-strip-alert.service';
|
|
2
|
+
export * from './message-strip-configuration-type';
|
|
3
|
+
export { MessageStripAlertRef } from './message-strip-alert.ref';
|
|
4
|
+
export { MessageStripAlertContainerPosition } from './tokens';
|
|
5
|
+
export { MessageStripAlertContainerAlertRefs } from './tokens';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9tZXNzYWdlLXN0cmlwL2FsZXJ0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUtuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlLXN0cmlwLWFsZXJ0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlLXN0cmlwLWNvbmZpZ3VyYXRpb24tdHlwZSc7XG5leHBvcnQgeyBNZXNzYWdlU3RyaXBBbGVydFZlcnRpY2FsUG9zaXRpb24gfSBmcm9tICcuL21lc3NhZ2Utc3RyaXAtYWxlcnQucG9zaXRpb24nO1xuZXhwb3J0IHsgTWVzc2FnZVN0cmlwQWxlcnRIb3Jpem9udGFsUG9zaXRpb24gfSBmcm9tICcuL21lc3NhZ2Utc3RyaXAtYWxlcnQucG9zaXRpb24nO1xuZXhwb3J0IHsgTWVzc2FnZVN0cmlwQWxlcnRQb3NpdGlvbiB9IGZyb20gJy4vbWVzc2FnZS1zdHJpcC1hbGVydC5wb3NpdGlvbic7XG5leHBvcnQgeyBPcGVuTWVzc2FnZVN0cmlwQWxlcnRDb25maWcgfSBmcm9tICcuL29wZW4tbWVzc2FnZS1zdHJpcC1hbGVydC5jb25maWcnO1xuZXhwb3J0IHsgTWVzc2FnZVN0cmlwQWxlcnRSZWYgfSBmcm9tICcuL21lc3NhZ2Utc3RyaXAtYWxlcnQucmVmJztcbmV4cG9ydCB7IE1lc3NhZ2VTdHJpcEFsZXJ0Q29udGFpbmVyUG9zaXRpb24gfSBmcm9tICcuL3Rva2Vucyc7XG5leHBvcnQgeyBNZXNzYWdlU3RyaXBBbGVydENvbnRhaW5lckFsZXJ0UmVmcyB9IGZyb20gJy4vdG9rZW5zJztcbiJdfQ==
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Component, inject, Renderer2, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { ComponentPortal, DomPortal, PortalModule, TemplatePortal } from '@angular/cdk/portal';
|
|
3
|
+
import { MessageStripComponent } from '../../message-strip.component';
|
|
4
|
+
import { MessageStripAlertRef } from '../message-strip-alert.ref';
|
|
5
|
+
import { MessageStripAlertComponentData } from '../tokens';
|
|
6
|
+
import { AutoDismissMessageStripDirective } from '../../auto-dismiss-message-strip.directive';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/cdk/portal";
|
|
9
|
+
/**
|
|
10
|
+
* The wrapper component, which is wrapping the Message Strip and passes
|
|
11
|
+
* configuration to it, also generates the content which will appear in it.
|
|
12
|
+
*/
|
|
13
|
+
export class MessageStripAlertComponent {
|
|
14
|
+
/** @hidden */
|
|
15
|
+
constructor() {
|
|
16
|
+
/** User provided data. Full of it */
|
|
17
|
+
this.data = inject(MessageStripAlertComponentData);
|
|
18
|
+
/** @hidden */
|
|
19
|
+
this.viewContainerRef = inject(ViewContainerRef);
|
|
20
|
+
/** @hidden */
|
|
21
|
+
this.renderer2 = inject(Renderer2);
|
|
22
|
+
/**
|
|
23
|
+
* Reference to the message strip alert, which is used to close it from the outside, or access the data and/or the component instance
|
|
24
|
+
* */
|
|
25
|
+
this.alertRef = inject(MessageStripAlertRef);
|
|
26
|
+
this.messageStripConfig = this.data.messageStripConfig;
|
|
27
|
+
this.contentPortal = this.getPortal(this.data.content);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Handler for the dismiss button click.
|
|
31
|
+
* */
|
|
32
|
+
onDismissHandler() {
|
|
33
|
+
this.messageStripConfig.onDismiss();
|
|
34
|
+
}
|
|
35
|
+
/** @hidden */
|
|
36
|
+
ngOnDestroy() {
|
|
37
|
+
clearTimeout(this.autoDismissTimeout);
|
|
38
|
+
}
|
|
39
|
+
/** @hidden */
|
|
40
|
+
ngAfterViewInit() {
|
|
41
|
+
this.autoDismissMessageStripDirective.open();
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Method, which is responsible for generating the portal, which will be rendered inside the message strip.
|
|
45
|
+
* It can be any type of the portal, depending on the user provided content.
|
|
46
|
+
* */
|
|
47
|
+
getPortal(content) {
|
|
48
|
+
if (typeof content === 'string') {
|
|
49
|
+
const textEl = this.renderer2.createText(content);
|
|
50
|
+
this.renderer2.appendChild(this.viewContainerRef.element.nativeElement, textEl);
|
|
51
|
+
return new DomPortal(textEl);
|
|
52
|
+
}
|
|
53
|
+
if (content instanceof TemplateRef) {
|
|
54
|
+
return new TemplatePortal(content, this.viewContainerRef, { $implicit: this.alertRef });
|
|
55
|
+
}
|
|
56
|
+
return new ComponentPortal(content);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
MessageStripAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
60
|
+
MessageStripAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: MessageStripAlertComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "autoDismissMessageStripDirective", first: true, predicate: AutoDismissMessageStripDirective, descendants: true }], ngImport: i0, template: "<fd-message-strip\n [class]=\"messageStripConfig.class\"\n [dismissible]=\"messageStripConfig.dismissible\"\n [autoDismiss]=\"messageStripConfig.duration > 0\"\n [mousePersist]=\"messageStripConfig.mousePersist\"\n [duration]=\"messageStripConfig.duration\"\n [noIcon]=\"messageStripConfig.noIcon\"\n [type]=\"messageStripConfig.type\"\n [id]=\"messageStripConfig.id\"\n [ariaLabelledBy]=\"messageStripConfig.ariaLabelledBy\"\n [ariaLabel]=\"messageStripConfig.ariaLabel\"\n [dismissLabel]=\"messageStripConfig.dismissLabel\"\n (onDismiss)=\"onDismissHandler()\"\n>\n <ng-template [cdkPortalOutlet]=\"contentPortal\"></ng-template>\n</fd-message-strip>\n", dependencies: [{ kind: "component", type: MessageStripComponent, selector: "fd-message-strip", inputs: ["class", "dismissible", "noIcon", "type", "id", "ariaLabelledBy", "ariaLabel", "dismissLabel", "width", "minWidth", "marginBottom"], outputs: ["onDismiss"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: AutoDismissMessageStripDirective, selector: "fd-message-strip[mousePersist], fd-message-strip[duration], fd-message-strip[autoDismiss]", inputs: ["dismissible", "autoDismiss", "duration", "mousePersist"], exportAs: ["fdAutoDismissMessageStrip"] }] });
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertComponent, decorators: [{
|
|
62
|
+
type: Component,
|
|
63
|
+
args: [{ standalone: true, imports: [MessageStripComponent, PortalModule, AutoDismissMessageStripDirective], template: "<fd-message-strip\n [class]=\"messageStripConfig.class\"\n [dismissible]=\"messageStripConfig.dismissible\"\n [autoDismiss]=\"messageStripConfig.duration > 0\"\n [mousePersist]=\"messageStripConfig.mousePersist\"\n [duration]=\"messageStripConfig.duration\"\n [noIcon]=\"messageStripConfig.noIcon\"\n [type]=\"messageStripConfig.type\"\n [id]=\"messageStripConfig.id\"\n [ariaLabelledBy]=\"messageStripConfig.ariaLabelledBy\"\n [ariaLabel]=\"messageStripConfig.ariaLabel\"\n [dismissLabel]=\"messageStripConfig.dismissLabel\"\n (onDismiss)=\"onDismissHandler()\"\n>\n <ng-template [cdkPortalOutlet]=\"contentPortal\"></ng-template>\n</fd-message-strip>\n" }]
|
|
64
|
+
}], ctorParameters: function () { return []; }, propDecorators: { autoDismissMessageStripDirective: [{
|
|
65
|
+
type: ViewChild,
|
|
66
|
+
args: [AutoDismissMessageStripDirective]
|
|
67
|
+
}] } });
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zdHJpcC1hbGVydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9tZXNzYWdlLXN0cmlwL2FsZXJ0L21lc3NhZ2Utc3RyaXAtYWxlcnQvbWVzc2FnZS1zdHJpcC1hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9tZXNzYWdlLXN0cmlwL2FsZXJ0L21lc3NhZ2Utc3RyaXAtYWxlcnQvbWVzc2FnZS1zdHJpcC1hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULE1BQU0sRUFFTixTQUFTLEVBQ1QsV0FBVyxFQUVYLFNBQVMsRUFDVCxnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQVUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7O0FBRTlGOzs7R0FHRztBQU1ILE1BQU0sT0FBTywwQkFBMEI7SUE0Qm5DLGNBQWM7SUFDZDtRQXhCQSxxQ0FBcUM7UUFDckMsU0FBSSxHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBTTlDLGNBQWM7UUFDTixxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwRCxjQUFjO1FBQ04sY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQVF0Qzs7Y0FFTTtRQUNHLGFBQVEsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUk3QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7O1VBRU07SUFDTixnQkFBZ0I7UUFDWixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXO1FBQ1AsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxjQUFjO0lBQ2QsZUFBZTtRQUNYLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztVQUdNO0lBQ0UsU0FBUyxDQUNiLE9BS3lCO1FBT3pCLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQzdCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2hGLE9BQU8sSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDaEM7UUFDRCxJQUFJLE9BQU8sWUFBWSxXQUFXLEVBQUU7WUFDaEMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQzNGO1FBQ0QsT0FBTyxJQUFJLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDOzt1SEE3RVEsMEJBQTBCOzJHQUExQiwwQkFBMEIsMElBRXhCLGdDQUFnQyxnREM3Qi9DLHVyQkFnQkEsNENEU2MscUJBQXFCLGtPQUFFLFlBQVksa01BQUUsZ0NBQWdDOzJGQUV0RSwwQkFBMEI7a0JBTHRDLFNBQVM7aUNBRU0sSUFBSSxXQUNQLENBQUMscUJBQXFCLEVBQUUsWUFBWSxFQUFFLGdDQUFnQyxDQUFDOzBFQUtoRixnQ0FBZ0M7c0JBRC9CLFNBQVM7dUJBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBpbmplY3QsXG4gICAgT25EZXN0cm95LFxuICAgIFJlbmRlcmVyMixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBUeXBlLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZVN0cmlwQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL21lc3NhZ2Utc3RyaXAtY29uZmlndXJhdGlvbi10eXBlJztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgRG9tUG9ydGFsLCBQb3J0YWwsIFBvcnRhbE1vZHVsZSwgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21lc3NhZ2Utc3RyaXAuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcEFsZXJ0UmVmIH0gZnJvbSAnLi4vbWVzc2FnZS1zdHJpcC1hbGVydC5yZWYnO1xuaW1wb3J0IHsgTWVzc2FnZVN0cmlwQWxlcnRDb21wb25lbnREYXRhIH0gZnJvbSAnLi4vdG9rZW5zJztcbmltcG9ydCB7IEF1dG9EaXNtaXNzTWVzc2FnZVN0cmlwRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vYXV0by1kaXNtaXNzLW1lc3NhZ2Utc3RyaXAuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBUaGUgd3JhcHBlciBjb21wb25lbnQsIHdoaWNoIGlzIHdyYXBwaW5nIHRoZSBNZXNzYWdlIFN0cmlwIGFuZCBwYXNzZXNcbiAqIGNvbmZpZ3VyYXRpb24gdG8gaXQsIGFsc28gZ2VuZXJhdGVzIHRoZSBjb250ZW50IHdoaWNoIHdpbGwgYXBwZWFyIGluIGl0LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogYC4vbWVzc2FnZS1zdHJpcC1hbGVydC5jb21wb25lbnQuaHRtbGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTWVzc2FnZVN0cmlwQ29tcG9uZW50LCBQb3J0YWxNb2R1bGUsIEF1dG9EaXNtaXNzTWVzc2FnZVN0cmlwRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudDxDb21wb25lbnRUeXBlID0gdW5rbm93bj4gaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChBdXRvRGlzbWlzc01lc3NhZ2VTdHJpcERpcmVjdGl2ZSlcbiAgICBhdXRvRGlzbWlzc01lc3NhZ2VTdHJpcERpcmVjdGl2ZTogQXV0b0Rpc21pc3NNZXNzYWdlU3RyaXBEaXJlY3RpdmU7XG5cbiAgICAvKiogVXNlciBwcm92aWRlZCBkYXRhLiBGdWxsIG9mIGl0ICovXG4gICAgZGF0YSA9IGluamVjdChNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudERhdGEpO1xuICAgIC8qKiBDb25maWd1cmF0aW9uIGZvciB0aGUgbWVzc2FnZSBzdHJpcCBhcHBlYXJhbmNlICovXG4gICAgbWVzc2FnZVN0cmlwQ29uZmlnOiBNZXNzYWdlU3RyaXBDb25maWd1cmF0aW9uO1xuICAgIC8qKiBQb3J0YWwsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciBjb3JyZWN0bHkgcmVuZGVyaW5nIHVzZXIgcHJvdmlkZWQgY29udGVudC4gSXQgY2FuIGJlIGFueSB0eXBlIG9mIHRoZSBwb3J0YWwgKi9cbiAgICBjb250ZW50UG9ydGFsOiBQb3J0YWw8dW5rbm93bj47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVuZGVyZXIyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgICAvKipcbiAgICAgKiBUaW1lb3V0LCB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgYXV0by1kaXNtaXNzaW5nIHRoZSBtZXNzYWdlIHN0cmlwLlxuICAgICAqIEl0IHNob3VsZCBiZSBwcm9wZXJseSBjbGVhcmVkIG9uIGNvbXBvbmVudCBkZXN0cm95LlxuICAgICAqL1xuICAgIHByaXZhdGUgYXV0b0Rpc21pc3NUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcblxuICAgIC8qKlxuICAgICAqIFJlZmVyZW5jZSB0byB0aGUgbWVzc2FnZSBzdHJpcCBhbGVydCwgd2hpY2ggaXMgdXNlZCB0byBjbG9zZSBpdCBmcm9tIHRoZSBvdXRzaWRlLCBvciBhY2Nlc3MgdGhlIGRhdGEgYW5kL29yIHRoZSBjb21wb25lbnQgaW5zdGFuY2VcbiAgICAgKiAgKi9cbiAgICByZWFkb25seSBhbGVydFJlZiA9IGluamVjdChNZXNzYWdlU3RyaXBBbGVydFJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTdHJpcENvbmZpZyA9IHRoaXMuZGF0YS5tZXNzYWdlU3RyaXBDb25maWc7XG4gICAgICAgIHRoaXMuY29udGVudFBvcnRhbCA9IHRoaXMuZ2V0UG9ydGFsKHRoaXMuZGF0YS5jb250ZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGVyIGZvciB0aGUgZGlzbWlzcyBidXR0b24gY2xpY2suXG4gICAgICogICovXG4gICAgb25EaXNtaXNzSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU3RyaXBDb25maWcub25EaXNtaXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuYXV0b0Rpc21pc3NUaW1lb3V0KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hdXRvRGlzbWlzc01lc3NhZ2VTdHJpcERpcmVjdGl2ZS5vcGVuKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kLCB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgZ2VuZXJhdGluZyB0aGUgcG9ydGFsLCB3aGljaCB3aWxsIGJlIHJlbmRlcmVkIGluc2lkZSB0aGUgbWVzc2FnZSBzdHJpcC5cbiAgICAgKiBJdCBjYW4gYmUgYW55IHR5cGUgb2YgdGhlIHBvcnRhbCwgZGVwZW5kaW5nIG9uIHRoZSB1c2VyIHByb3ZpZGVkIGNvbnRlbnQuXG4gICAgICogICovXG4gICAgcHJpdmF0ZSBnZXRQb3J0YWwoXG4gICAgICAgIGNvbnRlbnQ6XG4gICAgICAgICAgICB8IHN0cmluZ1xuICAgICAgICAgICAgfCBUZW1wbGF0ZVJlZjx7XG4gICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IE1lc3NhZ2VTdHJpcEFsZXJ0UmVmPENvbXBvbmVudFR5cGU+O1xuICAgICAgICAgICAgICB9PlxuICAgICAgICAgICAgfCBUeXBlPENvbXBvbmVudFR5cGU+XG4gICAgKTpcbiAgICAgICAgfCBEb21Qb3J0YWxcbiAgICAgICAgfCBUZW1wbGF0ZVBvcnRhbDx7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDogTWVzc2FnZVN0cmlwQWxlcnRSZWY8Q29tcG9uZW50VHlwZT47XG4gICAgICAgICAgfT5cbiAgICAgICAgfCBDb21wb25lbnRQb3J0YWw8Q29tcG9uZW50VHlwZT4ge1xuICAgICAgICBpZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0RWwgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVUZXh0KGNvbnRlbnQpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQodGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGV4dEVsKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRG9tUG9ydGFsKHRleHRFbCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBUZW1wbGF0ZVBvcnRhbChjb250ZW50LCB0aGlzLnZpZXdDb250YWluZXJSZWYsIHsgJGltcGxpY2l0OiB0aGlzLmFsZXJ0UmVmIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbnRlbnQpO1xuICAgIH1cbn1cbiIsIjxmZC1tZXNzYWdlLXN0cmlwXG4gICAgW2NsYXNzXT1cIm1lc3NhZ2VTdHJpcENvbmZpZy5jbGFzc1wiXG4gICAgW2Rpc21pc3NpYmxlXT1cIm1lc3NhZ2VTdHJpcENvbmZpZy5kaXNtaXNzaWJsZVwiXG4gICAgW2F1dG9EaXNtaXNzXT1cIm1lc3NhZ2VTdHJpcENvbmZpZy5kdXJhdGlvbiA+IDBcIlxuICAgIFttb3VzZVBlcnNpc3RdPVwibWVzc2FnZVN0cmlwQ29uZmlnLm1vdXNlUGVyc2lzdFwiXG4gICAgW2R1cmF0aW9uXT1cIm1lc3NhZ2VTdHJpcENvbmZpZy5kdXJhdGlvblwiXG4gICAgW25vSWNvbl09XCJtZXNzYWdlU3RyaXBDb25maWcubm9JY29uXCJcbiAgICBbdHlwZV09XCJtZXNzYWdlU3RyaXBDb25maWcudHlwZVwiXG4gICAgW2lkXT1cIm1lc3NhZ2VTdHJpcENvbmZpZy5pZFwiXG4gICAgW2FyaWFMYWJlbGxlZEJ5XT1cIm1lc3NhZ2VTdHJpcENvbmZpZy5hcmlhTGFiZWxsZWRCeVwiXG4gICAgW2FyaWFMYWJlbF09XCJtZXNzYWdlU3RyaXBDb25maWcuYXJpYUxhYmVsXCJcbiAgICBbZGlzbWlzc0xhYmVsXT1cIm1lc3NhZ2VTdHJpcENvbmZpZy5kaXNtaXNzTGFiZWxcIlxuICAgIChvbkRpc21pc3MpPVwib25EaXNtaXNzSGFuZGxlcigpXCJcbj5cbiAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJjb250ZW50UG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbjwvZmQtbWVzc2FnZS1zdHJpcD5cbiJdfQ==
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Component, QueryList, ViewChildren, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { CdkPortalOutlet, PortalModule } from '@angular/cdk/portal';
|
|
3
|
+
import { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';
|
|
4
|
+
import { MessageStripAlertComponent } from '../message-strip-alert/message-strip-alert.component';
|
|
5
|
+
import { AsyncPipe, NgFor } from '@angular/common';
|
|
6
|
+
import { MessageStripAlertContainerFooterComponent } from '../message-strip-alert-container-footer/message-strip-alert-container-footer.component';
|
|
7
|
+
import { map, startWith } from 'rxjs';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/cdk/portal";
|
|
10
|
+
/**
|
|
11
|
+
* This will be rendered in the overlay. It is responsible for rendering the alerts and the footer.
|
|
12
|
+
*/
|
|
13
|
+
export class MessageStripAlertContainerComponent {
|
|
14
|
+
constructor() {
|
|
15
|
+
/**
|
|
16
|
+
* The list of the elements that are attached to the container.
|
|
17
|
+
*/
|
|
18
|
+
this.attachedElements = [];
|
|
19
|
+
}
|
|
20
|
+
/** @hidden */
|
|
21
|
+
ngAfterViewInit() {
|
|
22
|
+
this.alertRefs$ = this.portalOutlets.changes.pipe(startWith(this.portalOutlets), map(() => this.portalOutlets
|
|
23
|
+
.toArray()
|
|
24
|
+
.map((p) => p.attachedRef?.instance.alertRef)));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
MessageStripAlertContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
+
MessageStripAlertContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: MessageStripAlertContainerComponent, isStandalone: true, selector: "fd-message-strip-alert-container", viewQueries: [{ propertyName: "portalOutlets", predicate: CdkPortalOutlet, descendants: true }, { propertyName: "alerts", predicate: MessageStripAlertComponent, descendants: true }], ngImport: i0, template: `
|
|
29
|
+
<div fdScrollbar>
|
|
30
|
+
<ng-container *ngFor="let portal of attachedElements">
|
|
31
|
+
<ng-template [cdkPortalOutlet]="portal"></ng-template>
|
|
32
|
+
</ng-container>
|
|
33
|
+
</div>
|
|
34
|
+
<fd-message-strip-alert-container-footer
|
|
35
|
+
[alertRefs]="alertRefs$ | async"
|
|
36
|
+
></fd-message-strip-alert-container-footer>
|
|
37
|
+
`, isInline: true, styles: [".fd-message-strip-alert-overlay{max-width:33.33vw;padding:.5rem}.fd-message-strip-alert-overlay--top{top:0;max-height:100vh}.fd-message-strip-alert-overlay--top.fd-message-strip-alert-overlay--bottom-opened{max-height:50vh}.fd-message-strip-alert-overlay--bottom{top:initial;bottom:0;max-height:100vh}.fd-message-strip-alert-overlay--bottom fd-message-strip-alert-container{flex-direction:column-reverse}.fd-message-strip-alert-overlay--bottom.fd-message-strip-alert-overlay--top-opened{max-height:50vh}.fd-message-strip-alert-overlay--start{left:0}.fd-message-strip-alert-overlay--middle{left:33.33vw;width:33.33vw}@media screen and (max-width: 992px){.fd-message-strip-alert-overlay--middle{left:5vw;width:90vw;max-width:90vw}}.fd-message-strip-alert-overlay--middle fd-message-strip-alert-container{width:100%}.fd-message-strip-alert-overlay--middle fd-message-strip-alert-container>.fd-scrollbar>*{width:-moz-fit-content;width:fit-content;margin:0 auto}.fd-message-strip-alert-overlay--end{right:0}.fd-message-strip-alert-overlay fd-message-strip-alert-container{display:flex;flex-direction:column}.fd-message-strip-alert-overlay fd-message-strip-alert-container div[fdscrollbar]{width:100%;display:flex;padding:.5rem;gap:.75rem;flex-direction:column;max-height:100%}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible", "overrideTabindex"] }, { kind: "component", type: MessageStripAlertContainerFooterComponent, selector: "fd-message-strip-alert-container-footer", inputs: ["alertRefs"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertContainerComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{ selector: 'fd-message-strip-alert-container', template: `
|
|
41
|
+
<div fdScrollbar>
|
|
42
|
+
<ng-container *ngFor="let portal of attachedElements">
|
|
43
|
+
<ng-template [cdkPortalOutlet]="portal"></ng-template>
|
|
44
|
+
</ng-container>
|
|
45
|
+
</div>
|
|
46
|
+
<fd-message-strip-alert-container-footer
|
|
47
|
+
[alertRefs]="alertRefs$ | async"
|
|
48
|
+
></fd-message-strip-alert-container-footer>
|
|
49
|
+
`, encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgFor, PortalModule, ScrollbarDirective, MessageStripAlertContainerFooterComponent, AsyncPipe], styles: [".fd-message-strip-alert-overlay{max-width:33.33vw;padding:.5rem}.fd-message-strip-alert-overlay--top{top:0;max-height:100vh}.fd-message-strip-alert-overlay--top.fd-message-strip-alert-overlay--bottom-opened{max-height:50vh}.fd-message-strip-alert-overlay--bottom{top:initial;bottom:0;max-height:100vh}.fd-message-strip-alert-overlay--bottom fd-message-strip-alert-container{flex-direction:column-reverse}.fd-message-strip-alert-overlay--bottom.fd-message-strip-alert-overlay--top-opened{max-height:50vh}.fd-message-strip-alert-overlay--start{left:0}.fd-message-strip-alert-overlay--middle{left:33.33vw;width:33.33vw}@media screen and (max-width: 992px){.fd-message-strip-alert-overlay--middle{left:5vw;width:90vw;max-width:90vw}}.fd-message-strip-alert-overlay--middle fd-message-strip-alert-container{width:100%}.fd-message-strip-alert-overlay--middle fd-message-strip-alert-container>.fd-scrollbar>*{width:-moz-fit-content;width:fit-content;margin:0 auto}.fd-message-strip-alert-overlay--end{right:0}.fd-message-strip-alert-overlay fd-message-strip-alert-container{display:flex;flex-direction:column}.fd-message-strip-alert-overlay fd-message-strip-alert-container div[fdscrollbar]{width:100%;display:flex;padding:.5rem;gap:.75rem;flex-direction:column;max-height:100%}\n"] }]
|
|
50
|
+
}], propDecorators: { portalOutlets: [{
|
|
51
|
+
type: ViewChildren,
|
|
52
|
+
args: [CdkPortalOutlet]
|
|
53
|
+
}], alerts: [{
|
|
54
|
+
type: ViewChildren,
|
|
55
|
+
args: [MessageStripAlertComponent]
|
|
56
|
+
}] } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zdHJpcC1hbGVydC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbWVzc2FnZS1zdHJpcC9hbGVydC9tZXNzYWdlLXN0cmlwLWFsZXJ0LWNvbnRhaW5lci9tZXNzYWdlLXN0cmlwLWFsZXJ0LWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLGVBQWUsRUFBbUIsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSx3RkFBd0YsQ0FBQztBQUNuSixPQUFPLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBSWxEOztHQUVHO0FBa0JILE1BQU0sT0FBTyxtQ0FBbUM7SUFqQmhEO1FBa0JJOztXQUVHO1FBQ0gscUJBQWdCLEdBQWtELEVBQUUsQ0FBQztLQTJCeEU7SUFYRyxjQUFjO0lBQ2QsZUFBZTtRQUNYLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM3QyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUM3QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQ0wsSUFBSSxDQUFDLGFBQWE7YUFDYixPQUFPLEVBQUU7YUFDVCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFFLENBQUMsQ0FBQyxXQUF3RCxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FDbEcsQ0FDSixDQUFDO0lBQ04sQ0FBQzs7Z0lBOUJRLG1DQUFtQztvSEFBbkMsbUNBQW1DLDhIQWE5QixlQUFlLDREQUlmLDBCQUEwQixnREFoQzlCOzs7Ozs7Ozs7S0FTVCxtMENBSVMsS0FBSyxrSEFBRSxZQUFZLGtNQUFFLGtCQUFrQixtS0FBRSx5Q0FBeUMsc0dBQUUsU0FBUzsyRkFFOUYsbUNBQW1DO2tCQWpCL0MsU0FBUzsrQkFDSSxrQ0FBa0MsWUFDbEM7Ozs7Ozs7OztLQVNULGlCQUVjLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSx5Q0FBeUMsRUFBRSxTQUFTLENBQUM7OEJBZ0J4RyxhQUFhO3NCQURaLFlBQVk7dUJBQUMsZUFBZTtnQkFLN0IsTUFBTTtzQkFETCxZQUFZO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENka1BvcnRhbE91dGxldCwgQ29tcG9uZW50UG9ydGFsLCBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IFNjcm9sbGJhckRpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zY3JvbGxiYXInO1xuaW1wb3J0IHsgTWVzc2FnZVN0cmlwQWxlcnRDb21wb25lbnQgfSBmcm9tICcuLi9tZXNzYWdlLXN0cmlwLWFsZXJ0L21lc3NhZ2Utc3RyaXAtYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWVzc2FnZVN0cmlwQWxlcnRDb250YWluZXJGb290ZXJDb21wb25lbnQgfSBmcm9tICcuLi9tZXNzYWdlLXN0cmlwLWFsZXJ0LWNvbnRhaW5lci1mb290ZXIvbWVzc2FnZS1zdHJpcC1hbGVydC1jb250YWluZXItZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBBbGVydFJlZiB9IGZyb20gJy4uL21lc3NhZ2Utc3RyaXAtYWxlcnQucmVmJztcblxuLyoqXG4gKiBUaGlzIHdpbGwgYmUgcmVuZGVyZWQgaW4gdGhlIG92ZXJsYXkuIEl0IGlzIHJlc3BvbnNpYmxlIGZvciByZW5kZXJpbmcgdGhlIGFsZXJ0cyBhbmQgdGhlIGZvb3Rlci5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1tZXNzYWdlLXN0cmlwLWFsZXJ0LWNvbnRhaW5lcicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBmZFNjcm9sbGJhcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBvcnRhbCBvZiBhdHRhY2hlZEVsZW1lbnRzXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwicG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGZkLW1lc3NhZ2Utc3RyaXAtYWxlcnQtY29udGFpbmVyLWZvb3RlclxuICAgICAgICAgICAgW2FsZXJ0UmVmc109XCJhbGVydFJlZnMkIHwgYXN5bmNcIlxuICAgICAgICA+PC9mZC1tZXNzYWdlLXN0cmlwLWFsZXJ0LWNvbnRhaW5lci1mb290ZXI+XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFsnLi9tZXNzYWdlLXN0cmlwLWFsZXJ0LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdGb3IsIFBvcnRhbE1vZHVsZSwgU2Nyb2xsYmFyRGlyZWN0aXZlLCBNZXNzYWdlU3RyaXBBbGVydENvbnRhaW5lckZvb3RlckNvbXBvbmVudCwgQXN5bmNQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlU3RyaXBBbGVydENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIHRoZSBlbGVtZW50cyB0aGF0IGFyZSBhdHRhY2hlZCB0byB0aGUgY29udGFpbmVyLlxuICAgICAqL1xuICAgIGF0dGFjaGVkRWxlbWVudHM6IENvbXBvbmVudFBvcnRhbDxNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudD5bXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogTGlzdCBvZiB0aGUgcmVuZGVyZWQgbWVzc2FnZSBzdHJpcCBhbGVydHMuIEl0IGlzIHVzZWQgaW4gdGhlIGZvb3RlciBhbmQgaXMgaW5qZWN0ZWQgaW50byB0aGVcbiAgICAgKiB1c2VyLXByb3ZpZGVkIGZvb3RlciBjb21wb25lbnQgcG9ydGFsLiBUaGlzIHdheSwgdXNlciBoYXMgZnVsbCBjb250cm9sIG92ZXIgdGhlIGNvbnRhaW5lciBhbGVydHMuXG4gICAgICovXG4gICAgYWxlcnRSZWZzJCE6IE9ic2VydmFibGU8TWVzc2FnZVN0cmlwQWxlcnRSZWZbXT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oQ2RrUG9ydGFsT3V0bGV0KVxuICAgIHBvcnRhbE91dGxldHM6IFF1ZXJ5TGlzdDxDZGtQb3J0YWxPdXRsZXQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkcmVuKE1lc3NhZ2VTdHJpcEFsZXJ0Q29tcG9uZW50KVxuICAgIGFsZXJ0czogUXVlcnlMaXN0PE1lc3NhZ2VTdHJpcEFsZXJ0Q29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFsZXJ0UmVmcyQgPSB0aGlzLnBvcnRhbE91dGxldHMuY2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMucG9ydGFsT3V0bGV0cyksXG4gICAgICAgICAgICBtYXAoKCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnBvcnRhbE91dGxldHNcbiAgICAgICAgICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgICAgICAgICAubWFwKChwKSA9PiAocC5hdHRhY2hlZFJlZiBhcyBDb21wb25lbnRSZWY8TWVzc2FnZVN0cmlwQWxlcnRDb21wb25lbnQ+KT8uaW5zdGFuY2UuYWxlcnRSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Component, inject, Injector, Input } from '@angular/core';
|
|
2
|
+
import { MessageStripAlertService } from '../message-strip-alert.service';
|
|
3
|
+
import { DestroyedService } from '@fundamental-ngx/cdk/utils';
|
|
4
|
+
import { takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { BehaviorSubject, map, tap } from 'rxjs';
|
|
6
|
+
import { ComponentPortal, PortalModule } from '@angular/cdk/portal';
|
|
7
|
+
import { MessageStripAlertContainerAlertRefs, MessageStripAlertContainerPosition } from '../tokens';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/cdk/portal";
|
|
10
|
+
/**
|
|
11
|
+
* The component that represents the footer of the message strip alert container.
|
|
12
|
+
* if user has provided the footer component through service, then this component
|
|
13
|
+
* will render it inside itself.
|
|
14
|
+
* Bear in mind that this component is always created, just sometimes if there is nothing to render
|
|
15
|
+
* it will be empty.
|
|
16
|
+
*/
|
|
17
|
+
export class MessageStripAlertContainerFooterComponent {
|
|
18
|
+
constructor() {
|
|
19
|
+
/**
|
|
20
|
+
* Position of the overlay in which this component is rendered.
|
|
21
|
+
*/
|
|
22
|
+
this.position = inject(MessageStripAlertContainerPosition);
|
|
23
|
+
/** @hidden */
|
|
24
|
+
this.destroyed = inject(DestroyedService);
|
|
25
|
+
/** @hidden */
|
|
26
|
+
this.messageStripAlertService = inject(MessageStripAlertService);
|
|
27
|
+
/**
|
|
28
|
+
* Observable that emits the alert references that are currently rendered in the container.
|
|
29
|
+
*/
|
|
30
|
+
this.alertRefs$ = new BehaviorSubject([]);
|
|
31
|
+
}
|
|
32
|
+
/** @hidden */
|
|
33
|
+
set alertRefs(alertRefs) {
|
|
34
|
+
this.alertRefs$.next(alertRefs);
|
|
35
|
+
}
|
|
36
|
+
/** @hidden */
|
|
37
|
+
ngAfterViewInit() {
|
|
38
|
+
this.messageStripAlertService.footerComponents$
|
|
39
|
+
.pipe(map((components) => components[this.position]), tap((footerComponent) => {
|
|
40
|
+
if (footerComponent) {
|
|
41
|
+
this.footerComponentPortal = new ComponentPortal(footerComponent, null, Injector.create({
|
|
42
|
+
providers: [
|
|
43
|
+
{
|
|
44
|
+
provide: MessageStripAlertContainerAlertRefs,
|
|
45
|
+
useValue: this.alertRefs$.pipe(takeUntil(this.destroyed))
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
this.footerComponentPortal = undefined;
|
|
52
|
+
}
|
|
53
|
+
}), takeUntil(this.destroyed))
|
|
54
|
+
.subscribe();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
MessageStripAlertContainerFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertContainerFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
+
MessageStripAlertContainerFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: MessageStripAlertContainerFooterComponent, isStandalone: true, selector: "fd-message-strip-alert-container-footer", inputs: { alertRefs: "alertRefs" }, providers: [DestroyedService], ngImport: i0, template: ` <ng-template [cdkPortalOutlet]="footerComponentPortal"></ng-template> `, isInline: true, styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertContainerFooterComponent, decorators: [{
|
|
60
|
+
type: Component,
|
|
61
|
+
args: [{ selector: 'fd-message-strip-alert-container-footer', template: ` <ng-template [cdkPortalOutlet]="footerComponentPortal"></ng-template> `, standalone: true, imports: [PortalModule], providers: [DestroyedService], styles: [":host{display:block}\n"] }]
|
|
62
|
+
}], propDecorators: { alertRefs: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}] } });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zdHJpcC1hbGVydC1jb250YWluZXItZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL21lc3NhZ2Utc3RyaXAvYWxlcnQvbWVzc2FnZS1zdHJpcC1hbGVydC1jb250YWluZXItZm9vdGVyL21lc3NhZ2Utc3RyaXAtYWxlcnQtY29udGFpbmVyLWZvb3Rlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFZLE1BQU0sNEJBQTRCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBRXBHOzs7Ozs7R0FNRztBQWVILE1BQU0sT0FBTyx5Q0FBeUM7SUFkdEQ7UUEwQkk7O1dBRUc7UUFDSyxhQUFRLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFFOUQsY0FBYztRQUNOLGNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUU3QyxjQUFjO1FBQ04sNkJBQXdCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFFcEU7O1dBRUc7UUFDSyxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQW1DLEVBQUUsQ0FBQyxDQUFDO0tBNkJsRjtJQXRERyxjQUFjO0lBQ2QsSUFDSSxTQUFTLENBQUMsU0FBMkM7UUFDckQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQXVCRCxjQUFjO0lBQ2QsZUFBZTtRQUNYLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUI7YUFDMUMsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUM5QyxHQUFHLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUNwQixJQUFJLGVBQWUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksZUFBZSxDQUM1QyxlQUFlLEVBQ2YsSUFBSSxFQUNKLFFBQVEsQ0FBQyxNQUFNLENBQUM7b0JBQ1osU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxtQ0FBbUM7NEJBQzVDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO3lCQUM1RDtxQkFDSjtpQkFDSixDQUFDLENBQ0wsQ0FBQzthQUNMO2lCQUFNO2dCQUNILElBQUksQ0FBQyxxQkFBcUIsR0FBRyxTQUFTLENBQUM7YUFDMUM7UUFDTCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUM1QjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7O3NJQXREUSx5Q0FBeUM7MEhBQXpDLHlDQUF5QywwSEFGdkMsQ0FBQyxnQkFBZ0IsQ0FBQywwQkFWbkIseUVBQXlFLCtGQVN6RSxZQUFZOzJGQUdiLHlDQUF5QztrQkFkckQsU0FBUzsrQkFDSSx5Q0FBeUMsWUFDekMseUVBQXlFLGNBUXZFLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxhQUNaLENBQUMsZ0JBQWdCLENBQUM7OEJBS3pCLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgaW5qZWN0LCBJbmplY3RvciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcEFsZXJ0U2VydmljZSB9IGZyb20gJy4uL21lc3NhZ2Utc3RyaXAtYWxlcnQuc2VydmljZSc7XG5pbXBvcnQgeyBEZXN0cm95ZWRTZXJ2aWNlLCBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBBbGVydFJlZiB9IGZyb20gJy4uL21lc3NhZ2Utc3RyaXAtYWxlcnQucmVmJztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcEFsZXJ0Q29udGFpbmVyQWxlcnRSZWZzLCBNZXNzYWdlU3RyaXBBbGVydENvbnRhaW5lclBvc2l0aW9uIH0gZnJvbSAnLi4vdG9rZW5zJztcblxuLyoqXG4gKiBUaGUgY29tcG9uZW50IHRoYXQgcmVwcmVzZW50cyB0aGUgZm9vdGVyIG9mIHRoZSBtZXNzYWdlIHN0cmlwIGFsZXJ0IGNvbnRhaW5lci5cbiAqIGlmIHVzZXIgaGFzIHByb3ZpZGVkIHRoZSBmb290ZXIgY29tcG9uZW50IHRocm91Z2ggc2VydmljZSwgdGhlbiB0aGlzIGNvbXBvbmVudFxuICogd2lsbCByZW5kZXIgaXQgaW5zaWRlIGl0c2VsZi5cbiAqIEJlYXIgaW4gbWluZCB0aGF0IHRoaXMgY29tcG9uZW50IGlzIGFsd2F5cyBjcmVhdGVkLCBqdXN0IHNvbWV0aW1lcyBpZiB0aGVyZSBpcyBub3RoaW5nIHRvIHJlbmRlclxuICogaXQgd2lsbCBiZSBlbXB0eS5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1tZXNzYWdlLXN0cmlwLWFsZXJ0LWNvbnRhaW5lci1mb290ZXInLFxuICAgIHRlbXBsYXRlOiBgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cImZvb3RlckNvbXBvbmVudFBvcnRhbFwiPjwvbmctdGVtcGxhdGU+IGAsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbUG9ydGFsTW9kdWxlXSxcbiAgICBwcm92aWRlcnM6IFtEZXN0cm95ZWRTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlU3RyaXBBbGVydENvbnRhaW5lckZvb3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgYWxlcnRSZWZzKGFsZXJ0UmVmczogTnVsbGFibGU8TWVzc2FnZVN0cmlwQWxlcnRSZWZbXT4pIHtcbiAgICAgICAgdGhpcy5hbGVydFJlZnMkLm5leHQoYWxlcnRSZWZzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWZlcmVuY2UgdG8gdGhlIHVzZXIgcHJvdmlkZWQgY29tcG9uZW50J3MgcG9ydGFsLlxuICAgICAqL1xuICAgIGZvb3RlckNvbXBvbmVudFBvcnRhbD86IENvbXBvbmVudFBvcnRhbDxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIG92ZXJsYXkgaW4gd2hpY2ggdGhpcyBjb21wb25lbnQgaXMgcmVuZGVyZWQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBwb3NpdGlvbiA9IGluamVjdChNZXNzYWdlU3RyaXBBbGVydENvbnRhaW5lclBvc2l0aW9uKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBpbmplY3QoRGVzdHJveWVkU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgbWVzc2FnZVN0cmlwQWxlcnRTZXJ2aWNlID0gaW5qZWN0KE1lc3NhZ2VTdHJpcEFsZXJ0U2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGFsZXJ0IHJlZmVyZW5jZXMgdGhhdCBhcmUgY3VycmVudGx5IHJlbmRlcmVkIGluIHRoZSBjb250YWluZXIuXG4gICAgICovXG4gICAgcHJpdmF0ZSBhbGVydFJlZnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOdWxsYWJsZTxNZXNzYWdlU3RyaXBBbGVydFJlZltdPj4oW10pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVzc2FnZVN0cmlwQWxlcnRTZXJ2aWNlLmZvb3RlckNvbXBvbmVudHMkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGNvbXBvbmVudHMpID0+IGNvbXBvbmVudHNbdGhpcy5wb3NpdGlvbl0pLFxuICAgICAgICAgICAgICAgIHRhcCgoZm9vdGVyQ29tcG9uZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmb290ZXJDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9vdGVyQ29tcG9uZW50UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb290ZXJDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBNZXNzYWdlU3RyaXBBbGVydENvbnRhaW5lckFsZXJ0UmVmcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogdGhpcy5hbGVydFJlZnMkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb290ZXJDb21wb25lbnRQb3J0YWwgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zdHJpcC1hbGVydC5wb3NpdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL21lc3NhZ2Utc3RyaXAvYWxlcnQvbWVzc2FnZS1zdHJpcC1hbGVydC5wb3NpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTWVzc2FnZVN0cmlwQWxlcnRWZXJ0aWNhbFBvc2l0aW9uID0gJ3RvcCcgfCAnYm90dG9tJztcbmV4cG9ydCB0eXBlIE1lc3NhZ2VTdHJpcEFsZXJ0SG9yaXpvbnRhbFBvc2l0aW9uID0gJ3N0YXJ0JyB8ICdtaWRkbGUnIHwgJ2VuZCc7XG5leHBvcnQgdHlwZSBNZXNzYWdlU3RyaXBBbGVydFBvc2l0aW9uID0gYCR7TWVzc2FnZVN0cmlwQWxlcnRWZXJ0aWNhbFBvc2l0aW9ufS0ke01lc3NhZ2VTdHJpcEFsZXJ0SG9yaXpvbnRhbFBvc2l0aW9ufWA7XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class MessageStripAlertRef {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zdHJpcC1hbGVydC5yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9tZXNzYWdlLXN0cmlwL2FsZXJ0L21lc3NhZ2Utc3RyaXAtYWxlcnQucmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBZ0Isb0JBQW9CO0NBVXpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudCB9IGZyb20gJy4vbWVzc2FnZS1zdHJpcC1hbGVydC9tZXNzYWdlLXN0cmlwLWFsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNZXNzYWdlU3RyaXBBbGVydFJlZjxDb21wb25lbnRUeXBlID0gdW5rbm93bj4ge1xuICAgIC8qKiBNZXNzYWdlIHN0cmlwIGFsZXJ0IGNvbXBvbmVudCBwb3J0YWwgd2hpY2ggaXMgcmVuZGVyZWQgaW4gdGhlIGNvbnRhaW5lciAqL1xuICAgIGFic3RyYWN0IHBvcnRhbDogQ29tcG9uZW50UG9ydGFsPE1lc3NhZ2VTdHJpcEFsZXJ0Q29tcG9uZW50PENvbXBvbmVudFR5cGU+PjtcbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiwgd2hpY2ggZGlzbWlzc2VzIHRoZSBhbGVydCwgaXQgY2FsbHMgdGhlIHVzZXItcHJvdmlkZWQgZnVuY3Rpb25cbiAgICAgKiBhZnRlciBkaXNtaXNzaW5nIHRoZSBhY3R1YWwgYWxlcnRcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBkaXNtaXNzOiAoKSA9PiB2b2lkO1xuICAgIC8qKiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2hlbiB0aGUgYWxlcnQgaXMgZGlzbWlzc2VkICovXG4gICAgYWJzdHJhY3Qgb25EaXNtaXNzJDogT2JzZXJ2YWJsZTx2b2lkPjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { inject, Injectable, Injector } from '@angular/core';
|
|
2
|
+
import { Overlay } from '@angular/cdk/overlay';
|
|
3
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
4
|
+
import { BehaviorSubject, combineLatest, map, Subject, tap } from 'rxjs';
|
|
5
|
+
import { ResponsiveBreakpoints, ViewportSizeObservable } from '@fundamental-ngx/cdk/utils';
|
|
6
|
+
import { MessageStripAlertContainerComponent } from './message-strip-alert-container/message-strip-alert-container.component';
|
|
7
|
+
import { MessageStripAlertComponent } from './message-strip-alert/message-strip-alert.component';
|
|
8
|
+
import { MessageStripAlertRef } from './message-strip-alert.ref';
|
|
9
|
+
import { MessageStripAlertComponentData, MessageStripAlertContainerPosition } from './tokens';
|
|
10
|
+
import { applyDefaultConfig } from './default-config';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
/**
|
|
13
|
+
* Service that is responsible for opening and closing message strip alerts.
|
|
14
|
+
* This should be only created once in entire application.
|
|
15
|
+
* Service is responsible for creating and managing the overlays for the
|
|
16
|
+
* message strip alerts. This also manages the footer components for any
|
|
17
|
+
* given position.
|
|
18
|
+
*/
|
|
19
|
+
export class MessageStripAlertService {
|
|
20
|
+
/** @hidden */
|
|
21
|
+
constructor() {
|
|
22
|
+
/** @hidden */
|
|
23
|
+
this.injector = inject(Injector);
|
|
24
|
+
/** @hidden */
|
|
25
|
+
this._overlay = inject(Overlay);
|
|
26
|
+
/** @hidden */
|
|
27
|
+
this.viewportSize$ = inject(ViewportSizeObservable);
|
|
28
|
+
/** @hidden */
|
|
29
|
+
this._messageStripAlertService = inject(MessageStripAlertService, { optional: true, skipSelf: true });
|
|
30
|
+
/** @hidden */
|
|
31
|
+
this._messageAlerts$ = new BehaviorSubject([]);
|
|
32
|
+
/** @hidden */
|
|
33
|
+
this._overlayRefs = {};
|
|
34
|
+
/** @hidden */
|
|
35
|
+
this._messageStripAlertContainerFooters$ = new BehaviorSubject({});
|
|
36
|
+
/** @hidden */
|
|
37
|
+
this.footerComponents$ = this._messageStripAlertContainerFooters$.asObservable();
|
|
38
|
+
if (this._messageStripAlertService) {
|
|
39
|
+
throw new Error('MessageStripAlertService is already provided');
|
|
40
|
+
}
|
|
41
|
+
this.listenToItemsChanges();
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Set the footer component for a given position.
|
|
45
|
+
*/
|
|
46
|
+
setFooterComponent(position, component) {
|
|
47
|
+
this._messageStripAlertContainerFooters$.next({
|
|
48
|
+
...this._messageStripAlertContainerFooters$.value,
|
|
49
|
+
[position]: component
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Open a message strip alert with given configuration
|
|
54
|
+
*/
|
|
55
|
+
open(c) {
|
|
56
|
+
const config = applyDefaultConfig(c);
|
|
57
|
+
const alertRef = this.getMessageStripAlertRef(config);
|
|
58
|
+
this._messageAlerts$.next([{ ...config, portal: alertRef.portal }, ...this._messageAlerts$.value]);
|
|
59
|
+
return alertRef;
|
|
60
|
+
}
|
|
61
|
+
/** @hidden */
|
|
62
|
+
getMessageStripAlertRef(config) {
|
|
63
|
+
const onDismiss$ = new Subject();
|
|
64
|
+
const alertRef = {
|
|
65
|
+
portal: new ComponentPortal((MessageStripAlertComponent), null, Injector.create({
|
|
66
|
+
providers: [
|
|
67
|
+
{
|
|
68
|
+
provide: MessageStripAlertComponentData,
|
|
69
|
+
useValue: {
|
|
70
|
+
content: config.content,
|
|
71
|
+
messageStripConfig: {
|
|
72
|
+
...config.messageStrip,
|
|
73
|
+
onDismiss: () => {
|
|
74
|
+
this._messageAlerts$.next(this._messageAlerts$.value.filter((item) => item.portal !== alertRef.portal));
|
|
75
|
+
config.messageStrip &&
|
|
76
|
+
config.messageStrip.onDismiss &&
|
|
77
|
+
config.messageStrip.onDismiss();
|
|
78
|
+
onDismiss$.next();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
provide: MessageStripAlertRef,
|
|
85
|
+
useFactory: () => alertRef
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
parent: this.injector
|
|
89
|
+
})),
|
|
90
|
+
dismiss: () => {
|
|
91
|
+
this._messageAlerts$.next(this._messageAlerts$.value.filter((item) => item.portal !== alertRef.portal));
|
|
92
|
+
config.messageStrip && config.messageStrip.onDismiss && config.messageStrip.onDismiss();
|
|
93
|
+
onDismiss$.next();
|
|
94
|
+
onDismiss$.complete();
|
|
95
|
+
},
|
|
96
|
+
onDismiss$: onDismiss$.asObservable()
|
|
97
|
+
};
|
|
98
|
+
return alertRef;
|
|
99
|
+
}
|
|
100
|
+
/** @hidden */
|
|
101
|
+
listenToItemsChanges() {
|
|
102
|
+
combineLatest([this.viewportSize$, this._messageAlerts$.asObservable()])
|
|
103
|
+
.pipe(map(([viewportSize, messageAlerts]) => {
|
|
104
|
+
if (viewportSize < ResponsiveBreakpoints.M) {
|
|
105
|
+
return messageAlerts.reduce((acc, next) => {
|
|
106
|
+
const position = next.position?.startsWith('top') ? 'top-middle' : 'bottom-middle';
|
|
107
|
+
acc[position] = [...(acc[position] || []), next.portal];
|
|
108
|
+
return acc;
|
|
109
|
+
}, {});
|
|
110
|
+
}
|
|
111
|
+
return messageAlerts.reduce((acc, next) => {
|
|
112
|
+
acc[next.position] = [...(acc[next.position] || []), next.portal];
|
|
113
|
+
return acc;
|
|
114
|
+
}, {});
|
|
115
|
+
}), tap((messageAlertsByPosition) => {
|
|
116
|
+
let topSectionIsOpened = false;
|
|
117
|
+
let bottomSectionIsOpened = false;
|
|
118
|
+
Object.entries(messageAlertsByPosition).forEach(([position, portals]) => {
|
|
119
|
+
topSectionIsOpened = topSectionIsOpened || position.startsWith('top');
|
|
120
|
+
bottomSectionIsOpened = bottomSectionIsOpened || position.startsWith('bottom');
|
|
121
|
+
const { containerRef } = this.getOverlayRef(position);
|
|
122
|
+
containerRef.instance.attachedElements = portals;
|
|
123
|
+
containerRef.changeDetectorRef.detectChanges();
|
|
124
|
+
});
|
|
125
|
+
this.syncExistingOverlays(messageAlertsByPosition, bottomSectionIsOpened, topSectionIsOpened);
|
|
126
|
+
}))
|
|
127
|
+
.subscribe();
|
|
128
|
+
}
|
|
129
|
+
/** @hidden */
|
|
130
|
+
syncExistingOverlays(messageAlertsByPosition, bottomSectionIsOpened, topSectionIsOpened) {
|
|
131
|
+
Object.keys(this._overlayRefs).forEach((position) => {
|
|
132
|
+
if (!messageAlertsByPosition[position]) {
|
|
133
|
+
this._overlayRefs[position].ref.dispose();
|
|
134
|
+
delete this._overlayRefs[position];
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
const ref = this._overlayRefs[position].ref;
|
|
138
|
+
if (position.startsWith('top')) {
|
|
139
|
+
if (bottomSectionIsOpened) {
|
|
140
|
+
ref.overlayElement.classList.add('fd-message-strip-alert-overlay--bottom-opened');
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
ref.overlayElement.classList.remove('fd-message-strip-alert-overlay--bottom-opened');
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
if (position.startsWith('bottom')) {
|
|
147
|
+
if (topSectionIsOpened) {
|
|
148
|
+
ref.overlayElement.classList.add('fd-message-strip-alert-overlay--top-opened');
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
ref.overlayElement.classList.remove('fd-message-strip-alert-overlay--top-opened');
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
/** @hidden */
|
|
158
|
+
getOverlayRef(position) {
|
|
159
|
+
if (!this._overlayRefs[position]) {
|
|
160
|
+
const [verticalPosition, horizontalPosition] = position.split('-');
|
|
161
|
+
const overlayRef = this.createOverlay(verticalPosition, horizontalPosition);
|
|
162
|
+
const containerRef = overlayRef.attach(new ComponentPortal(MessageStripAlertContainerComponent, null, Injector.create({
|
|
163
|
+
parent: this.injector,
|
|
164
|
+
providers: [
|
|
165
|
+
{
|
|
166
|
+
provide: MessageStripAlertContainerPosition,
|
|
167
|
+
useValue: position
|
|
168
|
+
}
|
|
169
|
+
]
|
|
170
|
+
})));
|
|
171
|
+
this._overlayRefs[position] = { ref: overlayRef, containerRef };
|
|
172
|
+
}
|
|
173
|
+
return this._overlayRefs[position];
|
|
174
|
+
}
|
|
175
|
+
/** @hidden */
|
|
176
|
+
createOverlay(verticalPosition, horizontalPosition) {
|
|
177
|
+
return this._overlay.create({
|
|
178
|
+
panelClass: [
|
|
179
|
+
'fd-message-strip-alert-overlay',
|
|
180
|
+
`fd-message-strip-alert-overlay--${verticalPosition}`,
|
|
181
|
+
`fd-message-strip-alert-overlay--${horizontalPosition}`
|
|
182
|
+
],
|
|
183
|
+
hasBackdrop: false
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
MessageStripAlertService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
188
|
+
MessageStripAlertService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertService, providedIn: 'root' });
|
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertService, decorators: [{
|
|
190
|
+
type: Injectable,
|
|
191
|
+
args: [{
|
|
192
|
+
providedIn: 'root'
|
|
193
|
+
}]
|
|
194
|
+
}], ctorParameters: function () { return []; } });
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zdHJpcC1hbGVydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbWVzc2FnZS1zdHJpcC9hbGVydC9tZXNzYWdlLXN0cmlwLWFsZXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQzlILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBR2pHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFdEQ7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLHdCQUF3QjtJQXlDakMsY0FBYztJQUNkO1FBekNBLGNBQWM7UUFDTixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBDLGNBQWM7UUFDRyxhQUFRLEdBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXJELGNBQWM7UUFDTixrQkFBYSxHQUFHLE1B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c0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBpbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgU3ViamVjdCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZXNwb25zaXZlQnJlYWtwb2ludHMsIFZpZXdwb3J0U2l6ZU9ic2VydmFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBBbGVydENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vbWVzc2FnZS1zdHJpcC1hbGVydC1jb250YWluZXIvbWVzc2FnZS1zdHJpcC1hbGVydC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlLXN0cmlwLWFsZXJ0L21lc3NhZ2Utc3RyaXAtYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcEFsZXJ0UG9zaXRpb24gfSBmcm9tICcuL21lc3NhZ2Utc3RyaXAtYWxlcnQucG9zaXRpb24nO1xuaW1wb3J0IHsgT3Blbk1lc3NhZ2VTdHJpcEFsZXJ0Q29uZmlnIH0gZnJvbSAnLi9vcGVuLW1lc3NhZ2Utc3RyaXAtYWxlcnQuY29uZmlnJztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcEFsZXJ0UmVmIH0gZnJvbSAnLi9tZXNzYWdlLXN0cmlwLWFsZXJ0LnJlZic7XG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudERhdGEsIE1lc3NhZ2VTdHJpcEFsZXJ0Q29udGFpbmVyUG9zaXRpb24gfSBmcm9tICcuL3Rva2Vucyc7XG5pbXBvcnQgeyBhcHBseURlZmF1bHRDb25maWcgfSBmcm9tICcuL2RlZmF1bHQtY29uZmlnJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIG9wZW5pbmcgYW5kIGNsb3NpbmcgbWVzc2FnZSBzdHJpcCBhbGVydHMuXG4gKiBUaGlzIHNob3VsZCBiZSBvbmx5IGNyZWF0ZWQgb25jZSBpbiBlbnRpcmUgYXBwbGljYXRpb24uXG4gKiBTZXJ2aWNlIGlzIHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyBhbmQgbWFuYWdpbmcgdGhlIG92ZXJsYXlzIGZvciB0aGVcbiAqIG1lc3NhZ2Ugc3RyaXAgYWxlcnRzLiBUaGlzIGFsc28gbWFuYWdlcyB0aGUgZm9vdGVyIGNvbXBvbmVudHMgZm9yIGFueVxuICogZ2l2ZW4gcG9zaXRpb24uXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZVN0cmlwQWxlcnRTZXJ2aWNlIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vdmVybGF5OiBPdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHZpZXdwb3J0U2l6ZSQgPSBpbmplY3QoVmlld3BvcnRTaXplT2JzZXJ2YWJsZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX21lc3NhZ2VTdHJpcEFsZXJ0U2VydmljZSA9IGluamVjdChNZXNzYWdlU3RyaXBBbGVydFNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUsIHNraXBTZWxmOiB0cnVlIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9tZXNzYWdlQWxlcnRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XG4gICAgICAgIEFycmF5PFxuICAgICAgICAgICAgUmVxdWlyZWQ8T3Blbk1lc3NhZ2VTdHJpcEFsZXJ0Q29uZmlnPiAmIHtcbiAgICAgICAgICAgICAgICBwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudD47XG4gICAgICAgICAgICB9XG4gICAgICAgID5cbiAgICA+KFtdKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfb3ZlcmxheVJlZnM6IFBhcnRpYWw8XG4gICAgICAgIFJlY29yZDxcbiAgICAgICAgICAgIE1lc3NhZ2VTdHJpcEFsZXJ0UG9zaXRpb24sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmVmOiBPdmVybGF5UmVmO1xuICAgICAgICAgICAgICAgIGNvbnRhaW5lclJlZjogQ29tcG9uZW50UmVmPE1lc3NhZ2VTdHJpcEFsZXJ0Q29udGFpbmVyQ29tcG9uZW50PjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgPlxuICAgID4gPSB7fTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbWVzc2FnZVN0cmlwQWxlcnRDb250YWluZXJGb290ZXJzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XG4gICAgICAgIFBhcnRpYWw8UmVjb3JkPE1lc3NhZ2VTdHJpcEFsZXJ0UG9zaXRpb24sIFR5cGU8YW55Pj4+XG4gICAgPih7fSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGZvb3RlckNvbXBvbmVudHMkID0gdGhpcy5fbWVzc2FnZVN0cmlwQWxlcnRDb250YWluZXJGb290ZXJzJC5hc09ic2VydmFibGUoKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGlmICh0aGlzLl9tZXNzYWdlU3RyaXBBbGVydFNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTWVzc2FnZVN0cmlwQWxlcnRTZXJ2aWNlIGlzIGFscmVhZHkgcHJvdmlkZWQnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxpc3RlblRvSXRlbXNDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBmb290ZXIgY29tcG9uZW50IGZvciBhIGdpdmVuIHBvc2l0aW9uLlxuICAgICAqL1xuICAgIHNldEZvb3RlckNvbXBvbmVudChwb3NpdGlvbjogTWVzc2FnZVN0cmlwQWxlcnRQb3NpdGlvbiwgY29tcG9uZW50OiBUeXBlPGFueT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbWVzc2FnZVN0cmlwQWxlcnRDb250YWluZXJGb290ZXJzJC5uZXh0KHtcbiAgICAgICAgICAgIC4uLnRoaXMuX21lc3NhZ2VTdHJpcEFsZXJ0Q29udGFpbmVyRm9vdGVycyQudmFsdWUsXG4gICAgICAgICAgICBbcG9zaXRpb25dOiBjb21wb25lbnRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3BlbiBhIG1lc3NhZ2Ugc3RyaXAgYWxlcnQgd2l0aCBnaXZlbiBjb25maWd1cmF0aW9uXG4gICAgICovXG4gICAgb3BlbjxDb21wb25lbnRUeXBlID0gdW5rbm93bj4oYzogT3Blbk1lc3NhZ2VTdHJpcEFsZXJ0Q29uZmlnPENvbXBvbmVudFR5cGU+KTogTWVzc2FnZVN0cmlwQWxlcnRSZWY8Q29tcG9uZW50VHlwZT4ge1xuICAgICAgICBjb25zdCBjb25maWcgPSBhcHBseURlZmF1bHRDb25maWc8Q29tcG9uZW50VHlwZT4oYyk7XG4gICAgICAgIGNvbnN0IGFsZXJ0UmVmID0gdGhpcy5nZXRNZXNzYWdlU3RyaXBBbGVydFJlZihjb25maWcpO1xuICAgICAgICB0aGlzLl9tZXNzYWdlQWxlcnRzJC5uZXh0KFt7IC4uLmNvbmZpZywgcG9ydGFsOiBhbGVydFJlZi5wb3J0YWwgfSwgLi4udGhpcy5fbWVzc2FnZUFsZXJ0cyQudmFsdWVdKTtcbiAgICAgICAgcmV0dXJuIGFsZXJ0UmVmO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXRNZXNzYWdlU3RyaXBBbGVydFJlZjxDb21wb25lbnRUeXBlID0gdW5rbm93bj4oXG4gICAgICAgIGNvbmZpZzogUmVxdWlyZWQ8T3Blbk1lc3NhZ2VTdHJpcEFsZXJ0Q29uZmlnPENvbXBvbmVudFR5cGU+PlxuICAgICk6IE1lc3NhZ2VTdHJpcEFsZXJ0UmVmPENvbXBvbmVudFR5cGU+IHtcbiAgICAgICAgY29uc3Qgb25EaXNtaXNzJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgICAgIGNvbnN0IGFsZXJ0UmVmID0ge1xuICAgICAgICAgICAgcG9ydGFsOiBuZXcgQ29tcG9uZW50UG9ydGFsKFxuICAgICAgICAgICAgICAgIE1lc3NhZ2VTdHJpcEFsZXJ0Q29tcG9uZW50PENvbXBvbmVudFR5cGU+LFxuICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogTWVzc2FnZVN0cmlwQWxlcnRDb21wb25lbnREYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGNvbmZpZy5jb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlU3RyaXBDb25maWc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmNvbmZpZy5tZXNzYWdlU3RyaXAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkRpc21pc3M6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9tZXNzYWdlQWxlcnRzJC5uZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9tZXNzYWdlQWxlcnRzJC52YWx1ZS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ucG9ydGFsICE9PSBhbGVydFJlZi5wb3J0YWwpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcubWVzc2FnZVN0cmlwICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5tZXNzYWdlU3RyaXAub25EaXNtaXNzICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5tZXNzYWdlU3RyaXAub25EaXNtaXNzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25EaXNtaXNzJC5uZXh0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IE1lc3NhZ2VTdHJpcEFsZXJ0UmVmLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IGFsZXJ0UmVmXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvclxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZGlzbWlzczogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX21lc3NhZ2VBbGVydHMkLm5leHQodGhpcy5fbWVzc2FnZUFsZXJ0cyQudmFsdWUuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnBvcnRhbCAhPT0gYWxlcnRSZWYucG9ydGFsKSk7XG4gICAgICAgICAgICAgICAgY29uZmlnLm1lc3NhZ2VTdHJpcCAmJiBjb25maWcubWVzc2FnZVN0cmlwLm9uRGlzbWlzcyAmJiBjb25maWcubWVzc2FnZVN0cmlwLm9uRGlzbWlzcygpO1xuICAgICAgICAgICAgICAgIG9uRGlzbWlzcyQubmV4dCgpO1xuICAgICAgICAgICAgICAgIG9uRGlzbWlzcyQuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbkRpc21pc3MkOiBvbkRpc21pc3MkLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBhbGVydFJlZjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgbGlzdGVuVG9JdGVtc0NoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMudmlld3BvcnRTaXplJCwgdGhpcy5fbWVzc2FnZUFsZXJ0cyQuYXNPYnNlcnZhYmxlKCldKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAoW3ZpZXdwb3J0U2l6ZSwgbWVzc2FnZUFsZXJ0c10pOiBSZWNvcmQ8XG4gICAgICAgICAgICAgICAgICAgICAgICBNZXNzYWdlU3RyaXBBbGVydFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXk8Q29tcG9uZW50UG9ydGFsPE1lc3NhZ2VTdHJpcEFsZXJ0Q29tcG9uZW50Pj5cbiAgICAgICAgICAgICAgICAgICAgPiA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodmlld3BvcnRTaXplIDwgUmVzcG9uc2l2ZUJyZWFrcG9pbnRzLk0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWVzc2FnZUFsZXJ0cy5yZWR1Y2UoKGFjYywgbmV4dCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbiA9IG5leHQucG9zaXRpb24/LnN0YXJ0c1dpdGgoJ3RvcCcpID8gJ3RvcC1taWRkbGUnIDogJ2JvdHRvbS1taWRkbGUnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NbcG9zaXRpb25dID0gWy4uLihhY2NbcG9zaXRpb25dIHx8IFtdKSwgbmV4dC5wb3J0YWxdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHt9IGFzIFJlY29yZDxNZXNzYWdlU3RyaXBBbGVydFBvc2l0aW9uLCBBcnJheTxDb21wb25lbnRQb3J0YWw8TWVzc2FnZVN0cmlwQWxlcnRDb21wb25lbnQ+Pj4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1lc3NhZ2VBbGVydHMucmVkdWNlKChhY2MsIG5leHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NbbmV4dC5wb3NpdGlvbl0gPSBbLi4uKGFjY1tuZXh0LnBvc2l0aW9uXSB8fCBbXSksIG5leHQucG9ydGFsXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwge30gYXMgUmVjb3JkPE1lc3NhZ2VTdHJpcEFsZXJ0UG9zaXRpb24sIEFycmF5PENvbXBvbmVudFBvcnRhbDxNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudD4+Pik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRhcChcbiAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZUFsZXJ0c0J5UG9zaXRpb246IFBhcnRpYWw8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVjb3JkPE1lc3NhZ2VTdHJpcEFsZXJ0UG9zaXRpb24sIEFycmF5PENvbXBvbmVudFBvcnRhbDxNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudD4+PlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0b3BTZWN0aW9uSXNPcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBib3R0b21TZWN0aW9uSXNPcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhtZXNzYWdlQWxlcnRzQnlQb3NpdGlvbikgYXMgQXJyYXk8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtNZXNzYWdlU3RyaXBBbGVydFBvc2l0aW9uLCBDb21wb25lbnRQb3J0YWw8TWVzc2FnZVN0cmlwQWxlcnRDb21wb25lbnQ+W11dXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgKS5mb3JFYWNoKChbcG9zaXRpb24sIHBvcnRhbHNdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wU2VjdGlvbklzT3BlbmVkID0gdG9wU2VjdGlvbklzT3BlbmVkIHx8IHBvc2l0aW9uLnN0YXJ0c1dpdGgoJ3RvcCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbVNlY3Rpb25Jc09wZW5lZCA9IGJvdHRvbVNlY3Rpb25Jc09wZW5lZCB8fCBwb3NpdGlvbi5zdGFydHNXaXRoKCdib3R0b20nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGNvbnRhaW5lclJlZiB9ID0gdGhpcy5nZXRPdmVybGF5UmVmKHBvc2l0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJSZWYuaW5zdGFuY2UuYXR0YWNoZWRFbGVtZW50cyA9IHBvcnRhbHM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyUmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zeW5jRXhpc3RpbmdPdmVybGF5cyhtZXNzYWdlQWxlcnRzQnlQb3NpdGlvbiwgYm90dG9tU2VjdGlvbklzT3BlbmVkLCB0b3BTZWN0aW9uSXNPcGVuZWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBzeW5jRXhpc3RpbmdPdmVybGF5cyhcbiAgICAgICAgbWVzc2FnZUFsZXJ0c0J5UG9zaXRpb246IFBhcnRpYWw8XG4gICAgICAgICAgICBSZWNvcmQ8TWVzc2FnZVN0cmlwQWxlcnRQb3NpdGlvbiwgQ29tcG9uZW50UG9ydGFsPE1lc3NhZ2VTdHJpcEFsZXJ0Q29tcG9uZW50PltdPlxuICAgICAgICA+LFxuICAgICAgICBib3R0b21TZWN0aW9uSXNPcGVuZWQ6IGJvb2xlYW4sXG4gICAgICAgIHRvcFNlY3Rpb25Jc09wZW5lZDogYm9vbGVhblxuICAgICk6IHZvaWQge1xuICAgICAgICAoT2JqZWN0LmtleXModGhpcy5fb3ZlcmxheVJlZnMpIGFzIE1lc3NhZ2VTdHJpcEFsZXJ0UG9zaXRpb25bXSkuZm9yRWFjaCgocG9zaXRpb24pID0+IHtcbiAgICAgICAgICAgIGlmICghbWVzc2FnZUFsZXJ0c0J5UG9zaXRpb25bcG9zaXRpb25dKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZnNbcG9zaXRpb25dIS5yZWYuZGlzcG9zZSgpO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9vdmVybGF5UmVmc1twb3NpdGlvbl07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlZiA9IHRoaXMuX292ZXJsYXlSZWZzW3Bvc2l0aW9uXSEucmVmO1xuICAgICAgICAgICAgICAgIGlmIChwb3NpdGlvbi5zdGFydHNXaXRoKCd0b3AnKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoYm90dG9tU2VjdGlvbklzT3BlbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWYub3ZlcmxheUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZmQtbWVzc2FnZS1zdHJpcC1hbGVydC1vdmVybGF5LS1ib3R0b20tb3BlbmVkJyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWYub3ZlcmxheUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnZmQtbWVzc2FnZS1zdHJpcC1hbGVydC1vdmVybGF5LS1ib3R0b20tb3BlbmVkJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBvc2l0aW9uLnN0YXJ0c1dpdGgoJ2JvdHRvbScpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0b3BTZWN0aW9uSXNPcGVuZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZi5vdmVybGF5RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdmZC1tZXNzYWdlLXN0cmlwLWFsZXJ0LW92ZXJsYXktLXRvcC1vcGVuZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZi5vdmVybGF5RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdmZC1tZXNzYWdlLXN0cmlwLWFsZXJ0LW92ZXJsYXktLXRvcC1vcGVuZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGdldE92ZXJsYXlSZWYocG9zaXRpb246IE1lc3NhZ2VTdHJpcEFsZXJ0UG9zaXRpb24pOiB7XG4gICAgICAgIHJlZjogT3ZlcmxheVJlZjtcbiAgICAgICAgY29udGFpbmVyUmVmOiBDb21wb25lbnRSZWY8TWVzc2FnZVN0cmlwQWxlcnRDb250YWluZXJDb21wb25lbnQ+O1xuICAgIH0ge1xuICAgICAgICBpZiAoIXRoaXMuX292ZXJsYXlSZWZzW3Bvc2l0aW9uXSkge1xuICAgICAgICAgICAgY29uc3QgW3ZlcnRpY2FsUG9zaXRpb24sIGhvcml6b250YWxQb3NpdGlvbl0gPSBwb3NpdGlvbi5zcGxpdCgnLScpO1xuICAgICAgICAgICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuY3JlYXRlT3ZlcmxheSh2ZXJ0aWNhbFBvc2l0aW9uLCBob3Jpem9udGFsUG9zaXRpb24pO1xuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyUmVmID0gb3ZlcmxheVJlZi5hdHRhY2goXG4gICAgICAgICAgICAgICAgbmV3IENvbXBvbmVudFBvcnRhbChcbiAgICAgICAgICAgICAgICAgICAgTWVzc2FnZVN0cmlwQWxlcnRDb250YWluZXJDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgICAgIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IE1lc3NhZ2VTdHJpcEFsZXJ0Q29udGFpbmVyUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZnNbcG9zaXRpb25dID0geyByZWY6IG92ZXJsYXlSZWYsIGNvbnRhaW5lclJlZiB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9vdmVybGF5UmVmc1twb3NpdGlvbl0hO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5KHZlcnRpY2FsUG9zaXRpb246IHN0cmluZywgaG9yaXpvbnRhbFBvc2l0aW9uOiBzdHJpbmcpOiBPdmVybGF5UmVmIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6IFtcbiAgICAgICAgICAgICAgICAnZmQtbWVzc2FnZS1zdHJpcC1hbGVydC1vdmVybGF5JyxcbiAgICAgICAgICAgICAgICBgZmQtbWVzc2FnZS1zdHJpcC1hbGVydC1vdmVybGF5LS0ke3ZlcnRpY2FsUG9zaXRpb259YCxcbiAgICAgICAgICAgICAgICBgZmQtbWVzc2FnZS1zdHJpcC1hbGVydC1vdmVybGF5LS0ke2hvcml6b250YWxQb3NpdGlvbn1gXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zdHJpcC1jb25maWd1cmF0aW9uLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9tZXNzYWdlLXN0cmlwL2FsZXJ0L21lc3NhZ2Utc3RyaXAtY29uZmlndXJhdGlvbi10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcFR5cGUgfSBmcm9tICcuLi9tZXNzYWdlLXN0cmlwLXR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VTdHJpcENvbmZpZ3VyYXRpb24ge1xuICAgIGNsYXNzOiBzdHJpbmc7XG4gICAgZGlzbWlzc2libGU6IGJvb2xlYW47XG4gICAgbW91c2VQZXJzaXN0OiBib29sZWFuO1xuICAgIGR1cmF0aW9uOiBudW1iZXI7XG4gICAgbm9JY29uOiBib29sZWFuO1xuICAgIHR5cGU6IE1lc3NhZ2VTdHJpcFR5cGU7XG4gICAgaWQ6IHN0cmluZztcbiAgICBhcmlhTGFiZWxsZWRCeTogTnVsbGFibGU8c3RyaW5nPjtcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz47XG4gICAgZGlzbWlzc0xhYmVsOiBzdHJpbmc7XG4gICAgb25EaXNtaXNzOiAoKSA9PiB2b2lkO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1tZXNzYWdlLXN0cmlwLWFsZXJ0LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL21lc3NhZ2Utc3RyaXAvYWxlcnQvb3Blbi1tZXNzYWdlLXN0cmlwLWFsZXJ0LmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZVN0cmlwQWxlcnRQb3NpdGlvbiB9IGZyb20gJy4vbWVzc2FnZS1zdHJpcC1hbGVydC5wb3NpdGlvbic7XG5pbXBvcnQgeyBUZW1wbGF0ZVJlZiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZVN0cmlwQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vbWVzc2FnZS1zdHJpcC1jb25maWd1cmF0aW9uLXR5cGUnO1xuXG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBBbGVydFJlZiB9IGZyb20gJy4vbWVzc2FnZS1zdHJpcC1hbGVydC5yZWYnO1xuXG4vKipcbiAqIFRoZSBjb25maWd1cmF0aW9uIHR5cGUgd2hpY2ggaXMgZXhwZWN0ZWQgZnJvbSB0aGUgdXNlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZW5NZXNzYWdlU3RyaXBBbGVydENvbmZpZzxDb21wb25lbnRUeXBlID0gdW5rbm93bj4ge1xuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBtZXNzYWdlIHN0cmlwIGFsZXJ0IGNvbnRhaW5lci5cbiAgICAgKiBFdmVyeSB0b3AtKiBhbmQgYm90dG9tLSogb25lcyB3aWxsIGJlIG1lcmdlZCBpbnRvIHRoZSB0b3AtbWlkZGxlXG4gICAgICogYW5kIGJvdHRvbS1taWRkbGUgc2VjdGlvbnMgcmVzcGVjdGl2ZWx5IGFuZCB3aWxsIGJlIHNvcnRlZCBieSB0aGVcbiAgICAgKiBvcmRlciBvZiBhcHBlYXJhbmNlLlxuICAgICAqL1xuICAgIHBvc2l0aW9uPzogTWVzc2FnZVN0cmlwQWxlcnRQb3NpdGlvbjtcbiAgICAvKiogQ29udGVudCwgdGhhdCB3aWxsIGJlIHJlbmRlcmVkIGluc2lkZSB0aGUgbWVzc2FnZSBzdHJpcCB3aGVuIGl0IGFwcGVhcnMgKi9cbiAgICBjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogTWVzc2FnZVN0cmlwQWxlcnRSZWY8Q29tcG9uZW50VHlwZT4gfT4gfCBUeXBlPENvbXBvbmVudFR5cGU+O1xuICAgIC8qKiBDb25maWd1cmF0aW9uIGZvciB0aGUgbWVzc2FnZSBzdHJpcCBjb21wb25lbnQgKi9cbiAgICBtZXNzYWdlU3RyaXA/OiBQYXJ0aWFsPE1lc3NhZ2VTdHJpcENvbmZpZ3VyYXRpb24+O1xufVxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* Injection token for getting the position of the message strip alert container.
|
|
4
|
+
* Is available in any of the message strip alert components and in footer component.
|
|
5
|
+
*/
|
|
6
|
+
export const MessageStripAlertContainerPosition = new InjectionToken('MessageStripAlertContainerPosition');
|
|
7
|
+
/**
|
|
8
|
+
* Injection token for getting the list of the message strip alert refs
|
|
9
|
+
* in the given container. Is available in the footer component injection
|
|
10
|
+
* context.
|
|
11
|
+
*/
|
|
12
|
+
export const MessageStripAlertContainerAlertRefs = new InjectionToken('MessageStripAlertContainerAlertRefs');
|
|
13
|
+
export const MessageStripAlertComponentData = new InjectionToken('MessageStripAlertComponentData');
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbWVzc2FnZS1zdHJpcC9hbGVydC90b2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFPbEU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsSUFBSSxjQUFjLENBQ2hFLG9DQUFvQyxDQUN2QyxDQUFDO0FBQ0Y7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLElBQUksY0FBYyxDQUNqRSxxQ0FBcUMsQ0FDeEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksY0FBYyxDQUc3RCxnQ0FBZ0MsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFRlbXBsYXRlUmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBBbGVydFBvc2l0aW9uIH0gZnJvbSAnLi9tZXNzYWdlLXN0cmlwLWFsZXJ0LnBvc2l0aW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgTWVzc2FnZVN0cmlwQWxlcnRSZWYgfSBmcm9tICcuL21lc3NhZ2Utc3RyaXAtYWxlcnQucmVmJztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL21lc3NhZ2Utc3RyaXAtY29uZmlndXJhdGlvbi10eXBlJztcblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gZm9yIGdldHRpbmcgdGhlIHBvc2l0aW9uIG9mIHRoZSBtZXNzYWdlIHN0cmlwIGFsZXJ0IGNvbnRhaW5lci5cbiAqIElzIGF2YWlsYWJsZSBpbiBhbnkgb2YgdGhlIG1lc3NhZ2Ugc3RyaXAgYWxlcnQgY29tcG9uZW50cyBhbmQgaW4gZm9vdGVyIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1lc3NhZ2VTdHJpcEFsZXJ0Q29udGFpbmVyUG9zaXRpb24gPSBuZXcgSW5qZWN0aW9uVG9rZW48TWVzc2FnZVN0cmlwQWxlcnRQb3NpdGlvbj4oXG4gICAgJ01lc3NhZ2VTdHJpcEFsZXJ0Q29udGFpbmVyUG9zaXRpb24nXG4pO1xuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gZm9yIGdldHRpbmcgdGhlIGxpc3Qgb2YgdGhlIG1lc3NhZ2Ugc3RyaXAgYWxlcnQgcmVmc1xuICogaW4gdGhlIGdpdmVuIGNvbnRhaW5lci4gSXMgYXZhaWxhYmxlIGluIHRoZSBmb290ZXIgY29tcG9uZW50IGluamVjdGlvblxuICogY29udGV4dC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1lc3NhZ2VTdHJpcEFsZXJ0Q29udGFpbmVyQWxlcnRSZWZzID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8TnVsbGFibGU8TWVzc2FnZVN0cmlwQWxlcnRSZWZbXT4+PihcbiAgICAnTWVzc2FnZVN0cmlwQWxlcnRDb250YWluZXJBbGVydFJlZnMnXG4pO1xuXG5leHBvcnQgY29uc3QgTWVzc2FnZVN0cmlwQWxlcnRDb21wb25lbnREYXRhID0gbmV3IEluamVjdGlvblRva2VuPHtcbiAgICBjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxhbnk+O1xuICAgIG1lc3NhZ2VTdHJpcENvbmZpZzogTWVzc2FnZVN0cmlwQ29uZmlndXJhdGlvbjtcbn0+KCdNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudERhdGEnKTtcbiJdfQ==
|