@datarailsshared/datarailsshared 1.3.10 → 1.3.13-dev

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 (32) hide show
  1. package/assets/styles/img/spinner.gif +0 -0
  2. package/bundles/datarailsshared-datarailsshared.umd.js +245 -104
  3. package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -1
  4. package/datarailsshared-datarailsshared-1.3.13-dev.tgz +0 -0
  5. package/datarailsshared-datarailsshared.metadata.json +1 -1
  6. package/esm2015/lib/dr-inputs/button/button.component.js +7 -3
  7. package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +23 -8
  8. package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +1 -1
  9. package/esm2015/lib/dr-popover/dr-popover-ref.js +6 -1
  10. package/esm2015/lib/dr-popover/dr-popover.component.js +20 -18
  11. package/esm2015/lib/dr-popover/dr-popover.directive.js +30 -76
  12. package/esm2015/lib/dr-popover/dr-popover.service.js +76 -0
  13. package/esm2015/lib/dr-tabs/dr-tab.component.js +23 -0
  14. package/esm2015/lib/dr-tabs/dr-tabs.component.js +27 -0
  15. package/esm2015/lib/dr-tabs/dr-tabs.module.js +30 -0
  16. package/esm2015/lib/models/popover.js +12 -1
  17. package/esm2015/public-api.js +6 -2
  18. package/fesm2015/datarailsshared-datarailsshared.js +231 -97
  19. package/fesm2015/datarailsshared-datarailsshared.js.map +1 -1
  20. package/lib/dr-inputs/button/button.component.d.ts +2 -1
  21. package/lib/dr-inputs/dr-input/dr-input.component.d.ts +6 -2
  22. package/lib/dr-popover/dr-popover-ref.d.ts +5 -1
  23. package/lib/dr-popover/dr-popover.component.d.ts +7 -4
  24. package/lib/dr-popover/dr-popover.directive.d.ts +9 -15
  25. package/lib/dr-popover/dr-popover.service.d.ts +16 -0
  26. package/lib/dr-tabs/dr-tab.component.d.ts +8 -0
  27. package/lib/dr-tabs/dr-tabs.component.d.ts +10 -0
  28. package/lib/dr-tabs/dr-tabs.module.d.ts +2 -0
  29. package/lib/models/popover.d.ts +21 -0
  30. package/package.json +1 -1
  31. package/public-api.d.ts +5 -1
  32. package/datarailsshared-datarailsshared-1.3.10.tgz +0 -0
@@ -7,14 +7,16 @@ export class DrButtonComponent {
7
7
  this.click = new EventEmitter();
8
8
  }
9
9
  onClick($event) {
10
+ $event.preventDefault();
11
+ $event.stopPropagation();
10
12
  this.click.emit($event);
11
13
  }
12
14
  }
13
15
  DrButtonComponent.decorators = [
14
16
  { type: Component, args: [{
15
17
  selector: 'dr-button',
16
- template: "<button (click)=\"onClick($event)\" [attr.disabled]=\"disabled\" [attr.is-loading]=\"isLoading\" [attr.bold]=\"isBold\"\r\n [attr.icon]=\"icon ? true : false\" [attr.theme]=\"theme\">\r\n <ng-container *ngIf=\"!isLoading\">\r\n <i *ngIf=\"icon\" class=\"dr\" [ngClass]=\"icon\"></i>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n <i *ngIf=\"isLoading\" class=\"dr dr-spinner\"></i>\r\n</button>",
17
- styles: [":host{display:inline-block}:host button[theme]{cursor:pointer;border-radius:16px;padding:5px 16px;font-family:\"Poppins\";font-style:normal;font-weight:400;font-size:14px;line-height:22px;color:#4e566c;border:1px solid #7F7FDD;display:flex;justify-content:space-between;align-items:center;height:32px}:host button[theme] .dr{padding:0;margin-left:5.35px;margin-right:8.64px}:host button[theme] .dr-spinner{animation-name:rotate;animation-iteration-count:infinite;animation-duration:1s}@keyframes rotate{0%{transform:rotate()}to{transform:rotate(360deg)}}:host button[theme][theme~=secondary]{padding:5px 16px;background:#FFFFFF;border-radius:16px;min-width:90px}:host button[theme][theme~=secondary]:hover:not([disabled=\"true\"]){color:#4e566c;transition:.2ms ease-in all;background:#F2F2FB;box-shadow:0 4px 14px #0000001a;border:1px solid #4646CE;border-radius:16px}:host button[theme][theme~=secondary]:active{box-shadow:none;background:#F2F2FB}:host button[theme][theme~=secondary][disabled=true]{background:#F0F1F4;color:#727583;border:none}:host button[theme][theme~=secondary][is-loading=true]{justify-content:center;padding:5px 16px}:host button[theme][theme~=primary]{background:#4646CE;color:#fff;border:none;min-width:90px}:host button[theme][theme~=primary]:hover:not([disabled=\"true\"]){transition:.2ms ease-in all;background:linear-gradient(96.89deg,#25258C 0%,#4646CE 100%);box-shadow:0 4px 14px #0000001a;border-radius:16px;border:none}:host button[theme][theme~=primary]:hover[disabled=false]{border:none}:host button[theme][theme~=primary]:active{background:#25258C}:host button[theme][theme~=primary][disabled=true]{background:#F0F1F4;color:#727583;border:none}:host button[theme][theme~=primary][is-loading=true]{justify-content:center;padding:5px 16px}:host button[theme][theme~=ghost]{background:none;border:none;color:#151b3f;padding:4px 8px}:host button[theme][theme~=ghost] .dr{margin-left:4.5px;margin-right:12.5px}:host button[theme][theme~=ghost]:hover:not([disabled=\"true\"]){color:#4646ce;background:#F2F2FB;border-radius:4px}:host button[theme][theme~=ghost][disabled=true]{color:#727583}:host button[theme][theme~=text-link]{background:none;border:none;color:#0b5af9;text-decoration:underline}:host button[theme][theme~=text-link][disabled=true]{color:#727583}:host button[theme][theme~=primary-icon]{padding:8px;width:28px;height:28px;justify-content:center;color:#fff;background:#4646CE;border:none}:host button[theme][theme~=primary-icon]:hover,:host button[theme][theme~=primary-icon]:active{background:linear-gradient(96.89deg,#131318 0%,#4646CE 100%)}:host button[theme][theme~=primary-icon][disabled=true]{color:#bcbcbc;background:#E5E6EA}:host button[theme][theme~=primary-icon] .dr{margin:0}:host button[theme][theme~=secondary-icon]{background:white;padding:8px;width:28px;height:28px;justify-content:center;color:#4e566c;border:1px solid #7F7FDD}:host button[theme][theme~=secondary-icon]:hover,:host button[theme][theme~=secondary-icon]:active{color:#4646ce;background:#F2F2FB}:host button[theme][theme~=secondary-icon][disabled=true]{color:#bcbcbc;background:#E5E6EA;border:none}:host button[theme][theme~=secondary-icon] .dr{margin:0}:host button[theme][theme~=icon]{background:none;padding:8px;width:28px;height:28px;justify-content:center;color:#4e566c;border:none}:host button[theme][theme~=icon]:hover,:host button[theme][theme~=icon]:active{background:#F0F3FC;color:#4646ce}:host button[theme][theme~=icon][disabled=true]{color:#bcbcbc;border:none}:host button[theme][theme~=icon][disabled=true]:hover,:host button[theme][theme~=icon][disabled=true]:active{background:none}:host button[theme][theme~=icon] .dr{margin:0}:host button[theme][bold=true]{font-weight:600}:host button[theme][icon=true]{padding-left:8px}:host button[theme][icon=false]{justify-content:center}\n"]
18
+ template: "<button (click)=\"onClick($event)\" [disabled]=\"disabled\" [attr.is-loading]=\"isLoading\" [attr.bold]=\"isBold\"\r\n [attr.icon]=\"icon ? true : false\" [attr.theme]=\"theme\">\r\n <ng-container *ngIf=\"!isLoading\">\r\n <i *ngIf=\"icon\" class=\"dr\" [ngClass]=\"icon\" [style.color]=\"iconColor || 'inherit'\"></i>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n <i *ngIf=\"isLoading\" class=\"dr dr-spinner\"></i>\r\n</button>",
19
+ styles: [":host{display:inline-block}:host button[theme]{cursor:pointer;border-radius:16px;padding:5px 16px;font-family:\"Poppins\";font-style:normal;font-weight:400;font-size:14px;line-height:22px;color:#4e566c;border:1px solid #7F7FDD;display:flex;justify-content:space-between;align-items:center;height:32px}:host button[theme] .dr{padding:0;margin-left:5.35px;margin-right:8.64px}:host button[theme] .dr-spinner{animation-name:rotate;animation-iteration-count:infinite;animation-duration:1s}@keyframes rotate{0%{transform:rotate()}to{transform:rotate(360deg)}}:host button[theme][theme~=secondary]{padding:5px 16px;background:#FFFFFF;border-radius:16px;min-width:90px}:host button[theme][theme~=secondary]:hover:not([disabled=\"true\"]){color:#4e566c;transition:.2ms ease-in all;background:#F2F2FB;box-shadow:0 4px 14px #0000001a;border:1px solid #4646CE;border-radius:16px}:host button[theme][theme~=secondary]:active{box-shadow:none;background:#F2F2FB}:host button[theme][theme~=secondary][disabled=true]{background:#F0F1F4;color:#727583;border:none}:host button[theme][theme~=secondary][is-loading=true]{justify-content:center;padding:5px 16px}:host button[theme][theme~=primary]{background:#4646CE;color:#fff;border:none;min-width:90px}:host button[theme][theme~=primary]:hover:not([disabled=\"true\"]){transition:.2ms ease-in all;background:linear-gradient(96.89deg,#25258C 0%,#4646CE 100%);box-shadow:0 4px 14px #0000001a;border-radius:16px;border:none}:host button[theme][theme~=primary]:hover[disabled=false]{border:none}:host button[theme][theme~=primary]:active{background:#25258C}:host button[theme][theme~=primary][disabled=true]{background:#F0F1F4;color:#727583;border:none}:host button[theme][theme~=primary][is-loading=true]{justify-content:center;padding:5px 16px}:host button[theme][theme~=danger]{background:#BF1D30;color:#fff;border:none;min-width:90px}:host button[theme][theme~=danger]:hover:not([disabled=\"true\"]){transition:.2ms ease-in all;background:linear-gradient(96.89deg,#740e1a 0%,#BF1D30 100%);box-shadow:0 4px 14px #0000001a;border-radius:16px;border:none}:host button[theme][theme~=danger]:hover[disabled=false]{border:none}:host button[theme][theme~=danger]:active{background:#740e1a}:host button[theme][theme~=danger][disabled=true]{background:#F0F1F4;color:#727583;border:none}:host button[theme][theme~=danger][is-loading=true]{justify-content:center;padding:5px 16px}:host button[theme][theme~=ghost]{background:none;border:none;color:#151b3f;padding:4px 8px}:host button[theme][theme~=ghost] .dr{margin-left:4.5px;margin-right:12.5px}:host button[theme][theme~=ghost]:hover:not([disabled=\"true\"]){color:#4646ce;background:#F2F2FB;border-radius:4px}:host button[theme][theme~=ghost][disabled=true]{color:#727583}:host button[theme][theme~=text-link]{background:none;border:none;color:#0b5af9;text-decoration:underline}:host button[theme][theme~=text-link][disabled=true]{color:#727583}:host button[theme][theme~=primary-icon]{padding:8px;width:28px;height:28px;justify-content:center;color:#fff;background:#4646CE;border:none}:host button[theme][theme~=primary-icon]:hover,:host button[theme][theme~=primary-icon]:active{background:linear-gradient(96.89deg,#131318 0%,#4646CE 100%)}:host button[theme][theme~=primary-icon][disabled=true]{color:#bcbcbc;background:#E5E6EA}:host button[theme][theme~=primary-icon] .dr{margin:0}:host button[theme][theme~=secondary-icon]{background:white;padding:8px;width:28px;height:28px;justify-content:center;color:#4e566c;border:1px solid #7F7FDD}:host button[theme][theme~=secondary-icon]:hover,:host button[theme][theme~=secondary-icon]:active{color:#4646ce;background:#F2F2FB}:host button[theme][theme~=secondary-icon][disabled=true]{color:#bcbcbc;background:#E5E6EA;border:none}:host button[theme][theme~=secondary-icon] .dr{margin:0}:host button[theme][theme~=icon]{background:none;padding:8px;width:28px;height:28px;justify-content:center;color:#4e566c;border:none}:host button[theme][theme~=icon]:hover,:host button[theme][theme~=icon]:active{background:#F0F3FC;color:#4646ce}:host button[theme][theme~=icon][disabled=true]{color:#bcbcbc;border:none}:host button[theme][theme~=icon][disabled=true]:hover,:host button[theme][theme~=icon][disabled=true]:active{background:none}:host button[theme][theme~=icon] .dr{margin:0}:host button[theme][bold=true]{font-weight:600}:host button[theme][icon=true]{padding-left:8px}:host button[theme][icon=false]{justify-content:center}\n"]
18
20
  },] }
19
21
  ];
