@alauda/ui 7.4.1-beta.7 → 7.4.1-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { AnimationEvent } from '@angular/animations';
2
2
  import { CdkPortalOutlet } from '@angular/cdk/portal';
3
- import { ElementRef, InjectionToken, Injector } from '@angular/core';
3
+ import { ChangeDetectorRef, ElementRef, InjectionToken, Injector } from '@angular/core';
4
4
  import { BehaviorSubject, Subject } from 'rxjs';
5
5
  import { DrawerOptions } from '../../types';
6
6
  import * as i0 from "@angular/core";
@@ -9,6 +9,7 @@ export declare const duration = "300ms";
9
9
  type Step = 'showStart' | 'showDone' | 'hideStart' | 'hideDone';
10
10
  export declare class DrawerInternalComponent<T = unknown, C extends object = object> {
11
11
  private readonly injector;
12
+ private readonly cdr;
12
13
  bodyPortalOutlet: CdkPortalOutlet;
13
14
  mask: ElementRef<HTMLDivElement>;
14
15
  animationStep$: Subject<Step>;
@@ -21,10 +22,11 @@ export declare class DrawerInternalComponent<T = unknown, C extends object = obj
21
22
  $implicit: C;
22
23
  } & C;
23
24
  isTemplateRef: (label: any) => label is import("@angular/core").TemplateRef<unknown>;
24
- constructor(injector: Injector);
25
+ constructor(injector: Injector, cdr: ChangeDetectorRef);
25
26
  ngAfterViewInit(): void;
26
27
  private attachBodyContent;
27
28
  onAnimation(event: AnimationEvent): void;
29
+ updateOptions(options: DrawerOptions<T, C>): void;
28
30
  show(): void;
29
31
  hide(): void;
30
32
  maskClick(): void;
@@ -14,7 +14,7 @@ export declare class DrawerService<T = unknown, C extends object = object, R = u
14
14
  open(options: DrawerOptions<T, C>): DrawerRef<T, C, R>;
15
15
  updateOptions(options: DrawerOptions<T, C>): void;
16
16
  private createOverlay;
17
- private createDrawer;
17
+ private updateDrawer;
18
18
  private getOverlayConfig;
19
19
  private dispose;
20
20
  ngOnDestroy(): void;
@@ -20,6 +20,7 @@ const DRAWER_OVERLAY_BACKDROP_CLASS = 'aui-drawer-mask';
20
20
  export const duration = '300ms';
21
21
  export class DrawerInternalComponent {
22
22
  injector;
23
+ cdr;
23
24
  bodyPortalOutlet;
24
25
  mask;
25
26
  animationStep$ = new Subject();
@@ -45,8 +46,9 @@ export class DrawerInternalComponent {
45
46
  };
46
47
  }
47
48
  isTemplateRef = isTemplateRef;
48
- constructor(injector) {
49
+ constructor(injector, cdr) {
49
50
  this.injector = injector;
51
+ this.cdr = cdr;
50
52
  }
51
53
  ngAfterViewInit() {
52
54
  this.attachBodyContent();
@@ -113,6 +115,10 @@ export class DrawerInternalComponent {
113
115
  }
114
116
  }
115
117
  }
118
+ updateOptions(options) {
119
+ this.options = options;
120
+ this.cdr.markForCheck();
121
+ }
116
122
  show() {
117
123
  this.showHide$$.next('show');
118
124
  }
@@ -124,7 +130,7 @@ export class DrawerInternalComponent {
124
130
  this.hide();
125
131
  }
126
132
  }
127
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerInternalComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
133
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerInternalComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
128
134
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: DrawerInternalComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "bodyPortalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true }, { propertyName: "mask", first: true, predicate: ["mask"], descendants: true }], ngImport: i0, template: "<div\n #mask\n class=\"aui-drawer-mask\"\n *ngIf=\"options.mask\"\n [class.isOpen]=\"maskVisible$ | async\"\n (click)=\"maskClick()\"\n></div>\n<div\n [style.marginTop]=\"options.offsetY\"\n [ngClass]=\"drawerClasses\"\n [@showHide]=\"showHide$$ | async\"\n (@showHide.start)=\"onAnimation($event)\"\n (@showHide.done)=\"onAnimation($event)\"\n [style.width]=\"width\"\n>\n <div class=\"aui-drawer__content\">\n <div class=\"aui-drawer__body-wrapper\">\n <div class=\"aui-drawer__header\">\n <div class=\"aui-drawer__title\">\n <ng-container\n *ngIf=\"isTemplateRef(options.title); else normal\"\n [ngTemplateOutlet]=\"options.title\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n <ng-template #normal>\n {{ options.title }}\n </ng-template>\n </div>\n <aui-icon\n *ngIf=\"options.showClose\"\n class=\"aui-drawer__close\"\n icon=\"xmark\"\n (click)=\"hide()\"\n ></aui-icon>\n </div>\n\n <div\n class=\"aui-drawer__body\"\n cdkScrollable\n >\n <ng-template cdkPortalOutlet></ng-template>\n <ng-container\n *ngIf=\"isTemplateRef(options.content)\"\n [ngTemplateOutlet]=\"options.content\"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-container>\n </div>\n\n <div\n *ngIf=\"options.footer\"\n class=\"aui-drawer__footer\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(options.footer); else normal\"\n [ngTemplateOutlet]=\"options.footer\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n <ng-template #normal>\n {{ options.footer }}\n </ng-template>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@keyframes aui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes aui-fade-out{0%{opacity:1}to{opacity:0}}@keyframes aui-zoom-in{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes aui-zoom-out{0%{transform:scale(1)}to{transform:scale(.2);opacity:0}}.aui-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0}:root .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer-mask.isOpen{height:100%}.aui-drawer-mask-enter,.aui-drawer-mask-leave{animation-duration:.3s;animation-fill-mode:both;animation-play-state:paused}.aui-drawer-mask-enter.aui-drawer-mask-enter-active,.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-play-state:running;pointer-events:none}.aui-drawer-mask-enter.aui-drawer-mask-enter-active{animation-name:aui-fade-in}.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-name:aui-fade-out}.aui-drawer-mask-enter{opacity:0;animation-timing-function:linear}.aui-drawer-mask-leave{animation-timing-function:linear}.aui-drawer{position:fixed;top:0;bottom:0;right:0;z-index:9999;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}.aui-drawer__content{background-color:rgb(var(--aui-color-n-10));position:absolute;height:100%;right:0;width:100%}:root .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer__header{padding:20px;display:flex;flex-shrink:0;justify-content:space-between}.aui-drawer__title{flex:1;font-size:var(--aui-font-size-xxl);line-height:var(--aui-line-height-xxl);font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-drawer__close{z-index:10;flex-shrink:0;margin-top:2px;margin-left:var(--aui-spacing-xl);display:flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:var(--aui-icon-size-l);color:rgb(var(--aui-color-secondary-text));border-radius:var(--aui-border-radius-m);cursor:pointer}.aui-drawer__close:hover{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-drawer__close:active{color:rgb(var(--aui-color-p-0));background-color:rgb(var(--aui-color-p-5))}.aui-drawer__body-wrapper{width:100%;height:100%;display:flex;flex-flow:column nowrap;position:relative;z-index:1}.aui-drawer__body{padding:0 20px;overflow:hidden;overflow-y:auto;height:100%}.aui-drawer__footer{padding:20px}.aui-drawer.hasDivider .aui-drawer__header{padding-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-drawer.hasDivider .aui-drawer__body{padding:16px 20px}.aui-drawer.hasDivider .aui-drawer__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-n-8))}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "directive", type: CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], animations: [
129
135
  trigger('showHide', [
130
136
  state('show', style({
@@ -173,11 +179,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
173
179
  ]),
174
180
  ]),
175
181
  ], template: "<div\n #mask\n class=\"aui-drawer-mask\"\n *ngIf=\"options.mask\"\n [class.isOpen]=\"maskVisible$ | async\"\n (click)=\"maskClick()\"\n></div>\n<div\n [style.marginTop]=\"options.offsetY\"\n [ngClass]=\"drawerClasses\"\n [@showHide]=\"showHide$$ | async\"\n (@showHide.start)=\"onAnimation($event)\"\n (@showHide.done)=\"onAnimation($event)\"\n [style.width]=\"width\"\n>\n <div class=\"aui-drawer__content\">\n <div class=\"aui-drawer__body-wrapper\">\n <div class=\"aui-drawer__header\">\n <div class=\"aui-drawer__title\">\n <ng-container\n *ngIf=\"isTemplateRef(options.title); else normal\"\n [ngTemplateOutlet]=\"options.title\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n <ng-template #normal>\n {{ options.title }}\n </ng-template>\n </div>\n <aui-icon\n *ngIf=\"options.showClose\"\n class=\"aui-drawer__close\"\n icon=\"xmark\"\n (click)=\"hide()\"\n ></aui-icon>\n </div>\n\n <div\n class=\"aui-drawer__body\"\n cdkScrollable\n >\n <ng-template cdkPortalOutlet></ng-template>\n <ng-container\n *ngIf=\"isTemplateRef(options.content)\"\n [ngTemplateOutlet]=\"options.content\"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-container>\n </div>\n\n <div\n *ngIf=\"options.footer\"\n class=\"aui-drawer__footer\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(options.footer); else normal\"\n [ngTemplateOutlet]=\"options.footer\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n <ng-template #normal>\n {{ options.footer }}\n </ng-template>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@keyframes aui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes aui-fade-out{0%{opacity:1}to{opacity:0}}@keyframes aui-zoom-in{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes aui-zoom-out{0%{transform:scale(1)}to{transform:scale(.2);opacity:0}}.aui-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0}:root .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer-mask.isOpen{height:100%}.aui-drawer-mask-enter,.aui-drawer-mask-leave{animation-duration:.3s;animation-fill-mode:both;animation-play-state:paused}.aui-drawer-mask-enter.aui-drawer-mask-enter-active,.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-play-state:running;pointer-events:none}.aui-drawer-mask-enter.aui-drawer-mask-enter-active{animation-name:aui-fade-in}.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-name:aui-fade-out}.aui-drawer-mask-enter{opacity:0;animation-timing-function:linear}.aui-drawer-mask-leave{animation-timing-function:linear}.aui-drawer{position:fixed;top:0;bottom:0;right:0;z-index:9999;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}.aui-drawer__content{background-color:rgb(var(--aui-color-n-10));position:absolute;height:100%;right:0;width:100%}:root .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer__header{padding:20px;display:flex;flex-shrink:0;justify-content:space-between}.aui-drawer__title{flex:1;font-size:var(--aui-font-size-xxl);line-height:var(--aui-line-height-xxl);font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-drawer__close{z-index:10;flex-shrink:0;margin-top:2px;margin-left:var(--aui-spacing-xl);display:flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:var(--aui-icon-size-l);color:rgb(var(--aui-color-secondary-text));border-radius:var(--aui-border-radius-m);cursor:pointer}.aui-drawer__close:hover{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-drawer__close:active{color:rgb(var(--aui-color-p-0));background-color:rgb(var(--aui-color-p-5))}.aui-drawer__body-wrapper{width:100%;height:100%;display:flex;flex-flow:column nowrap;position:relative;z-index:1}.aui-drawer__body{padding:0 20px;overflow:hidden;overflow-y:auto;height:100%}.aui-drawer__footer{padding:20px}.aui-drawer.hasDivider .aui-drawer__header{padding-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-drawer.hasDivider .aui-drawer__body{padding:16px 20px}.aui-drawer.hasDivider .aui-drawer__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-n-8))}\n"] }]
