@bravura/ui 2.6.1 → 2.7.1

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 (50) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/behavior/await.directive.d.ts +10 -6
  3. package/behavior/behavior.module.d.ts +6 -4
  4. package/behavior/observe-content-class.directive.d.ts +29 -0
  5. package/behavior/public-api.d.ts +1 -0
  6. package/behavior/sizing.directive.d.ts +2 -0
  7. package/esm2020/alert/alert-message.component.mjs +2 -2
  8. package/esm2020/behavior/await.directive.mjs +22 -14
  9. package/esm2020/behavior/behavior.module.mjs +18 -6
  10. package/esm2020/behavior/observe-content-class.directive.mjs +63 -0
  11. package/esm2020/behavior/public-api.mjs +2 -1
  12. package/esm2020/behavior/sizing.directive.mjs +13 -4
  13. package/esm2020/panel/panel.component.mjs +14 -9
  14. package/esm2020/panel/panel.module.mjs +6 -5
  15. package/esm2020/panel/tinted.directive.mjs +60 -0
  16. package/esm2020/radio-panel/radio-panel-item.component.mjs +3 -3
  17. package/esm2020/stepper/stepper.component.mjs +6 -2
  18. package/esm2020/tooltip/public-api.mjs +2 -1
  19. package/esm2020/tooltip/tooltip.directive.mjs +30 -4
  20. package/fesm2015/bravura-ui-alert.mjs +2 -2
  21. package/fesm2015/bravura-ui-alert.mjs.map +1 -1
  22. package/fesm2015/bravura-ui-behavior.mjs +111 -22
  23. package/fesm2015/bravura-ui-behavior.mjs.map +1 -1
  24. package/fesm2015/bravura-ui-panel.mjs +78 -13
  25. package/fesm2015/bravura-ui-panel.mjs.map +1 -1
  26. package/fesm2015/bravura-ui-radio-panel.mjs +2 -2
  27. package/fesm2015/bravura-ui-radio-panel.mjs.map +1 -1
  28. package/fesm2015/bravura-ui-stepper.mjs +5 -1
  29. package/fesm2015/bravura-ui-stepper.mjs.map +1 -1
  30. package/fesm2015/bravura-ui-tooltip.mjs +30 -4
  31. package/fesm2015/bravura-ui-tooltip.mjs.map +1 -1
  32. package/fesm2020/bravura-ui-alert.mjs +2 -2
  33. package/fesm2020/bravura-ui-alert.mjs.map +1 -1
  34. package/fesm2020/bravura-ui-behavior.mjs +111 -22
  35. package/fesm2020/bravura-ui-behavior.mjs.map +1 -1
  36. package/fesm2020/bravura-ui-panel.mjs +74 -13
  37. package/fesm2020/bravura-ui-panel.mjs.map +1 -1
  38. package/fesm2020/bravura-ui-radio-panel.mjs +2 -2
  39. package/fesm2020/bravura-ui-radio-panel.mjs.map +1 -1
  40. package/fesm2020/bravura-ui-stepper.mjs +5 -1
  41. package/fesm2020/bravura-ui-stepper.mjs.map +1 -1
  42. package/fesm2020/bravura-ui-tooltip.mjs +30 -4
  43. package/fesm2020/bravura-ui-tooltip.mjs.map +1 -1
  44. package/package.json +1 -1
  45. package/panel/panel.component.d.ts +6 -2
  46. package/panel/panel.module.d.ts +7 -5
  47. package/panel/tinted.directive.d.ts +26 -0
  48. package/stepper/stepper.component.d.ts +1 -0
  49. package/tooltip/public-api.d.ts +1 -0
  50. package/tooltip/tooltip.directive.d.ts +8 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Change history
2
2
 
3
+ ## 2.7.0 (2023-04-24)
4
+
5
+ * feat(behavior): add class directive for dom children events ([122580e](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/122580e))
6
+ * feat(behavior): add progress support in [buiAwait] ([692b5c4](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/692b5c4))
7
+ * feat(behavior): add support for other buttons in [buiAwait] ([f6a2995](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/f6a2995))
8
+ * feat(panel): improve and extract tinted backdrop element ([da14ccb](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/da14ccb))
9
+ * feat(tooltip): support Observable as tooltip message ([bcc1aec](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/bcc1aec))
10
+ * fix(behavior): add text content detection to observe content class ([5ae9ff9](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/5ae9ff9))
11
+ * fix(behavior): fix the issue with observe content class in prop binding ([1ca6694](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/1ca6694))
12
+ * fix(behavior): fix the issue with resize observer destruction ([d37e5ce](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/d37e5ce))
13
+ * fix(tooltip): export an injection token for greater ability to customise ([3b6e441](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/3b6e441))
14
+ * test: fix an unstable test ([e8e28f3](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/e8e28f3))
15
+
16
+ ## <small>2.6.1 (2023-04-20)</small>
17
+
18
+ * build: remove chromatic publish from 2.x pipeline ([5dc15a0](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/5dc15a0))
19
+ * fix(alert): fix the issue with short messages being clipped off ([d0bb0af](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/d0bb0af))
20
+ * fix(alert): improve accessibility ([5d5c7bb](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/5d5c7bb))
21
+ * fix(stepper): fix issue with unstable expression in animation events ([8fc043f](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/8fc043f))
22
+ * fix(tooltip): improve accessibility ([39ef17f](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/39ef17f))
23
+
3
24
  ## 2.6.0 (2022-10-13)
4
25
 
5
26
  * Pull request #4: feat(card): add card styles from the bravura design kit ([5b51eeb](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/5b51eeb)), closes [#4](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/issues/4)
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, ComponentFactoryResolver, DoCheck, ElementRef, ViewContainerRef } from '@angular/core';
1
+ import { AfterViewInit, DoCheck, ElementRef, ViewContainerRef } from '@angular/core';
2
2
  import { MatButton } from '@angular/material/button';
3
3
  import { Subscription } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
@@ -27,7 +27,7 @@ import * as i0 from "@angular/core";
27
27
  */
28
28
  export declare class AwaitDirective implements AfterViewInit, DoCheck {
29
29
  private readonly _eRef;
30
- private readonly button;
30
+ readonly _button: MatButton;
31
31
  private readonly doc;
32
32
  private _viewCont;
33
33
  /**
@@ -36,25 +36,29 @@ export declare class AwaitDirective implements AfterViewInit, DoCheck {
36
36
  * The operation is considered 'in progress' when the property evaluates to
37
37
  *
38
38
  * - `true`; or
39
+ * - a `number` within 0 - 100; or
39
40
  * - an instance of `rxjs/Subscription` and `buiAwait.closed` is falsy
40
41
  *
42
+ * When it is a number, it represets the progress in percentage term.
41
43
  */
42
- buiAwait: null | undefined | boolean | Subscription;
44
+ buiAwait: null | undefined | boolean | Subscription | number;
43
45
  /** The ARIA label to be put on the spinner. The default value is `"In progress"`. */
44
46
  buiAwaitAriaLabel: string;
45
47
  /** The diameter of the in-progress spinner. The default value is `20`. */
46
48
  buiAwaitDiameter: number;
47
49
  private _overlayEl;
48
50
  private _processing;
49
- private _factory;
50
51
  private _spinnerRef;
51
52
  private _captionWrapper;
52
- constructor(_eRef: ElementRef<HTMLElement>, button: MatButton, doc: Document, factoryResolver: ComponentFactoryResolver, _viewCont: ViewContainerRef);
53
+ private button;
54
+ constructor(_eRef: ElementRef<HTMLElement>, _button: MatButton, doc: Document, _viewCont: ViewContainerRef);
53
55
  /** @ignore */
54
56
  ngAfterViewInit(): void;
55
57
  /** @ignore */
56
58
  ngDoCheck(): void;
59
+ /** @ignore */
60
+ private get _isDeterminate();
57
61
  private _statusChanged;
58
- static ɵfac: i0.ɵɵFactoryDeclaration<AwaitDirective, [null, { optional: true; }, null, null, null]>;
62
+ static ɵfac: i0.ɵɵFactoryDeclaration<AwaitDirective, [null, { optional: true; }, null, null]>;
59
63
  static ɵdir: i0.ɵɵDirectiveDeclaration<AwaitDirective, "[buiAwait]", never, { "buiAwait": "buiAwait"; "buiAwaitAriaLabel": "buiAwaitAriaLabel"; "buiAwaitDiameter": "buiAwaitDiameter"; }, {}, never, never, false>;
60
64
  }
@@ -2,14 +2,16 @@ import * as i0 from "@angular/core";
2
2
  import * as i1 from "./sizing.directive";
3
3
  import * as i2 from "./sizing-monitor.directive";
4
4
  import * as i3 from "./await.directive";
5
- import * as i4 from "@angular/common";
6
- import * as i5 from "@angular/material/button";
7
- import * as i6 from "@angular/material/progress-spinner";
5
+ import * as i4 from "./observe-content-class.directive";
6
+ import * as i5 from "@angular/common";
7
+ import * as i6 from "@angular/material/button";
8
+ import * as i7 from "@angular/material/progress-spinner";
9
+ import * as i8 from "@angular/cdk/observers";
8
10
  /**
9
11
  * For functionality that cannot be easily achieved via CSS.
10
12
  */
