@fundamental-ngx/core 0.42.0-rc.25 → 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.
Files changed (49) hide show
  1. package/alert/alert.module.d.ts +1 -1
  2. package/esm2020/alert/alert.module.mjs +5 -5
  3. package/esm2020/message-strip/alert/default-config.mjs +11 -0
  4. package/esm2020/message-strip/alert/index.mjs +6 -0
  5. package/esm2020/message-strip/alert/message-strip-alert/message-strip-alert.component.mjs +68 -0
  6. package/esm2020/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.mjs +57 -0
  7. package/esm2020/message-strip/alert/message-strip-alert-container-footer/message-strip-alert-container-footer.component.mjs +65 -0
  8. package/esm2020/message-strip/alert/message-strip-alert.position.mjs +2 -0
  9. package/esm2020/message-strip/alert/message-strip-alert.ref.mjs +3 -0
  10. package/esm2020/message-strip/alert/message-strip-alert.service.mjs +195 -0
  11. package/esm2020/message-strip/alert/message-strip-configuration-type.mjs +2 -0
  12. package/esm2020/message-strip/alert/open-message-strip-alert.config.mjs +2 -0
  13. package/esm2020/message-strip/alert/tokens.mjs +14 -0
  14. package/esm2020/message-strip/auto-dismiss-message-strip.directive.mjs +98 -0
  15. package/esm2020/message-strip/fundamental-ngx-core-message-strip.mjs +2 -2
  16. package/esm2020/message-strip/index.mjs +6 -0
  17. package/esm2020/message-strip/message-strip-type.mjs +2 -0
  18. package/esm2020/message-strip/message-strip.component.mjs +12 -12
  19. package/esm2020/message-strip/message-strip.module.mjs +6 -9
  20. package/fesm2015/fundamental-ngx-core-alert.mjs +4 -4
  21. package/fesm2015/fundamental-ngx-core-alert.mjs.map +1 -1
  22. package/fesm2015/fundamental-ngx-core-message-strip.mjs +484 -20
  23. package/fesm2015/fundamental-ngx-core-message-strip.mjs.map +1 -1
  24. package/fesm2020/fundamental-ngx-core-alert.mjs +4 -4
  25. package/fesm2020/fundamental-ngx-core-alert.mjs.map +1 -1
  26. package/fesm2020/fundamental-ngx-core-message-strip.mjs +489 -20
  27. package/fesm2020/fundamental-ngx-core-message-strip.mjs.map +1 -1
  28. package/fundamental-ngx-core-v0.42.0-rc.27.tgz +0 -0
  29. package/message-strip/alert/default-config.d.ts +5 -0
  30. package/message-strip/alert/index.d.ts +9 -0
  31. package/message-strip/alert/message-strip-alert/message-strip-alert.component.d.ts +52 -0
  32. package/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.d.ts +28 -0
  33. package/message-strip/alert/message-strip-alert-container-footer/message-strip-alert-container-footer.component.d.ts +36 -0
  34. package/message-strip/alert/message-strip-alert.position.d.ts +3 -0
  35. package/message-strip/alert/message-strip-alert.ref.d.ts +14 -0
  36. package/message-strip/alert/message-strip-alert.service.d.ts +52 -0
  37. package/message-strip/alert/message-strip-configuration-type.d.ts +15 -0
  38. package/message-strip/alert/open-message-strip-alert.config.d.ts +22 -0
  39. package/message-strip/alert/tokens.d.ts +20 -0
  40. package/message-strip/auto-dismiss-message-strip.directive.d.ts +35 -0
  41. package/message-strip/index.d.ts +5 -5
  42. package/message-strip/message-strip-type.d.ts +2 -0
  43. package/message-strip/message-strip.component.d.ts +4 -5
  44. package/message-strip/message-strip.module.d.ts +2 -4
  45. package/package.json +3 -3
  46. package/schematics/add-dependencies/index.js +4 -4
  47. package/esm2020/message-strip/public_api.mjs +0 -3
  48. package/fundamental-ngx-core-v0.42.0-rc.25.tgz +0 -0
  49. package/message-strip/public_api.d.ts +0 -2
@@ -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.MessageStripModule], [typeof i1.AlertComponent, typeof i2.AlertContainerComponent]>;
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 { MessageStripModule } from '@fundamental-ngx/core/message-strip';
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, MessageStripModule], 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, MessageStripModule] });
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, MessageStripModule],
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYWxlcnQvYWxlcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUV6RTs7OztHQUlHO0FBT0gsTUFBTSxPQUFPLFdBQVc7O3dHQUFYLFdBQVc7eUdBQVgsV0FBVyxpQkFMTCxjQUFjLEVBQUUsdUJBQXVCLGFBQzVDLFlBQVksRUFBRSxZQUFZLEVBQUUsa0JBQWtCLGFBQzlDLGNBQWMsRUFBRSx1QkFBdUI7eUdBR3hDLFdBQVcsYUFGVCxDQUFDLFlBQVksRUFBRSx1QkFBdUIsQ0FBQyxZQUZ4QyxZQUFZLEVBQUUsWUFBWSxFQUFFLGtCQUFrQjsyRkFJL0MsV0FBVztrQkFOdkIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsdUJBQXVCLENBQUM7b0JBQ3ZELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsa0JBQWtCLENBQUM7b0JBQ3pELE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQztvQkFDbEQsU0FBUyxFQUFFLENBQUMsWUFBWSxFQUFFLHVCQUF1QixDQUFDO2lCQUNyRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBBbGVydENvbXBvbmVudCB9IGZyb20gJy4vYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4vYWxlcnQtc2VydmljZS9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IEFsZXJ0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9hbGVydC11dGlscy9hbGVydC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVzc2FnZS1zdHJpcCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqIEFsZXJ0IGNvbXBvbmVudCBpcyBkZXByaWNhdGVkIHNpbmNlIHZlcnNpb24gMC4xNi4wXG4gKiBNZXNzYWdlIFN0cmlwIGNvbXBvbmVudCBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0FsZXJ0Q29tcG9uZW50LCBBbGVydENvbnRhaW5lckNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQnV0dG9uTW9kdWxlLCBNZXNzYWdlU3RyaXBNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtBbGVydENvbXBvbmVudCwgQWxlcnRDb250YWluZXJDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW0FsZXJ0U2VydmljZSwgRHluYW1pY0NvbXBvbmVudFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEFsZXJ0TW9kdWxlIHt9XG4iXX0=
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==