176
- }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { bodyPortalOutlet: [{
182
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { bodyPortalOutlet: [{
177
183
  type: ViewChild,
178
184
  args: [CdkPortalOutlet, { static: false }]
179
185
  }], mask: [{
180
186
  type: ViewChild,
181
187
  args: ['mask']
182
188
  }] } });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RyYXdlci9jb21wb25lbnQvaW50ZXJuYWwvaW50ZXJuYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2RyYXdlci9jb21wb25lbnQvaW50ZXJuYWwvaW50ZXJuYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFFUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsZUFBZSxFQUNmLGVBQWUsRUFDZixZQUFZLEdBQ2IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsSUFBSSxFQUNKLE9BQU8sRUFDUCxnQkFBZ0IsR0FDakIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxjQUFjLEVBQ2QsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRSxPQUFPLEVBQWlCLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRXhELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQyxhQUFh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QUUsQ0FBQztpQkFDbkQsQ0FBQzthQUNILENBQUM7U0FDSDs7MkZBRVUsdUJBQXVCO2tCQXpDbkMsU0FBUztvQ0FHTyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixZQUFZO3dCQUNaLFNBQVM7cUJBQ1YsY0FDVzt3QkFDVixPQUFPLENBQUMsVUFBVSxFQUFFOzRCQUNsQixLQUFLLENBQ0gsTUFBTSxFQUNOLEtBQUssQ0FBQztnQ0FDSixPQUFPLEVBQUUsQ0FBQztnQ0FDVixTQUFTLEVBQUUsZUFBZTs2QkFDM0IsQ0FBQyxDQUNIOzRCQUNELEtBQUssQ0FDSCxZQUFZLEVBQ1osS0FBSyxDQUFDO2dDQUNKLE9BQU8sRUFBRSxDQUFDO2dDQUNWLFNBQVMsRUFBRSxrQkFBa0I7NkJBQzlCLENBQUMsQ0FDSDs0QkFDRCxVQUFVLENBQUMsNEJBQTRCLEVBQUU7Z0NBQ3ZDLE9BQU8sQ0FBQyxHQUFHLFFBQVEsSUFBSSxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7NkJBQ2pELENBQUM7NEJBQ0YsVUFBVSxDQUFDLDRCQUE0QixFQUFFO2dDQUN2QyxPQUFPLENBQUMsR0FBRyxRQUFRLElBQUksY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDOzZCQUNuRCxDQUFDO3lCQUNILENBQUM7cUJBQ0g7K0ZBSUQsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJN0MsSUFBSTtzQkFESCxTQUFTO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBBbmltYXRpb25FdmVudCxcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIENka1BvcnRhbE91dGxldCxcbiAgQ29tcG9uZW50UG9ydGFsLFxuICBQb3J0YWxNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ2RrU2Nyb2xsYWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtcbiAgQXN5bmNQaXBlLFxuICBOZ0NsYXNzLFxuICBOZ0lmLFxuICBOZ1N0eWxlLFxuICBOZ1RlbXBsYXRlT3V0bGV0LFxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIEluamVjdG9yLFxuICBUeXBlLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBUaW1pbmdGdW5jdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvcmUvYW5pbWF0aW9uL2FuaW1hdGlvbi1jb25zdHMnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgaGFuZGxlUGl4ZWwsIGlzVGVtcGxhdGVSZWYgfSBmcm9tICcuLi8uLi8uLi9pbnRlcm5hbC91dGlscyc7XG5pbXBvcnQgeyBEcmF3ZXJPcHRpb25zLCBEcmF3ZXJTaXplIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbignZHJhd2VyLWRhdGEnKTtcblxuY29uc3QgU0laRV9NQVBQRVIgPSB7XG4gIFtEcmF3ZXJTaXplLlNtYWxsXTogNDAwLFxuICBbRHJhd2VyU2l6ZS5NZWRpdW1dOiA2MDAsXG4gIFtEcmF3ZXJTaXplLkJpZ106IDgwMCxcbn07XG5jb25zdCBEUkFXRVJfT1ZFUkxBWV9CQUNLRFJPUF9DTEFTUyA9ICdhdWktZHJhd2VyLW1hc2snO1xuXG5leHBvcnQgY29uc3QgZHVyYXRpb24gPSAnMzAwbXMnO1xuXG50eXBlIFN0ZXAgPSAnc2hvd1N0YXJ0JyB8ICdzaG93RG9uZScgfCAnaGlkZVN0YXJ0JyB8ICdoaWRlRG9uZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vaW50ZXJuYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnRlcm5hbC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTmdDbGFzcyxcbiAgICBOZ1N0eWxlLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBDZGtTY3JvbGxhYmxlLFxuICAgIFBvcnRhbE1vZHVsZSxcbiAgICBBc3luY1BpcGUsXG4gIF0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzaG93SGlkZScsIFtcbiAgICAgIHN0YXRlKFxuICAgICAgICAnc2hvdycsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ2hpZGUsIHZvaWQnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgdHJhbnNpdGlvbignaGlkZSA9PiBzaG93LCB2b2lkID0+IHNob3cnLCBbXG4gICAgICAgIGFuaW1hdGUoYCR7ZHVyYXRpb259ICR7VGltaW5nRnVuY3Rpb24uZWFzZU91dH1gKSxcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignc2hvdyA9PiBoaWRlLCBzaG93ID0+IHZvaWQnLCBbXG4gICAgICAgIGFuaW1hdGUoYCR7ZHVyYXRpb259ICR7VGltaW5nRnVuY3Rpb24uZWFzZUluT3V0fWApLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERyYXdlckludGVybmFsQ29tcG9uZW50PFQgPSB1bmtub3duLCBDIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0PiB7XG4gIEBWaWV3Q2hpbGQoQ2RrUG9ydGFsT3V0bGV0LCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgYm9keVBvcnRhbE91dGxldDogQ2RrUG9ydGFsT3V0bGV0O1xuXG4gIEBWaWV3Q2hpbGQoJ21hc2snKVxuICBtYXNrOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBhbmltYXRpb25TdGVwJCA9IG5ldyBTdWJqZWN0PFN0ZXA+KCk7XG5cbiAgb3B0aW9uczogRHJhd2VyT3B0aW9uczxULCBDPjtcbiAgc2hvd0hpZGUkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8J3Nob3cnIHwgJ2hpZGUnPignaGlkZScpO1xuICBtYXNrVmlzaWJsZSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGdldCBkcmF3ZXJDbGFzc2VzKCk6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2F1aS1kcmF3ZXInOiB0cnVlLFxuICAgICAgaGFzRGl2aWRlcjogdGhpcy5vcHRpb25zLmRpdmlkZXIsXG4gICAgICAuLi4odGhpcy5vcHRpb25zLmRyYXdlckNsYXNzXG4gICAgICAgID8geyBbdGhpcy5vcHRpb25zLmRyYXdlckNsYXNzXTogdHJ1ZSB9XG4gICAgICAgIDogbnVsbCksXG4gICAgfTtcbiAgfVxuXG4gIGdldCB3aWR0aCgpIHtcbiAgICByZXR1cm4gaGFuZGxlUGl4ZWwoXG4gICAgICB0aGlzLm9wdGlvbnMud2lkdGggfHwgU0laRV9NQVBQRVJbdGhpcy5vcHRpb25zLnNpemUgfHwgRHJhd2VyU2l6ZS5NZWRpdW1dLFxuICAgICk7XG4gIH1cblxuICBnZXQgY29udGV4dCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJGltcGxpY2l0OiB0aGlzLm9wdGlvbnMuY29udGVudFBhcmFtcyxcbiAgICAgIC4uLnRoaXMub3B0aW9ucy5jb250ZW50UGFyYW1zLFxuICAgIH07XG4gIH1cblxuICBpc1RlbXBsYXRlUmVmID0gaXNUZW1wbGF0ZVJlZjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5hdHRhY2hCb2R5Q29udGVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2hCb2R5Q29udGVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmJvZHlQb3J0YWxPdXRsZXQ/LmRpc3Bvc2UoKTtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5vcHRpb25zLmNvbnRlbnQ7XG4gICAgaWYgKCEoY29udGVudCBpbnN0YW5jZW9mIFR5cGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGNvbXBvbmVudFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWw8VD4oXG4gICAgICBjb250ZW50LFxuICAgICAgbnVsbCxcbiAgICAgIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IERBVEEsXG4gICAgICAgICAgICB1c2VWYWx1ZTogdGhpcy5vcHRpb25zLmNvbnRlbnRQYXJhbXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgfSksXG4gICAgKTtcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPVxuICAgICAgdGhpcy5ib2R5UG9ydGFsT3V0bGV0Py5hdHRhY2hDb21wb25lbnRQb3J0YWwoY29tcG9uZW50UG9ydGFsKTtcbiAgICBPYmplY3QuYXNzaWduKGNvbXBvbmVudFJlZi5pbnN0YW5jZSwgdGhpcy5vcHRpb25zLmNvbnRlbnRQYXJhbXMpO1xuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBvbkFuaW1hdGlvbihldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICBjb25zdCB7IHBoYXNlTmFtZSwgdG9TdGF0ZSB9ID0gZXZlbnQ7XG4gICAgaWYgKCFbJ3Nob3cnLCAnaGlkZSddLmluY2x1ZGVzKHRvU3RhdGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3RlcCA9IFtcbiAgICAgIHRvU3RhdGUsXG4gICAgICBwaGFzZU5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwaGFzZU5hbWUuc2xpY2UoMSksXG4gICAgXS5qb2luKCcnKSBhcyBTdGVwO1xuICAgIHRoaXMuYW5pbWF0aW9uU3RlcCQubmV4dChzdGVwKTtcblxuICAgIGNvbnN0IGJhY2tkcm9wRWxlbWVudCA9IHRoaXMubWFzaz8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoIWJhY2tkcm9wRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVudGVycyA9IFtcbiAgICAgIGAke0RSQVdFUl9PVkVSTEFZX0JBQ0tEUk9QX0NMQVNTfS1lbnRlcmAsXG4gICAgICBgJHtEUkFXRVJfT1ZFUkxBWV9CQUNLRFJPUF9DTEFTU30tZW50ZXItYWN0aXZlYCxcbiAgICBdO1xuICAgIGNvbnN0IGxlYXZlcyA9IFtcbiAgICAgIGAke0RSQVdFUl9PVkVSTEFZX0JBQ0tEUk9QX0NMQVNTfS1sZWF2ZWAsXG4gICAgICBgJHtEUkFXRVJfT1ZFUkxBWV9CQUNLRFJPUF9DTEFTU30tbGVhdmUtYWN0aXZlYCxcbiAgICBdO1xuICAgIHN3aXRjaCAoc3RlcCkge1xuICAgICAgY2FzZSAnc2hvd1N0YXJ0Jzoge1xuICAgICAgICBiYWNrZHJvcEVsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi5lbnRlcnMpO1xuICAgICAgICB0aGlzLm1hc2tWaXNpYmxlJC5uZXh0KHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2hpZGVTdGFydCc6IHtcbiAgICAgICAgYmFja2Ryb3BFbGVtZW50LmNsYXNzTGlzdC5hZGQoLi4ubGVhdmVzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdzaG93RG9uZSc6IHtcbiAgICAgICAgYmFja2Ryb3BFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoLi4uZW50ZXJzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdoaWRlRG9uZSc6IHtcbiAgICAgICAgdGhpcy5tYXNrVmlzaWJsZSQubmV4dChmYWxzZSk7XG4gICAgICAgIGJhY2tkcm9wRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKC4uLmxlYXZlcyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNob3coKSB7XG4gICAgdGhpcy5zaG93SGlkZSQkLm5leHQoJ3Nob3cnKTtcbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5zaG93SGlkZSQkLm5leHQoJ2hpZGUnKTtcbiAgfVxuXG4gIG1hc2tDbGljaygpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLm1hc2tDbG9zYWJsZSkge1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gICNtYXNrXG4gIGNsYXNzPVwiYXVpLWRyYXdlci1tYXNrXCJcbiAgKm5nSWY9XCJvcHRpb25zLm1hc2tcIlxuICBbY2xhc3MuaXNPcGVuXT1cIm1hc2tWaXNpYmxlJCB8IGFzeW5jXCJcbiAgKGNsaWNrKT1cIm1hc2tDbGljaygpXCJcbj48L2Rpdj5cbjxkaXZcbiAgW3N0eWxlLm1hcmdpblRvcF09XCJvcHRpb25zLm9mZnNldFlcIlxuICBbbmdDbGFzc109XCJkcmF3ZXJDbGFzc2VzXCJcbiAgW0BzaG93SGlkZV09XCJzaG93SGlkZSQkIHwgYXN5bmNcIlxuICAoQHNob3dIaWRlLnN0YXJ0KT1cIm9uQW5pbWF0aW9uKCRldmVudClcIlxuICAoQHNob3dIaWRlLmRvbmUpPVwib25BbmltYXRpb24oJGV2ZW50KVwiXG4gIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhdWktZHJhd2VyX19jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImF1aS1kcmF3ZXJfX2JvZHktd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF1aS1kcmF3ZXJfX2hlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXVpLWRyYXdlcl9fdGl0bGVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cImlzVGVtcGxhdGVSZWYob3B0aW9ucy50aXRsZSk7IGVsc2Ugbm9ybWFsXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvbnMudGl0bGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI25vcm1hbD5cbiAgICAgICAgICAgIHt7IG9wdGlvbnMudGl0bGUgfX1cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGF1aS1pY29uXG4gICAgICAgICAgKm5nSWY9XCJvcHRpb25zLnNob3dDbG9zZVwiXG4gICAgICAgICAgY2xhc3M9XCJhdWktZHJhd2VyX19jbG9zZVwiXG4gICAgICAgICAgaWNvbj1cInhtYXJrXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGlkZSgpXCJcbiAgICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImF1aS1kcmF3ZXJfX2JvZHlcIlxuICAgICAgICBjZGtTY3JvbGxhYmxlXG4gICAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBjZGtQb3J0YWxPdXRsZXQ+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihvcHRpb25zLmNvbnRlbnQpXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25zLmNvbnRlbnRcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJjb250ZXh0XCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwib3B0aW9ucy5mb290ZXJcIlxuICAgICAgICBjbGFzcz1cImF1aS1kcmF3ZXJfX2Zvb3RlclwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdJZj1cImlzVGVtcGxhdGVSZWYob3B0aW9ucy5mb290ZXIpOyBlbHNlIG5vcm1hbFwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9ucy5mb290ZXJcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJjb250ZXh0XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI25vcm1hbD5cbiAgICAgICAgICB7eyBvcHRpb25zLmZvb3RlciB9fVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RyYXdlci9jb21wb25lbnQvaW50ZXJuYWwvaW50ZXJuYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2RyYXdlci9jb21wb25lbnQvaW50ZXJuYWwvaW50ZXJuYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFFUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsZUFBZSxFQUNmLGVBQWUsRUFDZixZQUFZLEdBQ2IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsSUFBSSxFQUNKLE9BQU8sRUFDUCxnQkFBZ0IsR0FDakIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxjQUFjLEVBQ2QsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRSxPQUFPLEVBQWlCLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRXhELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQyxhQUFh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QUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBBbmltYXRpb25FdmVudCxcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIENka1BvcnRhbE91dGxldCxcbiAgQ29tcG9uZW50UG9ydGFsLFxuICBQb3J0YWxNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ2RrU2Nyb2xsYWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtcbiAgQXN5bmNQaXBlLFxuICBOZ0NsYXNzLFxuICBOZ0lmLFxuICBOZ1N0eWxlLFxuICBOZ1RlbXBsYXRlT3V0bGV0LFxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGlvblRva2VuLFxuICBJbmplY3RvcixcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVGltaW5nRnVuY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb3JlL2FuaW1hdGlvbi9hbmltYXRpb24tY29uc3RzJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IGhhbmRsZVBpeGVsLCBpc1RlbXBsYXRlUmVmIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJuYWwvdXRpbHMnO1xuaW1wb3J0IHsgRHJhd2VyT3B0aW9ucywgRHJhd2VyU2l6ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IERBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ2RyYXdlci1kYXRhJyk7XG5cbmNvbnN0IFNJWkVfTUFQUEVSID0ge1xuICBbRHJhd2VyU2l6ZS5TbWFsbF06IDQwMCxcbiAgW0RyYXdlclNpemUuTWVkaXVtXTogNjAwLFxuICBbRHJhd2VyU2l6ZS5CaWddOiA4MDAsXG59O1xuY29uc3QgRFJBV0VSX09WRVJMQVlfQkFDS0RST1BfQ0xBU1MgPSAnYXVpLWRyYXdlci1tYXNrJztcblxuZXhwb3J0IGNvbnN0IGR1cmF0aW9uID0gJzMwMG1zJztcblxudHlwZSBTdGVwID0gJ3Nob3dTdGFydCcgfCAnc2hvd0RvbmUnIHwgJ2hpZGVTdGFydCcgfCAnaGlkZURvbmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2ludGVybmFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW50ZXJuYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIE5nQ2xhc3MsXG4gICAgTmdTdHlsZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgQ2RrU2Nyb2xsYWJsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignc2hvd0hpZGUnLCBbXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ3Nob3cnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdoaWRlLCB2b2lkJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICAgIHRyYW5zaXRpb24oJ2hpZGUgPT4gc2hvdywgdm9pZCA9PiBzaG93JywgW1xuICAgICAgICBhbmltYXRlKGAke2R1cmF0aW9ufSAke1RpbWluZ0Z1bmN0aW9uLmVhc2VPdXR9YCksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJ3Nob3cgPT4gaGlkZSwgc2hvdyA9PiB2b2lkJywgW1xuICAgICAgICBhbmltYXRlKGAke2R1cmF0aW9ufSAke1RpbWluZ0Z1bmN0aW9uLmVhc2VJbk91dH1gKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEcmF3ZXJJbnRlcm5hbENvbXBvbmVudDxUID0gdW5rbm93biwgQyBleHRlbmRzIG9iamVjdCA9IG9iamVjdD4ge1xuICBAVmlld0NoaWxkKENka1BvcnRhbE91dGxldCwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGJvZHlQb3J0YWxPdXRsZXQ6IENka1BvcnRhbE91dGxldDtcblxuICBAVmlld0NoaWxkKCdtYXNrJylcbiAgbWFzazogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgYW5pbWF0aW9uU3RlcCQgPSBuZXcgU3ViamVjdDxTdGVwPigpO1xuXG4gIG9wdGlvbnM6IERyYXdlck9wdGlvbnM8VCwgQz47XG4gIHNob3dIaWRlJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PCdzaG93JyB8ICdoaWRlJz4oJ2hpZGUnKTtcbiAgbWFza1Zpc2libGUkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBnZXQgZHJhd2VyQ2xhc3NlcygpOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdhdWktZHJhd2VyJzogdHJ1ZSxcbiAgICAgIGhhc0RpdmlkZXI6IHRoaXMub3B0aW9ucy5kaXZpZGVyLFxuICAgICAgLi4uKHRoaXMub3B0aW9ucy5kcmF3ZXJDbGFzc1xuICAgICAgICA/IHsgW3RoaXMub3B0aW9ucy5kcmF3ZXJDbGFzc106IHRydWUgfVxuICAgICAgICA6IG51bGwpLFxuICAgIH07XG4gIH1cblxuICBnZXQgd2lkdGgoKSB7XG4gICAgcmV0dXJuIGhhbmRsZVBpeGVsKFxuICAgICAgdGhpcy5vcHRpb25zLndpZHRoIHx8IFNJWkVfTUFQUEVSW3RoaXMub3B0aW9ucy5zaXplIHx8IERyYXdlclNpemUuTWVkaXVtXSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICRpbXBsaWNpdDogdGhpcy5vcHRpb25zLmNvbnRlbnRQYXJhbXMsXG4gICAgICAuLi50aGlzLm9wdGlvbnMuY29udGVudFBhcmFtcyxcbiAgICB9O1xuICB9XG5cbiAgaXNUZW1wbGF0ZVJlZiA9IGlzVGVtcGxhdGVSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuYXR0YWNoQm9keUNvbnRlbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoQm9keUNvbnRlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5ib2R5UG9ydGFsT3V0bGV0Py5kaXNwb3NlKCk7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMub3B0aW9ucy5jb250ZW50O1xuICAgIGlmICghKGNvbnRlbnQgaW5zdGFuY2VvZiBUeXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjb21wb25lbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPFQ+KFxuICAgICAgY29udGVudCxcbiAgICAgIG51bGwsXG4gICAgICBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBEQVRBLFxuICAgICAgICAgICAgdXNlVmFsdWU6IHRoaXMub3B0aW9ucy5jb250ZW50UGFyYW1zLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgIH0pLFxuICAgICk7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID1cbiAgICAgIHRoaXMuYm9keVBvcnRhbE91dGxldD8uYXR0YWNoQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudFBvcnRhbCk7XG4gICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIHRoaXMub3B0aW9ucy5jb250ZW50UGFyYW1zKTtcbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb25BbmltYXRpb24oZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgY29uc3QgeyBwaGFzZU5hbWUsIHRvU3RhdGUgfSA9IGV2ZW50O1xuICAgIGlmICghWydzaG93JywgJ2hpZGUnXS5pbmNsdWRlcyh0b1N0YXRlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN0ZXAgPSBbXG4gICAgICB0b1N0YXRlLFxuICAgICAgcGhhc2VOYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgcGhhc2VOYW1lLnNsaWNlKDEpLFxuICAgIF0uam9pbignJykgYXMgU3RlcDtcbiAgICB0aGlzLmFuaW1hdGlvblN0ZXAkLm5leHQoc3RlcCk7XG5cbiAgICBjb25zdCBiYWNrZHJvcEVsZW1lbnQgPSB0aGlzLm1hc2s/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFiYWNrZHJvcEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbnRlcnMgPSBbXG4gICAgICBgJHtEUkFXRVJfT1ZFUkxBWV9CQUNLRFJPUF9DTEFTU30tZW50ZXJgLFxuICAgICAgYCR7RFJBV0VSX09WRVJMQVlfQkFDS0RST1BfQ0xBU1N9LWVudGVyLWFjdGl2ZWAsXG4gICAgXTtcbiAgICBjb25zdCBsZWF2ZXMgPSBbXG4gICAgICBgJHtEUkFXRVJfT1ZFUkxBWV9CQUNLRFJPUF9DTEFTU30tbGVhdmVgLFxuICAgICAgYCR7RFJBV0VSX09WRVJMQVlfQkFDS0RST1BfQ0xBU1N9LWxlYXZlLWFjdGl2ZWAsXG4gICAgXTtcbiAgICBzd2l0Y2ggKHN0ZXApIHtcbiAgICAgIGNhc2UgJ3Nob3dTdGFydCc6IHtcbiAgICAgICAgYmFja2Ryb3BFbGVtZW50LmNsYXNzTGlzdC5hZGQoLi4uZW50ZXJzKTtcbiAgICAgICAgdGhpcy5tYXNrVmlzaWJsZSQubmV4dCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdoaWRlU3RhcnQnOiB7XG4gICAgICAgIGJhY2tkcm9wRWxlbWVudC5jbGFzc0xpc3QuYWRkKC4uLmxlYXZlcyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnc2hvd0RvbmUnOiB7XG4gICAgICAgIGJhY2tkcm9wRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKC4uLmVudGVycyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnaGlkZURvbmUnOiB7XG4gICAgICAgIHRoaXMubWFza1Zpc2libGUkLm5leHQoZmFsc2UpO1xuICAgICAgICBiYWNrZHJvcEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSguLi5sZWF2ZXMpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1cGRhdGVPcHRpb25zKG9wdGlvbnM6IERyYXdlck9wdGlvbnM8VCwgQz4pIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgc2hvdygpIHtcbiAgICB0aGlzLnNob3dIaWRlJCQubmV4dCgnc2hvdycpO1xuICB9XG5cbiAgaGlkZSgpIHtcbiAgICB0aGlzLnNob3dIaWRlJCQubmV4dCgnaGlkZScpO1xuICB9XG5cbiAgbWFza0NsaWNrKCkge1xuICAgIGlmICh0aGlzLm9wdGlvbnMubWFza0Nsb3NhYmxlKSB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgI21hc2tcbiAgY2xhc3M9XCJhdWktZHJhd2VyLW1hc2tcIlxuICAqbmdJZj1cIm9wdGlvbnMubWFza1wiXG4gIFtjbGFzcy5pc09wZW5dPVwibWFza1Zpc2libGUkIHwgYXN5bmNcIlxuICAoY2xpY2spPVwibWFza0NsaWNrKClcIlxuPjwvZGl2PlxuPGRpdlxuICBbc3R5bGUubWFyZ2luVG9wXT1cIm9wdGlvbnMub2Zmc2V0WVwiXG4gIFtuZ0NsYXNzXT1cImRyYXdlckNsYXNzZXNcIlxuICBbQHNob3dIaWRlXT1cInNob3dIaWRlJCQgfCBhc3luY1wiXG4gIChAc2hvd0hpZGUuc3RhcnQpPVwib25BbmltYXRpb24oJGV2ZW50KVwiXG4gIChAc2hvd0hpZGUuZG9uZSk9XCJvbkFuaW1hdGlvbigkZXZlbnQpXCJcbiAgW3N0eWxlLndpZHRoXT1cIndpZHRoXCJcbj5cbiAgPGRpdiBjbGFzcz1cImF1aS1kcmF3ZXJfX2NvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXVpLWRyYXdlcl9fYm9keS13cmFwcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXVpLWRyYXdlcl9faGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhdWktZHJhd2VyX190aXRsZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihvcHRpb25zLnRpdGxlKTsgZWxzZSBub3JtYWxcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9ucy50aXRsZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9ybWFsPlxuICAgICAgICAgICAge3sgb3B0aW9ucy50aXRsZSB9fVxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICAqbmdJZj1cIm9wdGlvbnMuc2hvd0Nsb3NlXCJcbiAgICAgICAgICBjbGFzcz1cImF1aS1kcmF3ZXJfX2Nsb3NlXCJcbiAgICAgICAgICBpY29uPVwieG1hcmtcIlxuICAgICAgICAgIChjbGljayk9XCJoaWRlKClcIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYXVpLWRyYXdlcl9fYm9keVwiXG4gICAgICAgIGNka1Njcm9sbGFibGVcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGNka1BvcnRhbE91dGxldD48L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKG9wdGlvbnMuY29udGVudClcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvbnMuY29udGVudFwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJvcHRpb25zLmZvb3RlclwiXG4gICAgICAgIGNsYXNzPVwiYXVpLWRyYXdlcl9fZm9vdGVyXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihvcHRpb25zLmZvb3Rlcik7IGVsc2Ugbm9ybWFsXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25zLmZvb3RlclwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9ybWFsPlxuICAgICAgICAgIHt7IG9wdGlvbnMuZm9vdGVyIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -29,7 +29,7 @@ export class DrawerService {
29
29
  open(options) {
30
30
  this.updateOptions(options);
31
31
  this.createOverlay();
32
- this.createDrawer();
32
+ this.updateDrawer();
33
33
  this.drawerRef = new DrawerRef(this.drawerInternalComponentRef.instance);
34
34
  this.drawerRef.open();
35
35
  return this.drawerRef;
@@ -63,12 +63,13 @@ export class DrawerService {
63
63
  });
64
64
  }
65
65
  }