11
13
  export declare class BehaviorModule {
12
14
  static ɵfac: i0.ɵɵFactoryDeclaration<BehaviorModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<BehaviorModule, [typeof i1.SizingDirective, typeof i2.SizingMonitorDirective, typeof i3.AwaitDirective], [typeof i4.CommonModule, typeof i5.MatButtonModule, typeof i6.MatProgressSpinnerModule], [typeof i1.SizingDirective, typeof i2.SizingMonitorDirective, typeof i3.AwaitDirective, typeof i6.MatProgressSpinnerModule]>;
15
+ static ɵmod: i0.ɵɵNgModuleDeclaration<BehaviorModule, [typeof i1.SizingDirective, typeof i2.SizingMonitorDirective, typeof i3.AwaitDirective, typeof i4.ObserveContentClassDirective], [typeof i5.CommonModule, typeof i6.MatButtonModule, typeof i7.MatProgressSpinnerModule, typeof i8.ObserversModule], [typeof i1.SizingDirective, typeof i2.SizingMonitorDirective, typeof i3.AwaitDirective, typeof i7.MatProgressSpinnerModule, typeof i4.ObserveContentClassDirective]>;
14
16
  static ɵinj: i0.ɵɵInjectorDeclaration<BehaviorModule>;
15
17
  }
@@ -0,0 +1,29 @@
1
+ import { ContentObserver } from '@angular/cdk/observers';
2
+ import { ElementRef, OnDestroy, OnInit } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Use `[bui-class.not-empty]` to specify a style class activated only when the host element has DOM children;
6
+ *
7
+ * use `[bui-class.empty]` for a style class activated when it has no DOM children.
8
+ *
9
+ * Use `[bui-class.no-text]` to specify a style class activated only when the host element has text content;
10
+ *
11
+ * use `[bui-class.has-text]` for a style class activated when it has no text content.
12
+ */
13
+ export declare class ObserveContentClassDirective implements OnDestroy, OnInit {
14
+ private readonly subscription;
15
+ private readonly element;
16
+ private classToRemove;
17
+ private classEmpty?;
18
+ private classNotEmpty?;
19
+ private classNoText?;
20
+ private classHasText?;
21
+ constructor(observer: ContentObserver, elementRef: ElementRef<HTMLElement>);
22
+ ngOnInit(): void;
23
+ ngOnDestroy(): void;
24
+ private checkClass;
25
+ private checkClassWith;
26
+ private addClass;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<ObserveContentClassDirective, never>;
28
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveContentClassDirective, "[bui-class.empty],[bui-class.not-empty],[bui-class.no-text],[bui-class.has-text]", never, { "classEmpty": "bui-class.empty"; "classNotEmpty": "bui-class.not-empty"; "classNoText": "bui-class.no-text"; "classHasText": "bui-class.has-text"; }, {}, never, never, false>;
29
+ }
@@ -2,3 +2,4 @@ export * from './sizing.directive';
2
2
  export * from './sizing-monitor.directive';
3
3
  export * from './behavior.module';
4
4
  export * from './await.directive';
5
+ export * from './observe-content-class.directive';
@@ -80,12 +80,14 @@ export declare class SizingDirective implements OnChanges, OnDestroy {
80
80
  private _height;
81
81
  private _reflowFrameCount;
82
82
  private _element;
83
+ private _frameHandlerId;
83
84
  constructor(_doc: Document, _defaultTarget: SizingMonitorDirective, elemRef: ElementRef<HTMLElement>, _zone: NgZone);
84
85
  ngOnChanges(_: SimpleChanges): void;
85
86
  ngOnDestroy(): void;
86
87
  private _initOrReset;
87
88
  private _setUpNodeMonitor;
88
89
  private _tearDownNodeMonitor;
90
+ private _runWithObserver;
89
91
  private _calculateSize;
90
92
  private _applyClassesOrStyles;
91
93
  private _removeClassesOrStyles;
@@ -71,14 +71,14 @@ export class AlertMessageComponent {
71
71
  }
72
72
  }
73
73
  AlertMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: AlertMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