20
22
  DrButtonComponent.ctorParameters = () => [];
@@ -25,6 +27,7 @@ DrButtonComponent.propDecorators = {
25
27
  icon: [{ type: Input }],
26
28
  isBold: [{ type: Input }],
27
29
  isLoading: [{ type: Input }],
30
+ iconColor: [{ type: Input }],
28
31
  click: [{ type: Output }]
29
32
  };
30
33
  // Examples:
@@ -32,6 +35,7 @@ DrButtonComponent.propDecorators = {
32
35
  <dr-button [icon]="'dr-icon-arrow-down'">hello</dr-button>
33
36
  <dr-button [icon]="'dr-icon-refresh'" [theme]="'primary-icon'"></dr-button>
34
37
  <dr-button [icon]="'dr-icon-refresh'" [isDisabled]="true" [theme]="'primary-icon'"></dr-button>
38
+ <dr-button [theme]="'secondary'" [icon]="'dr-icon-excel'" [iconColor]="'#03A678'"></dr-button>
35
39
 
36
40
  <dr-button [icon]="'dr-icon-refresh'" [theme]="'secondary-icon'"></dr-button>
37
41
  <dr-button [icon]="'dr-icon-share'" [isDisabled]="true" [theme]="'secondary-icon'"></dr-button>
@@ -45,4 +49,4 @@ DrButtonComponent.propDecorators = {
45
49
  <dr-button [isDisabled]="false" [icon]="'dr-icon-refresh'" [theme]="'ghost'">Ghost</dr-button>
46
50
  <dr-button [isDisabled]="false" [theme]="'text-link'">Text Link</dr-button>
47
51
  */
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU3ZFLE1BQU0sT0FBTyxpQkFBaUI7SUFTNUI7UUFQUyxVQUFLLEdBQWUsU0FBUyxDQUFDO1FBRzlCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUxQixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRVYsT0FBTyxDQUFDLE1BQU07UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7O1lBbEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsdWJBQXNDOzthQUV2Qzs7OztvQkFFRSxLQUFLO29CQUNMLEtBQUs7dUJBQ0wsS0FBSzttQkFDTCxLQUFLO3FCQUNMLEtBQUs7d0JBQ0wsS0FBSztvQkFFTCxNQUFNOztBQU9ULGFBQWE7QUFDYjs7Ozs7Ozs7Ozs7Ozs7OztFQWdCRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbnR5cGUgQnV0dG9uVHlwZSA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3ByaW1hcnktaWNvbicgfFxyXG4gICdzZWNvbmRhcnktaWNvbicgfCAnaWNvbicgfCAnZ2hvc3QnIHwgJ2xpbmstYnRuJyB8ICd0ZXh0LWxpbmsnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkci1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEckJ1dHRvbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuICBASW5wdXQoKSB0aGVtZTogQnV0dG9uVHlwZSA9ICdwcmltYXJ5JztcclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXNCb2xkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSBjbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBwdWJsaWMgb25DbGljaygkZXZlbnQpIHtcclxuICAgIHRoaXMuY2xpY2suZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxufVxyXG4vLyAgRXhhbXBsZXM6XHJcbi8qXHJcbjxkci1idXR0b24gW2ljb25dPVwiJ2RyLWljb24tYXJyb3ctZG93bidcIj5oZWxsbzwvZHItYnV0dG9uPlxyXG48ZHItYnV0dG9uIFtpY29uXT1cIidkci1pY29uLXJlZnJlc2gnXCIgW3RoZW1lXT1cIidwcmltYXJ5LWljb24nXCI+PC9kci1idXR0b24+XHJcbjxkci1idXR0b24gW2ljb25dPVwiJ2RyLWljb24tcmVmcmVzaCdcIiBbaXNEaXNhYmxlZF09XCJ0cnVlXCIgW3RoZW1lXT1cIidwcmltYXJ5LWljb24nXCI+PC9kci1idXR0b24+XHJcblxyXG48ZHItYnV0dG9uIFtpY29uXT1cIidkci1pY29uLXJlZnJlc2gnXCIgW3RoZW1lXT1cIidzZWNvbmRhcnktaWNvbidcIj48L2RyLWJ1dHRvbj5cclxuPGRyLWJ1dHRvbiBbaWNvbl09XCInZHItaWNvbi1zaGFyZSdcIiBbaXNEaXNhYmxlZF09XCJ0cnVlXCIgW3RoZW1lXT1cIidzZWNvbmRhcnktaWNvbidcIj48L2RyLWJ1dHRvbj5cclxuXHJcbjxkci1idXR0b24gW2ljb25dPVwiJ2RyLWljb24tc2hhcmUnXCIgW3RoZW1lXT1cIidpY29uJ1wiPjwvZHItYnV0dG9uPlxyXG48ZHItYnV0dG9uIFtpY29uXT1cIidkci1pY29uLXNoYXJlJ1wiIFtpc0Rpc2FibGVkXT1cInRydWVcIiBbdGhlbWVdPVwiJ2ljb24nXCI+PC9kci1idXR0b24+XHJcblxyXG48ZHItYnV0dG9uIFtpc0Rpc2FibGVkXT1cImZhbHNlXCIgW2ljb25dPVwiJ2RyLWljb24tcmVmcmVzaCdcIj5QcmltYXJ5PC9kci1idXR0b24+XHJcbjxkci1idXR0b24gW2lzRGlzYWJsZWRdPVwiZmFsc2VcIiA+UHJpbWFyeTwvZHItYnV0dG9uPlxyXG48ZHItYnV0dG9uIFtpc0Rpc2FibGVkXT1cImZhbHNlXCIgW2ljb25dPVwiJ2RyLWljb24tcmVmcmVzaCdcIiBbdGhlbWVdPVwiJ3NlY29uZGFyeSdcIj5TZWNvbmRhcnk8L2RyLWJ1dHRvbj5cclxuPGRyLWJ1dHRvbiBbaXNEaXNhYmxlZF09XCJmYWxzZVwiIFtpY29uXT1cIidkci1pY29uLXJlZnJlc2gnXCIgW3RoZW1lXT1cIidnaG9zdCdcIj5HaG9zdDwvZHItYnV0dG9uPlxyXG48ZHItYnV0dG9uIFtpc0Rpc2FibGVkXT1cImZhbHNlXCIgW3RoZW1lXT1cIid0ZXh0LWxpbmsnXCI+VGV4dCBMaW5rPC9kci1idXR0b24+XHJcbiovIl19
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU3ZFLE1BQU0sT0FBTyxpQkFBaUI7SUFVNUI7UUFSUyxVQUFLLEdBQWUsU0FBUyxDQUFDO1FBRzlCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUcxQixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRVYsT0FBTyxDQUFDLE1BQU07UUFDbkIsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixDQUFDOzs7WUFyQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQiwyZEFBc0M7O2FBRXZDOzs7O29CQUVFLEtBQUs7b0JBQ0wsS0FBSzt1QkFDTCxLQUFLO21CQUNMLEtBQUs7cUJBQ0wsS0FBSzt3QkFDTCxLQUFLO3dCQUNMLEtBQUs7b0JBRUwsTUFBTTs7QUFTVCxhQUFhO0FBQ2I7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxudHlwZSBCdXR0b25UeXBlID0gJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnZGFuZ2VyJyB8ICdwcmltYXJ5LWljb24nIHxcclxuICAnc2Vjb25kYXJ5LWljb24nIHwgJ2ljb24nIHwgJ2dob3N0JyB8ICdsaW5rLWJ0bicgfCAndGV4dC1saW5rJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZHItYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJCdXR0b25Db21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGhlbWU6IEJ1dHRvblR5cGUgPSAncHJpbWFyeSc7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlzQm9sZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGljb25Db2xvcjogc3RyaW5nO1xyXG5cclxuICBAT3V0cHV0KCkgY2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgcHVibGljIG9uQ2xpY2soJGV2ZW50KSB7XHJcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuY2xpY2suZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxufVxyXG4vLyAgRXhhbXBsZXM6XHJcbi8qXHJcbjxkci1idXR0b24gW2ljb25dPVwiJ2RyLWljb24tYXJyb3ctZG93bidcIj5oZWxsbzwvZHItYnV0dG9uPlxyXG48ZHItYnV0dG9uIFtpY29uXT1cIidkci1pY29uLXJlZnJlc2gnXCIgW3RoZW1lXT1cIidwcmltYXJ5LWljb24nXCI+PC9kci1idXR0b24+XHJcbjxkci1idXR0b24gW2ljb25dPVwiJ2RyLWljb24tcmVmcmVzaCdcIiBbaXNEaXNhYmxlZF09XCJ0cnVlXCIgW3RoZW1lXT1cIidwcmltYXJ5LWljb24nXCI+PC9kci1idXR0b24+XHJcbjxkci1idXR0b24gW3RoZW1lXT1cIidzZWNvbmRhcnknXCIgW2ljb25dPVwiJ2RyLWljb24tZXhjZWwnXCIgW2ljb25Db2xvcl09XCInIzAzQTY3OCdcIj48L2RyLWJ1dHRvbj5cclxuXHJcbjxkci1idXR0b24gW2ljb25dPVwiJ2RyLWljb24tcmVmcmVzaCdcIiBbdGhlbWVdPVwiJ3NlY29uZGFyeS1pY29uJ1wiPjwvZHItYnV0dG9uPlxyXG48ZHItYnV0dG9uIFtpY29uXT1cIidkci1pY29uLXNoYXJlJ1wiIFtpc0Rpc2FibGVkXT1cInRydWVcIiBbdGhlbWVdPVwiJ3NlY29uZGFyeS1pY29uJ1wiPjwvZHItYnV0dG9uPlxyXG5cclxuPGRyLWJ1dHRvbiBbaWNvbl09XCInZHItaWNvbi1zaGFyZSdcIiBbdGhlbWVdPVwiJ2ljb24nXCI+PC9kci1idXR0b24+XHJcbjxkci1idXR0b24gW2ljb25dPVwiJ2RyLWljb24tc2hhcmUnXCIgW2lzRGlzYWJsZWRdPVwidHJ1ZVwiIFt0aGVtZV09XCInaWNvbidcIj48L2RyLWJ1dHRvbj5cclxuXHJcbjxkci1idXR0b24gW2lzRGlzYWJsZWRdPVwiZmFsc2VcIiBbaWNvbl09XCInZHItaWNvbi1yZWZyZXNoJ1wiPlByaW1hcnk8L2RyLWJ1dHRvbj5cclxuPGRyLWJ1dHRvbiBbaXNEaXNhYmxlZF09XCJmYWxzZVwiID5QcmltYXJ5PC9kci1idXR0b24+XHJcbjxkci1idXR0b24gW2lzRGlzYWJsZWRdPVwiZmFsc2VcIiBbaWNvbl09XCInZHItaWNvbi1yZWZyZXNoJ1wiIFt0aGVtZV09XCInc2Vjb25kYXJ5J1wiPlNlY29uZGFyeTwvZHItYnV0dG9uPlxyXG48ZHItYnV0dG9uIFtpc0Rpc2FibGVkXT1cImZhbHNlXCIgW2ljb25dPVwiJ2RyLWljb24tcmVmcmVzaCdcIiBbdGhlbWVdPVwiJ2dob3N0J1wiPkdob3N0PC9kci1idXR0b24+XHJcbjxkci1idXR0b24gW2lzRGlzYWJsZWRdPVwiZmFsc2VcIiBbdGhlbWVdPVwiJ3RleHQtbGluaydcIj5UZXh0IExpbms8L2RyLWJ1dHRvbj5cclxuKi8iXX0=
@@ -1,5 +1,6 @@
1
1
  import { Component, Input, Output, EventEmitter, ContentChild, ElementRef, forwardRef, HostBinding, Renderer2, ChangeDetectionStrategy, ChangeDetectorRef, } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { noop } from 'rxjs';
3
4
  export class DrInputComponent {
4
5
  constructor(elementRef, renderer, cdr) {
5
6
  this.elementRef = elementRef;
@@ -10,7 +11,7 @@ export class DrInputComponent {
10
11
  this.readonly = false;
11
12
  this.clearable = false;
12
13
  this.blur = new EventEmitter();
13
- this.value = null;
14
+ this.innerValue = null;
14
15
  this._disabled = null;
15
16
  this._elementClass = [];
16
17
  this._buttonOptions = {
@@ -23,6 +24,8 @@ export class DrInputComponent {
23
24
  this.searchHandler = new EventEmitter();
24
25
  this.buttonHandler = new EventEmitter();
25
26
  this.tabindex = -1;
27
+ this.onChangeCallback = noop;
28
+ this.onTouchedCallback = noop;
26
29
  this.onChange = () => { };
27
30
  this.onTouched = () => { };
28
31
  }
@@ -58,6 +61,16 @@ export class DrInputComponent {
58
61
  set(val) {
59
62
  this._elementClass = val.split(' ');
60
63
  }
64
+ get value() {
65
+ return this.innerValue;
66
+ }
67
+ set value(v) {
68
+ if (v !== this.innerValue) {
69
+ this.innerValue = v;
70
+ this.onChangeCallback(v);
71
+ }
72
+ this.cdr.markForCheck();
73
+ }
61
74
  ngAfterViewInit() {
62
75
  if (this.clearable) {
63
76
  this._elementClass.push('clearable');
@@ -73,15 +86,17 @@ export class DrInputComponent {
73
86
  }
74
87
  }
75
88
  registerOnChange(fn) {
76
- this.onChange = fn;
89
+ this.onChangeCallback = fn;
77
90
  }
78
91
  registerOnTouched(fn) {
79
- this.onTouched = fn;
92
+ this.onTouchedCallback = fn;
80
93
  }
81
94
  writeValue(value) {
82
- this.value = value;
83
- this.updateChanges();
84
- this.cdr.markForCheck();
95
+ if (value !== this.innerValue) {
96
+ this.innerValue = value;
97
+ this.updateChanges();
98
+ this.cdr.markForCheck();
99
+ }
85
100
  }
86
101
  updateChanges() {
87
102
  this.onChange(this.value);
@@ -121,7 +136,7 @@ DrInputComponent.decorators = [
121
136
  multi: true
122
137
  }],
123
138
  changeDetection: ChangeDetectionStrategy.OnPush,
124
- styles: [":host{position:relative;width:100%;display:flex;flex-direction:row;min-height:32px;height:32px;font-size:14px;font-family:\"Nunito Sans\",sans-serif;border:1px solid #C3C4CE;border-radius:6px;color:#85889c;padding:0 8px;overflow:hidden;outline:none}:host:hover{border-color:#85889c}:host:focus-within{border-color:#21b8f1!important;color:#151b3f}:host.disabled{pointer-events:none;border:none;color:#85889c;background:#E5E6EA}:host.ng-valid.ng-dirty{border-color:#03a678}:host.ng-invalid.ng-dirty:not(:focus-within){border-color:#de2833!important}:host.ng-untouched.ng-valid{border-color:#c3c4ce}:host input{display:flex;flex-grow:1;height:100%;border:none;padding:4px 0;text-align:left}:host input:disabled{border:none;color:#85889c;background:transparent}:host input::-webkit-search-decoration,:host input::-webkit-search-cancel-button,:host input::-webkit-search-results-button,:host input::-webkit-search-results-decoration{-webkit-appearance:none}:host .clear-icon{visibility:hidden}:host.clearable .clear-icon,:host.ng-touched.ng-invalid .clear-icon{visibility:visible;content:url('data:image/svg+xml; utf8, <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.91783 5.00001L9.03353 1.88395C9.11924 1.79818 9.16651 1.68374 9.16665 1.56171C9.16665 1.43962 9.11937 1.32504 9.03353 1.2394L8.76047 0.966415C8.67463 0.880433 8.56023 0.833344 8.43808 0.833344C8.31612 0.833344 8.20166 0.880433 8.11582 0.966415L5.00013 4.08227L1.88428 0.966415C1.79858 0.880433 1.68404 0.833344 1.56196 0.833344C1.44001 0.833344 1.32556 0.880433 1.23985 0.966415L0.966646 1.2394C0.788869 1.41719 0.788869 1.70637 0.966646 1.88395L4.08242 5.00001L0.966646 8.11593C0.880873 8.20184 0.833677 8.31628 0.833677 8.43831C0.833677 8.56034 0.880873 8.67478 0.966646 8.76062L1.23978 9.03361C1.32548 9.11952 1.44 9.16668 1.56188 9.16668C1.68397 9.16668 1.7985 9.11952 1.88421 9.03361L5.00005 5.91769L8.11575 9.03361C8.20159 9.11952 8.31605 9.16668 8.438 9.16668H8.43815C8.56017 9.16668 8.67456 9.11952 8.7604 9.03361L9.03346 8.76062C9.11916 8.67484 9.16643 8.56034 9.16643 8.43831C9.16643 8.31628 9.11916 8.20184 9.03346 8.116L5.91783 5.00001Z\" fill=\"%2351566F\"/></svg> ');margin:auto 8px;cursor:pointer}:host span+span,:host span+img{margin-left:0}:host.search-type{padding:0 16px;border-radius:16px}:host.search-type.ng-valid{border-color:#c3c4ce}:host.search-type .search-icon{content:url('data:image/svg+xml; utf8, <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.5816 10.2097C11.4878 10.1157 11.3605 10.0629 11.2277 10.0629H10.8175C10.7473 10.0629 10.6799 10.035 10.6303 9.98534C10.5322 9.88724 10.527 9.73044 10.6132 9.62178C11.4154 8.6112 11.8925 7.33534 11.8925 5.94625C11.8925 2.66209 9.23042 0 5.94625 0C2.66209 0 0 2.66209 0 5.94625C0 9.23042 2.66209 11.8925 5.94625 11.8925C7.33523 11.8925 8.611 11.4155 9.62155 10.6172C9.7304 10.5312 9.88711 10.5366 9.9852 10.6347C10.0349 10.6845 10.0629 10.7519 10.0629 10.8223V11.2277C10.0629 11.3605 10.1157 11.4878 10.2097 11.5816L14.2834 15.6472C14.4787 15.8421 14.795 15.8419 14.9901 15.6468L15.6468 14.9901C15.8419 14.795 15.8421 14.4787 15.6472 14.2834L11.5816 10.2097ZM5.94625 10.0629C3.67296 10.0629 1.82962 8.21955 1.82962 5.94625C1.82962 3.67296 3.67296 1.82962 5.94625 1.82962C8.21955 1.82962 10.0629 3.67296 10.0629 5.94625C10.0629 8.21955 8.21955 10.0629 5.94625 10.0629Z\" fill=\"%23BCBCBC\"/></svg> ');margin:auto 0 auto 8px;cursor:pointer}:host.with-button{padding-right:0}:host.with-button button{color:#0061ff;background:#F6F7F8;height:100%;width:auto;padding:0 8px;display:flex;align-items:center;border:none;border-left:1px solid #C3C4CE}:host ::ng-deep img[prefixIcon],:host ::ng-deep img[suffixIcon],:host ::ng-deep i[prefixIcon],:host ::ng-deep i[suffixIcon]{position:relative;margin:auto 8px}:host ::ng-deep img[prefixIcon],:host ::ng-deep i[prefixIcon]{margin-left:0}:host ::ng-deep img[suffixIcon],:host ::ng-deep i[suffixIcon]{margin-right:0}\n"]
139
+ styles: [":host{position:relative;width:100%;display:flex;flex-direction:row;min-height:32px;height:32px;font-size:14px;font-family:\"Poppins\",sans-serif;border:1px solid #C3C4CE;border-radius:6px;color:#85889c;padding:0 8px;overflow:hidden;outline:none}:host:hover{border-color:#85889c}:host:focus-within{border-color:#21b8f1!important;color:#151b3f}:host.disabled{pointer-events:none;border:none;color:#85889c;background:#E5E6EA}:host.ng-valid.ng-dirty{border-color:#03a678}:host.ng-invalid.ng-dirty:not(:focus-within){border-color:#de2833!important}:host.ng-untouched.ng-valid{border-color:#c3c4ce}:host input{display:flex;flex-grow:1;height:100%;border:none;padding:4px 0;text-align:left}:host input:disabled{border:none;color:#85889c;background:transparent}:host input::-webkit-search-decoration,:host input::-webkit-search-cancel-button,:host input::-webkit-search-results-button,:host input::-webkit-search-results-decoration{-webkit-appearance:none}:host .clear-icon{visibility:hidden}:host.clearable .clear-icon,:host.ng-touched.ng-invalid .clear-icon{visibility:visible;content:url('data:image/svg+xml; utf8, <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.91783 5.00001L9.03353 1.88395C9.11924 1.79818 9.16651 1.68374 9.16665 1.56171C9.16665 1.43962 9.11937 1.32504 9.03353 1.2394L8.76047 0.966415C8.67463 0.880433 8.56023 0.833344 8.43808 0.833344C8.31612 0.833344 8.20166 0.880433 8.11582 0.966415L5.00013 4.08227L1.88428 0.966415C1.79858 0.880433 1.68404 0.833344 1.56196 0.833344C1.44001 0.833344 1.32556 0.880433 1.23985 0.966415L0.966646 1.2394C0.788869 1.41719 0.788869 1.70637 0.966646 1.88395L4.08242 5.00001L0.966646 8.11593C0.880873 8.20184 0.833677 8.31628 0.833677 8.43831C0.833677 8.56034 0.880873 8.67478 0.966646 8.76062L1.23978 9.03361C1.32548 9.11952 1.44 9.16668 1.56188 9.16668C1.68397 9.16668 1.7985 9.11952 1.88421 9.03361L5.00005 5.91769L8.11575 9.03361C8.20159 9.11952 8.31605 9.16668 8.438 9.16668H8.43815C8.56017 9.16668 8.67456 9.11952 8.7604 9.03361L9.03346 8.76062C9.11916 8.67484 9.16643 8.56034 9.16643 8.43831C9.16643 8.31628 9.11916 8.20184 9.03346 8.116L5.91783 5.00001Z\" fill=\"%2351566F\"/></svg> ');margin:auto 8px;cursor:pointer}:host span+span,:host span+img{margin-left:0}:host.search-type{padding:0 16px;border-radius:16px}:host.search-type.ng-valid{border-color:#c3c4ce}:host.search-type .search-icon{content:url('data:image/svg+xml; utf8, <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.5816 10.2097C11.4878 10.1157 11.3605 10.0629 11.2277 10.0629H10.8175C10.7473 10.0629 10.6799 10.035 10.6303 9.98534C10.5322 9.88724 10.527 9.73044 10.6132 9.62178C11.4154 8.6112 11.8925 7.33534 11.8925 5.94625C11.8925 2.66209 9.23042 0 5.94625 0C2.66209 0 0 2.66209 0 5.94625C0 9.23042 2.66209 11.8925 5.94625 11.8925C7.33523 11.8925 8.611 11.4155 9.62155 10.6172C9.7304 10.5312 9.88711 10.5366 9.9852 10.6347C10.0349 10.6845 10.0629 10.7519 10.0629 10.8223V11.2277C10.0629 11.3605 10.1157 11.4878 10.2097 11.5816L14.2834 15.6472C14.4787 15.8421 14.795 15.8419 14.9901 15.6468L15.6468 14.9901C15.8419 14.795 15.8421 14.4787 15.6472 14.2834L11.5816 10.2097ZM5.94625 10.0629C3.67296 10.0629 1.82962 8.21955 1.82962 5.94625C1.82962 3.67296 3.67296 1.82962 5.94625 1.82962C8.21955 1.82962 10.0629 3.67296 10.0629 5.94625C10.0629 8.21955 8.21955 10.0629 5.94625 10.0629Z\" fill=\"%23BCBCBC\"/></svg> ');margin:auto 0 auto 8px;cursor:pointer}:host.with-button{padding-right:0}:host.with-button button{color:#0061ff;background:#F6F7F8;height:100%;width:auto;padding:0 8px;display:flex;align-items:center;border:none;border-left:1px solid #C3C4CE}:host ::ng-deep img[prefixIcon],:host ::ng-deep img[suffixIcon],:host ::ng-deep i[prefixIcon],:host ::ng-deep i[suffixIcon]{position:relative;margin:auto 8px}:host ::ng-deep img[prefixIcon],:host ::ng-deep i[prefixIcon]{margin-left:0}:host ::ng-deep img[suffixIcon],:host ::ng-deep i[suffixIcon]{margin-right:0}\n"]
125
140
  },] }
126
141
  ];
127
142
  DrInputComponent.ctorParameters = () => [
@@ -145,4 +160,4 @@ DrInputComponent.propDecorators = {
145
160
  suffixIcon: [{ type: ContentChild, args: ['suffix', { static: false },] }],
146
161
  tabindex: [{ type: HostBinding, args: ['tabindex',] }]
147
162
  };
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItaW5wdXRzL2RyLWlucHV0L2RyLWlucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsVUFBVSxFQUFFLFdBQVcsRUFBaUIsU0FBUyxFQUFhLHVCQUF1QixFQUFFLGlCQUFpQixHQUN6RyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFhekUsTUFBTSxPQUFPLGdCQUFnQjtJQWlFM0IsWUFBb0IsVUFBc0IsRUFDdEIsUUFBbUIsRUFDbkIsR0FBc0I7UUFGdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBekNqQyxTQUFJLEdBQVcsUUFBUSxDQUFDO1FBRXhCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNqQixTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU9wQyxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2IsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixrQkFBYSxHQUFhLEVBQUUsQ0FBQztRQUM3QixtQkFBYyxHQUFHO1lBQ2YsSUFBSSxFQUFFLEtBQUs7WUFDWCxXQUFXLEVBQUUsS0FBSztZQUNsQixRQUFRLEVBQUUsS0FBSztZQUNmLGFBQWEsRUFBRSxDQUFDLE1BQVcsRUFBRSxPQUFZLEVBQUUsRUFBRSxDQUFDLElBQUk7WUFDbEQsSUFBSSxFQUFFLE1BQU07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QUNuQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDOzs7WUExSUYsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxVQUFVO2dCQUNwQix1d0JBQXdDO2dCQUV4QyxTQUFTLEVBQUUsQ0FBQzt3QkFDUixPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO3dCQUMvQyxLQUFLLEVBQUUsSUFBSTtxQkFDZCxDQUFDO2dCQUNGLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O1lBZkMsVUFBVTtZQUM4QixTQUFTO1lBQXNDLGlCQUFpQjs7O3VCQWdCdkcsS0FBSzs0QkFHTCxLQUFLO21CQXNCTCxLQUFLO21CQUNMLEtBQUs7MEJBQ0wsS0FBSzt1QkFDTCxLQUFLO3dCQUNMLEtBQUs7bUJBQ0wsTUFBTTsyQkFFTixXQUFXLFNBQUMsT0FBTzs0QkFtQm5CLE1BQU07NEJBQ04sTUFBTTt5QkFFTixZQUFZLFNBQUMsUUFBUSxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQzt5QkFDdEMsWUFBWSxTQUFDLFFBQVEsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7dUJBRXRDLFdBQVcsU0FBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgQWZ0ZXJWaWV3SW5pdCwgUmVuZGVyZXIyLCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2RyLWlucHV0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9kci1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbe1xyXG4gICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERySW5wdXRDb21wb25lbnQpLFxyXG4gICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2YWx1ZSkge1xyXG4gICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlKHZhbHVlKTtcclxuICB9XHJcbiAgQElucHV0KCkgc2V0IGJ1dHRvbk9wdGlvbnModmFsdWUpIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLl9idXR0b25PcHRpb25zID0gey4uLnRoaXMuX2J1dHRvbk9wdGlvbnMsIC4uLiB2YWx1ZX07XHJcbiAgICAgIGlmICh0aGlzLl9idXR0b25PcHRpb25zPy5zaG93IHx8IHRoaXMuX2J1dHRvbk9wdGlvbnM/LnNob3dPbkZvY3VzKSB7XHJcbiAgICAgICAgdGhpcy5fZWxlbWVudENsYXNzLnB1c2goJ3dpdGgtYnV0dG9uJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9idXR0b25PcHRpb25zLnNob3dPbkZvY3VzKSB7XHJcbiAgICAgIHRoaXMubGlzdGVuRnVuYyA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snLCAoZXZlbnQpID0+IHtcclxuICAgICAgICB0aGlzLl9idXR0b25PcHRpb25zLmZvY3VzU2V0ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuZ2xvYmFsTGlzdGVuRnVuYyA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdjbGljaycsIGV2ZW50ID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LnBhcmVudE5vZGUgIT09IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5fYnV0dG9uT3B0aW9ucy5jaGVja0ZvY3VzT3V0KGV2ZW50LnRhcmdldCwgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25CdXR0b25DbGlja2VkKGV2ZW50KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZyA9ICdzdHJpbmcnO1xyXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBjbGVhcmFibGUgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgZ2V0IGVsZW1lbnRDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRDbGFzcy5qb2luKCcgJyk7XHJcbiAgfVxyXG5cclxuICB2YWx1ZSA9IG51bGw7XHJcbiAgX2Rpc2FibGVkID0gbnVsbDtcclxuICBfZWxlbWVudENsYXNzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIF9idXR0b25PcHRpb25zID0ge1xyXG4gICAgc2hvdzogZmFsc2UsXHJcbiAgICBzaG93T25Gb2N1czogZmFsc2UsXHJcbiAgICBmb2N1c1NldDogZmFsc2UsXHJcbiAgICBjaGVja0ZvY3VzT3V0OiAodGFyZ2V0OiBhbnksIGVsZW1lbnQ6IGFueSkgPT4gdHJ1ZSxcclxuICAgIHRleHQ6ICdTYXZlJ1xyXG4gIH07XHJcbiAgbGlzdGVuRnVuYzogRnVuY3Rpb247XHJcbiAgZ2xvYmFsTGlzdGVuRnVuYzogRnVuY3Rpb247XHJcblxyXG5cclxuICBAT3V0cHV0KCkgc2VhcmNoSGFuZGxlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBidXR0b25IYW5kbGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoJ3ByZWZpeCcsIHtzdGF0aWM6IGZhbHNlfSkgcHJlZml4SWNvbjogRWxlbWVudFJlZjtcclxuICBAQ29udGVudENoaWxkKCdzdWZmaXgnLCB7c3RhdGljOiBmYWxzZX0pIHN1ZmZpeEljb246IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBIb3N0QmluZGluZygndGFiaW5kZXgnKSB0YWJpbmRleCA9IC0xO1xyXG4gIG9uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHt9O1xyXG4gIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xyXG4gIHNldCh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5fZWxlbWVudENsYXNzID0gdmFsLnNwbGl0KCcgJyk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY2xlYXJhYmxlKSB7XHJcbiAgICAgIHRoaXMuX2VsZW1lbnRDbGFzcy5wdXNoKCdjbGVhcmFibGUnKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnByZWZpeEljb24pIHtcclxuICAgICAgdGhpcy5fZWxlbWVudENsYXNzLnB1c2goJ3dpdGgtcHJlZml4Jyk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zdWZmaXhJY29uKSB7XHJcbiAgICAgIHRoaXMuX2VsZW1lbnRDbGFzcy5wdXNoKCd3aXRoLXN1ZmZpeCcpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ3NlYXJjaCcpIHtcclxuICAgICAgdGhpcy5fZWxlbWVudENsYXNzLnB1c2goJ3NlYXJjaC10eXBlJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB7fSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlciB8IHN0cmluZykge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy51cGRhdGVDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XHJcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLl9lbGVtZW50Q2xhc3MucHVzaCgnZGlzYWJsZWQnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2VsZW1lbnRDbGFzcyA9IHRoaXMuX2VsZW1lbnRDbGFzcy5maWx0ZXIoaXRlbSA9PiBpdGVtICE9PSAnZGlzYWJsZWQnKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2Rpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hDbGlja2VkKCRldmVudDogYW55KSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoSGFuZGxlci5lbWl0KCRldmVudCk7XHJcbiAgfVxyXG5cclxuICBvbkJ1dHRvbkNsaWNrZWQoJGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuYnV0dG9uSGFuZGxlci5lbWl0KCRldmVudCk7XHJcbiAgICB0aGlzLl9idXR0b25PcHRpb25zLmZvY3VzU2V0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubGlzdGVuRnVuYykge1xyXG4gICAgICB0aGlzLmxpc3RlbkZ1bmMoKTtcclxuICAgICAgdGhpcy5nbG9iYWxMaXN0ZW5GdW5jKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItaW5wdXRzL2RyLWlucHV0L2RyLWlucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsVUFBVSxFQUFFLFdBQVcsRUFBaUIsU0FBUyxFQUFhLHVCQUF1QixFQUFFLGlCQUFpQixHQUN6RyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQWE1QixNQUFNLE9BQU8sZ0JBQWdCO0lBK0UzQixZQUFvQixVQUFzQixFQUN0QixRQUFtQixFQUNuQixHQUFzQjtRQUZ0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF2RGpDLFNBQUksR0FBVyxRQUFRLENBQUM7UUFFeEIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBT3BDLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixrQkFBYSxHQUFhLEVBQUUsQ0FBQztRQUM3QixtQkFBYyxHQUFHO1lBQ2YsSUFBSSxFQUFFLEtBQUs7WUFDWCxXQUFXLEVBQUUsS0FBSztZQUNsQixRQUFRLEVBQUUsS0FBSztZQUNmLGFBQWEsRUFBRSxDQUFDLE1BQVcsRUFBRSxPQUFZ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U0FBQyxRQUFRLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO3lCQUN0QyxZQUFZLFNBQUMsUUFBUSxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQzt1QkFFdEMsV0FBVyxTQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBBZnRlclZpZXdJbml0LCBSZW5kZXJlcjIsIE9uRGVzdHJveSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IG5vb3AgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdkci1pbnB1dCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHItaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW3tcclxuICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEcklucHV0Q29tcG9uZW50KSxcclxuICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfV0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIERySW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBzZXQgZGlzYWJsZWQodmFsdWUpIHtcclxuICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZSh2YWx1ZSk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHNldCBidXR0b25PcHRpb25zKHZhbHVlKSB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5fYnV0dG9uT3B0aW9ucyA9IHsuLi50aGlzLl9idXR0b25PcHRpb25zLCAuLi4gdmFsdWV9O1xyXG4gICAgICBpZiAodGhpcy5fYnV0dG9uT3B0aW9ucz8uc2hvdyB8fCB0aGlzLl9idXR0b25PcHRpb25zPy5zaG93T25Gb2N1cykge1xyXG4gICAgICAgIHRoaXMuX2VsZW1lbnRDbGFzcy5wdXNoKCd3aXRoLWJ1dHRvbicpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5fYnV0dG9uT3B0aW9ucy5zaG93T25Gb2N1cykge1xyXG4gICAgICB0aGlzLmxpc3RlbkZ1bmMgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NsaWNrJywgKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgdGhpcy5fYnV0dG9uT3B0aW9ucy5mb2N1c1NldCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmdsb2JhbExpc3RlbkZ1bmMgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCBldmVudCA9PiB7XHJcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5wYXJlbnROb2RlICE9PSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuX2J1dHRvbk9wdGlvbnMuY2hlY2tGb2N1c091dChldmVudC50YXJnZXQsIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSkge1xyXG4gICAgICAgICAgICB0aGlzLm9uQnV0dG9uQ2xpY2tlZChldmVudCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuICBASW5wdXQoKSB0eXBlOiBzdHJpbmcgPSAnc3RyaW5nJztcclxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY2xlYXJhYmxlID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxyXG4gIGdldCBlbGVtZW50Q2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9lbGVtZW50Q2xhc3Muam9pbignICcpO1xyXG4gIH1cclxuXHJcbiAgaW5uZXJWYWx1ZSA9IG51bGw7XHJcbiAgX2Rpc2FibGVkID0gbnVsbDtcclxuICBfZWxlbWVudENsYXNzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIF9idXR0b25PcHRpb25zID0ge1xyXG4gICAgc2hvdzogZmFsc2UsXHJcbiAgICBzaG93T25Gb2N1czogZmFsc2UsXHJcbiAgICBmb2N1c1NldDogZmFsc2UsXHJcbiAgICBjaGVja0ZvY3VzT3V0OiAodGFyZ2V0OiBhbnksIGVsZW1lbnQ6IGFueSkgPT4gdHJ1ZSxcclxuICAgIHRleHQ6ICdTYXZlJ1xyXG4gIH07XHJcbiAgbGlzdGVuRnVuYzogRnVuY3Rpb247XHJcbiAgZ2xvYmFsTGlzdGVuRnVuYzogRnVuY3Rpb247XHJcblxyXG5cclxuICBAT3V0cHV0KCkgc2VhcmNoSGFuZGxlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBidXR0b25IYW5kbGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoJ3ByZWZpeCcsIHtzdGF0aWM6IGZhbHNlfSkgcHJlZml4SWNvbjogRWxlbWVudFJlZjtcclxuICBAQ29udGVudENoaWxkKCdzdWZmaXgnLCB7c3RhdGljOiBmYWxzZX0pIHN1ZmZpeEljb246IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBIb3N0QmluZGluZygndGFiaW5kZXgnKSB0YWJpbmRleCA9IC0xO1xyXG4gIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSBub29wO1xyXG4gIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gbm9vcDtcclxuICBvbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcclxuICBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcclxuICBzZXQodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2VsZW1lbnRDbGFzcyA9IHZhbC5zcGxpdCgnICcpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcclxuICB9XHJcbiAgcHVibGljIHNldCB2YWx1ZSh2OiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIGlmICh2ICE9PSB0aGlzLmlubmVyVmFsdWUpIHtcclxuICAgICAgdGhpcy5pbm5lclZhbHVlID0gdjtcclxuICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHYpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNsZWFyYWJsZSkge1xyXG4gICAgICB0aGlzLl9lbGVtZW50Q2xhc3MucHVzaCgnY2xlYXJhYmxlJyk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5wcmVmaXhJY29uKSB7XHJcbiAgICAgIHRoaXMuX2VsZW1lbnRDbGFzcy5wdXNoKCd3aXRoLXByZWZpeCcpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc3VmZml4SWNvbikge1xyXG4gICAgICB0aGlzLl9lbGVtZW50Q2xhc3MucHVzaCgnd2l0aC1zdWZmaXgnKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdzZWFyY2gnKSB7XHJcbiAgICAgIHRoaXMuX2VsZW1lbnRDbGFzcy5wdXNoKCdzZWFyY2gtdHlwZScpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlciB8IHN0cmluZykge1xyXG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmlubmVyVmFsdWUpIHtcclxuICAgICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XHJcbiAgICAgIHRoaXMudXBkYXRlQ2hhbmdlcygpO1xyXG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZUNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XHJcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLl9lbGVtZW50Q2xhc3MucHVzaCgnZGlzYWJsZWQnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2VsZW1lbnRDbGFzcyA9IHRoaXMuX2VsZW1lbnRDbGFzcy5maWx0ZXIoaXRlbSA9PiBpdGVtICE9PSAnZGlzYWJsZWQnKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2Rpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hDbGlja2VkKCRldmVudDogYW55KSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoSGFuZGxlci5lbWl0KCRldmVudCk7XHJcbiAgfVxyXG5cclxuICBvbkJ1dHRvbkNsaWNrZWQoJGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuYnV0dG9uSGFuZGxlci5lbWl0KCRldmVudCk7XHJcbiAgICB0aGlzLl9idXR0b25PcHRpb25zLmZvY3VzU2V0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubGlzdGVuRnVuYykge1xyXG4gICAgICB0aGlzLmxpc3RlbkZ1bmMoKTtcclxuICAgICAgdGhpcy5nbG9iYWxMaXN0ZW5GdW5jKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -41,7 +41,7 @@ RadioButtonComponent.decorators = [
41
41
  ],
42
42
  changeDetection: ChangeDetectionStrategy.OnPush,
43
43
  encapsulation: ViewEncapsulation.ShadowDom,
44
- styles: ["label input[type=radio].radiobox+span{vertical-align:middle;line-height:20px}input+span,input+span:after,input+span:before{box-sizing:content-box!important;-webkit-box-sizing:content-box!important;-moz-box-sizing:content-box!important}input{visibility:hidden;position:absolute;width:18px;height:18px}label input+span{position:relative;z-index:19;display:inline-block;margin:0 5px 0 0;line-height:17px;min-height:14px;min-width:14px}label input+span:hover{cursor:pointer}label input+span:before{content:\"\";font-size:14px;border-radius:0;display:inline-block;text-align:center;vertical-align:middle;padding:1px;height:12px;line-height:13px;min-width:12px;margin-right:5px;border:1px solid #C3C4CE;background-color:#fff;font-weight:normal;margin-top:-1px}label input+span:before{border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}label input:checked+span:before,label:hover input:checked+span:before{background:white;border-color:#579bf2;color:#579bf2}label input:checked+span:before,label:hover input:checked+span:before{font-family:\"DataRails\"!important;content:url('data:image/svg+xml; utf8, <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"5\" cy=\"5\" r=\"4.5\" fill=\"%23579BF2\"/></svg> ');color:#579bf2}label input:disabled+span:before{border-color:#bcbcbc}label input[disabled]:checked+span:before{content:url('data:image/svg+xml; utf8, <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"5\" cy=\"5\" r=\"4.5\" fill=\"%23BCBCBC\"/></svg> ');border-color:#bcbcbc}label span:hover:before{border-color:#85889c}\n"]
44
+ styles: ["label input[type=radio].radiobox+span{vertical-align:middle;line-height:20px}input+span,input+span:after,input+span:before{box-sizing:content-box!important;-webkit-box-sizing:content-box!important;-moz-box-sizing:content-box!important}input{visibility:hidden;position:absolute;width:18px;height:18px}label input+span{position:relative;z-index:19;display:inline-block;margin:0 5px 0 0;line-height:17px;min-height:14px;min-width:14px}label input+span:hover{cursor:pointer}label input+span:before{content:\"\";font-size:14px;border-radius:0;display:inline-block;text-align:center;vertical-align:middle;padding:1px;height:12px;line-height:13px;width:12px;margin-right:5px;border:1px solid #C3C4CE;background-color:#fff;font-weight:normal;margin-top:-1px}label input+span:before{border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}label input:checked+span:before,label:hover input:checked+span:before{background:white;border-color:#579bf2;color:#579bf2}label input:checked+span:before,label:hover input:checked+span:before{font-family:\"DataRails\"!important;background-image:url('data:image/svg+xml; utf8, <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"5\" cy=\"5\" r=\"4.5\" fill=\"%23579BF2\"/></svg> ');background-repeat:no-repeat;background-position:center;color:#579bf2}label input:disabled+span:before{border-color:#bcbcbc}label input[disabled]:checked+span:before{content:url('data:image/svg+xml; utf8, <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"5\" cy=\"5\" r=\"4.5\" fill=\"%23BCBCBC\"/></svg> ');border-color:#bcbcbc}label span:hover:before{border-color:#85889c}\n"]
45
45
  },] }
46
46
  ];
47
47
  RadioButtonComponent.ctorParameters = () => [
@@ -3,7 +3,12 @@ export class DrPopoverRef {
3
3
  constructor(overlayRef) {
4
4
  this.overlayRef = overlayRef;
5
5
  this.onClose$ = new Subject();
6
+ // FIXME: this decision was made because of the incompatible rxjs version
7
+ /**
8
+ * Correct type is @type {Observable<any>}
9
+ */
6
10
  this.onClose = this.onClose$.asObservable();
11
+ this.onBackdropClick = this.overlayRef.backdropClick();
7
12
  }
8
13
  close(res) {
9
14
  this.overlayRef.detach();
@@ -12,4 +17,4 @@ export class DrPopoverRef {
12
17
  this.onClose$.complete();
13
18
  }
14
19
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXItcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFHM0MsTUFBTSxPQUFPLFlBQVk7SUFPckIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUhoQyxhQUFRLEdBQWlCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDeEMsWUFBTyxHQUFvQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRW5CLENBQUM7SUFFL0MsS0FBSyxDQUFDLEdBQVM7UUFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBDb21wb25lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEclBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL2RyLXBvcG92ZXIuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBjbGFzcyBEclBvcG92ZXJSZWY8VCA9IGFueT4ge1xyXG5cclxuICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPERyUG9wb3ZlckNvbXBvbmVudDxUPj47XHJcblxyXG4gICAgcHJvdGVjdGVkIG9uQ2xvc2UkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgcmVhZG9ubHkgb25DbG9zZTogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5vbkNsb3NlJC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYpIHsgfVxyXG5cclxuICAgIGNsb3NlKHJlcz86IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xyXG4gICAgICAgIHRoaXMub25DbG9zZSQubmV4dChyZXMpO1xyXG4gICAgICAgIHRoaXMub25DbG9zZSQuY29tcGxldGUoKTtcclxuICAgIH1cclxufVxyXG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXItcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFHM0MsTUFBTSxPQUFPLFlBQVk7SUFhckIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVRoQyxhQUFRLEdBQWlCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDakQseUVBQXlFO1FBQ3pFOztXQUVHO1FBQ00sWUFBTyxHQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7UUFLakQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFRCxLQUFLLENBQUMsR0FBUztRQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IERyUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vZHItcG9wb3Zlci5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGNsYXNzIERyUG9wb3ZlclJlZjxUID0gYW55PiB7XHJcblxyXG4gICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8RHJQb3BvdmVyQ29tcG9uZW50PFQ+PjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgb25DbG9zZSQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgICAvLyBGSVhNRTogdGhpcyBkZWNpc2lvbiB3YXMgbWFkZSBiZWNhdXNlIG9mIHRoZSBpbmNvbXBhdGlibGUgcnhqcyB2ZXJzaW9uXHJcbiAgICAvKipcclxuICAgICAqIENvcnJlY3QgdHlwZSBpcyBAdHlwZSB7T2JzZXJ2YWJsZTxhbnk+fVxyXG4gICAgICovXHJcbiAgICByZWFkb25seSBvbkNsb3NlOiBhbnkgPSB0aGlzLm9uQ2xvc2UkLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHJlYWRvbmx5IG9uQmFja2Ryb3BDbGljazogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50PjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYpIHtcclxuICAgICAgICB0aGlzLm9uQmFja2Ryb3BDbGljayA9IHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2UocmVzPzogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xyXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XHJcbiAgICAgICAgdGhpcy5vbkNsb3NlJC5uZXh0KHJlcyk7XHJcbiAgICAgICAgdGhpcy5vbkNsb3NlJC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, HostListener, Input, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
1
+ import { ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, HostListener, Input, TemplateRef, ViewChild, ViewContainerRef, ChangeDetectionStrategy } from '@angular/core';
2
2
  import { trigger } from '@angular/animations';
3
3
  import { POPUP_ANIMATION } from '../models/constants';
4
4
  import { DrPopoverRef } from './dr-popover-ref';
@@ -12,30 +12,30 @@ export class DrPopoverComponent {
12
12
  this.class = '';
13
13
  this.isContentTemplate = false;
14
14
  }
15
- set popoverContainer(template) {
16
- this.isContentTemplate = this.content instanceof TemplateRef;
17
- if (!this.isContentTemplate) {
18
- this.componentRef = this.viewContainerRef.createComponent(this.componentFactoryResolver.resolveComponentFactory(this.content));
19
- Object.assign(this.componentRef.instance, this.contentContext);
20
- template.nativeElement.appendChild(this.componentRef.location.nativeElement);
21
- }
22
- else {
23
- this.contentContext.closePopover = this.popoverRef.close.bind(this.popoverRef);
24
- }
25
- this.cdr.detectChanges();
26
- }
27
15
  clickOutside(e) {
28
- const isTargetHost = this.hostRef.nativeElement === e.target || this.hostRef.nativeElement.contains(e.target);
16
+ const isTargetHost = this.hostRef instanceof ElementRef && (this.hostRef.nativeElement === e.target || this.hostRef.nativeElement.contains(e.target));
29
17
  const isTargetInPopover = this.elementRef.nativeElement.contains(e.target);
30
18
  const isTargetInDatepicker = e.target.closest('mat-datepicker-popup');
31
19
  const isTargetInSelect = e.target.closest('ng-dropdown-panel');
20
+ const isTargetInDatepickerContent = e.target.closest('mat-datepicker-content');
32
21
  if (!isTargetHost
33
22
  && !isTargetInPopover
34
23
  && !isTargetInDatepicker
35
- && !isTargetInSelect) {
24
+ && !isTargetInSelect
25
+ && !isTargetInDatepickerContent
26
+ && !this.manualClosing) {
36
27
  this.popoverRef.close();
37
28
  }
38
29
  }
30
+ ngOnInit() {
31
+ this.isContentTemplate = this.content instanceof TemplateRef;
32
+ if (!this.isContentTemplate) {
33
+ this.componentRef = this.viewContainerRef.createComponent(this.componentFactoryResolver.resolveComponentFactory(this.content));
34
+ Object.assign(this.componentRef.instance, this.contentContext);
35
+ this.popoverContainer.nativeElement.appendChild(this.componentRef.location.nativeElement);
36
+ }
37
+ this.cdr.detectChanges();
38
+ }
39
39
  }
40
40
  DrPopoverComponent.decorators = [
41
41
  { type: Component, args: [{
@@ -44,7 +44,8 @@ DrPopoverComponent.decorators = [
44
44
  animations: [
45
45
  trigger('popover', POPUP_ANIMATION),
46
46
  ],
47
- styles: [".dr-popover{display:flex;background:#fff;border:1px solid #E5E5E5;border-radius:5px;box-sizing:border-box;box-shadow:0 4px 14px #0003;font-size:12px;color:#545a6b;max-height:100vh;max-width:100vw;overflow:auto}\n"]
47
+ changeDetection: ChangeDetectionStrategy.OnPush,
48
+ styles: [".dr-popover{display:flex;background:#fff;border:1px solid #E5E5E5;border-radius:5px;box-sizing:border-box;box-shadow:0 4px 14px #0003;font-size:12px;color:#545a6b;max-height:100vh;max-width:100vw;overflow:auto}::ng-deep .dr-popover-transparent-backdrop{background-color:transparent}\n"]
48
49
  },] }
49
50
  ];
50
51
  DrPopoverComponent.ctorParameters = () => [
@@ -59,7 +60,8 @@ DrPopoverComponent.propDecorators = {
59
60
  contentContext: [{ type: Input }],
60
61
  class: [{ type: Input }],
61
62
  hostRef: [{ type: Input }],
62
- popoverContainer: [{ type: ViewChild, args: ['popoverContainer', { read: ElementRef },] }],
63
+ manualClosing: [{ type: Input }],
64
+ popoverContainer: [{ type: ViewChild, args: ['popoverContainer', { read: ElementRef, static: true },] }],
63
65
  clickOutside: [{ type: HostListener, args: ['document:mouseup', ['$event'],] }]
64
66
  };
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULHdCQUF3QixFQUV4QixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxXQUFXLEVBRVgsU0FBUyxFQUNULGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVVoRCxNQUFNLE9BQU8sa0JBQWtCO0lBd0M3QixZQUNVLEdBQXNCLEVBQ3RCLHdCQUFrRCxFQUNsRCxnQkFBa0MsRUFDbEMsVUFBc0IsRUFDdEIsVUFBMkI7UUFKM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUF6QzVCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFpQnBCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztJQXlCdEIsQ0FBQztJQXZDTCxJQUNZLGdCQUFnQixDQUFDLFFBQWlDO1FBQzVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsT0FBTyxZQUFZLFdBQVcsQ0FBQztRQUU3RCxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQWtCLENBQUMsQ0FBQyxDQUFDO1lBQzFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQy9ELFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzlFO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2hGO1FBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBS0QsWUFBWSxDQUFDLENBQUM7UUFDWixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsS0FBSyxDQUFDLENBQUMsTUFBTSxJQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBNkIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9ILE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRSxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDdEUsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRS9ELElBQUksQ0FBQyxZQUFZO2VBQ1YsQ0FBQyxpQkFBaUI7ZUFDbEIsQ0FBQyxvQkFBb0I7ZUFDckIsQ0FBQyxnQkFBZ0IsRUFDcEI7WUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzs7O1lBOUNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsaVFBQTBDO2dCQUUxQyxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUM7aUJBQ3BDOzthQUNGOzs7WUF2QkMsaUJBQWlCO1lBRWpCLHdCQUF3QjtZQVF4QixnQkFBZ0I7WUFOaEIsVUFBVTtZQVVILFlBQVk7OztzQkFZbEIsS0FBSzs2QkFDTCxLQUFLO29CQUNMLEtBQUs7c0JBQ0wsS0FBSzsrQkFFTCxTQUFTLFNBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOzJCQWlCbEQsWUFBWSxTQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbXBvbmVudFJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBUeXBlLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q29udGFpbmVyUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgUE9QVVBfQU5JTUFUSU9OIH0gZnJvbSAnLi4vbW9kZWxzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IERyUG9wb3ZlclJlZiB9IGZyb20gJy4vZHItcG9wb3Zlci1yZWYnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkci1wb3BvdmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHItcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHItcG9wb3Zlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3BvcG92ZXInLCBQT1BVUF9BTklNQVRJT04pLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEclBvcG92ZXJDb21wb25lbnQ8VD4ge1xyXG5cclxuICBASW5wdXQoKSBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxUPjtcclxuICBASW5wdXQoKSBjb250ZW50Q29udGV4dDogYW55O1xyXG4gIEBJbnB1dCgpIGNsYXNzID0gJyc7XHJcbiAgQElucHV0KCkgaG9zdFJlZjogRWxlbWVudFJlZjx1bmtub3duPjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncG9wb3ZlckNvbnRhaW5lcicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxyXG4gIHByaXZhdGUgc2V0IHBvcG92ZXJDb250YWluZXIodGVtcGxhdGU6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XHJcbiAgICB0aGlzLmlzQ29udGVudFRlbXBsYXRlID0gdGhpcy5jb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XHJcblxyXG4gICAgaWYgKCF0aGlzLmlzQ29udGVudFRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudCh0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0aGlzLmNvbnRlbnQgYXMgVHlwZTxUPikpO1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLCB0aGlzLmNvbnRlbnRDb250ZXh0KTtcclxuICAgICAgdGVtcGxhdGUubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY29udGVudENvbnRleHQuY2xvc2VQb3BvdmVyID0gdGhpcy5wb3BvdmVyUmVmLmNsb3NlLmJpbmQodGhpcy5wb3BvdmVyUmVmKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIGlzQ29udGVudFRlbXBsYXRlID0gZmFsc2U7XHJcbiAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD47XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNldXAnLCBbJyRldmVudCddKVxyXG4gIGNsaWNrT3V0c2lkZShlKTogdm9pZCB7XHJcbiAgICBjb25zdCBpc1RhcmdldEhvc3QgPSB0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudCA9PT0gZS50YXJnZXQgfHwgKHRoaXMuaG9zdFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jb250YWlucyhlLnRhcmdldCk7XHJcbiAgICBjb25zdCBpc1RhcmdldEluUG9wb3ZlciA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGUudGFyZ2V0KTtcclxuICAgIGNvbnN0IGlzVGFyZ2V0SW5EYXRlcGlja2VyID0gZS50YXJnZXQuY2xvc2VzdCgnbWF0LWRhdGVwaWNrZXItcG9wdXAnKTtcclxuICAgIGNvbnN0IGlzVGFyZ2V0SW5TZWxlY3QgPSBlLnRhcmdldC5jbG9zZXN0KCduZy1kcm9wZG93bi1wYW5lbCcpO1xyXG5cclxuICAgIGlmICghaXNUYXJnZXRIb3N0XHJcbiAgICAgICAgJiYgIWlzVGFyZ2V0SW5Qb3BvdmVyXHJcbiAgICAgICAgJiYgIWlzVGFyZ2V0SW5EYXRlcGlja2VyXHJcbiAgICAgICAgJiYgIWlzVGFyZ2V0SW5TZWxlY3RcclxuICAgICAgKSB7XHJcbiAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBwb3BvdmVyUmVmOiBEclBvcG92ZXJSZWY8VD4sXHJcbiAgKSB7IH1cclxuXHJcbn1cclxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULHdCQUF3QixFQUV4QixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxXQUFXLEVBRVgsU0FBUyxFQUNULGdCQUFnQixFQUVoQix1QkFBdUIsRUFDeEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFZaEQsTUFBTSxPQUFPLGtCQUFrQjtJQStCN0IsWUFDVSxHQUFzQixFQUN0Qix3QkFBa0QsRUFDbEQsZ0JBQWtDLEVBQ2xDLFVBQXNCLEVBQ3RCLFVBQTJCO1FBSjNCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBaEM1QixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBS3BCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztJQTRCdEIsQ0FBQztJQXhCTCxZQUFZLENBQUMsQ0FBQztRQUNaLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLFlBQVksVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQTZCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3ZLLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRSxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDdEUsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsWUFBWTtlQUNWLENBQUMsaUJBQWlCO2VBQ2xCLENBQUMsb0JBQW9CO2VBQ3JCLENBQUMsZ0JBQWdCO2VBQ2pCLENBQUMsMkJBQTJCO2VBQzVCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFDdEI7WUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQVVELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sWUFBWSxXQUFXLENBQUM7UUFFN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMzQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFrQixDQUFDLENBQUMsQ0FBQztZQUMxSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUMzRjtRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7O1lBMURGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsaVFBQTBDO2dCQUUxQyxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUM7aUJBQ3BDO2dCQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBM0JDLGlCQUFpQjtZQUVqQix3QkFBd0I7WUFReEIsZ0JBQWdCO1lBTmhCLFVBQVU7WUFZSCxZQUFZOzs7c0JBY2xCLEtBQUs7NkJBQ0wsS0FBSztvQkFDTCxLQUFLO3NCQUNMLEtBQUs7NEJBQ0wsS0FBSzsrQkFFTCxTQUFTLFNBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7MkJBSWhFLFlBQVksU0FBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBDb21wb25lbnRSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVHlwZSxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBPbkluaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBQT1BVUF9BTklNQVRJT04gfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgRHJQb3BvdmVyUmVmIH0gZnJvbSAnLi9kci1wb3BvdmVyLXJlZic7XHJcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vbW9kZWxzL3BvcG92ZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkci1wb3BvdmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHItcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHItcG9wb3Zlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3BvcG92ZXInLCBQT1BVUF9BTklNQVRJT04pLFxyXG4gIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEclBvcG92ZXJDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxUPjtcclxuICBASW5wdXQoKSBjb250ZW50Q29udGV4dDogYW55O1xyXG4gIEBJbnB1dCgpIGNsYXNzID0gJyc7XHJcbiAgQElucHV0KCkgaG9zdFJlZjogRWxlbWVudFJlZjx1bmtub3duPiB8IEhUTUxFbGVtZW50IHwgUG9pbnQ7XHJcbiAgQElucHV0KCkgbWFudWFsQ2xvc2luZzogYm9vbGVhbjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncG9wb3ZlckNvbnRhaW5lcicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIHBvcG92ZXJDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIGlzQ29udGVudFRlbXBsYXRlID0gZmFsc2U7XHJcbiAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD47XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNldXAnLCBbJyRldmVudCddKVxyXG4gIGNsaWNrT3V0c2lkZShlKTogdm9pZCB7XHJcbiAgICBjb25zdCBpc1RhcmdldEhvc3QgPSB0aGlzLmhvc3RSZWYgaW5zdGFuY2VvZiBFbGVtZW50UmVmICYmICh0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudCA9PT0gZS50YXJnZXQgfHwgKHRoaXMuaG9zdFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jb250YWlucyhlLnRhcmdldCkpO1xyXG4gICAgY29uc3QgaXNUYXJnZXRJblBvcG92ZXIgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhlLnRhcmdldCk7XHJcbiAgICBjb25zdCBpc1RhcmdldEluRGF0ZXBpY2tlciA9IGUudGFyZ2V0LmNsb3Nlc3QoJ21hdC1kYXRlcGlja2VyLXBvcHVwJyk7XHJcbiAgICBjb25zdCBpc1RhcmdldEluU2VsZWN0ID0gZS50YXJnZXQuY2xvc2VzdCgnbmctZHJvcGRvd24tcGFuZWwnKTtcclxuICAgIGNvbnN0IGlzVGFyZ2V0SW5EYXRlcGlja2VyQ29udGVudCA9IGUudGFyZ2V0LmNsb3Nlc3QoJ21hdC1kYXRlcGlja2VyLWNvbnRlbnQnKTtcclxuXHJcbiAgICBpZiAoIWlzVGFyZ2V0SG9zdFxyXG4gICAgICAgICYmICFpc1RhcmdldEluUG9wb3ZlclxyXG4gICAgICAgICYmICFpc1RhcmdldEluRGF0ZXBpY2tlclxyXG4gICAgICAgICYmICFpc1RhcmdldEluU2VsZWN0XHJcbiAgICAgICAgJiYgIWlzVGFyZ2V0SW5EYXRlcGlja2VyQ29udGVudFxyXG4gICAgICAgICYmICF0aGlzLm1hbnVhbENsb3NpbmdcclxuICAgICAgKSB7XHJcbiAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBwb3BvdmVyUmVmOiBEclBvcG92ZXJSZWY8VD4sXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzQ29udGVudFRlbXBsYXRlID0gdGhpcy5jb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XHJcblxyXG4gICAgaWYgKCF0aGlzLmlzQ29udGVudFRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudCh0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0aGlzLmNvbnRlbnQgYXMgVHlwZTxUPikpO1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLCB0aGlzLmNvbnRlbnRDb250ZXh0KTtcclxuICAgICAgdGhpcy5wb3BvdmVyQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5jb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,16 +1,10 @@
1
- import { Directive, ElementRef, EventEmitter, HostListener, Injector, Input, Output, } from '@angular/core';
2
- import { Overlay, OverlayConfig, OverlayPositionBuilder } from '@angular/cdk/overlay';
3
- import { ComponentPortal } from '@angular/cdk/portal';
4
- import { DrPopoverComponent } from './dr-popover.component';
5
- import { POPUP_POSITIONS } from '../models/constants';
1
+ import { Directive, ElementRef, EventEmitter, HostListener, Input, Output, } from '@angular/core';
6
2
  import { first } from 'rxjs/operators';
7
- import { DrPopoverRef } from './dr-popover-ref';
3
+ import { DrPopoverService } from './dr-popover.service';
8
4
  export class DrPopoverDirective {
9
- constructor(overlay, overlayPositionBuilder, elementRef, injector) {
10
- this.overlay = overlay;
11
- this.overlayPositionBuilder = overlayPositionBuilder;
5
+ constructor(elementRef, drPopoverService) {
12
6
  this.elementRef = elementRef;
13
- this.injector = injector;
7
+ this.drPopoverService = drPopoverService;
14
8
  this.contentContext = {};
15
9
  this.position = 'bottom';
16
10
  this.class = '';
@@ -18,77 +12,38 @@ export class DrPopoverDirective {
18
12
  this.popoverClose = new EventEmitter();
19
13
  this.showStateChange = new EventEmitter();
20
14
  }
21
- show() {
22
- var _a;
23
- if (this.overlayRef) {
24
- this.destroyPopover();
15
+ togglePopover() {
16
+ if (this.popoverRef) {
17
+ this.closePopover();
25
18
  }
26
19
  else {
27
20
  this.renderPopover();
28
- this.showStateChange.emit({ isShown: (_a = this.overlayRef) === null || _a === void 0 ? void 0 : _a.hasAttached() });
21
+ this.showStateChange.emit({ isShown: !!this.popoverRef });
29
22
  }
30
23
  }
31
- renderPopover() {
32
- var _a;
33
- if (((_a = this.overlayRef) === null || _a === void 0 ? void 0 : _a.hasAttached()) || !this.content)
34
- return;
35
- this.overlayRef = this.createOverlay(this.overlayConfig || {});
36
- this.drPopoverRef = new DrPopoverRef(this.overlayRef);
37
- this.drPopoverRef.onClose.pipe(first()).subscribe((res) => {
38
- var _a;
39
- this.destroyPopover();
40
- this.popoverClose.emit(res);
41
- this.showStateChange.emit({ isShown: !!((_a = this.overlayRef) === null || _a === void 0 ? void 0 : _a.hasAttached()) });
42
- });
43
- this.attachOverlayContainer();
44
- }
45
- destroyPopover() {
46
- if (this.overlayRef) {
47
- this.overlayRef.dispose();
48
- this.overlayRef = null;
49
- }
50
- if (this.contentRef) {
51
- this.contentRef.destroy();
52
- this.contentRef = null;
53
- }
54
- if (this.drPopoverRef) {
55
- this.drPopoverRef.close();
56
- this.drPopoverRef = null;
24
+ closePopover(res) {
25
+ if (this.popoverRef) {
26
+ this.popoverRef.close(res);
27
+ this.popoverRef = null;
57
28
  }
58
29
  }
59
- attachOverlayContainer() {
60
- const componentPortal = new ComponentPortal(DrPopoverComponent, null, this.createInjector(this.drPopoverRef));
61
- this.contentRef = this.overlayRef.attach(componentPortal);
62
- this.drPopoverRef.componentRef = this.contentRef;
63
- this.contentRef.instance.content = this.content;
64
- this.contentRef.instance.contentContext = this.contentContext;
65
- this.contentRef.instance.class = this.class + ' ' + this.position;
66
- this.contentRef.instance.hostRef = this.elementRef;
67
- }
68
- createOverlay(config) {
69
- const overlayConfig = this.getOverlayConfig(config);
70
- return this.overlay.create(overlayConfig);
71
- }
72
- getOverlayConfig(config) {
73
- const positionStrategy = this.overlayPositionBuilder
74
- .flexibleConnectedTo(this.elementRef)
75
- .withPositions([POPUP_POSITIONS[this.position]]);
76
- const overlayConfig = new OverlayConfig({
77
- hasBackdrop: false,
78
- panelClass: config === null || config === void 0 ? void 0 : config.panelClass,
79
- scrollStrategy: this.overlay.scrollStrategies.noop(),
80
- positionStrategy,
30
+ renderPopover() {
31
+ const popoverRef = this.popoverRef = this.drPopoverService.open(this.content, {
32
+ hostRef: this.elementRef,
33
+ overlayConfig: this.overlayConfig,
34
+ class: this.class,
35
+ manualClosing: this.manualClosing,
36
+ position: this.position,
37
+ contentContext: this.contentContext,
38
+ });
39
+ popoverRef.onClose.pipe(first()).subscribe((res) => {
40
+ this.closePopover();
41
+ this.popoverClose.emit(res);
42
+ this.showStateChange.emit({ isShown: !!this.popoverRef });
81
43
  });
82
- return overlayConfig;
83
- }
84
- createInjector(previewOverlayRef) {
85
- const injectionTokens = [
86
- { provide: DrPopoverRef, useValue: previewOverlayRef },
87
- ];
88
- return Injector.create({ providers: injectionTokens, parent: this.injector });
89
44
  }
90
45
  ngOnDestroy() {
91
- this.destroyPopover();
46
+ this.closePopover();
92
47
  }
93
48
  }
94
49
  DrPopoverDirective.decorators = [
@@ -97,10 +52,8 @@ DrPopoverDirective.decorators = [
97
52
  },] }
98
53
  ];
99
54
  DrPopoverDirective.ctorParameters = () => [
100
- { type: Overlay },
101
- { type: OverlayPositionBuilder },
102
55
  { type: ElementRef },
103
- { type: Injector }
56
+ { type: DrPopoverService }
104
57
  ];
105
58
  DrPopoverDirective.propDecorators = {
106
59
  content: [{ type: Input, args: ['drPopover',] }],
@@ -108,8 +61,9 @@ DrPopoverDirective.propDecorators = {
108
61
  position: [{ type: Input, args: ['drPopoverPosition',] }],
109
62
  class: [{ type: Input, args: ['drPopoverClass',] }],
110
63
  overlayConfig: [{ type: Input, args: ['drPopoverOverlayConfig',] }],
64
+ manualClosing: [{ type: Input, args: ['drPopoverManualClosing',] }],
111
65
  popoverClose: [{ type: Output, args: ['drPopoverClose',] }],
112
66
  showStateChange: [{ type: Output, args: ['drPopoverShowStateChange',] }],
113
- show: [{ type: HostListener, args: ['click',] }]
67
+ togglePopover: [{ type: HostListener, args: ['click',] }]
114
68
  };
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFFTCxNQUFNLEdBSVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFLaEQsTUFBTSxPQUFPLGtCQUFrQjtJQXNCN0IsWUFBb0IsT0FBZ0IsRUFDaEIsc0JBQThDLEVBQzlDLFVBQXNCLEVBQ3RCLFFBQWtCO1FBSGxCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFyQlgsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFFM0IsYUFBUSxHQUFlLFFBQVEsQ0FBQztRQUVuQyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRVgsa0JBQWEsR0FBa0IsRUFBRSxDQUFDO1FBRXpDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU3QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUF3QixDQUFDO0lBWTNGLENBQUM7SUFHTCxJQUFJOztRQUNGLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUN4RTtJQUNILENBQUM7SUFFTyxhQUFhOztRQUNuQixJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxXQUFXLEVBQUUsS0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUU1RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUvRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksWUFBWSxDQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTs7WUFDeEQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLFVBQVUsMENBQUUsV0FBVyxFQUFFLENBQUEsRUFBRSxDQUFDLENBQUM7UUFDM0UsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUN4QjtRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxDQUF3QixrQkFBa0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNySSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUF3QixlQUFlLENBQUMsQ0FBQztRQUVqRixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBRWpELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzlELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ2xFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3JELENBQUM7SUFFTyxhQUFhLENBQUMsTUFBcUI7UUFDekMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE1BQXFCO1FBQzVDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQjthQUMvQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ3BDLGFBQWEsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXJELE1BQU0sYUFBYSxHQUFHLElBQUksYUFBYSxDQUFDO1lBQ3BDLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFVBQVUsRUFBRSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsVUFBVTtZQUM5QixjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7WUFDcEQsZ0JBQWdCO1NBQ25CLENBQUMsQ0FBQztRQUVILE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxjQUFjLENBQUMsaUJBQWtDO1FBQ3ZELE1BQU0sZUFBZSxHQUFxQjtZQUN0QyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFO1NBQ3pELENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs7WUFsSEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2FBQ3hCOzs7WUFWUSxPQUFPO1lBQWlCLHNCQUFzQjtZQVhyRCxVQUFVO1lBR1YsUUFBUTs7O3NCQXFCUCxLQUFLLFNBQUMsV0FBVzs2QkFFakIsS0FBSyxTQUFDLGtCQUFrQjt1QkFFeEIsS0FBSyxTQUFDLG1CQUFtQjtvQkFFekIsS0FBSyxTQUFDLGdCQUFnQjs0QkFFdEIsS0FBSyxTQUFDLHdCQUF3QjsyQkFFOUIsTUFBTSxTQUFDLGdCQUFnQjs4QkFFdkIsTUFBTSxTQUFDLDBCQUEwQjttQkFjakMsWUFBWSxTQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudFJlZixcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgU3RhdGljUHJvdmlkZXIsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVHlwZSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVBvc2l0aW9uQnVpbGRlciwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IERyUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vZHItcG9wb3Zlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQT1BVUF9QT1NJVElPTlMgfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEVsUG9zaXRpb24gfSBmcm9tICcuLy4uL21vZGVscy9kcm9wZG93bic7XHJcbmltcG9ydCB7IERyUG9wb3ZlclJlZiB9IGZyb20gJy4vZHItcG9wb3Zlci1yZWYnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZHJQb3BvdmVyXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIERyUG9wb3ZlckRpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIE9uRGVzdHJveSAge1xyXG5cclxuICBASW5wdXQoJ2RyUG9wb3ZlcicpIGNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4gfCBUeXBlPFQ+O1xyXG5cclxuICBASW5wdXQoJ2RyUG9wb3ZlckNvbnRleHQnKSBjb250ZW50Q29udGV4dDogT2JqZWN0ID0ge307XHJcblxyXG4gIEBJbnB1dCgnZHJQb3BvdmVyUG9zaXRpb24nKSBwb3NpdGlvbjogRWxQb3NpdGlvbiA9ICdib3R0b20nO1xyXG5cclxuICBASW5wdXQoJ2RyUG9wb3ZlckNsYXNzJykgY2xhc3M6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoJ2RyUG9wb3Zlck92ZXJsYXlDb25maWcnKSBvdmVybGF5Q29uZmlnOiBPdmVybGF5Q29uZmlnID0ge307XHJcblxyXG4gIEBPdXRwdXQoJ2RyUG9wb3ZlckNsb3NlJykgcG9wb3ZlckNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoJ2RyUG9wb3ZlclNob3dTdGF0ZUNoYW5nZScpIHNob3dTdGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpc1Nob3duOiBib29sZWFuIH0+KCk7XHJcblxyXG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcclxuXHJcbiAgcHJpdmF0ZSBjb250ZW50UmVmOiBDb21wb25lbnRSZWY8RHJQb3BvdmVyQ29tcG9uZW50PFQ+PjtcclxuXHJcbiAgcHJpdmF0ZSBkclBvcG92ZXJSZWY6IERyUG9wb3ZlclJlZjxUPjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgb3ZlcmxheVBvc2l0aW9uQnVpbGRlcjogT3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcclxuICAgICAgICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgKSB7IH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxyXG4gIHNob3coKSB7XHJcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XHJcbiAgICAgIHRoaXMuZGVzdHJveVBvcG92ZXIoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVuZGVyUG9wb3ZlcigpO1xyXG4gICAgICB0aGlzLnNob3dTdGF0ZUNoYW5nZS5lbWl0KHsgaXNTaG93bjogdGhpcy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW5kZXJQb3BvdmVyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKSB8fCAhdGhpcy5jb250ZW50KSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5KHRoaXMub3ZlcmxheUNvbmZpZyB8fCB7fSk7XHJcblxyXG4gICAgdGhpcy5kclBvcG92ZXJSZWYgPSBuZXcgRHJQb3BvdmVyUmVmPFQ+KHRoaXMub3ZlcmxheVJlZik7XHJcblxyXG4gICAgdGhpcy5kclBvcG92ZXJSZWYub25DbG9zZS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMuZGVzdHJveVBvcG92ZXIoKTtcclxuICAgICAgdGhpcy5wb3BvdmVyQ2xvc2UuZW1pdChyZXMpO1xyXG4gICAgICB0aGlzLnNob3dTdGF0ZUNoYW5nZS5lbWl0KHsgaXNTaG93bjogISF0aGlzLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmF0dGFjaE92ZXJsYXlDb250YWluZXIoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVzdHJveVBvcG92ZXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XHJcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XHJcbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jb250ZW50UmVmKSB7XHJcbiAgICAgIHRoaXMuY29udGVudFJlZi5kZXN0cm95KCk7XHJcbiAgICAgIHRoaXMuY29udGVudFJlZiA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kclBvcG92ZXJSZWYpIHtcclxuICAgICAgdGhpcy5kclBvcG92ZXJSZWYuY2xvc2UoKTtcclxuICAgICAgdGhpcy5kclBvcG92ZXJSZWYgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhdHRhY2hPdmVybGF5Q29udGFpbmVyKCk6IHZvaWQge1xyXG4gICAgY29uc3QgY29tcG9uZW50UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbDxEclBvcG92ZXJDb21wb25lbnQ8VD4+KERyUG9wb3ZlckNvbXBvbmVudCwgbnVsbCwgdGhpcy5jcmVhdGVJbmplY3Rvcih0aGlzLmRyUG9wb3ZlclJlZikpO1xyXG4gICAgdGhpcy5jb250ZW50UmVmID0gdGhpcy5vdmVybGF5UmVmLmF0dGFjaDxEclBvcG92ZXJDb21wb25lbnQ8VD4+KGNvbXBvbmVudFBvcnRhbCk7XHJcblxyXG4gICAgdGhpcy5kclBvcG92ZXJSZWYuY29tcG9uZW50UmVmID0gdGhpcy5jb250ZW50UmVmO1xyXG5cclxuICAgIHRoaXMuY29udGVudFJlZi5pbnN0YW5jZS5jb250ZW50ID0gdGhpcy5jb250ZW50O1xyXG4gICAgdGhpcy5jb250ZW50UmVmLmluc3RhbmNlLmNvbnRlbnRDb250ZXh0ID0gdGhpcy5jb250ZW50Q29udGV4dDtcclxuICAgIHRoaXMuY29udGVudFJlZi5pbnN0YW5jZS5jbGFzcyA9IHRoaXMuY2xhc3MgKyAnICcgKyB0aGlzLnBvc2l0aW9uO1xyXG4gICAgdGhpcy5jb250ZW50UmVmLmluc3RhbmNlLmhvc3RSZWYgPSB0aGlzLmVsZW1lbnRSZWY7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkoY29uZmlnOiBPdmVybGF5Q29uZmlnKTogT3ZlcmxheVJlZiB7XHJcbiAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gdGhpcy5nZXRPdmVybGF5Q29uZmlnKGNvbmZpZyk7XHJcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0T3ZlcmxheUNvbmZpZyhjb25maWc6IE92ZXJsYXlDb25maWcpOiBPdmVybGF5Q29uZmlnIHtcclxuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlQb3NpdGlvbkJ1aWxkZXJcclxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmVsZW1lbnRSZWYpXHJcbiAgICAgICAgLndpdGhQb3NpdGlvbnMoW1BPUFVQX1BPU0lUSU9OU1t0aGlzLnBvc2l0aW9uXV0pO1xyXG5cclxuICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XHJcbiAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxyXG4gICAgICAgIHBhbmVsQ2xhc3M6IGNvbmZpZz8ucGFuZWxDbGFzcyxcclxuICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMubm9vcCgpLFxyXG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gb3ZlcmxheUNvbmZpZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlSW5qZWN0b3IocHJldmlld092ZXJsYXlSZWY6IERyUG9wb3ZlclJlZjxUPik6IEluamVjdG9yIHtcclxuICAgIGNvbnN0IGluamVjdGlvblRva2VuczogU3RhdGljUHJvdmlkZXJbXSA9IFtcclxuICAgICAgICB7IHByb3ZpZGU6IERyUG9wb3ZlclJlZiwgdXNlVmFsdWU6IHByZXZpZXdPdmVybGF5UmVmIH0sXHJcbiAgICBdO1xyXG5cclxuICAgIHJldHVybiBJbmplY3Rvci5jcmVhdGUoeyBwcm92aWRlcnM6IGluamVjdGlvblRva2VucywgcGFyZW50OiB0aGlzLmluamVjdG9yIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3lQb3BvdmVyKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFLeEQsTUFBTSxPQUFPLGtCQUFrQjtJQW9CN0IsWUFBb0IsVUFBc0IsRUFDdEIsZ0JBQWtDO1FBRGxDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWpCM0IsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFFM0IsYUFBUSxHQUFlLFFBQVEsQ0FBQztRQUVuQyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRVgsa0JBQWEsR0FBa0IsRUFBRSxDQUFDO1FBSXpDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU3QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUF3QixDQUFDO0lBTTNGLENBQUM7SUFHTCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsR0FBUztRQUNwQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUM1RSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDeEIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztTQUNwQyxDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7WUEvREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2FBQ3hCOzs7WUFqQkMsVUFBVTtZQWFILGdCQUFnQjs7O3NCQU90QixLQUFLLFNBQUMsV0FBVzs2QkFFakIsS0FBSyxTQUFDLGtCQUFrQjt1QkFFeEIsS0FBSyxTQUFDLG1CQUFtQjtvQkFFekIsS0FBSyxTQUFDLGdCQUFnQjs0QkFFdEIsS0FBSyxTQUFDLHdCQUF3Qjs0QkFFOUIsS0FBSyxTQUFDLHdCQUF3QjsyQkFFOUIsTUFBTSxTQUFDLGdCQUFnQjs4QkFFdkIsTUFBTSxTQUFDLDBCQUEwQjs0QkFRakMsWUFBWSxTQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBUeXBlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5Q29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRWxQb3NpdGlvbiB9IGZyb20gJy4vLi4vbW9kZWxzL2Ryb3Bkb3duJztcclxuaW1wb3J0IHsgRHJQb3BvdmVyUmVmIH0gZnJvbSAnLi9kci1wb3BvdmVyLXJlZic7XHJcbmltcG9ydCB7IERyUG9wb3ZlclNlcnZpY2UgfSBmcm9tICcuL2RyLXBvcG92ZXIuc2VydmljZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tkclBvcG92ZXJdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJQb3BvdmVyRGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgT25EZXN0cm95ICB7XHJcblxyXG4gIEBJbnB1dCgnZHJQb3BvdmVyJykgY29udGVudDogVGVtcGxhdGVSZWY8YW55PiB8IFR5cGU8VD47XHJcblxyXG4gIEBJbnB1dCgnZHJQb3BvdmVyQ29udGV4dCcpIGNvbnRlbnRDb250ZXh0OiBPYmplY3QgPSB7fTtcclxuXHJcbiAgQElucHV0KCdkclBvcG92ZXJQb3NpdGlvbicpIHBvc2l0aW9uOiBFbFBvc2l0aW9uID0gJ2JvdHRvbSc7XHJcblxyXG4gIEBJbnB1dCgnZHJQb3BvdmVyQ2xhc3MnKSBjbGFzczogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgnZHJQb3BvdmVyT3ZlcmxheUNvbmZpZycpIG92ZXJsYXlDb25maWc6IE92ZXJsYXlDb25maWcgPSB7fTtcclxuXHJcbiAgQElucHV0KCdkclBvcG92ZXJNYW51YWxDbG9zaW5nJykgbWFudWFsQ2xvc2luZzogYm9vbGVhbjtcclxuXHJcbiAgQE91dHB1dCgnZHJQb3BvdmVyQ2xvc2UnKSBwb3BvdmVyQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgnZHJQb3BvdmVyU2hvd1N0YXRlQ2hhbmdlJykgc2hvd1N0YXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGlzU2hvd246IGJvb2xlYW4gfT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBwb3BvdmVyUmVmOiBEclBvcG92ZXJSZWY8VD47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICAgICAgICBwcml2YXRlIGRyUG9wb3ZlclNlcnZpY2U6IERyUG9wb3ZlclNlcnZpY2UsXHJcbiAgKSB7IH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxyXG4gIHRvZ2dsZVBvcG92ZXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wb3BvdmVyUmVmKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VQb3BvdmVyKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlbmRlclBvcG92ZXIoKTtcclxuICAgICAgdGhpcy5zaG93U3RhdGVDaGFuZ2UuZW1pdCh7IGlzU2hvd246ICEhdGhpcy5wb3BvdmVyUmVmIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VQb3BvdmVyKHJlcz86IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucG9wb3ZlclJlZikge1xyXG4gICAgICB0aGlzLnBvcG92ZXJSZWYuY2xvc2UocmVzKTtcclxuICAgICAgdGhpcy5wb3BvdmVyUmVmID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVuZGVyUG9wb3ZlcigpOiB2b2lkIHtcclxuICAgIGNvbnN0IHBvcG92ZXJSZWYgPSB0aGlzLnBvcG92ZXJSZWYgPSB0aGlzLmRyUG9wb3ZlclNlcnZpY2Uub3Blbih0aGlzLmNvbnRlbnQsIHtcclxuICAgICAgaG9zdFJlZjogdGhpcy5lbGVtZW50UmVmLFxyXG4gICAgICBvdmVybGF5Q29uZmlnOiB0aGlzLm92ZXJsYXlDb25maWcsXHJcbiAgICAgIGNsYXNzOiB0aGlzLmNsYXNzLFxyXG4gICAgICBtYW51YWxDbG9zaW5nOiB0aGlzLm1hbnVhbENsb3NpbmcsXHJcbiAgICAgIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uLFxyXG4gICAgICBjb250ZW50Q29udGV4dDogdGhpcy5jb250ZW50Q29udGV4dCxcclxuICAgIH0pO1xyXG5cclxuICAgIHBvcG92ZXJSZWYub25DbG9zZS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMuY2xvc2VQb3BvdmVyKCk7XHJcbiAgICAgIHRoaXMucG9wb3ZlckNsb3NlLmVtaXQocmVzKTtcclxuICAgICAgdGhpcy5zaG93U3RhdGVDaGFuZ2UuZW1pdCh7IGlzU2hvd246ICEhdGhpcy5wb3BvdmVyUmVmIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VQb3BvdmVyKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==