66
- createDrawer() {
66
+ updateDrawer() {
67
+ const drawerInternalComponentRef = this.drawerInternalComponentRef ||
68
+ this.overlayRef.attach(new ComponentPortal((DrawerInternalComponent)));
69
+ drawerInternalComponentRef.instance.updateOptions(this.options);
67
70
  if (this.drawerInternalComponentRef) {
68
71
  return;
69
72
  }
70
- const drawerInternalComponentRef = this.overlayRef.attach(new ComponentPortal((DrawerInternalComponent)));
71
- drawerInternalComponentRef.instance.options = this.options;
72
73
  drawerInternalComponentRef.instance.animationStep$.subscribe(step => {
73
74
  if (step === 'hideDone') {
74
75
  this.invisible$.next();
@@ -116,4 +117,4 @@ function merge(target, source) {
116
117
  ...target,
117
118
  });
118
119
  }
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZHJhd2VyL2RyYXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQWlCLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBRXBELE1BQU0sb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7QUFDbEQsTUFBTSxlQUFlLEdBQUc7SUFDdEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNO0lBQ3ZCLE9BQU8sRUFBRSxHQUFHO0lBQ1osU0FBUyxFQUFFLElBQUk7SUFDZixrQkFBa0IsRUFBRSxLQUFLO0lBQ3pCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLElBQUk7Q0FDVyxDQUFDO0FBR25DLE1BQU0sT0FBTyxhQUFhO0lBYUs7SUFSckIsVUFBVSxDQUFhO0lBQy9CLE9BQU8sQ0FBc0I7SUFDN0IsU0FBUyxDQUFxQjtJQUM5QixVQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUN6QiwwQkFBMEIsQ0FFaEM7SUFFRixZQUE2QixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO0lBQUcsQ0FBQztJQUVqRCxJQUFJLENBQUMsT0FBNEI7UUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FB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RTtRQUNaLE1BQU0sR0FBRyxHQUFHLElBQWUsQ0FBQztRQUM1QixJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDN0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUNEO1FBQ0UsR0FBRyxNQUFNO0tBQ1YsQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIGZyb21FdmVudCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IERyYXdlckludGVybmFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvaW50ZXJuYWwvaW50ZXJuYWwuY29tcG9uZW50JztcbmltcG9ydCB7IERyYXdlclJlZiB9IGZyb20gJy4vZHJhd2VyLXJlZic7XG5pbXBvcnQgeyBEcmF3ZXJPcHRpb25zLCBEcmF3ZXJTaXplIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IERSQVdFUl9PVkVSTEFZX0NMQVNTID0gJ2F1aS1kcmF3ZXItb3ZlcmxheSc7XG5jb25zdCBERUZBVUxUX09QVElPTlMgPSB7XG4gIHNpemU6IERyYXdlclNpemUuTWVkaXVtLFxuICBvZmZzZXRZOiAnMCcsXG4gIHNob3dDbG9zZTogdHJ1ZSxcbiAgaGlkZU9uQ2xpY2tPdXRzaWRlOiBmYWxzZSxcbiAgZGl2aWRlcjogdHJ1ZSxcbiAgZGlzcG9zZVdoZW5IaWRlOiB0cnVlLFxufSBhcyBjb25zdCBzYXRpc2ZpZXMgRHJhd2VyT3B0aW9ucztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERyYXdlclNlcnZpY2U8XG4gIFQgPSB1bmtub3duLFxuICBDIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0LFxuICBSID0gdW5rbm93bixcbj4ge1xuICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gIG9wdGlvbnM6IERyYXdlck9wdGlvbnM8VCwgQz47XG4gIGRyYXdlclJlZjogRHJhd2VyUmVmPFQsIEMsIFI+O1xuICBpbnZpc2libGUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBkcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFxuICAgIERyYXdlckludGVybmFsQ29tcG9uZW50PFQsIEM+XG4gID47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBvdmVybGF5OiBPdmVybGF5KSB7fVxuXG4gIG9wZW4ob3B0aW9uczogRHJhd2VyT3B0aW9uczxULCBDPikge1xuICAgIHRoaXMudXBkYXRlT3B0aW9ucyhvcHRpb25zKTtcbiAgICB0aGlzLmNyZWF0ZU92ZXJsYXkoKTtcbiAgICB0aGlzLmNyZWF0ZURyYXdlcigpO1xuICAgIHRoaXMuZHJhd2VyUmVmID0gbmV3IERyYXdlclJlZjxULCBDLCBSPihcbiAgICAgIHRoaXMuZHJhd2VySW50ZXJuYWxDb21wb25lbnRSZWYuaW5zdGFuY2UsXG4gICAgKTtcbiAgICB0aGlzLmRyYXdlclJlZi5vcGVuKCk7XG5cbiAgICByZXR1cm4gdGhpcy5kcmF3ZXJSZWY7XG4gIH1cblxuICB1cGRhdGVPcHRpb25zKG9wdGlvbnM6IERyYXdlck9wdGlvbnM8VCwgQz4pOiB2b2lkIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBtZXJnZTxEcmF3ZXJPcHRpb25zPFQsIEM+PihERUZBVUxUX09QVElPTlMsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5KCkge1xuICAgIGlmICghdGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHRoaXMuZ2V0T3ZlcmxheUNvbmZpZygpKTtcbiAgICB9XG5cbiAgICB0aGlzLm92ZXJsYXlSZWZcbiAgICAgIC5vdXRzaWRlUG9pbnRlckV2ZW50cygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5pbnZpc2libGUkKSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAvLyDliKTmlq3pvKDmoIfngrnlh7vkuovku7bnmoQgdGFyZ2V0IOaYr+WQpuS4uiBvdmVybGF5LWNvbnRhaW5lciDnmoTlrZDoioLngrnvvIzlpoLmnpzmmK/vvIzliJnkuI3lhbPpl60gZHJhd2Vy44CCXG4gICAgICAgIC8vIOS4uuS6humBv+WFjeeCueWHuyBkcmF3ZXIg6YeM55qEIHRvb2x0aXAg5ZCOIGRyYXdlciDooqvlhbPpl63jgIJcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMub3ZlcmxheVJlZiAmJlxuICAgICAgICAgIHRoaXMub3B0aW9ucy5oaWRlT25DbGlja091dHNpZGUgJiZcbiAgICAgICAgICBldmVudC50YXJnZXQgaW5zdGFuY2VvZiBOb2RlICYmXG4gICAgICAgICAgIXRoaXMub3ZlcmxheVJlZi5ob3N0RWxlbWVudD8ucGFyZW50Tm9kZT8uY29udGFpbnMoZXZlbnQudGFyZ2V0KVxuICAgICAgICApIHtcbiAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIHRoaXMuZHJhd2VyUmVmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5vdmVybGF5UmVmLmdldENvbmZpZygpLnNjcm9sbFN0cmF0ZWd5LmVuYWJsZSgpO1xuICAgIGlmICh0aGlzLm9wdGlvbnMubWFzaykge1xuICAgICAgLy8gSXNzdWVzOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2lzc3Vlcy8xMDg0MVxuICAgICAgLy8gc2Nyb2xsU3RyYXRlZ3kg5Li6IEJsb2NrIOaXtu+8jOiLpeWIm+W7uiBPdmVybGF5IOaXtu+8jOmrmOW6puS4jei2s+S7peWHuueOsOa7muWKqO+8jOWImSBzY3JvbGxTdHJhdGVneSDkuI3kvJrnlJ/mlYhcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgICAoKSA9PiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0ID4gd2luZG93LmlubmVySGVpZ2h0LFxuICAgICAgICAgICksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuaW52aXNpYmxlJCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmdldENvbmZpZygpLnNjcm9sbFN0cmF0ZWd5LmVuYWJsZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURyYXdlcigpIHtcbiAgICBpZiAodGhpcy5kcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBkcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZiA9IHRoaXMub3ZlcmxheVJlZi5hdHRhY2goXG4gICAgICBuZXcgQ29tcG9uZW50UG9ydGFsKERyYXdlckludGVybmFsQ29tcG9uZW50PFQsIEM+KSxcbiAgICApO1xuICAgIGRyYXdlckludGVybmFsQ29tcG9uZW50UmVmLmluc3RhbmNlLm9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgZHJhd2VySW50ZXJuYWxDb21wb25lbnRSZWYuaW5zdGFuY2UuYW5pbWF0aW9uU3RlcCQuc3Vic2NyaWJlKHN0ZXAgPT4ge1xuICAgICAgaWYgKHN0ZXAgPT09ICdoaWRlRG9uZScpIHtcbiAgICAgICAgdGhpcy5pbnZpc2libGUkLm5leHQoKTtcbiAgICAgICAgdGhpcy5vcHRpb25zLmRpc3Bvc2VXaGVuSGlkZSAmJiB0aGlzLmRpc3Bvc2UoKTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmPy5nZXRDb25maWcoKS5zY3JvbGxTdHJhdGVneS5kaXNhYmxlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5kcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZiA9IGRyYXdlckludGVybmFsQ29tcG9uZW50UmVmO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdmVybGF5Q29uZmlnKCk6IE92ZXJsYXlDb25maWcge1xuICAgIHJldHVybiBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBwYW5lbENsYXNzOiBEUkFXRVJfT1ZFUkxBWV9DTEFTUyxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3B0aW9ucy5tYXNrXG4gICAgICAgID8gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKVxuICAgICAgICA6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLm5vb3AoKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzcG9zZSgpIHtcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZ2V0Q29uZmlnKCkuc2Nyb2xsU3RyYXRlZ3kuZGlzYWJsZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IG51bGw7XG4gICAgfVxuICAgIHRoaXMuZHJhd2VySW50ZXJuYWxDb21wb25lbnRSZWYgPSBudWxsO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5pbnZpc2libGUkLm5leHQoKTtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtZXJnZTxUIGV4dGVuZHMgb2JqZWN0Pih0YXJnZXQ6IFQsIHNvdXJjZTogVCkge1xuICByZXR1cm4gT2JqZWN0LmtleXMoc291cmNlKS5yZWR1Y2UoXG4gICAgKGFjYywgX2tleSkgPT4ge1xuICAgICAgY29uc3Qga2V5ID0gX2tleSBhcyBrZXlvZiBUO1xuICAgICAgaWYgKHNvdXJjZVtrZXldICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYWNjW2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSxcbiAgICB7XG4gICAgICAuLi50YXJnZXQsXG4gICAgfSxcbiAgKTtcbn1cbiJdfQ==
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZHJhd2VyL2RyYXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQWlCLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBRXBELE1BQU0sb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7QUFDbEQsTUFBTSxlQUFlLEdBQUc7SUFDdEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNO0lBQ3ZCLE9BQU8sRUFBRSxHQUFHO0lBQ1osU0FBUyxFQUFFLElBQUk7SUFDZixrQkFBa0IsRUFBRSxLQUFLO0lBQ3pCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLElBQUk7Q0FDVyxDQUFDO0FBR25DLE1BQU0sT0FBTyxhQUFhO0lBYUs7SUFSckIsVUFBVSxDQUFhO0lBQy9CLE9BQU8sQ0FBc0I7SUFDN0IsU0FBUyxDQUFxQjtJQUM5QixVQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUN6QiwwQkFBMEIsQ0FFaEM7SUFFRixZQUE2QixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO0lBQUcsQ0FBQztJQUVqRCxJQUFJLENBQUMsT0FBNEI7UUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FB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LENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ1osTUFBTSxHQUFHLEdBQUcsSUFBZSxDQUFDO1FBQzVCLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUM3QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3hCO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQ0Q7UUFDRSxHQUFHLE1BQU07S0FDVixDQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgZnJvbUV2ZW50LCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRHJhd2VySW50ZXJuYWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9pbnRlcm5hbC9pbnRlcm5hbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJhd2VyUmVmIH0gZnJvbSAnLi9kcmF3ZXItcmVmJztcbmltcG9ydCB7IERyYXdlck9wdGlvbnMsIERyYXdlclNpemUgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgRFJBV0VSX09WRVJMQVlfQ0xBU1MgPSAnYXVpLWRyYXdlci1vdmVybGF5JztcbmNvbnN0IERFRkFVTFRfT1BUSU9OUyA9IHtcbiAgc2l6ZTogRHJhd2VyU2l6ZS5NZWRpdW0sXG4gIG9mZnNldFk6ICcwJyxcbiAgc2hvd0Nsb3NlOiB0cnVlLFxuICBoaWRlT25DbGlja091dHNpZGU6IGZhbHNlLFxuICBkaXZpZGVyOiB0cnVlLFxuICBkaXNwb3NlV2hlbkhpZGU6IHRydWUsXG59IGFzIGNvbnN0IHNhdGlzZmllcyBEcmF3ZXJPcHRpb25zO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRHJhd2VyU2VydmljZTxcbiAgVCA9IHVua25vd24sXG4gIEMgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3QsXG4gIFIgPSB1bmtub3duLFxuPiB7XG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgb3B0aW9uczogRHJhd2VyT3B0aW9uczxULCBDPjtcbiAgZHJhd2VyUmVmOiBEcmF3ZXJSZWY8VCwgQywgUj47XG4gIGludmlzaWJsZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIGRyYXdlckludGVybmFsQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8XG4gICAgRHJhd2VySW50ZXJuYWxDb21wb25lbnQ8VCwgQz5cbiAgPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXk6IE92ZXJsYXkpIHt9XG5cbiAgb3BlbihvcHRpb25zOiBEcmF3ZXJPcHRpb25zPFQsIEM+KSB7XG4gICAgdGhpcy51cGRhdGVPcHRpb25zKG9wdGlvbnMpO1xuICAgIHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuICAgIHRoaXMudXBkYXRlRHJhd2VyKCk7XG4gICAgdGhpcy5kcmF3ZXJSZWYgPSBuZXcgRHJhd2VyUmVmPFQsIEMsIFI+KFxuICAgICAgdGhpcy5kcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZi5pbnN0YW5jZSxcbiAgICApO1xuICAgIHRoaXMuZHJhd2VyUmVmLm9wZW4oKTtcblxuICAgIHJldHVybiB0aGlzLmRyYXdlclJlZjtcbiAgfVxuXG4gIHVwZGF0ZU9wdGlvbnMob3B0aW9uczogRHJhd2VyT3B0aW9uczxULCBDPik6IHZvaWQge1xuICAgIHRoaXMub3B0aW9ucyA9IG1lcmdlPERyYXdlck9wdGlvbnM8VCwgQz4+KERFRkFVTFRfT1BUSU9OUywgb3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkoKSB7XG4gICAgaWYgKCF0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUodGhpcy5nZXRPdmVybGF5Q29uZmlnKCkpO1xuICAgIH1cblxuICAgIHRoaXMub3ZlcmxheVJlZlxuICAgICAgLm91dHNpZGVQb2ludGVyRXZlbnRzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmludmlzaWJsZSQpKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIC8vIOWIpOaWrem8oOagh+eCueWHu+S6i+S7tueahCB0YXJnZXQg5piv5ZCm5Li6IG92ZXJsYXktY29udGFpbmVyIOeahOWtkOiKgueCue+8jOWmguaenOaYr++8jOWImeS4jeWFs+mXrSBkcmF3ZXLjgIJcbiAgICAgICAgLy8g5Li65LqG6YG/5YWN54K55Ye7IGRyYXdlciDph4znmoQgdG9vbHRpcCDlkI4gZHJhd2VyIOiiq+WFs+mXreOAglxuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy5vdmVybGF5UmVmICYmXG4gICAgICAgICAgdGhpcy5vcHRpb25zLmhpZGVPbkNsaWNrT3V0c2lkZSAmJlxuICAgICAgICAgIGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIE5vZGUgJiZcbiAgICAgICAgICAhdGhpcy5vdmVybGF5UmVmLmhvc3RFbGVtZW50Py5wYXJlbnROb2RlPy5jb250YWlucyhldmVudC50YXJnZXQpXG4gICAgICAgICkge1xuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgdGhpcy5kcmF3ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLm92ZXJsYXlSZWYuZ2V0Q29uZmlnKCkuc2Nyb2xsU3RyYXRlZ3kuZW5hYmxlKCk7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5tYXNrKSB7XG4gICAgICAvLyBJc3N1ZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvaXNzdWVzLzEwODQxXG4gICAgICAvLyBzY3JvbGxTdHJhdGVneSDkuLogQmxvY2sg5pe277yM6Iul5Yib5bu6IE92ZXJsYXkg5pe277yM6auY5bqm5LiN6Laz5Lul5Ye6546w5rua5Yqo77yM5YiZIHNjcm9sbFN0cmF0ZWd5IOS4jeS8mueUn+aViFxuICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgICgpID0+IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQgPiB3aW5kb3cuaW5uZXJIZWlnaHQsXG4gICAgICAgICAgKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5pbnZpc2libGUkKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZ2V0Q29uZmlnKCkuc2Nyb2xsU3RyYXRlZ3kuZW5hYmxlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRHJhd2VyKCkge1xuICAgIGNvbnN0IGRyYXdlckludGVybmFsQ29tcG9uZW50UmVmID1cbiAgICAgIHRoaXMuZHJhd2VySW50ZXJuYWxDb21wb25lbnRSZWYgfHxcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2goXG4gICAgICAgIG5ldyBDb21wb25lbnRQb3J0YWwoRHJhd2VySW50ZXJuYWxDb21wb25lbnQ8VCwgQz4pLFxuICAgICAgKTtcbiAgICBkcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZi5pbnN0YW5jZS51cGRhdGVPcHRpb25zKHRoaXMub3B0aW9ucyk7XG5cbiAgICBpZiAodGhpcy5kcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZi5pbnN0YW5jZS5hbmltYXRpb25TdGVwJC5zdWJzY3JpYmUoc3RlcCA9PiB7XG4gICAgICBpZiAoc3RlcCA9PT0gJ2hpZGVEb25lJykge1xuICAgICAgICB0aGlzLmludmlzaWJsZSQubmV4dCgpO1xuICAgICAgICB0aGlzLm9wdGlvbnMuZGlzcG9zZVdoZW5IaWRlICYmIHRoaXMuZGlzcG9zZSgpO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LmdldENvbmZpZygpLnNjcm9sbFN0cmF0ZWd5LmRpc2FibGUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmRyYXdlckludGVybmFsQ29tcG9uZW50UmVmID0gZHJhd2VySW50ZXJuYWxDb21wb25lbnRSZWY7XG4gIH1cblxuICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcoKTogT3ZlcmxheUNvbmZpZyB7XG4gICAgcmV0dXJuIG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIHBhbmVsQ2xhc3M6IERSQVdFUl9PVkVSTEFZX0NMQVNTLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCksXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vcHRpb25zLm1hc2tcbiAgICAgICAgPyB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpXG4gICAgICAgIDogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMubm9vcCgpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwb3NlKCkge1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5nZXRDb25maWcoKS5zY3JvbGxTdHJhdGVneS5kaXNhYmxlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5kcmF3ZXJJbnRlcm5hbENvbXBvbmVudFJlZiA9IG51bGw7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmludmlzaWJsZSQubmV4dCgpO1xuICAgIHRoaXMuZGlzcG9zZSgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1lcmdlPFQgZXh0ZW5kcyBvYmplY3Q+KHRhcmdldDogVCwgc291cmNlOiBUKSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhzb3VyY2UpLnJlZHVjZShcbiAgICAoYWNjLCBfa2V5KSA9PiB7XG4gICAgICBjb25zdCBrZXkgPSBfa2V5IGFzIGtleW9mIFQ7XG4gICAgICBpZiAoc291cmNlW2tleV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBhY2Nba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LFxuICAgIHtcbiAgICAgIC4uLnRhcmdldCxcbiAgICB9LFxuICApO1xufVxuIl19
@@ -6827,6 +6827,7 @@ const DRAWER_OVERLAY_BACKDROP_CLASS = 'aui-drawer-mask';
6827
6827
  const duration = '300ms';
6828
6828
  class DrawerInternalComponent {
6829
6829
  injector;
6830
+ cdr;
6830
6831
  bodyPortalOutlet;
6831
6832
  mask;
6832
6833
  animationStep$ = new Subject();
@@ -6852,8 +6853,9 @@ class DrawerInternalComponent {
6852
6853
  };
6853
6854
  }
6854
6855
  isTemplateRef = isTemplateRef;
6855
- constructor(injector) {
6856
+ constructor(injector, cdr) {
6856
6857
  this.injector = injector;
6858
+ this.cdr = cdr;
6857
6859
  }
6858
6860
  ngAfterViewInit() {
6859
6861
  this.attachBodyContent();
@@ -6920,6 +6922,10 @@ class DrawerInternalComponent {
6920
6922
  }
6921
6923
  }
6922
6924
  }
6925
+ updateOptions(options) {
6926
+ this.options = options;
6927
+ this.cdr.markForCheck();
6928
+ }
6923
6929
  show() {
6924
6930
  this.showHide$$.next('show');
6925
6931
  }
@@ -6931,7 +6937,7 @@ class DrawerInternalComponent {
6931
6937
  this.hide();
6932
6938
  }
6933
6939
  }
6934
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerInternalComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
6940
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DrawerInternalComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
6935
6941
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: DrawerInternalComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "bodyPortalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true }, { propertyName: "mask", first: true, predicate: ["mask"], descendants: true }], ngImport: i0, template: "<div\n #mask\n class=\"aui-drawer-mask\"\n *ngIf=\"options.mask\"\n [class.isOpen]=\"maskVisible$ | async\"\n (click)=\"maskClick()\"\n></div>\n<div\n [style.marginTop]=\"options.offsetY\"\n [ngClass]=\"drawerClasses\"\n [@showHide]=\"showHide$$ | async\"\n (@showHide.start)=\"onAnimation($event)\"\n (@showHide.done)=\"onAnimation($event)\"\n [style.width]=\"width\"\n>\n <div class=\"aui-drawer__content\">\n <div class=\"aui-drawer__body-wrapper\">\n <div class=\"aui-drawer__header\">\n <div class=\"aui-drawer__title\">\n <ng-container\n *ngIf=\"isTemplateRef(options.title); else normal\"\n [ngTemplateOutlet]=\"options.title\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n <ng-template #normal>\n {{ options.title }}\n </ng-template>\n </div>\n <aui-icon\n *ngIf=\"options.showClose\"\n class=\"aui-drawer__close\"\n icon=\"xmark\"\n (click)=\"hide()\"\n ></aui-icon>\n </div>\n\n <div\n class=\"aui-drawer__body\"\n cdkScrollable\n >\n <ng-template cdkPortalOutlet></ng-template>\n <ng-container\n *ngIf=\"isTemplateRef(options.content)\"\n [ngTemplateOutlet]=\"options.content\"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-container>\n </div>\n\n <div\n *ngIf=\"options.footer\"\n class=\"aui-drawer__footer\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(options.footer); else normal\"\n [ngTemplateOutlet]=\"options.footer\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n <ng-template #normal>\n {{ options.footer }}\n </ng-template>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@keyframes aui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes aui-fade-out{0%{opacity:1}to{opacity:0}}@keyframes aui-zoom-in{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes aui-zoom-out{0%{transform:scale(1)}to{transform:scale(.2);opacity:0}}.aui-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0}:root .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer-mask.isOpen{height:100%}.aui-drawer-mask-enter,.aui-drawer-mask-leave{animation-duration:.3s;animation-fill-mode:both;animation-play-state:paused}.aui-drawer-mask-enter.aui-drawer-mask-enter-active,.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-play-state:running;pointer-events:none}.aui-drawer-mask-enter.aui-drawer-mask-enter-active{animation-name:aui-fade-in}.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-name:aui-fade-out}.aui-drawer-mask-enter{opacity:0;animation-timing-function:linear}.aui-drawer-mask-leave{animation-timing-function:linear}.aui-drawer{position:fixed;top:0;bottom:0;right:0;z-index:9999;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}.aui-drawer__content{background-color:rgb(var(--aui-color-n-10));position:absolute;height:100%;right:0;width:100%}:root .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer__header{padding:20px;display:flex;flex-shrink:0;justify-content:space-between}.aui-drawer__title{flex:1;font-size:var(--aui-font-size-xxl);line-height:var(--aui-line-height-xxl);font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-drawer__close{z-index:10;flex-shrink:0;margin-top:2px;margin-left:var(--aui-spacing-xl);display:flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:var(--aui-icon-size-l);color:rgb(var(--aui-color-secondary-text));border-radius:var(--aui-border-radius-m);cursor:pointer}.aui-drawer__close:hover{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-drawer__close:active{color:rgb(var(--aui-color-p-0));background-color:rgb(var(--aui-color-p-5))}.aui-drawer__body-wrapper{width:100%;height:100%;display:flex;flex-flow:column nowrap;position:relative;z-index:1}.aui-drawer__body{padding:0 20px;overflow:hidden;overflow-y:auto;height:100%}.aui-drawer__footer{padding:20px}.aui-drawer.hasDivider .aui-drawer__header{padding-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-drawer.hasDivider .aui-drawer__body{padding:16px 20px}.aui-drawer.hasDivider .aui-drawer__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-n-8))}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "directive", type: CdkScrollable$1, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1$4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], animations: [
6936
6942
  trigger('showHide', [
6937
6943
  state('show', style({
@@ -6980,7 +6986,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
6980
6986
  ]),
6981
6987
  ]),
6982
6988
  ], template: "<div\n #mask\n class=\"aui-drawer-mask\"\n *ngIf=\"options.mask\"\n [class.isOpen]=\"maskVisible$ | async\"\n (click)=\"maskClick()\"\n></div>\n<div\n [style.marginTop]=\"options.offsetY\"\n [ngClass]=\"drawerClasses\"\n [@showHide]=\"showHide$$ | async\"\n (@showHide.start)=\"onAnimation($event)\"\n (@showHide.done)=\"onAnimation($event)\"\n [style.width]=\"width\"\n>\n <div class=\"aui-drawer__content\">\n <div class=\"aui-drawer__body-wrapper\">\n <div class=\"aui-drawer__header\">\n <div class=\"aui-drawer__title\">\n <ng-container\n *ngIf=\"isTemplateRef(options.title); else normal\"\n [ngTemplateOutlet]=\"options.title\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n <ng-template #normal>\n {{ options.title }}\n </ng-template>\n </div>\n <aui-icon\n *ngIf=\"options.showClose\"\n class=\"aui-drawer__close\"\n icon=\"xmark\"\n (click)=\"hide()\"\n ></aui-icon>\n </div>\n\n <div\n class=\"aui-drawer__body\"\n cdkScrollable\n >\n <ng-template cdkPortalOutlet></ng-template>\n <ng-container\n *ngIf=\"isTemplateRef(options.content)\"\n [ngTemplateOutlet]=\"options.content\"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-container>\n </div>\n\n <div\n *ngIf=\"options.footer\"\n class=\"aui-drawer__footer\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(options.footer); else normal\"\n [ngTemplateOutlet]=\"options.footer\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n <ng-template #normal>\n {{ options.footer }}\n </ng-template>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@keyframes aui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes aui-fade-out{0%{opacity:1}to{opacity:0}}@keyframes aui-zoom-in{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes aui-zoom-out{0%{transform:scale(1)}to{transform:scale(.2);opacity:0}}.aui-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0}:root .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer-mask.isOpen{height:100%}.aui-drawer-mask-enter,.aui-drawer-mask-leave{animation-duration:.3s;animation-fill-mode:both;animation-play-state:paused}.aui-drawer-mask-enter.aui-drawer-mask-enter-active,.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-play-state:running;pointer-events:none}.aui-drawer-mask-enter.aui-drawer-mask-enter-active{animation-name:aui-fade-in}.aui-drawer-mask-leave.aui-drawer-mask-leave-active{animation-name:aui-fade-out}.aui-drawer-mask-enter{opacity:0;animation-timing-function:linear}.aui-drawer-mask-leave{animation-timing-function:linear}.aui-drawer{position:fixed;top:0;bottom:0;right:0;z-index:9999;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}.aui-drawer__content{background-color:rgb(var(--aui-color-n-10));position:absolute;height:100%;right:0;width:100%}:root .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer__header{padding:20px;display:flex;flex-shrink:0;justify-content:space-between}.aui-drawer__title{flex:1;font-size:var(--aui-font-size-xxl);line-height:var(--aui-line-height-xxl);font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-drawer__close{z-index:10;flex-shrink:0;margin-top:2px;margin-left:var(--aui-spacing-xl);display:flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:var(--aui-icon-size-l);color:rgb(var(--aui-color-secondary-text));border-radius:var(--aui-border-radius-m);cursor:pointer}.aui-drawer__close:hover{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-drawer__close:active{color:rgb(var(--aui-color-p-0));background-color:rgb(var(--aui-color-p-5))}.aui-drawer__body-wrapper{width:100%;height:100%;display:flex;flex-flow:column nowrap;position:relative;z-index:1}.aui-drawer__body{padding:0 20px;overflow:hidden;overflow-y:auto;height:100%}.aui-drawer__footer{padding:20px}.aui-drawer.hasDivider .aui-drawer__header{padding-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-drawer.hasDivider .aui-drawer__body{padding:16px 20px}.aui-drawer.hasDivider .aui-drawer__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-n-8))}\n"] }]