74
- AlertMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: AlertMessageComponent, selector: "bui-alert", inputs: { type: "type", message: "message", politeness: "politeness", dismissible: "dismissible", _id: ["id", "_id"] }, outputs: { dismissed: "dismissed", initialised: "initialised" }, host: { properties: { "class": "'bui-alert bui-host bui-alert-' + (type === 'warn' ? 'warning' : type) + (dismissible ? ' bui-alert-dismissible' : '')", "role": "politeness === 'off' ? 'region' : 'alert'", "attr.aria-live": "politeness === 'assertive' ? undefined : politeness", "id": "this._id" } }, ngImport: i0, template: "<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\"><div [innerHTML]=\"message\"></div></div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\" aria-label=\"dismiss alert\">\n\t\t<mat-icon>cancel</mat-icon>\n\t</button>\n</div>\n", styles: [":host(:not([hidden])){display:block;padding:12px 14px 12px 19px;position:relative;border-radius:5px}:host-context([dir=rtl]) :host(:not([hidden])){padding:12px 19px 12px 14px}:host(:not([hidden])),:host(:not([hidden])) *{box-sizing:border-box}.bui-alert-backdrop,.bui-alert-frame{position:absolute;inset:0}.bui-alert-backdrop{opacity:.1}:host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 18.75px) 18.75px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0,18.75px 18.75px)}.bui-alert-frame{border-radius:5px;border-width:1px 1px 1px 5px;border-style:solid}:host-context([dir=rtl]) .bui-alert-frame{border-width:1px 5px 1px 1px}:host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 25px) 25px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0)}.bui-alert-button-area{position:absolute;right:-15px;top:-15px;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center}:host-context([dir=rtl]) .bui-alert-button-area{right:unset;left:-15px}.bui-alert-button-backdrop{position:absolute;border-radius:20px;width:100%;height:100%;clip-path:polygon(0 15px,25px 15px,25px 100%,0% 100%)}:host-context([dir=rtl]) .bui-alert-button-backdrop{clip-path:polygon(15px 15px,15px 100%,100% 100%,100% 15px)}.bui-alert-wrapper{display:flex;align-items:stretch}.bui-alert-icon-area{flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:5px;width:30px;height:30px;margin-right:14px;color:var(--bui-bg-card)}:host-context([dir=rtl]) .bui-alert-icon-area{margin-right:unset;margin-left:14px}.bui-alert-content{display:flex;align-items:center;z-index:1;flex-grow:1}:host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 13px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 13px,0 100%,100% 100%,100% 0,11px 0)}:host(.bui-alert-success) .bui-alert-frame{border-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-backdrop,:host(.bui-alert-success) .bui-alert-icon-area{background-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-button-backdrop{border:1px var(--bui-color-success) solid}:host(.bui-alert-success) .bui-alert-button{color:var(--bui-color-success)}:host(.bui-alert-info) .bui-alert-frame{border-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-backdrop,:host(.bui-alert-info) .bui-alert-icon-area{background-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-button-backdrop{border:1px var(--bui-color-info) solid}:host(.bui-alert-info) .bui-alert-button{color:var(--bui-color-info)}:host(.bui-alert-warning) .bui-alert-frame{border-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-backdrop,:host(.bui-alert-warning) .bui-alert-icon-area{background-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-button-backdrop{border:1px var(--bui-color-warning) solid}:host(.bui-alert-warning) .bui-alert-button{color:var(--bui-color-warning)}:host(.bui-alert-error) .bui-alert-frame{border-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-backdrop,:host(.bui-alert-error) .bui-alert-icon-area{background-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-button-backdrop{border:1px var(--bui-color-error) solid}:host(.bui-alert-error) .bui-alert-button{color:var(--bui-color-error)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.IconDirective, selector: "[buiIcon]", inputs: ["buiIcon", "size", "variant"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
74
+ AlertMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: AlertMessageComponent, selector: "bui-alert", inputs: { type: "type", message: "message", politeness: "politeness", dismissible: "dismissible", _id: ["id", "_id"] }, outputs: { dismissed: "dismissed", initialised: "initialised" }, host: { properties: { "class": "'bui-alert bui-host bui-alert-' + (type === 'warn' ? 'warning' : type) + (dismissible ? ' bui-alert-dismissible' : '')", "role": "politeness === 'off' ? 'region' : 'alert'", "attr.aria-live": "politeness === 'assertive' ? undefined : politeness", "id": "this._id" } }, ngImport: i0, template: "<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\"><div [innerHTML]=\"message\"></div></div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\" aria-label=\"dismiss alert\">\n\t\t<mat-icon>cancel</mat-icon>\n\t</button>\n</div>\n", styles: [":host(:not([hidden])){display:block;padding:12px 14px 12px 19px;position:relative;border-radius:5px}:host-context([dir=rtl]) :host(:not([hidden])){padding:12px 19px 12px 14px}:host(:not([hidden])),:host(:not([hidden])) *{box-sizing:border-box}.bui-alert-backdrop,.bui-alert-frame{position:absolute;inset:0}.bui-alert-backdrop{opacity:.1}:host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 18.75px) 18.75px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0,18.75px 18.75px)}.bui-alert-frame{border-radius:5px;border-width:1px 1px 1px 5px;border-style:solid}:host-context([dir=rtl]) .bui-alert-frame{border-width:1px 5px 1px 1px}:host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 25px) 25px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0)}.bui-alert-button-area{position:absolute;right:-15px;top:-15px;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center}:host-context([dir=rtl]) .bui-alert-button-area{right:unset;left:-15px}.bui-alert-button-backdrop{position:absolute;border-radius:20px;width:100%;height:100%;clip-path:polygon(0 15px,25px 15px,25px 100%,0% 100%)}:host-context([dir=rtl]) .bui-alert-button-backdrop{clip-path:polygon(15px 15px,15px 100%,100% 100%,100% 15px)}.bui-alert-wrapper{display:flex;align-items:stretch}.bui-alert-icon-area{flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:5px;width:30px;height:30px;margin-right:14px;color:var(--bui-bg-card)}:host-context([dir=rtl]) .bui-alert-icon-area{margin-right:unset;margin-left:14px}.bui-alert-content{display:flex;align-items:center;z-index:1;flex-grow:1}:host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 13px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 13px,0 100%,100% 100%,100% 0,11px 0)}:host(.bui-alert-success) .bui-alert-frame{border-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-backdrop,:host(.bui-alert-success) .bui-alert-icon-area{background-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-button-backdrop{border:1px var(--bui-color-success) solid}:host(.bui-alert-success) .bui-alert-button{color:var(--bui-color-success)}:host(.bui-alert-info) .bui-alert-frame{border-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-backdrop,:host(.bui-alert-info) .bui-alert-icon-area{background-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-button-backdrop{border:1px var(--bui-color-info) solid}:host(.bui-alert-info) .bui-alert-button{color:var(--bui-color-info)}:host(.bui-alert-warning) .bui-alert-frame{border-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-backdrop,:host(.bui-alert-warning) .bui-alert-icon-area{background-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-button-backdrop{border:1px var(--bui-color-warning) solid}:host(.bui-alert-warning) .bui-alert-button{color:var(--bui-color-warning)}:host(.bui-alert-error) .bui-alert-frame{border-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-backdrop,:host(.bui-alert-error) .bui-alert-icon-area{background-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-button-backdrop{border:1px var(--bui-color-error) solid}:host(.bui-alert-error) .bui-alert-button{color:var(--bui-color-error)}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > div > *:first-child\"; margin-top: 0;}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > div > *:last-child\"; margin-bottom: 0;}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.IconDirective, selector: "[buiIcon]", inputs: ["buiIcon", "size", "variant"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
75
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: AlertMessageComponent, decorators: [{
76
76
  type: Component,
77
77
  args: [{ selector: 'bui-alert', host: {
78
78
  '[class]': `'bui-alert bui-host bui-alert-' + (type === 'warn' ? 'warning' : type) + (dismissible ? ' bui-alert-dismissible' : '')`,
79
79
  '[role]': `politeness === 'off' ? 'region' : 'alert'`,
80
80
  '[attr.aria-live]': `politeness === 'assertive' ? undefined : politeness`
81
- }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\"><div [innerHTML]=\"message\"></div></div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\" aria-label=\"dismiss alert\">\n\t\t<mat-icon>cancel</mat-icon>\n\t</button>\n</div>\n", styles: [":host(:not([hidden])){display:block;padding:12px 14px 12px 19px;position:relative;border-radius:5px}:host-context([dir=rtl]) :host(:not([hidden])){padding:12px 19px 12px 14px}:host(:not([hidden])),:host(:not([hidden])) *{box-sizing:border-box}.bui-alert-backdrop,.bui-alert-frame{position:absolute;inset:0}.bui-alert-backdrop{opacity:.1}:host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 18.75px) 18.75px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0,18.75px 18.75px)}.bui-alert-frame{border-radius:5px;border-width:1px 1px 1px 5px;border-style:solid}:host-context([dir=rtl]) .bui-alert-frame{border-width:1px 5px 1px 1px}:host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 25px) 25px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0)}.bui-alert-button-area{position:absolute;right:-15px;top:-15px;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center}:host-context([dir=rtl]) .bui-alert-button-area{right:unset;left:-15px}.bui-alert-button-backdrop{position:absolute;border-radius:20px;width:100%;height:100%;clip-path:polygon(0 15px,25px 15px,25px 100%,0% 100%)}:host-context([dir=rtl]) .bui-alert-button-backdrop{clip-path:polygon(15px 15px,15px 100%,100% 100%,100% 15px)}.bui-alert-wrapper{display:flex;align-items:stretch}.bui-alert-icon-area{flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:5px;width:30px;height:30px;margin-right:14px;color:var(--bui-bg-card)}:host-context([dir=rtl]) .bui-alert-icon-area{margin-right:unset;margin-left:14px}.bui-alert-content{display:flex;align-items:center;z-index:1;flex-grow:1}:host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 13px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 13px,0 100%,100% 100%,100% 0,11px 0)}:host(.bui-alert-success) .bui-alert-frame{border-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-backdrop,:host(.bui-alert-success) .bui-alert-icon-area{background-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-button-backdrop{border:1px var(--bui-color-success) solid}:host(.bui-alert-success) .bui-alert-button{color:var(--bui-color-success)}:host(.bui-alert-info) .bui-alert-frame{border-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-backdrop,:host(.bui-alert-info) .bui-alert-icon-area{background-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-button-backdrop{border:1px var(--bui-color-info) solid}:host(.bui-alert-info) .bui-alert-button{color:var(--bui-color-info)}:host(.bui-alert-warning) .bui-alert-frame{border-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-backdrop,:host(.bui-alert-warning) .bui-alert-icon-area{background-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-button-backdrop{border:1px var(--bui-color-warning) solid}:host(.bui-alert-warning) .bui-alert-button{color:var(--bui-color-warning)}:host(.bui-alert-error) .bui-alert-frame{border-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-backdrop,:host(.bui-alert-error) .bui-alert-icon-area{background-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-button-backdrop{border:1px var(--bui-color-error) solid}:host(.bui-alert-error) .bui-alert-button{color:var(--bui-color-error)}\n"] }]
81
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\"><div [innerHTML]=\"message\"></div></div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\" aria-label=\"dismiss alert\">\n\t\t<mat-icon>cancel</mat-icon>\n\t</button>\n</div>\n", styles: [":host(:not([hidden])){display:block;padding:12px 14px 12px 19px;position:relative;border-radius:5px}:host-context([dir=rtl]) :host(:not([hidden])){padding:12px 19px 12px 14px}:host(:not([hidden])),:host(:not([hidden])) *{box-sizing:border-box}.bui-alert-backdrop,.bui-alert-frame{position:absolute;inset:0}.bui-alert-backdrop{opacity:.1}:host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 18.75px) 18.75px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0,18.75px 18.75px)}.bui-alert-frame{border-radius:5px;border-width:1px 1px 1px 5px;border-style:solid}:host-context([dir=rtl]) .bui-alert-frame{border-width:1px 5px 1px 1px}:host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 25px) 25px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0)}.bui-alert-button-area{position:absolute;right:-15px;top:-15px;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center}:host-context([dir=rtl]) .bui-alert-button-area{right:unset;left:-15px}.bui-alert-button-backdrop{position:absolute;border-radius:20px;width:100%;height:100%;clip-path:polygon(0 15px,25px 15px,25px 100%,0% 100%)}:host-context([dir=rtl]) .bui-alert-button-backdrop{clip-path:polygon(15px 15px,15px 100%,100% 100%,100% 15px)}.bui-alert-wrapper{display:flex;align-items:stretch}.bui-alert-icon-area{flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:5px;width:30px;height:30px;margin-right:14px;color:var(--bui-bg-card)}:host-context([dir=rtl]) .bui-alert-icon-area{margin-right:unset;margin-left:14px}.bui-alert-content{display:flex;align-items:center;z-index:1;flex-grow:1}:host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 13px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 13px,0 100%,100% 100%,100% 0,11px 0)}:host(.bui-alert-success) .bui-alert-frame{border-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-backdrop,:host(.bui-alert-success) .bui-alert-icon-area{background-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-button-backdrop{border:1px var(--bui-color-success) solid}:host(.bui-alert-success) .bui-alert-button{color:var(--bui-color-success)}:host(.bui-alert-info) .bui-alert-frame{border-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-backdrop,:host(.bui-alert-info) .bui-alert-icon-area{background-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-button-backdrop{border:1px var(--bui-color-info) solid}:host(.bui-alert-info) .bui-alert-button{color:var(--bui-color-info)}:host(.bui-alert-warning) .bui-alert-frame{border-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-backdrop,:host(.bui-alert-warning) .bui-alert-icon-area{background-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-button-backdrop{border:1px var(--bui-color-warning) solid}:host(.bui-alert-warning) .bui-alert-button{color:var(--bui-color-warning)}:host(.bui-alert-error) .bui-alert-frame{border-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-backdrop,:host(.bui-alert-error) .bui-alert-icon-area{background-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-button-backdrop{border:1px var(--bui-color-error) solid}:host(.bui-alert-error) .bui-alert-button{color:var(--bui-color-error)}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > div > *:first-child\"; margin-top: 0;}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > div > *:last-child\"; margin-bottom: 0;}\n"] }]
82
82
  }], ctorParameters: function () { return []; }, propDecorators: { type: [{
83
83
  type: Input
84
84
  }], message: [{
@@ -27,9 +27,9 @@ import * as i1 from "@angular/material/button";
27
27
  * - the button will be disabled by setting the property `disabled` of the `MatButton` instance.
28
28
  */
29
29
  export class AwaitDirective {
30
- constructor(_eRef, button, doc, factoryResolver, _viewCont) {
30
+ constructor(_eRef, _button, doc, _viewCont) {
31
31
  this._eRef = _eRef;
32
- this.button = button;
32
+ this._button = _button;
33
33
  this.doc = doc;
34
34
  this._viewCont = _viewCont;
35
35
  /** The ARIA label to be put on the spinner. The default value is `"In progress"`. */
@@ -37,11 +37,11 @@ export class AwaitDirective {
37
37
  /** The diameter of the in-progress spinner. The default value is `20`. */
38
38
  this.buiAwaitDiameter = 20;
39
39
  this._processing = false;
40
- if (!button) {
41
- console.error('[buiAwait] can only be used on a MatButton');
40
+ this.button = _button;
41
+ if (!this.button) {
42
+ console.error('[buiAwait] can only be used on a Material button.');
42
43
  return;
43
44
  }
44
- this._factory = factoryResolver.resolveComponentFactory(MatProgressSpinner);
45
45
  }
46
46
  /** @ignore */
47
47
  ngAfterViewInit() {
@@ -51,25 +51,32 @@ export class AwaitDirective {
51
51
  this._overlayEl.classList.add('bui-await-overlay');
52
52
  this._overlayEl.style.cssText =
53
53
  'display:flex; position:absolute; top:0; right:0; bottom:0; left:0; align-items: center; justify-content: center';
54
- this._captionWrapper = this._eRef.nativeElement.querySelector('.mat-button-wrapper');
54
+ this._captionWrapper = this._eRef.nativeElement.querySelector('.mat-button-wrapper,.mat-icon');
55
55
  }
56
56
  }
57
57
  /** @ignore */
58
58
  ngDoCheck() {
59
- const inProgress = this.buiAwait === true || (typeof this.buiAwait === 'object' && !this.buiAwait.closed);
59
+ const inProgress = this.buiAwait === true || (typeof this.buiAwait === 'object' && !this.buiAwait.closed) || this._isDeterminate;
60
60
  if (inProgress !== this._processing) {
61
61
  this._processing = inProgress;
62
- this._statusChanged();
62
+ this._statusChanged(this._isDeterminate ? 'determinate' : 'indeterminate');
63
63
  }
64
+ if (this._isDeterminate && this._spinnerRef) {
65
+ this._spinnerRef.setInput('value', this.buiAwait);
66
+ }
67
+ }
68
+ /** @ignore */
69
+ get _isDeterminate() {
70
+ return typeof this.buiAwait === 'number' && this.buiAwait >= 0 && this.buiAwait < 100;
64
71
  }
65
- _statusChanged() {
72
+ _statusChanged(mode) {
66
73
  if (this.button) {
67
74
  this.button.disabled = this._processing;
68
75
  if (this._processing) {
69
- this._spinnerRef = this._viewCont.createComponent(this._factory);
76
+ this._spinnerRef = this._viewCont.createComponent(MatProgressSpinner);
70
77
  const c = this._spinnerRef.instance;
71
78
  c.diameter = this.buiAwaitDiameter;
72
- c.mode = 'indeterminate';
79
+ c.mode = mode;
73
80
  c.color = this.button.color;
74
81
  const e = this._spinnerRef.location.nativeElement;
75
82
  e.setAttribute('aria-label', this.buiAwaitAriaLabel);
@@ -79,12 +86,13 @@ export class AwaitDirective {
79
86
  else {
80
87
  this._captionWrapper.style.visibility = '';
81
88
  this._spinnerRef.destroy();
89
+ this._spinnerRef = undefined;
82
90
  this._overlayEl.innerHTML = '';
83
91
  }
84
92
  }
85
93
  }
86
94
  }
87
- AwaitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: AwaitDirective, deps: [{ token: i0.ElementRef }, { token: i1.MatButton, optional: true }, { token: DOCUMENT }, { token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
95
+ AwaitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: AwaitDirective, deps: [{ token: i0.ElementRef }, { token: i1.MatButton, optional: true }, { token: DOCUMENT }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
88
96
  AwaitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: AwaitDirective, selector: "[buiAwait]", inputs: { buiAwait: "buiAwait", buiAwaitAriaLabel: "buiAwaitAriaLabel", buiAwaitDiameter: "buiAwaitDiameter" }, ngImport: i0 });
89
97
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: AwaitDirective, decorators: [{
90
98
  type: Directive,
@@ -96,11 +104,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
96
104
  }] }, { type: Document, decorators: [{
97
105
  type: Inject,
98
106
  args: [DOCUMENT]
99
- }] }, { type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }]; }, propDecorators: { buiAwait: [{
107
+ }] }, { type: i0.ViewContainerRef }]; }, propDecorators: { buiAwait: [{
100
108
  type: Input
101
109
  }], buiAwaitAriaLabel: [{
102
110
  type: Input
103
111
  }], buiAwaitDiameter: [{
104
112
  type: Input
105
113
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdhaXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvYmVoYXZpb3IvYXdhaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBS04sU0FBUyxFQUdULE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUVSLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFHeEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFJSCxNQUFNLE9BQU8sY0FBYztJQTJCMUIsWUFDa0IsS0FBOEIsRUFDbEIsTUFBaUIsRUFDWCxHQUFhLEVBQ2hELGVBQXlDLEVBQ2pDLFNBQTJCO1FBSmxCLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDWCxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBRXhDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBbkJwQyxxRkFBcUY7UUFFckYsc0JBQWlCLEdBQUcsYUFBYSxDQUFDO1FBRWxDLDBFQUEwRTtRQUUxRSxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFHZCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQVkzQixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1lBQzVELE9BQU87U0FDUDtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELGNBQWM7SUFDZCxlQUFlO1FBQ2QsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPO2dCQUM1QixpSEFBaUgsQ0FBQztZQUNuSCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBZ0IsQ0FBQztTQUNwRztJQUNGLENBQUM7SUFFRCxjQUFjO0lBQ2QsU0FBUztRQUNSLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0csSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztZQUM5QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdEI7SUFDRixDQUFDO0lBRU8sY0FBYztRQUNyQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUV4QyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVMsQ0FBQyxDQUFDO2dCQUNsRSxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztnQkFDcEMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ25DLENBQUMsQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDO2dCQUN6QixDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUM1QixNQUFNLENBQUMsR0FBZ0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO2dCQUMvRCxDQUFDLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDckQsSUFBSSxDQUFDLFVBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxlQUFnQixDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO2FBQ2xEO2lCQUFNO2dCQUNOLElBQUksQ0FBQyxlQUFnQixDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO2dCQUM1QyxJQUFJLENBQUMsV0FBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsVUFBVyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7YUFDaEM7U0FDRDtJQUNGLENBQUM7OzJHQWxGVyxjQUFjLHFGQThCakIsUUFBUTsrRkE5QkwsY0FBYzsyRkFBZCxjQUFjO2tCQUgxQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxZQUFZO2lCQUN0Qjs7MEJBOEJFLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsUUFBUTtrSEFuQmpCLFFBQVE7c0JBRFAsS0FBSztnQkFLTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBS04sZ0JBQWdCO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHRBZnRlclZpZXdJbml0LFxuXHRDb21wb25lbnRGYWN0b3J5LFxuXHRDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG5cdENvbXBvbmVudFJlZixcblx0RGlyZWN0aXZlLFxuXHREb0NoZWNrLFxuXHRFbGVtZW50UmVmLFxuXHRJbmplY3QsXG5cdElucHV0LFxuXHRPcHRpb25hbCxcblx0Vmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFVzZSB0aGlzIGRpcmVjdGl2ZSBvbiBhIGBNYXRCdXR0b25gIGVsZW1lbnQgdG8gcHJvdmlkZSBhbiBhbHRlcm5hdGl2ZSB2aWV3IHdoZW4gYW4gc3luYyBvcGVyYXRpb24gaXMgaW4gcHJvZ3Jlc3MuXG4gKlxuICogRm9yIGV4YW1wbGU6XG4gKlxuICogYGBgXG4gKiA8YnV0dG9uIChjbGljayk9XCJzdWJtaXQoKTtcIiBbYnVpQXdhaXRdPVwic3VibWl0U3Vic2NyaXB0aW9uXCIgYnVpQXdhaXRBcmlhTGFiZWw9XCJzdWJtaXR0aW5nXCI+U3VibWl0PC9idXR0b24+XG4gKiBgYGBcbiAqXG4gKiBQbGVhc2UgcmVmZXIgdG8gW01hdGVyaWFsIERlc2lnbl0oaHR0cHM6Ly9tYXRlcmlhbC5pby9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvcnMjY2lyY3VsYXItcHJvZ3Jlc3MtaW5kaWNhdG9ycylcbiAqIGZvciBtb3JlIGRldGFpbHMgb2YgaW50ZWdyYXRpbmcgY2lyY3VsYXIgc3Bpbm5lciBjb21wb25lbnQgd2l0aCBhY3Rpb24gYnV0dG9ucy5cbiAqXG4gKiBUaGUgb3BlcmF0aW9uIGlzIGNvbnNpZGVyZWQgJ2luIHByb2dyZXNzJyB3aGVuIHRoZSBib3VuZCBwcm9wZXJ0eSBgYnVpQXdhaXRgIGV2YWx1YXRlcyB0b1xuICpcbiAqIC0gYHRydWVgOyBvclxuICogLSBhbiBpbnN0YW5jZSBvZiBgcnhqcy9TdWJzY3JpcHRpb25gIGFuZCBgYnVpQXdhaXQuY2xvc2VkYCBpcyBmYWxzeVxuICpcbiAqIFdoZW4gaW4gcHJvZ3Jlc3NcbiAqXG4gKiAtIHRoZSBidXR0b24ncyBjYXB0aW9uIHdpbGwgYmUgaGlkZGVuO1xuICogLSBhIGA8bWF0LXByb2dyZXNzLXNwaW5uZXI+YCB3aWxsIGJlIGRpc3BsYXllZCBpbiBwbGFjZSBvZiB0aGUgY2FwdGlvbjtcbiAqIC0gdGhlIGJ1dHRvbiB3aWxsIGJlIGRpc2FibGVkIGJ5IHNldHRpbmcgdGhlIHByb3BlcnR5IGBkaXNhYmxlZGAgb2YgdGhlIGBNYXRCdXR0b25gIGluc3RhbmNlLlxuICovXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnVpQXdhaXRdJ1xufSlcbmV4cG9ydCBjbGFzcyBBd2FpdERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIERvQ2hlY2sge1xuXHQvKipcblx0ICogSW5kaWNhdGVzIHRoZSBgaW4gcHJvZ3Jlc3NgIHN0YXR1cyBvZiBhbiBhc3luYyBvcGVyYXRpb24uXG5cdCAqXG5cdCAqIFRoZSBvcGVyYXRpb24gaXMgY29uc2lkZXJlZCAnaW4gcHJvZ3Jlc3MnIHdoZW4gdGhlIHByb3BlcnR5IGV2YWx1YXRlcyB0b1xuXHQgKlxuXHQgKiAtIGB0cnVlYDsgb3Jcblx0ICogLSBhbiBpbnN0YW5jZSBvZiBgcnhqcy9TdWJzY3JpcHRpb25gIGFuZCBgYnVpQXdhaXQuY2xvc2VkYCBpcyBmYWxzeVxuXHQgKlxuXHQgKi9cblx0QElucHV0KClcblx0YnVpQXdhaXQ6IG51bGwgfCB1bmRlZmluZWQgfCBib29sZWFuIHwgU3Vic2NyaXB0aW9uO1xuXG5cdC8qKiBUaGUgQVJJQSBsYWJlbCB0byBiZSBwdXQgb24gdGhlIHNwaW5uZXIuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBcIkluIHByb2dyZXNzXCJgLiAqL1xuXHRASW5wdXQoKVxuXHRidWlBd2FpdEFyaWFMYWJlbCA9ICdJbiBwcm9ncmVzcyc7XG5cblx0LyoqIFRoZSBkaWFtZXRlciBvZiB0aGUgaW4tcHJvZ3Jlc3Mgc3Bpbm5lci4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgYDIwYC4gKi9cblx0QElucHV0KClcblx0YnVpQXdhaXREaWFtZXRlciA9IDIwO1xuXG5cdHByaXZhdGUgX292ZXJsYXlFbDogSFRNTERpdkVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cdHByaXZhdGUgX3Byb2Nlc3NpbmcgPSBmYWxzZTtcblx0cHJpdmF0ZSBfZmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeTxNYXRQcm9ncmVzc1NwaW5uZXI+IHwgdW5kZWZpbmVkO1xuXHRwcml2YXRlIF9zcGlubmVyUmVmOiBDb21wb25lbnRSZWY8TWF0UHJvZ3Jlc3NTcGlubmVyPiB8IHVuZGVmaW5lZDtcblx0cHJpdmF0ZSBfY2FwdGlvbldyYXBwZXI6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgX2VSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuXHRcdEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgYnV0dG9uOiBNYXRCdXR0b24sXG5cdFx0QEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2M6IERvY3VtZW50LFxuXHRcdGZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuXHRcdHByaXZhdGUgX3ZpZXdDb250OiBWaWV3Q29udGFpbmVyUmVmXG5cdCkge1xuXHRcdGlmICghYnV0dG9uKSB7XG5cdFx0XHRjb25zb2xlLmVycm9yKCdbYnVpQXdhaXRdIGNhbiBvbmx5IGJlIHVzZWQgb24gYSBNYXRCdXR0b24nKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy5fZmFjdG9yeSA9IGZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShNYXRQcm9ncmVzc1NwaW5uZXIpO1xuXHR9XG5cblx0LyoqIEBpZ25vcmUgKi9cblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmJ1dHRvbikge1xuXHRcdFx0dGhpcy5fb3ZlcmxheUVsID0gdGhpcy5kb2MuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cdFx0XHR0aGlzLl9lUmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fb3ZlcmxheUVsKTtcblx0XHRcdHRoaXMuX292ZXJsYXlFbC5jbGFzc0xpc3QuYWRkKCdidWktYXdhaXQtb3ZlcmxheScpO1xuXHRcdFx0dGhpcy5fb3ZlcmxheUVsLnN0eWxlLmNzc1RleHQgPVxuXHRcdFx0XHQnZGlzcGxheTpmbGV4OyBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IHJpZ2h0OjA7IGJvdHRvbTowOyBsZWZ0OjA7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyJztcblx0XHRcdHRoaXMuX2NhcHRpb25XcmFwcGVyID0gdGhpcy5fZVJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tYXQtYnV0dG9uLXdyYXBwZXInKSBhcyBIVE1MRWxlbWVudDtcblx0XHR9XG5cdH1cblxuXHQvKiogQGlnbm9yZSAqL1xuXHRuZ0RvQ2hlY2soKTogdm9pZCB7XG5cdFx0Y29uc3QgaW5Qcm9ncmVzcyA9IHRoaXMuYnVpQXdhaXQgPT09IHRydWUgfHwgKHR5cGVvZiB0aGlzLmJ1aUF3YWl0ID09PSAnb2JqZWN0JyAmJiAhdGhpcy5idWlBd2FpdCEuY2xvc2VkKTtcblx0XHRpZiAoaW5Qcm9ncmVzcyAhPT0gdGhpcy5fcHJvY2Vzc2luZykge1xuXHRcdFx0dGhpcy5fcHJvY2Vzc2luZyA9IGluUHJvZ3Jlc3M7XG5cdFx0XHR0aGlzLl9zdGF0dXNDaGFuZ2VkKCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBfc3RhdHVzQ2hhbmdlZCgpIHtcblx0XHRpZiAodGhpcy5idXR0b24pIHtcblx0XHRcdHRoaXMuYnV0dG9uLmRpc2FibGVkID0gdGhpcy5fcHJvY2Vzc2luZztcblxuXHRcdFx0aWYgKHRoaXMuX3Byb2Nlc3NpbmcpIHtcblx0XHRcdFx0dGhpcy5fc3Bpbm5lclJlZiA9IHRoaXMuX3ZpZXdDb250LmNyZWF0ZUNvbXBvbmVudCh0aGlzLl9mYWN0b3J5ISk7XG5cdFx0XHRcdGNvbnN0IGMgPSB0aGlzLl9zcGlubmVyUmVmLmluc3RhbmNlO1xuXHRcdFx0XHRjLmRpYW1ldGVyID0gdGhpcy5idWlBd2FpdERpYW1ldGVyO1xuXHRcdFx0XHRjLm1vZGUgPSAnaW5kZXRlcm1pbmF0ZSc7XG5cdFx0XHRcdGMuY29sb3IgPSB0aGlzLmJ1dHRvbi5jb2xvcjtcblx0XHRcdFx0Y29uc3QgZTogSFRNTEVsZW1lbnQgPSB0aGlzLl9zcGlubmVyUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0XHRcdGUuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgdGhpcy5idWlBd2FpdEFyaWFMYWJlbCk7XG5cdFx0XHRcdHRoaXMuX292ZXJsYXlFbCEuYXBwZW5kQ2hpbGQoZSk7XG5cdFx0XHRcdHRoaXMuX2NhcHRpb25XcmFwcGVyIS5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLl9jYXB0aW9uV3JhcHBlciEuc3R5bGUudmlzaWJpbGl0eSA9ICcnO1xuXHRcdFx0XHR0aGlzLl9zcGlubmVyUmVmIS5kZXN0cm95KCk7XG5cdFx0XHRcdHRoaXMuX292ZXJsYXlFbCEuaW5uZXJIVE1MID0gJyc7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdhaXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvYmVoYXZpb3IvYXdhaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBR04sU0FBUyxFQUdULE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUVSLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBdUIsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBRzdGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBSUgsTUFBTSxPQUFPLGNBQWM7SUE2QjFCLFlBQ2tCLEtBQThCLEVBQzFCLE9BQWtCLEVBQ0osR0FBYSxFQUN4QyxTQUEyQjtRQUhsQixVQUFLLEdBQUwsS0FBSyxDQUF5QjtRQUMxQixZQUFPLEdBQVAsT0FBTyxDQUFXO1FBQ0osUUFBRyxHQUFILEdBQUcsQ0FBVTtRQUN4QyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQWxCcEMscUZBQXFGO1FBRXJGLHNCQUFpQixHQUFHLGFBQWEsQ0FBQztRQUVsQywwRUFBMEU7UUFFMUUscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBR2QsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFXM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1lBQ25FLE9BQU87U0FDUDtJQUNGLENBQUM7SUFFRCxjQUFjO0lBQ2QsZUFBZTtRQUNkLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTztnQkFDNUIsaUhBQWlILENBQUM7WUFDbkgsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsK0JBQStCLENBQWdCLENBQUM7U0FDOUc7SUFDRixDQUFDO0lBRUQsY0FBYztJQUNkLFNBQVM7UUFDUixNQUFNLFVBQVUsR0FDZixJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDaEgsSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztZQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDM0U7UUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUM1QyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0YsQ0FBQztJQUVELGNBQWM7SUFDZCxJQUFZLGNBQWM7UUFDekIsT0FBTyxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBQ3ZGLENBQUM7SUFFTyxjQUFjLENBQUMsSUFBeUI7UUFDL0MsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFFeEMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JBQ3RFLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO2dCQUNwQyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDbkMsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDNUIsTUFBTSxDQUFDLEdBQWdCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztnQkFDL0QsQ0FBQyxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxVQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQzthQUNsRDtpQkFBTTtnQkFDTixJQUFJLENBQUMsZUFBZ0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLFdBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxVQUFXLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQzthQUNoQztTQUNEO0lBQ0YsQ0FBQzs7MkdBN0ZXLGNBQWMscUZBZ0NqQixRQUFROytGQWhDTCxjQUFjOzJGQUFkLGNBQWM7a0JBSDFCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLFlBQVk7aUJBQ3RCOzswQkFnQ0UsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxRQUFROzJFQW5CakIsUUFBUTtzQkFEUCxLQUFLO2dCQUtOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFLTixnQkFBZ0I7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdEFmdGVyVmlld0luaXQsXG5cdENvbXBvbmVudFJlZixcblx0RGlyZWN0aXZlLFxuXHREb0NoZWNrLFxuXHRFbGVtZW50UmVmLFxuXHRJbmplY3QsXG5cdElucHV0LFxuXHRPcHRpb25hbCxcblx0Vmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXIsIFByb2dyZXNzU3Bpbm5lck1vZGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFVzZSB0aGlzIGRpcmVjdGl2ZSBvbiBhIGBNYXRCdXR0b25gIGVsZW1lbnQgdG8gcHJvdmlkZSBhbiBhbHRlcm5hdGl2ZSB2aWV3IHdoZW4gYW4gc3luYyBvcGVyYXRpb24gaXMgaW4gcHJvZ3Jlc3MuXG4gKlxuICogRm9yIGV4YW1wbGU6XG4gKlxuICogYGBgXG4gKiA8YnV0dG9uIChjbGljayk9XCJzdWJtaXQoKTtcIiBbYnVpQXdhaXRdPVwic3VibWl0U3Vic2NyaXB0aW9uXCIgYnVpQXdhaXRBcmlhTGFiZWw9XCJzdWJtaXR0aW5nXCI+U3VibWl0PC9idXR0b24+XG4gKiBgYGBcbiAqXG4gKiBQbGVhc2UgcmVmZXIgdG8gW01hdGVyaWFsIERlc2lnbl0oaHR0cHM6Ly9tYXRlcmlhbC5pby9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvcnMjY2lyY3VsYXItcHJvZ3Jlc3MtaW5kaWNhdG9ycylcbiAqIGZvciBtb3JlIGRldGFpbHMgb2YgaW50ZWdyYXRpbmcgY2lyY3VsYXIgc3Bpbm5lciBjb21wb25lbnQgd2l0aCBhY3Rpb24gYnV0dG9ucy5cbiAqXG4gKiBUaGUgb3BlcmF0aW9uIGlzIGNvbnNpZGVyZWQgJ2luIHByb2dyZXNzJyB3aGVuIHRoZSBib3VuZCBwcm9wZXJ0eSBgYnVpQXdhaXRgIGV2YWx1YXRlcyB0b1xuICpcbiAqIC0gYHRydWVgOyBvclxuICogLSBhbiBpbnN0YW5jZSBvZiBgcnhqcy9TdWJzY3JpcHRpb25gIGFuZCBgYnVpQXdhaXQuY2xvc2VkYCBpcyBmYWxzeVxuICpcbiAqIFdoZW4gaW4gcHJvZ3Jlc3NcbiAqXG4gKiAtIHRoZSBidXR0b24ncyBjYXB0aW9uIHdpbGwgYmUgaGlkZGVuO1xuICogLSBhIGA8bWF0LXByb2dyZXNzLXNwaW5uZXI+YCB3aWxsIGJlIGRpc3BsYXllZCBpbiBwbGFjZSBvZiB0aGUgY2FwdGlvbjtcbiAqIC0gdGhlIGJ1dHRvbiB3aWxsIGJlIGRpc2FibGVkIGJ5IHNldHRpbmcgdGhlIHByb3BlcnR5IGBkaXNhYmxlZGAgb2YgdGhlIGBNYXRCdXR0b25gIGluc3RhbmNlLlxuICovXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnVpQXdhaXRdJ1xufSlcbmV4cG9ydCBjbGFzcyBBd2FpdERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIERvQ2hlY2sge1xuXHQvKipcblx0ICogSW5kaWNhdGVzIHRoZSBgaW4gcHJvZ3Jlc3NgIHN0YXR1cyBvZiBhbiBhc3luYyBvcGVyYXRpb24uXG5cdCAqXG5cdCAqIFRoZSBvcGVyYXRpb24gaXMgY29uc2lkZXJlZCAnaW4gcHJvZ3Jlc3MnIHdoZW4gdGhlIHByb3BlcnR5IGV2YWx1YXRlcyB0b1xuXHQgKlxuXHQgKiAtIGB0cnVlYDsgb3Jcblx0ICogLSBhIGBudW1iZXJgIHdpdGhpbiAwIC0gMTAwOyBvclxuXHQgKiAtIGFuIGluc3RhbmNlIG9mIGByeGpzL1N1YnNjcmlwdGlvbmAgYW5kIGBidWlBd2FpdC5jbG9zZWRgIGlzIGZhbHN5XG5cdCAqXG5cdCAqIFdoZW4gaXQgaXMgYSBudW1iZXIsIGl0IHJlcHJlc2V0cyB0aGUgcHJvZ3Jlc3MgaW4gcGVyY2VudGFnZSB0ZXJtLlxuXHQgKi9cblx0QElucHV0KClcblx0YnVpQXdhaXQ6IG51bGwgfCB1bmRlZmluZWQgfCBib29sZWFuIHwgU3Vic2NyaXB0aW9uIHwgbnVtYmVyO1xuXG5cdC8qKiBUaGUgQVJJQSBsYWJlbCB0byBiZSBwdXQgb24gdGhlIHNwaW5uZXIuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBcIkluIHByb2dyZXNzXCJgLiAqL1xuXHRASW5wdXQoKVxuXHRidWlBd2FpdEFyaWFMYWJlbCA9ICdJbiBwcm9ncmVzcyc7XG5cblx0LyoqIFRoZSBkaWFtZXRlciBvZiB0aGUgaW4tcHJvZ3Jlc3Mgc3Bpbm5lci4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgYDIwYC4gKi9cblx0QElucHV0KClcblx0YnVpQXdhaXREaWFtZXRlciA9IDIwO1xuXG5cdHByaXZhdGUgX292ZXJsYXlFbDogSFRNTERpdkVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cdHByaXZhdGUgX3Byb2Nlc3NpbmcgPSBmYWxzZTtcblx0cHJpdmF0ZSBfc3Bpbm5lclJlZjogQ29tcG9uZW50UmVmPE1hdFByb2dyZXNzU3Bpbm5lcj4gfCB1bmRlZmluZWQ7XG5cdHByaXZhdGUgX2NhcHRpb25XcmFwcGVyOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcblx0cHJpdmF0ZSBidXR0b246IE1hdEJ1dHRvbiB8IHVuZGVmaW5lZDtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IF9lUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pixcblx0XHRAT3B0aW9uYWwoKSByZWFkb25seSBfYnV0dG9uOiBNYXRCdXR0b24sXG5cdFx0QEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2M6IERvY3VtZW50LFxuXHRcdHByaXZhdGUgX3ZpZXdDb250OiBWaWV3Q29udGFpbmVyUmVmXG5cdCkge1xuXHRcdHRoaXMuYnV0dG9uID0gX2J1dHRvbjtcblx0XHRpZiAoIXRoaXMuYnV0dG9uKSB7XG5cdFx0XHRjb25zb2xlLmVycm9yKCdbYnVpQXdhaXRdIGNhbiBvbmx5IGJlIHVzZWQgb24gYSBNYXRlcmlhbCBidXR0b24uJyk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHR9XG5cblx0LyoqIEBpZ25vcmUgKi9cblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmJ1dHRvbikge1xuXHRcdFx0dGhpcy5fb3ZlcmxheUVsID0gdGhpcy5kb2MuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cdFx0XHR0aGlzLl9lUmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fb3ZlcmxheUVsKTtcblx0XHRcdHRoaXMuX292ZXJsYXlFbC5jbGFzc0xpc3QuYWRkKCdidWktYXdhaXQtb3ZlcmxheScpO1xuXHRcdFx0dGhpcy5fb3ZlcmxheUVsLnN0eWxlLmNzc1RleHQgPVxuXHRcdFx0XHQnZGlzcGxheTpmbGV4OyBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IHJpZ2h0OjA7IGJvdHRvbTowOyBsZWZ0OjA7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyJztcblx0XHRcdHRoaXMuX2NhcHRpb25XcmFwcGVyID0gdGhpcy5fZVJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tYXQtYnV0dG9uLXdyYXBwZXIsLm1hdC1pY29uJykgYXMgSFRNTEVsZW1lbnQ7XG5cdFx0fVxuXHR9XG5cblx0LyoqIEBpZ25vcmUgKi9cblx0bmdEb0NoZWNrKCk6IHZvaWQge1xuXHRcdGNvbnN0IGluUHJvZ3Jlc3MgPVxuXHRcdFx0dGhpcy5idWlBd2FpdCA9PT0gdHJ1ZSB8fCAodHlwZW9mIHRoaXMuYnVpQXdhaXQgPT09ICdvYmplY3QnICYmICF0aGlzLmJ1aUF3YWl0IS5jbG9zZWQpIHx8IHRoaXMuX2lzRGV0ZXJtaW5hdGU7XG5cdFx0aWYgKGluUHJvZ3Jlc3MgIT09IHRoaXMuX3Byb2Nlc3NpbmcpIHtcblx0XHRcdHRoaXMuX3Byb2Nlc3NpbmcgPSBpblByb2dyZXNzO1xuXHRcdFx0dGhpcy5fc3RhdHVzQ2hhbmdlZCh0aGlzLl9pc0RldGVybWluYXRlID8gJ2RldGVybWluYXRlJyA6ICdpbmRldGVybWluYXRlJyk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLl9pc0RldGVybWluYXRlICYmIHRoaXMuX3NwaW5uZXJSZWYpIHtcblx0XHRcdHRoaXMuX3NwaW5uZXJSZWYuc2V0SW5wdXQoJ3ZhbHVlJywgdGhpcy5idWlBd2FpdCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqIEBpZ25vcmUgKi9cblx0cHJpdmF0ZSBnZXQgX2lzRGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHR5cGVvZiB0aGlzLmJ1aUF3YWl0ID09PSAnbnVtYmVyJyAmJiB0aGlzLmJ1aUF3YWl0ID49IDAgJiYgdGhpcy5idWlBd2FpdCA8IDEwMDtcblx0fVxuXG5cdHByaXZhdGUgX3N0YXR1c0NoYW5nZWQobW9kZTogUHJvZ3Jlc3NTcGlubmVyTW9kZSkge1xuXHRcdGlmICh0aGlzLmJ1dHRvbikge1xuXHRcdFx0dGhpcy5idXR0b24uZGlzYWJsZWQgPSB0aGlzLl9wcm9jZXNzaW5nO1xuXG5cdFx0XHRpZiAodGhpcy5fcHJvY2Vzc2luZykge1xuXHRcdFx0XHR0aGlzLl9zcGlubmVyUmVmID0gdGhpcy5fdmlld0NvbnQuY3JlYXRlQ29tcG9uZW50KE1hdFByb2dyZXNzU3Bpbm5lcik7XG5cdFx0XHRcdGNvbnN0IGMgPSB0aGlzLl9zcGlubmVyUmVmLmluc3RhbmNlO1xuXHRcdFx0XHRjLmRpYW1ldGVyID0gdGhpcy5idWlBd2FpdERpYW1ldGVyO1xuXHRcdFx0XHRjLm1vZGUgPSBtb2RlO1xuXHRcdFx0XHRjLmNvbG9yID0gdGhpcy5idXR0b24uY29sb3I7XG5cdFx0XHRcdGNvbnN0IGU6IEhUTUxFbGVtZW50ID0gdGhpcy5fc3Bpbm5lclJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xuXHRcdFx0XHRlLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHRoaXMuYnVpQXdhaXRBcmlhTGFiZWwpO1xuXHRcdFx0XHR0aGlzLl9vdmVybGF5RWwhLmFwcGVuZENoaWxkKGUpO1xuXHRcdFx0XHR0aGlzLl9jYXB0aW9uV3JhcHBlciEuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5fY2FwdGlvbldyYXBwZXIhLnN0eWxlLnZpc2liaWxpdHkgPSAnJztcblx0XHRcdFx0dGhpcy5fc3Bpbm5lclJlZiEuZGVzdHJveSgpO1xuXHRcdFx0XHR0aGlzLl9zcGlubmVyUmVmID0gdW5kZWZpbmVkO1xuXHRcdFx0XHR0aGlzLl9vdmVybGF5RWwhLmlubmVySFRNTCA9ICcnO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIl19
@@ -5,6 +5,8 @@ import { SizingMonitorDirective } from './sizing-monitor.directive';
5
5
  import { AwaitDirective } from './await.directive';
6
6
  import { MatButtonModule } from '@angular/material/button';
7
7
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
8
+ import { ObserveContentClassDirective } from './observe-content-class.directive';
9
+ import { ObserversModule } from '@angular/cdk/observers';
8
10
  import * as i0 from "@angular/core";
9
11
  /**
10
12
  * For functionality that cannot be easily achieved via CSS.
@@ -12,14 +14,24 @@ import * as i0 from "@angular/core";
12
14
  export class BehaviorModule {
13
15
  }
14
16
  BehaviorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: BehaviorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- BehaviorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: BehaviorModule, declarations: [SizingDirective, SizingMonitorDirective, AwaitDirective], imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule], exports: [SizingDirective, SizingMonitorDirective, AwaitDirective, MatProgressSpinnerModule] });
16
- BehaviorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: BehaviorModule, imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule, MatProgressSpinnerModule] });
17
+ BehaviorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: BehaviorModule, declarations: [SizingDirective, SizingMonitorDirective, AwaitDirective, ObserveContentClassDirective], imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule, ObserversModule], exports: [SizingDirective,
18
+ SizingMonitorDirective,
19
+ AwaitDirective,
20
+ MatProgressSpinnerModule,
21
+ ObserveContentClassDirective] });
22
+ BehaviorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: BehaviorModule, imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule, ObserversModule, MatProgressSpinnerModule] });
17
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: BehaviorModule, decorators: [{
18
24
  type: NgModule,
19
25
  args: [{
20
- declarations: [SizingDirective, SizingMonitorDirective, AwaitDirective],
21
- imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule],
22
- exports: [SizingDirective, SizingMonitorDirective, AwaitDirective, MatProgressSpinnerModule]
26
+ declarations: [SizingDirective, SizingMonitorDirective, AwaitDirective, ObserveContentClassDirective],
27
+ imports: [CommonModule, MatButtonModule, MatProgressSpinnerModule, ObserversModule],
28
+ exports: [
29
+ SizingDirective,
30
+ SizingMonitorDirective,
31
+ AwaitDirective,
32
+ MatProgressSpinnerModule,
33
+ ObserveContentClassDirective
34
+ ]
23
35
  }]
24
36
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoYXZpb3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvYmVoYXZpb3IvYmVoYXZpb3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUU5RTs7R0FFRztBQU1ILE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsaUJBSlgsZUFBZSxFQUFFLHNCQUFzQixFQUFFLGNBQWMsYUFDNUQsWUFBWSxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsYUFDdkQsZUFBZSxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSx3QkFBd0I7NEdBRS9FLGNBQWMsWUFIaEIsWUFBWSxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFDRSx3QkFBd0I7MkZBRS9FLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixFQUFFLGNBQWMsQ0FBQztvQkFDdkUsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsQ0FBQztvQkFDbEUsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSx3QkFBd0IsQ0FBQztpQkFDNUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNpemluZ0RpcmVjdGl2ZSB9IGZyb20gJy4vc2l6aW5nLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTaXppbmdNb25pdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9zaXppbmctbW9uaXRvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQXdhaXREaXJlY3RpdmUgfSBmcm9tICcuL2F3YWl0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5cbi8qKlxuICogIEZvciBmdW5jdGlvbmFsaXR5IHRoYXQgY2Fubm90IGJlIGVhc2lseSBhY2hpZXZlZCB2aWEgQ1NTLlxuICovXG5ATmdNb2R1bGUoe1xuXHRkZWNsYXJhdGlvbnM6IFtTaXppbmdEaXJlY3RpdmUsIFNpemluZ01vbml0b3JEaXJlY3RpdmUsIEF3YWl0RGlyZWN0aXZlXSxcblx0aW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGVdLFxuXHRleHBvcnRzOiBbU2l6aW5nRGlyZWN0aXZlLCBTaXppbmdNb25pdG9yRGlyZWN0aXZlLCBBd2FpdERpcmVjdGl2ZSwgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBCZWhhdmlvck1vZHVsZSB7fVxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoYXZpb3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvYmVoYXZpb3IvYmVoYXZpb3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFekQ7O0dBRUc7QUFZSCxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQVZYLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsNEJBQTRCLGFBQzFGLFlBQVksRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsZUFBZSxhQUVqRixlQUFlO1FBQ2Ysc0JBQXNCO1FBQ3RCLGNBQWM7UUFDZCx3QkFBd0I7UUFDeEIsNEJBQTRCOzRHQUdqQixjQUFjLFlBVGhCLFlBQVksRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsZUFBZSxFQUtqRix3QkFBd0I7MkZBSWIsY0FBYztrQkFYMUIsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLDRCQUE0QixDQUFDO29CQUNyRyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLHdCQUF3QixFQUFFLGVBQWUsQ0FBQztvQkFDbkYsT0FBTyxFQUFFO3dCQUNSLGVBQWU7d0JBQ2Ysc0JBQXNCO3dCQUN0QixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3FCQUM1QjtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2l6aW5nRGlyZWN0aXZlIH0gZnJvbSAnLi9zaXppbmcuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNpemluZ01vbml0b3JEaXJlY3RpdmUgfSBmcm9tICcuL3NpemluZy1tb25pdG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBd2FpdERpcmVjdGl2ZSB9IGZyb20gJy4vYXdhaXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IE9ic2VydmVDb250ZW50Q2xhc3NEaXJlY3RpdmUgfSBmcm9tICcuL29ic2VydmUtY29udGVudC1jbGFzcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgT2JzZXJ2ZXJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL29ic2VydmVycyc7XG5cbi8qKlxuICogIEZvciBmdW5jdGlvbmFsaXR5IHRoYXQgY2Fubm90IGJlIGVhc2lseSBhY2hpZXZlZCB2aWEgQ1NTLlxuICovXG5ATmdNb2R1bGUoe1xuXHRkZWNsYXJhdGlvbnM6IFtTaXppbmdEaXJlY3RpdmUsIFNpemluZ01vbml0b3JEaXJlY3RpdmUsIEF3YWl0RGlyZWN0aXZlLCBPYnNlcnZlQ29udGVudENsYXNzRGlyZWN0aXZlXSxcblx0aW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsIE9ic2VydmVyc01vZHVsZV0sXG5cdGV4cG9ydHM6IFtcblx0XHRTaXppbmdEaXJlY3RpdmUsXG5cdFx0U2l6aW5nTW9uaXRvckRpcmVjdGl2ZSxcblx0XHRBd2FpdERpcmVjdGl2ZSxcblx0XHRNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG5cdFx0T2JzZXJ2ZUNvbnRlbnRDbGFzc0RpcmVjdGl2ZVxuXHRdXG59KVxuZXhwb3J0IGNsYXNzIEJlaGF2aW9yTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,63 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/cdk/observers";
4
+ /**
5
+ * Use `[bui-class.not-empty]` to specify a style class activated only when the host element has DOM children;
6
+ *
7
+ * use `[bui-class.empty]` for a style class activated when it has no DOM children.
8
+ *
9
+ * Use `[bui-class.no-text]` to specify a style class activated only when the host element has text content;
10
+ *
11
+ * use `[bui-class.has-text]` for a style class activated when it has no text content.
12
+ */
13
+ export class ObserveContentClassDirective {
14
+ constructor(observer, elementRef) {
15
+ this.classToRemove = [];
16
+ this.element = elementRef.nativeElement;
17
+ this.subscription = observer.observe(elementRef).subscribe(() => this.checkClass());
18
+ }
19
+ ngOnInit() {
20
+ this.checkClass.bind(this);
21
+ }
22
+ ngOnDestroy() {
23
+ this.subscription.unsubscribe();
24
+ }
25
+ checkClass() {
26
+ this.element.classList.remove(...this.classToRemove);
27
+ this.classToRemove = [];
28
+ this.checkClassWith(this.classEmpty, this.classNotEmpty, () => this.element.childElementCount === 0 && !this.element.textContent?.trim());
29
+ this.checkClassWith(this.classNoText, this.classHasText, () => !this.element.textContent?.trim());
30
+ }
31
+ checkClassWith(withoutClass, withClass, isWithout) {
32
+ const without = isWithout();
33
+ this.addClass(without ? withoutClass : withClass);
34
+ }
35
+ addClass(cls) {
36
+ if (cls?.trim()) {
37
+ const classes = cls.trim().split(/\s+/);
38
+ this.element.classList.add(...classes);
39
+ this.classToRemove.push(...classes);
40
+ }
41
+ }
42
+ }
43
+ ObserveContentClassDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: ObserveContentClassDirective, deps: [{ token: i1.ContentObserver }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
44
+ ObserveContentClassDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: ObserveContentClassDirective, selector: "[bui-class.empty],[bui-class.not-empty],[bui-class.no-text],[bui-class.has-text]", inputs: { classEmpty: ["bui-class.empty", "classEmpty"], classNotEmpty: ["bui-class.not-empty", "classNotEmpty"], classNoText: ["bui-class.no-text", "classNoText"], classHasText: ["bui-class.has-text", "classHasText"] }, ngImport: i0 });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: ObserveContentClassDirective, decorators: [{
46
+ type: Directive,
47
+ args: [{
48
+ selector: '[bui-class.empty],[bui-class.not-empty],[bui-class.no-text],[bui-class.has-text]'
49
+ }]
50
+ }], ctorParameters: function () { return [{ type: i1.ContentObserver }, { type: i0.ElementRef }]; }, propDecorators: { classEmpty: [{
51
+ type: Input,
52
+ args: ['bui-class.empty']
53
+ }], classNotEmpty: [{
54
+ type: Input,
55
+ args: ['bui-class.not-empty']
56
+ }], classNoText: [{
57
+ type: Input,
58
+ args: ['bui-class.no-text']
59
+ }], classHasText: [{
60
+ type: Input,
61
+ args: ['bui-class.has-text']
62
+ }] } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZS1jb250ZW50LWNsYXNzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2JlaGF2aW9yL29ic2VydmUtY29udGVudC1jbGFzcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7QUFHaEY7Ozs7Ozs7O0dBUUc7QUFJSCxNQUFNLE9BQU8sNEJBQTRCO0lBaUJ4QyxZQUFZLFFBQXlCLEVBQUUsVUFBbUM7UUFkbEUsa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFlcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVPLFVBQVU7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLGFBQWEsRUFDbEIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FDL0UsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRU8sY0FBYyxDQUNyQixZQUF1QyxFQUN2QyxTQUFvQyxFQUNwQyxTQUF3QjtRQUV4QixNQUFNLE9BQU8sR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBRSxTQUFpQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLFFBQVEsQ0FBQyxHQUFrQjtRQUNsQyxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNoQixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7U0FDcEM7SUFDRixDQUFDOzt5SEF4RFcsNEJBQTRCOzZHQUE1Qiw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFIeEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsa0ZBQWtGO2lCQUM1RjsrSEFPUSxVQUFVO3NCQURqQixLQUFLO3VCQUFDLGlCQUFpQjtnQkFJaEIsYUFBYTtzQkFEcEIsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBSXBCLFdBQVc7c0JBRGxCLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUlsQixZQUFZO3NCQURuQixLQUFLO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vYnNlcnZlcnMnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFVzZSBgW2J1aS1jbGFzcy5ub3QtZW1wdHldYCB0byBzcGVjaWZ5IGEgc3R5bGUgY2xhc3MgYWN0aXZhdGVkIG9ubHkgd2hlbiB0aGUgaG9zdCBlbGVtZW50IGhhcyBET00gY2hpbGRyZW47XG4gKlxuICogdXNlIGBbYnVpLWNsYXNzLmVtcHR5XWAgZm9yIGEgc3R5bGUgY2xhc3MgYWN0aXZhdGVkIHdoZW4gaXQgaGFzIG5vIERPTSBjaGlsZHJlbi5cbiAqXG4gKiBVc2UgYFtidWktY2xhc3Mubm8tdGV4dF1gIHRvIHNwZWNpZnkgYSBzdHlsZSBjbGFzcyBhY3RpdmF0ZWQgb25seSB3aGVuIHRoZSBob3N0IGVsZW1lbnQgaGFzIHRleHQgY29udGVudDtcbiAqXG4gKiB1c2UgYFtidWktY2xhc3MuaGFzLXRleHRdYCBmb3IgYSBzdHlsZSBjbGFzcyBhY3RpdmF0ZWQgd2hlbiBpdCBoYXMgbm8gdGV4dCBjb250ZW50LlxuICovXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnVpLWNsYXNzLmVtcHR5XSxbYnVpLWNsYXNzLm5vdC1lbXB0eV0sW2J1aS1jbGFzcy5uby10ZXh0XSxbYnVpLWNsYXNzLmhhcy10ZXh0XSdcbn0pXG5leHBvcnQgY2xhc3MgT2JzZXJ2ZUNvbnRlbnRDbGFzc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcblx0cHJpdmF0ZSByZWFkb25seSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblx0cHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBIVE1MRWxlbWVudDtcblx0cHJpdmF0ZSBjbGFzc1RvUmVtb3ZlOiBzdHJpbmdbXSA9IFtdO1xuXG5cdEBJbnB1dCgnYnVpLWNsYXNzLmVtcHR5Jylcblx0cHJpdmF0ZSBjbGFzc0VtcHR5Pzogc3RyaW5nO1xuXG5cdEBJbnB1dCgnYnVpLWNsYXNzLm5vdC1lbXB0eScpXG5cdHByaXZhdGUgY2xhc3NOb3RFbXB0eT86IHN0cmluZztcblxuXHRASW5wdXQoJ2J1aS1jbGFzcy5uby10ZXh0Jylcblx0cHJpdmF0ZSBjbGFzc05vVGV4dD86IHN0cmluZztcblxuXHRASW5wdXQoJ2J1aS1jbGFzcy5oYXMtdGV4dCcpXG5cdHByaXZhdGUgY2xhc3NIYXNUZXh0Pzogc3RyaW5nO1xuXG5cdGNvbnN0cnVjdG9yKG9ic2VydmVyOiBDb250ZW50T2JzZXJ2ZXIsIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG5cdFx0dGhpcy5lbGVtZW50ID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXHRcdHRoaXMuc3Vic2NyaXB0aW9uID0gb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50UmVmKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jaGVja0NsYXNzKCkpO1xuXHR9XG5cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0dGhpcy5jaGVja0NsYXNzLmJpbmQodGhpcyk7XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXHR9XG5cblx0cHJpdmF0ZSBjaGVja0NsYXNzKCk6IHZvaWQge1xuXHRcdHRoaXMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKC4uLnRoaXMuY2xhc3NUb1JlbW92ZSk7XG5cdFx0dGhpcy5jbGFzc1RvUmVtb3ZlID0gW107XG5cdFx0dGhpcy5jaGVja0NsYXNzV2l0aChcblx0XHRcdHRoaXMuY2xhc3NFbXB0eSxcblx0XHRcdHRoaXMuY2xhc3NOb3RFbXB0eSxcblx0XHRcdCgpID0+IHRoaXMuZWxlbWVudC5jaGlsZEVsZW1lbnRDb3VudCA9PT0gMCAmJiAhdGhpcy5lbGVtZW50LnRleHRDb250ZW50Py50cmltKClcblx0XHQpO1xuXHRcdHRoaXMuY2hlY2tDbGFzc1dpdGgodGhpcy5jbGFzc05vVGV4dCwgdGhpcy5jbGFzc0hhc1RleHQsICgpID0+ICF0aGlzLmVsZW1lbnQudGV4dENvbnRlbnQ/LnRyaW0oKSk7XG5cdH1cblxuXHRwcml2YXRlIGNoZWNrQ2xhc3NXaXRoKFxuXHRcdHdpdGhvdXRDbGFzczogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcblx0XHR3aXRoQ2xhc3M6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsXG5cdFx0aXNXaXRob3V0OiAoKSA9PiBib29sZWFuXG5cdCk6IHZvaWQge1xuXHRcdGNvbnN0IHdpdGhvdXQgPSBpc1dpdGhvdXQoKTtcblx0XHR0aGlzLmFkZENsYXNzKHdpdGhvdXQgPyB3aXRob3V0Q2xhc3MgOiAod2l0aENsYXNzIGFzIGFueSkpO1xuXHR9XG5cblx0cHJpdmF0ZSBhZGRDbGFzcyhjbHM6IHN0cmluZyB8IG51bGwpIHtcblx0XHRpZiAoY2xzPy50cmltKCkpIHtcblx0XHRcdGNvbnN0IGNsYXNzZXMgPSBjbHMudHJpbSgpLnNwbGl0KC9cXHMrLyk7XG5cdFx0XHR0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi5jbGFzc2VzKTtcblx0XHRcdHRoaXMuY2xhc3NUb1JlbW92ZS5wdXNoKC4uLmNsYXNzZXMpO1xuXHRcdH1cblx0fVxufVxuIl19
@@ -2,4 +2,5 @@ export * from './sizing.directive';
2
2
  export * from './sizing-monitor.directive';
3
3
  export * from './behavior.module';
4
4
  export * from './await.directive';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2JlaGF2aW9yL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2l6aW5nLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NpemluZy1tb25pdG9yLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2JlaGF2aW9yLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2F3YWl0LmRpcmVjdGl2ZSc7XG4iXX0=
5
+ export * from './observe-content-class.directive';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2JlaGF2aW9yL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaXppbmcuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc2l6aW5nLW1vbml0b3IuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vYmVoYXZpb3IubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vYXdhaXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vb2JzZXJ2ZS1jb250ZW50LWNsYXNzLmRpcmVjdGl2ZSc7XG4iXX0=