6983
- }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { bodyPortalOutlet: [{
6989
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { bodyPortalOutlet: [{
6984
6990
  type: ViewChild,
6985
6991
  args: [CdkPortalOutlet, { static: false }]
6986
6992
  }], mask: [{
@@ -7039,7 +7045,7 @@ class DrawerService {
7039
7045
  open(options) {
7040
7046
  this.updateOptions(options);
7041
7047
  this.createOverlay();
7042
- this.createDrawer();
7048
+ this.updateDrawer();
7043
7049
  this.drawerRef = new DrawerRef(this.drawerInternalComponentRef.instance);
7044
7050
  this.drawerRef.open();
7045
7051
  return this.drawerRef;
@@ -7073,12 +7079,13 @@ class DrawerService {
7073
7079
  });
7074
7080
  }
7075
7081
  }
7076
- createDrawer() {
7082
+ updateDrawer() {
7083
+ const drawerInternalComponentRef = this.drawerInternalComponentRef ||
7084
+ this.overlayRef.attach(new ComponentPortal((DrawerInternalComponent)));
7085
+ drawerInternalComponentRef.instance.updateOptions(this.options);
7077
7086
  if (this.drawerInternalComponentRef) {
7078
7087
  return;
7079
7088
  }
7080
- const drawerInternalComponentRef = this.overlayRef.attach(new ComponentPortal((DrawerInternalComponent)));
7081
- drawerInternalComponentRef.instance.options = this.options;
7082
7089
  drawerInternalComponentRef.instance.animationStep$.subscribe(step => {
7083
7090
  if (step === 'hideDone') {
7084
7091
  this.invisible$.next();