adb-shared 2.0.18 → 2.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,12 @@
1
- import { Directive, HostBinding, HostListener } from "@angular/core";
1
+ import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "./adb-dropdown.service";
4
4
  export class AdbDropdownDirective {
5
5
  constructor(elementRef, adbDropdownService) {
6
6
  this.elementRef = elementRef;
7
7
  this.adbDropdownService = adbDropdownService;
8
+ this.adbDropdown = new EventEmitter();
9
+ this.insideClick = false;
8
10
  this.dataToggle = "dropdown";
9
11
  this.haspPopup = true;
10
12
  this.expanded = false;
@@ -26,13 +28,15 @@ export class AdbDropdownDirective {
26
28
  menu.classList.remove('show');
27
29
  }
28
30
  else {
31
+ this.adbDropdown.emit();
29
32
  menu.classList.add('show');
30
33
  }
31
34
  }
32
35
  }
33
36
  onCheckOutSideClick(target) {
34
37
  if (this.adbDropdownService.currentMenuId === this.id) {
35
- const clickedInside = this.elementRef.nativeElement.contains(target);
38
+ const parent = this.insideClick ? this.elementRef.nativeElement.parentNode : this.elementRef.nativeElement;
39
+ const clickedInside = parent.contains(target);
36
40
  if (!clickedInside) {
37
41
  const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');
38
42
  parent?.classList.remove('show');
@@ -43,18 +47,28 @@ export class AdbDropdownDirective {
43
47
  parent?.classList.remove('show');
44
48
  }
45
49
  }
50
+ close() {
51
+ const node = this.elementRef.nativeElement.parentNode;
52
+ const menu = node.querySelector('.dropdown-menu');
53
+ menu.classList.remove('show');
54
+ }
46
55
  getId() {
47
56
  return '' + Math.floor(Math.random() * Date.now());
48
57
  }
49
58
  }
50
59
  /** @nocollapse */ AdbDropdownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownDirective, deps: [{ token: i0.ElementRef }, { token: i1.AdbDropdownService }], target: i0.ɵɵFactoryTarget.Directive });
51
- /** @nocollapse */ AdbDropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AdbDropdownDirective, selector: "[adbDropdown]", host: { listeners: { "click": "onClick()", "document:click": "onCheckOutSideClick($event.target)" }, properties: { "id": "this.id", "attr.data-toggle": "this.dataToggle", "attr.aria-haspopup": "this.haspPopup", "attr.aria-expanded": "this.expanded" } }, ngImport: i0 });
60
+ /** @nocollapse */ AdbDropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AdbDropdownDirective, selector: "[adbDropdown]", inputs: { insideClick: "insideClick" }, outputs: { adbDropdown: "adbDropdown" }, host: { listeners: { "click": "onClick()", "document:click": "onCheckOutSideClick($event.target)" }, properties: { "id": "this.id", "attr.data-toggle": "this.dataToggle", "attr.aria-haspopup": "this.haspPopup", "attr.aria-expanded": "this.expanded" } }, exportAs: ["adbDropdown"], ngImport: i0 });
52
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownDirective, decorators: [{
53
62
  type: Directive,
54
63
  args: [{
55
- selector: '[adbDropdown]'
64
+ selector: '[adbDropdown]',
65
+ exportAs: 'adbDropdown'
56
66
  }]
57
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.AdbDropdownService }]; }, propDecorators: { id: [{
67
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.AdbDropdownService }]; }, propDecorators: { adbDropdown: [{
68
+ type: Output
69
+ }], insideClick: [{
70
+ type: Input
71
+ }], id: [{
58
72
  type: HostBinding,
59
73
  args: ['id']
60
74
  }], dataToggle: [{
@@ -73,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
73
87
  type: HostListener,
74
88
  args: ['document:click', ['$event.target']]
75
89
  }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRyb3Bkb3duLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItZHJvcGRvd24vYWRiLWRyb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU1qRixNQUFNLE9BQU8sb0JBQW9CO0lBRTdCLFlBQ1ksVUFBc0IsRUFDdEIsa0JBQXNDO1FBRHRDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVFsRCxlQUFVLEdBQUcsVUFBVSxDQUFDO1FBR3hCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFJakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQWRiLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFpQkQsT0FBTztRQUNILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNoRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFDdEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzVELElBQUksS0FBSyxHQUFHLDhCQUE4QixZQUFZLEVBQUUsWUFBWSxHQUFHLENBQUMsV0FBVyxDQUFDO1FBQ3BGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRCxJQUFJLElBQUksRUFBRTtZQUNOLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7WUFDcEUsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO2dCQUMvQyxLQUFLLEdBQUcsS0FBSyxHQUFHLDJCQUEyQixDQUFDO2FBQy9DO1lBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDakM7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDOUI7U0FDSjtJQUNMLENBQUM7SUFHRCxtQkFBbUIsQ0FBQyxNQUFXO1FBQzNCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ25ELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUNoQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3hGLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3BDO1NBQ0o7YUFBTTtZQUNILE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUN4RixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNwQztJQUNMLENBQUM7SUFFTyxLQUFLO1FBQ1QsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7SUFDdEQsQ0FBQzs7b0lBM0RRLG9CQUFvQjt3SEFBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7aUJBQzVCO2tJQVVHLEVBQUU7c0JBREQsV0FBVzt1QkFBQyxJQUFJO2dCQUlqQixVQUFVO3NCQURULFdBQVc7dUJBQUMsa0JBQWtCO2dCQUkvQixTQUFTO3NCQURSLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUtqQyxRQUFRO3NCQURQLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUtqQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFzQnJCLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFkYkRyb3Bkb3duU2VydmljZSB9IGZyb20gXCIuL2FkYi1kcm9wZG93bi5zZXJ2aWNlXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2FkYkRyb3Bkb3duXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkYkRyb3Bkb3duRGlyZWN0aXZlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBhZGJEcm9wZG93blNlcnZpY2U6IEFkYkRyb3Bkb3duU2VydmljZSkge1xyXG4gICAgICAgIHRoaXMuaWQgPSB0aGlzLmdldElkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdpZCcpXHJcbiAgICBpZDogc3RyaW5nO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXRvZ2dsZScpXHJcbiAgICBkYXRhVG9nZ2xlID0gXCJkcm9wZG93blwiO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhhc3BvcHVwJylcclxuICAgIGhhc3BQb3B1cCA9IHRydWU7XHJcblxyXG5cclxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWV4cGFuZGVkJylcclxuICAgIGV4cGFuZGVkID0gZmFsc2U7XHJcblxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcclxuICAgIG9uQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hZGJEcm9wZG93blNlcnZpY2UuY3VycmVudE1lbnVJZCA9IHRoaXMuaWQ7XHJcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGU7XHJcbiAgICAgICAgY29uc3QgdG9nZ2xlQnV0dG9uID0gbm9kZS5xdWVyeVNlbGVjdG9yKCcuZHJvcGRvd24tdG9nZ2xlJyk7XHJcbiAgICAgICAgbGV0IHN0eWxlID0gYHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwcHgsICR7dG9nZ2xlQnV0dG9uPy5jbGllbnRIZWlnaHQgKyAxfXB4LCAwcHgpO2A7XHJcbiAgICAgICAgY29uc3QgbWVudSA9IG5vZGUucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLW1lbnUnKTtcclxuICAgICAgICBpZiAobWVudSkge1xyXG4gICAgICAgICAgICB0aGlzLmFkYkRyb3Bkb3duU2VydmljZS5jdXJyZW50TWVudSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICBpZiAobWVudS5jbGFzc0xpc3Q/LmNvbnRhaW5zKCdkcm9wZG93bi1tZW51LWVuZCcpKSB7XHJcbiAgICAgICAgICAgICAgICBzdHlsZSA9IHN0eWxlICsgJ2luc2V0OiAwcHggMHB4IGF1dG8gYXV0bzsnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG1lbnUuc2V0QXR0cmlidXRlKCdzdHlsZScsIHN0eWxlKTtcclxuICAgICAgICAgICAgaWYgKG1lbnUuY2xhc3NMaXN0LmNvbnRhaW5zKCdzaG93JykpIHtcclxuICAgICAgICAgICAgICAgIG1lbnUuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbWVudS5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcclxuICAgIG9uQ2hlY2tPdXRTaWRlQ2xpY2sodGFyZ2V0OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5hZGJEcm9wZG93blNlcnZpY2UuY3VycmVudE1lbnVJZCA9PT0gdGhpcy5pZCkge1xyXG4gICAgICAgICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KTtcclxuICAgICAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3IoJy5kcm9wZG93bi1tZW51Jyk7XHJcbiAgICAgICAgICAgICAgICBwYXJlbnQ/LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGUucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLW1lbnUnKTtcclxuICAgICAgICAgICAgcGFyZW50Py5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SWQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gJycgKyBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBEYXRlLm5vdygpKVxyXG4gICAgfVxyXG59Il19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRyb3Bkb3duLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItZHJvcGRvd24vYWRiLWRyb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU85RyxNQUFNLE9BQU8sb0JBQW9CO0lBRTdCLFlBQ1ksVUFBc0IsRUFDdEIsa0JBQXNDO1FBRHRDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUl4QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFNN0IsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUd4QixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBSWpCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFqQmIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQW1CRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2hELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUN0RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDNUQsSUFBSSxLQUFLLEdBQUcsOEJBQThCLFlBQVksRUFBRSxZQUFZLEdBQUcsQ0FBQyxXQUFXLENBQUM7UUFDcEYsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxn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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBZGJEcm9wZG93blNlcnZpY2UgfSBmcm9tIFwiLi9hZGItZHJvcGRvd24uc2VydmljZVwiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1thZGJEcm9wZG93bl0nLFxyXG4gICAgZXhwb3J0QXM6ICdhZGJEcm9wZG93bidcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkYkRyb3Bkb3duRGlyZWN0aXZlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBhZGJEcm9wZG93blNlcnZpY2U6IEFkYkRyb3Bkb3duU2VydmljZSkge1xyXG4gICAgICAgIHRoaXMuaWQgPSB0aGlzLmdldElkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpIGFkYkRyb3Bkb3duID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQElucHV0KCkgaW5zaWRlQ2xpY2sgPSBmYWxzZTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2lkJylcclxuICAgIGlkOiBzdHJpbmc7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdG9nZ2xlJylcclxuICAgIGRhdGFUb2dnbGUgPSBcImRyb3Bkb3duXCI7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGFzcG9wdXAnKVxyXG4gICAgaGFzcFBvcHVwID0gdHJ1ZTtcclxuXHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxyXG4gICAgZXhwYW5kZWQgPSBmYWxzZTtcclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXHJcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYWRiRHJvcGRvd25TZXJ2aWNlLmN1cnJlbnRNZW51SWQgPSB0aGlzLmlkO1xyXG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlO1xyXG4gICAgICAgIGNvbnN0IHRvZ2dsZUJ1dHRvbiA9IG5vZGUucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLXRvZ2dsZScpO1xyXG4gICAgICAgIGxldCBzdHlsZSA9IGB0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMHB4LCAke3RvZ2dsZUJ1dHRvbj8uY2xpZW50SGVpZ2h0ICsgMX1weCwgMHB4KTtgO1xyXG4gICAgICAgIGNvbnN0IG1lbnUgPSBub2RlLnF1ZXJ5U2VsZWN0b3IoJy5kcm9wZG93bi1tZW51Jyk7XHJcbiAgICAgICAgaWYgKG1lbnUpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGJEcm9wZG93blNlcnZpY2UuY3VycmVudE1lbnUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgICAgICAgICAgaWYgKG1lbnUuY2xhc3NMaXN0Py5jb250YWlucygnZHJvcGRvd24tbWVudS1lbmQnKSkge1xyXG4gICAgICAgICAgICAgICAgc3R5bGUgPSBzdHlsZSArICdpbnNldDogMHB4IDBweCBhdXRvIGF1dG87JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBtZW51LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCBzdHlsZSk7XHJcbiAgICAgICAgICAgIGlmIChtZW51LmNsYXNzTGlzdC5jb250YWlucygnc2hvdycpKSB7XHJcbiAgICAgICAgICAgICAgICBtZW51LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWRiRHJvcGRvd24uZW1pdCgpO1xyXG4gICAgICAgICAgICAgICAgbWVudS5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcclxuICAgIG9uQ2hlY2tPdXRTaWRlQ2xpY2sodGFyZ2V0OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5hZGJEcm9wZG93blNlcnZpY2UuY3VycmVudE1lbnVJZCA9PT0gdGhpcy5pZCkge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmluc2lkZUNsaWNrP3RoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGU6dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSBwYXJlbnQuY29udGFpbnModGFyZ2V0KTtcclxuICAgICAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3IoJy5kcm9wZG93bi1tZW51Jyk7XHJcbiAgICAgICAgICAgICAgICBwYXJlbnQ/LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGUucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLW1lbnUnKTtcclxuICAgICAgICAgICAgcGFyZW50Py5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlO1xyXG4gICAgICAgIGNvbnN0IG1lbnUgPSBub2RlLnF1ZXJ5U2VsZWN0b3IoJy5kcm9wZG93bi1tZW51Jyk7XHJcbiAgICAgICAgbWVudS5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRJZCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAnJyArIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIERhdGUubm93KCkpXHJcbiAgICB9XHJcbn0iXX0=
@@ -1,6 +1,6 @@
1
1
  import { formatDate } from "@angular/common";
2
2
  import { Directive, forwardRef, HostBinding, HostListener, Input } from "@angular/core";
3
- import { NG_VALUE_ACCESSOR, } from "@angular/forms";
3
+ import { NG_VALUE_ACCESSOR } from "@angular/forms";
4
4
  import { isValid, parseISO } from "date-fns";
5
5
  import { Subscription } from "rxjs";
6
6
  import { AdbDatePickerComponent } from "./adb-date-picker.component";
@@ -17,7 +17,6 @@ export class AdbDatePickerDirective {
17
17
  this.autocomplete = 'off';
18
18
  this.subscriptions = new Subscription();
19
19
  this.format = 'yyyy-MM-dd';
20
- this.placeholder = this.format;
21
20
  this.settings = null;
22
21
  //ControlValueAccessor
23
22
  this.onChange = () => { };
@@ -55,6 +54,12 @@ export class AdbDatePickerDirective {
55
54
  if (event.key === 'Tab') {
56
55
  this.onHide();
57
56
  }
57
+ else if (event.key === 'Backspace') {
58
+ this.initialDate = null;
59
+ this.renderer.setProperty(this.elementRef.nativeElement, 'value', null);
60
+ this.onChange();
61
+ this.onHide();
62
+ }
58
63
  else {
59
64
  event.preventDefault();
60
65
  }
@@ -117,7 +122,7 @@ export class AdbDatePickerDirective {
117
122
  }
118
123
  }
119
124
  /** @nocollapse */ AdbDatePickerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.AdbDatePickerService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
120
- /** @nocollapse */ AdbDatePickerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AdbDatePickerDirective, selector: "input[adbDatepicker]", inputs: { format: "format", toLeft: "toLeft", settings: "settings" }, host: { listeners: { "click": "onClick()", "keyup.esc": "onHide()", "keydown": "handleKeyboardEvent($event)", "document:click": "onCheckOutSideClick($event.target)" }, properties: { "autocomplete": "this.autocomplete", "placeholder": "this.placeholder" } }, providers: [{
125
+ /** @nocollapse */ AdbDatePickerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AdbDatePickerDirective, selector: "input[adbDatepicker]", inputs: { format: "format", toLeft: "toLeft", settings: "settings" }, host: { listeners: { "click": "onClick()", "keyup.esc": "onHide()", "keydown": "handleKeyboardEvent($event)", "document:click": "onCheckOutSideClick($event.target)" }, properties: { "autocomplete": "this.autocomplete" } }, providers: [{
121
126
  provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => AdbDatePickerDirective)),
122
127
  multi: true
123
128
  }], ngImport: i0 });
@@ -135,9 +140,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
135
140
  args: ['autocomplete']
136
141
  }], format: [{
137
142
  type: Input
138
- }], placeholder: [{
139
- type: HostBinding,
140
- args: ['placeholder']
141
143
  }], toLeft: [{
142
144
  type: Input
143
145
  }], settings: [{
@@ -155,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
155
157
  type: HostListener,
156
158
  args: ['document:click', ['$event.target']]
157
159
  }] } });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRhdGUtcGlja2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9hZGItZGF0ZS1waWNrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFjLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBa0QsTUFBTSxlQUFlLENBQUM7QUFDcEosT0FBTyxFQUF3RCxpQkFBaUIsR0FBZ0MsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2SSxPQUFPLEVBQUUsT0FBTyxFQUFTLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBVXJFLE1BQU0sT0FBTyxzQkFBc0I7SUFVL0IsWUFDWSxnQkFBa0MsRUFDbEMsUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsb0JBQTBDLEVBQzNDLFNBQTJCO1FBSjFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDM0MsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFkVCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsV0FBTSxHQUFHLFlBQVksQ0FBQztRQUNILGdCQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUU3QyxhQUFRLEdBQXlELElBQUksQ0FBQztRQTRFL0Usc0JBQXNCO1FBQ3RCLGFBQVEsR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUIsY0FBUyxHQUFRLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQW5FM0IsQ0FBQztJQUVELFFBQVE7SUFFUixDQUFDO0lBR0QsT0FBTztRQUNILElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRTtZQUNuQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQy9DO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBeUIsc0JBQXNCLENBQUMsQ0FBQztRQUN0RyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNoRCxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QixPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzlCLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzdILElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUNoRCxDQUFDO0lBR0QsTUFBTTtRQUNGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUdELG1CQUFtQixDQUFDLEtBQW9CO1FBQ3BDLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxLQUFLLEVBQUU7WUFDckIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2pCO2FBQUk7WUFDRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDMUI7SUFDTCxDQUFDO0lBSUQsbUJBQW1CLENBQUMsTUFBVztRQUMzQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQztRQUNuRyxJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksYUFBYSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxFQUFFO2dCQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRTtvQkFDdkMsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDckQsSUFBSSxDQUFDLGFBQWEsRUFBRTt3QkFDaEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO3FCQUNqQjtpQkFDSjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQU1ELFVBQVUsQ0FBQyxLQUFvQjtRQUMzQixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxXQUFXLEdBQUcsc0JBQXNCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2FBQzVJO1NBQ0o7YUFBTTtZQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztTQUN6RTtJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBb0I7UUFDakMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDM0IsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQzFCLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzFCO2lCQUFNO2dCQUNILE9BQU8sSUFBSSxDQUFDO2FBQ2Y7U0FDSjthQUFNLElBQUksS0FBSyxZQUFZLElBQUksRUFBRTtZQUM5QixPQUFPLEtBQUssQ0FBQztTQUNoQjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFTyxLQUFLO1FBQ1QsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7SUFDdEQsQ0FBQzs7c0lBOUhRLHNCQUFzQjswSEFBdEIsc0JBQXNCLHVYQUxwQixDQUFDO1lBQ1IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLEVBQUM7WUFDakYsS0FBSyxFQUFFLElBQUk7U0FDZCxDQUFDOzJGQUVPLHNCQUFzQjtrQkFQbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxTQUFTLEVBQUUsQ0FBQzs0QkFDUixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsdUJBQXVCLEVBQUM7NEJBQ2pGLEtBQUssRUFBRSxJQUFJO3lCQUNkLENBQUM7aUJBQ0w7ME5BRWdDLFlBQVk7c0JBQXhDLFdBQVc7dUJBQUMsY0FBYztnQkFFbEIsTUFBTTtzQkFBZCxLQUFLO2dCQUNzQixXQUFXO3NCQUF0QyxXQUFXO3VCQUFDLGFBQWE7Z0JBQ2pCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQWtCTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkF3QnJCLE1BQU07c0JBREwsWUFBWTt1QkFBQyxXQUFXO2dCQVF6QixtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVduQyxtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgUmVuZGVyZXIyLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciwgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7IGlzVmFsaWQsIHBhcnNlLCBwYXJzZUlTTyB9IGZyb20gXCJkYXRlLWZuc1wiO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBBZGJEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSBcIi4vYWRiLWRhdGUtcGlja2VyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBZGJEYXRlUGlja2VyU2VydmljZSB9IGZyb20gXCIuL2FkYi1kYXRlLXBpY2tlci5zZXJ2aWNlXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiBgaW5wdXRbYWRiRGF0ZXBpY2tlcl1gLFxyXG4gICAgcHJvdmlkZXJzOiBbe1xyXG4gICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBZGJEYXRlUGlja2VyRGlyZWN0aXZlKSxcclxuICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkYkRhdGVQaWNrZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQEhvc3RCaW5kaW5nKCdhdXRvY29tcGxldGUnKSBhdXRvY29tcGxldGUgPSAnb2ZmJztcclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICAgIEBJbnB1dCgpIGZvcm1hdCA9ICd5eXl5LU1NLWRkJztcclxuICAgIEBIb3N0QmluZGluZygncGxhY2Vob2xkZXInKSBwbGFjZWhvbGRlciA9IHRoaXMuZm9ybWF0O1xyXG4gICAgQElucHV0KCkgdG9MZWZ0OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgc2V0dGluZ3M6IHsgbWF4RGF0ZT86IERhdGUgfCBzdHJpbmcsIG1pbkRhdGU/OiBEYXRlIHwgc3RyaW5nIH0gPSBudWxsO1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIGluaXRpYWxEYXRlOiBEYXRlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgYWRiRGF0ZVBpY2tlclNlcnZpY2U6IEFkYkRhdGVQaWNrZXJTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcclxuICAgIG9uQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuYWRiRGF0ZVBpY2tlclNlcnZpY2Uudmlld1JlZikge1xyXG4gICAgICAgICAgICB0aGlzLmFkYkRhdGVQaWNrZXJTZXJ2aWNlLnZpZXdSZWYuZGVzdHJveSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB2aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudDxBZGJEYXRlUGlja2VyQ29tcG9uZW50PihBZGJEYXRlUGlja2VyQ29tcG9uZW50KTtcclxuICAgICAgICB2aWV3UmVmLmluc3RhbmNlLnNldHRpbmdzID0gdGhpcy5zZXR0aW5ncztcclxuICAgICAgICB2aWV3UmVmLmluc3RhbmNlLnRvTGVmdCA9IHRoaXMudG9MZWZ0O1xyXG4gICAgICAgIHZpZXdSZWYuaW5zdGFuY2UuaW5pdGlhbERhdGUgPSB0aGlzLmluaXRpYWxEYXRlO1xyXG4gICAgICAgIHRoaXMuaWQgPSB0aGlzLmdldElkKCk7XHJcbiAgICAgICAgdmlld1JlZi5pbnN0YW5jZS5pZCA9IHRoaXMuaWQ7XHJcbiAgICAgICAgdmlld1JlZi5pbnN0YW5jZS5zZWxlY3REYXRlLnN1YnNjcmliZSgoZGF0ZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndmFsdWUnLCBmb3JtYXREYXRlKGRhdGUsIHRoaXMuZm9ybWF0LCB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZykpO1xyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGRhdGUpO1xyXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxEYXRlID0gZGF0ZTtcclxuICAgICAgICAgICAgdGhpcy5vbkhpZGUoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB2aWV3UmVmLmluc3RhbmNlLmhpZGUuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5vbkhpZGUoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmFkYkRhdGVQaWNrZXJTZXJ2aWNlLnZpZXdSZWYgPSB2aWV3UmVmO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleXVwLmVzYycpXHJcbiAgICBvbkhpZGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hZGJEYXRlUGlja2VyU2VydmljZS52aWV3UmVmID0gbnVsbDtcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuZGV0YWNoKCk7XHJcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ1RhYicpIHtcclxuICAgICAgICAgICAgdGhpcy5vbkhpZGUoKTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXHJcbiAgICBvbkNoZWNrT3V0U2lkZUNsaWNrKHRhcmdldDogYW55KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IHRoaXMuYWRiRGF0ZVBpY2tlclNlcnZpY2Uudmlld1JlZj8uaW5zdGFuY2UuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ID8/IG51bGw7XHJcbiAgICAgICAgaWYgKG5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgaWYgKG5hdGl2ZUVsZW1lbnQuaWQgPT09IHRoaXMuaWQpIHtcclxuICAgICAgICAgICAgICAgIGlmICghdGFyZ2V0Lmhhc0F0dHJpYnV0ZSgnYWRiZGF0ZXBpY2tlcicpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xpY2tlZEluc2lkZSA9IG5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkhpZGUoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy9Db250cm9sVmFsdWVBY2Nlc3NvclxyXG4gICAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuICAgIG9uVG91Y2hlZDogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IERhdGUgfCBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0aWFsRGF0ZSA9IEFkYkRhdGVQaWNrZXJEaXJlY3RpdmUucGFyc2VEYXRlKHZhbHVlKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaW5pdGlhbERhdGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsIGZvcm1hdERhdGUodGhpcy5pbml0aWFsRGF0ZSwgdGhpcy5mb3JtYXQsIHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxEYXRlID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgJycpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBwYXJzZURhdGUodmFsdWU6IERhdGUgfCBzdHJpbmcpOiBEYXRlIHtcclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICBpZiAoaXNWYWxpZChwYXJzZUlTTyh2YWx1ZSkpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcGFyc2VJU08odmFsdWUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SWQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gJycgKyBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBEYXRlLm5vdygpKVxyXG4gICAgfVxyXG59Il19
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRhdGUtcGlja2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9hZGItZGF0ZS1waWNrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFjLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBa0QsTUFBTSxlQUFlLENBQUM7QUFDcEosT0FBTyxFQUF3QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXhFLE9BQU8sRUFBRSxPQUFPLEVBQVMsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFVckUsTUFBTSxPQUFPLHNCQUFzQjtJQVMvQixZQUNZLGdCQUFrQyxFQUNsQyxRQUFtQixFQUNuQixVQUFzQixFQUN0QixvQkFBMEMsRUFDM0MsU0FBMkI7UUFKMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMzQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQWJULGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxXQUFNLEdBQUcsWUFBWSxDQUFDO1FBRXRCLGFBQVEsR0FBeUQsSUFBSSxDQUFDO1FBaUYvRSxzQkFBc0I7UUFDdEIsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxQixjQUFTLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBeEUzQixDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFHRCxPQUFPO1FBQ0gsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFO1lBQ25DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDL0M7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUF5QixzQkFBc0IsQ0FBQyxDQUFDO1FBQ3RHLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDMUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN0QyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ2hELElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDN0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ2hELENBQUM7SUFHRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDekMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBR0QsbUJBQW1CLENBQUMsS0FBb0I7UUFDcEMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEtBQUssRUFBRTtZQUNyQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDakI7YUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN4RSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2pCO2FBQ0s7WUFDRixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDMUI7SUFDTCxDQUFDO0lBSUQsbUJBQW1CLENBQUMsTUFBVztRQUMzQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQztRQUNuRyxJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksYUFBYSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxFQUFFO2dCQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRTtvQkFDdkMsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDckQsSUFBSSxDQUFDLGFBQWEsRUFBRTt3QkFDaEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO3FCQUNqQjtpQkFDSjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQU1ELFVBQVUsQ0FBQyxLQUFvQjtRQUMzQixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxXQUFXLEdBQUcsc0JBQXNCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2FBQzVJO1NBQ0o7YUFBTTtZQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztTQUN6RTtJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBb0I7UUFDakMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDM0IsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQzFCLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzFCO2lCQUFNO2dCQUNILE9BQU8sSUFBSSxDQUFDO2FBQ2Y7U0FDSjthQUFNLElBQUksS0FBSyxZQUFZLElBQUksRUFBRTtZQUM5QixPQUFPLEtBQUssQ0FBQztTQUNoQjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFTyxLQUFLO1FBQ1QsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7SUFDdEQsQ0FBQzs7c0lBbElRLHNCQUFzQjswSEFBdEIsc0JBQXNCLG9WQUxwQixDQUFDO1lBQ1IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLEVBQUM7WUFDakYsS0FBSyxFQUFFLElBQUk7U0FDZCxDQUFDOzJGQUVPLHNCQUFzQjtrQkFQbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxTQUFTLEVBQUUsQ0FBQzs0QkFDUixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsdUJBQXVCLEVBQUM7NEJBQ2pGLEtBQUssRUFBRSxJQUFJO3lCQUNkLENBQUM7aUJBQ0w7ME5BRWdDLFlBQVk7c0JBQXhDLFdBQVc7dUJBQUMsY0FBYztnQkFFbEIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQWlCTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkF3QnJCLE1BQU07c0JBREwsWUFBWTt1QkFBQyxXQUFXO2dCQVF6QixtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWlCbkMsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQgeyBpc1ZhbGlkLCBwYXJzZSwgcGFyc2VJU08gfSBmcm9tIFwiZGF0ZS1mbnNcIjtcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQWRiRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gXCIuL2FkYi1kYXRlLXBpY2tlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQWRiRGF0ZVBpY2tlclNlcnZpY2UgfSBmcm9tIFwiLi9hZGItZGF0ZS1waWNrZXIuc2VydmljZVwiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogYGlucHV0W2FkYkRhdGVwaWNrZXJdYCxcclxuICAgIHByb3ZpZGVyczogW3tcclxuICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQWRiRGF0ZVBpY2tlckRpcmVjdGl2ZSksXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGJEYXRlUGlja2VyRGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBIb3N0QmluZGluZygnYXV0b2NvbXBsZXRlJykgYXV0b2NvbXBsZXRlID0gJ29mZic7XHJcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgICBASW5wdXQoKSBmb3JtYXQgPSAneXl5eS1NTS1kZCc7XHJcbiAgICBASW5wdXQoKSB0b0xlZnQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBzZXR0aW5nczogeyBtYXhEYXRlPzogRGF0ZSB8IHN0cmluZywgbWluRGF0ZT86IERhdGUgfCBzdHJpbmcgfSA9IG51bGw7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgaW5pdGlhbERhdGU6IERhdGU7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBhZGJEYXRlUGlja2VyU2VydmljZTogQWRiRGF0ZVBpY2tlclNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXHJcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmFkYkRhdGVQaWNrZXJTZXJ2aWNlLnZpZXdSZWYpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGJEYXRlUGlja2VyU2VydmljZS52aWV3UmVmLmRlc3Ryb3koKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgdmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQ8QWRiRGF0ZVBpY2tlckNvbXBvbmVudD4oQWRiRGF0ZVBpY2tlckNvbXBvbmVudCk7XHJcbiAgICAgICAgdmlld1JlZi5pbnN0YW5jZS5zZXR0aW5ncyA9IHRoaXMuc2V0dGluZ3M7XHJcbiAgICAgICAgdmlld1JlZi5pbnN0YW5jZS50b0xlZnQgPSB0aGlzLnRvTGVmdDtcclxuICAgICAgICB2aWV3UmVmLmluc3RhbmNlLmluaXRpYWxEYXRlID0gdGhpcy5pbml0aWFsRGF0ZTtcclxuICAgICAgICB0aGlzLmlkID0gdGhpcy5nZXRJZCgpO1xyXG4gICAgICAgIHZpZXdSZWYuaW5zdGFuY2UuaWQgPSB0aGlzLmlkO1xyXG4gICAgICAgIHZpZXdSZWYuaW5zdGFuY2Uuc2VsZWN0RGF0ZS5zdWJzY3JpYmUoKGRhdGUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgZm9ybWF0RGF0ZShkYXRlLCB0aGlzLmZvcm1hdCwgdGhpcy50cmFuc2xhdGUuY3VycmVudExhbmcpKTtcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShkYXRlKTtcclxuICAgICAgICAgICAgdGhpcy5pbml0aWFsRGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgICAgIHRoaXMub25IaWRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdmlld1JlZi5pbnN0YW5jZS5oaWRlLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMub25IaWRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5hZGJEYXRlUGlja2VyU2VydmljZS52aWV3UmVmID0gdmlld1JlZjtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdrZXl1cC5lc2MnKVxyXG4gICAgb25IaWRlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYWRiRGF0ZVBpY2tlclNlcnZpY2Uudmlld1JlZiA9IG51bGw7XHJcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmRldGFjaCgpO1xyXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gICAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdUYWInKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25IaWRlKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbERhdGUgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndmFsdWUnLCBudWxsKTtcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSgpO1xyXG4gICAgICAgICAgICB0aGlzLm9uSGlkZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxyXG4gICAgb25DaGVja091dFNpZGVDbGljayh0YXJnZXQ6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSB0aGlzLmFkYkRhdGVQaWNrZXJTZXJ2aWNlLnZpZXdSZWY/Lmluc3RhbmNlLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCA/PyBudWxsO1xyXG4gICAgICAgIGlmIChuYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIGlmIChuYXRpdmVFbGVtZW50LmlkID09PSB0aGlzLmlkKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXRhcmdldC5oYXNBdHRyaWJ1dGUoJ2FkYmRhdGVwaWNrZXInKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSBuYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25IaWRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vQ29udHJvbFZhbHVlQWNjZXNzb3JcclxuICAgIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBEYXRlIHwgc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbERhdGUgPSBBZGJEYXRlUGlja2VyRGlyZWN0aXZlLnBhcnNlRGF0ZSh2YWx1ZSk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmluaXRpYWxEYXRlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndmFsdWUnLCBmb3JtYXREYXRlKHRoaXMuaW5pdGlhbERhdGUsIHRoaXMuZm9ybWF0LCB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZykpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0aWFsRGF0ZSA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsICcnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgcGFyc2VEYXRlKHZhbHVlOiBEYXRlIHwgc3RyaW5nKTogRGF0ZSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgaWYgKGlzVmFsaWQocGFyc2VJU08odmFsdWUpKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlSVNPKHZhbHVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldElkKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuICcnICsgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogRGF0ZS5ub3coKSlcclxuICAgIH1cclxufSJdfQ==
@@ -1,18 +1,19 @@
1
1
  import { NgModule } from "@angular/core";
2
2
  import { ClickOutsideDirective } from "./click-outside.directive";
3
+ import { FileUploadDirective } from "./file-upload.directive";
3
4
  import { FocusDirective } from "./focus.directive";
4
5
  import * as i0 from "@angular/core";
5
6
  export class AdbDirectivesModule {
6
7
  }
7
8
  /** @nocollapse */ AdbDirectivesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- /** @nocollapse */ AdbDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDirectivesModule, declarations: [ClickOutsideDirective, FocusDirective], exports: [ClickOutsideDirective, FocusDirective] });
9
+ /** @nocollapse */ AdbDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDirectivesModule, declarations: [ClickOutsideDirective, FocusDirective, FileUploadDirective], exports: [ClickOutsideDirective, FocusDirective, FileUploadDirective] });
9
10
  /** @nocollapse */ AdbDirectivesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDirectivesModule, imports: [[]] });
10
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDirectivesModule, decorators: [{
11
12
  type: NgModule,
12
13
  args: [{
13
14
  imports: [],
14
- declarations: [ClickOutsideDirective, FocusDirective],
15
- exports: [ClickOutsideDirective, FocusDirective]
15
+ declarations: [ClickOutsideDirective, FocusDirective, FileUploadDirective],
16
+ exports: [ClickOutsideDirective, FocusDirective, FileUploadDirective]
16
17
  }]
17
18
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2RpcmVjdGl2ZXMvZGlyZWN0aXZlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBT25ELE1BQU0sT0FBTyxtQkFBbUI7O21JQUFuQixtQkFBbUI7b0lBQW5CLG1CQUFtQixpQkFIYixxQkFBcUIsRUFBRSxjQUFjLGFBQzFDLHFCQUFxQixFQUFFLGNBQWM7b0lBRXRDLG1CQUFtQixZQUpuQixFQUFFOzJGQUlGLG1CQUFtQjtrQkFML0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxjQUFjLENBQUM7b0JBQ3JELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLGNBQWMsQ0FBQztpQkFDbkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gXCIuL2NsaWNrLW91dHNpZGUuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IEZvY3VzRGlyZWN0aXZlIH0gZnJvbSBcIi4vZm9jdXMuZGlyZWN0aXZlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW10sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtDbGlja091dHNpZGVEaXJlY3RpdmUsIEZvY3VzRGlyZWN0aXZlXSxcclxuICAgIGV4cG9ydHM6IFtDbGlja091dHNpZGVEaXJlY3RpdmUsIEZvY3VzRGlyZWN0aXZlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRiRGlyZWN0aXZlc01vZHVsZSB7IH0iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2RpcmVjdGl2ZXMvZGlyZWN0aXZlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBT25ELE1BQU0sT0FBTyxtQkFBbUI7O21JQUFuQixtQkFBbUI7b0lBQW5CLG1CQUFtQixpQkFIYixxQkFBcUIsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLGFBQy9ELHFCQUFxQixFQUFFLGNBQWMsRUFBRSxtQkFBbUI7b0lBRTNELG1CQUFtQixZQUpuQixFQUFFOzJGQUlGLG1CQUFtQjtrQkFML0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLENBQUM7b0JBQzFFLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQztpQkFDeEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gXCIuL2NsaWNrLW91dHNpZGUuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWREaXJlY3RpdmUgfSBmcm9tIFwiLi9maWxlLXVwbG9hZC5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgRm9jdXNEaXJlY3RpdmUgfSBmcm9tIFwiLi9mb2N1cy5kaXJlY3RpdmVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXSxcclxuICAgIGRlY2xhcmF0aW9uczogW0NsaWNrT3V0c2lkZURpcmVjdGl2ZSwgRm9jdXNEaXJlY3RpdmUsIEZpbGVVcGxvYWREaXJlY3RpdmVdLFxyXG4gICAgZXhwb3J0czogW0NsaWNrT3V0c2lkZURpcmVjdGl2ZSwgRm9jdXNEaXJlY3RpdmUsIEZpbGVVcGxvYWREaXJlY3RpdmVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGJEaXJlY3RpdmVzTW9kdWxlIHsgfSJdfQ==
@@ -0,0 +1,36 @@
1
+ import { Directive, EventEmitter } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class FileUploadDirective {
4
+ constructor(el) {
5
+ this.el = el;
6
+ this.upload = new EventEmitter();
7
+ this.click = new EventEmitter();
8
+ }
9
+ onBeginUpload(target) {
10
+ if (target) {
11
+ if (target.files && target.files[0]) {
12
+ this.upload.emit(target.files[0]);
13
+ }
14
+ }
15
+ }
16
+ onClick(target) {
17
+ this.el.nativeElement.value = '';
18
+ if (target) {
19
+ this.click.emit(target);
20
+ }
21
+ }
22
+ }
23
+ /** @nocollapse */ FileUploadDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FileUploadDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
24
+ /** @nocollapse */ FileUploadDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: FileUploadDirective, selector: "input[adbFileUpload]", outputs: { upload: "upload" }, host: { listeners: { "change": "onBeginUpload($event.target)", "click": "onClick($event.target)" } }, ngImport: i0 });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FileUploadDirective, decorators: [{
26
+ type: Directive,
27
+ args: [{
28
+ selector: 'input[adbFileUpload]',
29
+ host: {
30
+ '(change)': 'onBeginUpload($event.target)',
31
+ '(click)': 'onClick($event.target)'
32
+ },
33
+ outputs: ['upload']
34
+ }]
35
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJ0ZGF0YS1zaGFyZWQvc3JjL2xpYi9kaXJlY3RpdmVzL2ZpbGUtdXBsb2FkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVcEUsTUFBTSxPQUFPLG1CQUFtQjtJQUc1QixZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUZsQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1QixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNVLENBQUM7SUFFdEMsYUFBYSxDQUFDLE1BQVc7UUFDckIsSUFBSSxNQUFNLEVBQUU7WUFDUixJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3JDO1NBQ0o7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQVc7UUFDZCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWtDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUN2RCxJQUFJLE1BQU0sRUFBRTtZQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzNCO0lBQ0wsQ0FBQzs7bUlBbEJRLG1CQUFtQjt1SEFBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBUi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsSUFBSSxFQUFFO3dCQUNGLFVBQVUsRUFBRSw4QkFBOEI7d0JBQzFDLFNBQVMsRUFBRSx3QkFBd0I7cUJBQ3RDO29CQUNELE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnaW5wdXRbYWRiRmlsZVVwbG9hZF0nLFxyXG4gICAgaG9zdDoge1xyXG4gICAgICAgICcoY2hhbmdlKSc6ICdvbkJlZ2luVXBsb2FkKCRldmVudC50YXJnZXQpJyxcclxuICAgICAgICAnKGNsaWNrKSc6ICdvbkNsaWNrKCRldmVudC50YXJnZXQpJ1xyXG4gICAgfSxcclxuICAgIG91dHB1dHM6IFsndXBsb2FkJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWREaXJlY3RpdmUge1xyXG4gICAgdXBsb2FkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgY2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7fVxyXG4gICBcclxuICAgIG9uQmVnaW5VcGxvYWQodGFyZ2V0OiBhbnkpIHtcclxuICAgICAgICBpZiAodGFyZ2V0KSB7XHJcbiAgICAgICAgICAgIGlmICh0YXJnZXQuZmlsZXMgJiYgdGFyZ2V0LmZpbGVzWzBdKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZC5lbWl0KHRhcmdldC5maWxlc1swXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25DbGljayh0YXJnZXQ6IGFueSkge1xyXG4gICAgICAgICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUgPSAnJztcclxuICAgICAgICBpZiAodGFyZ2V0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xpY2suZW1pdCh0YXJnZXQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
@@ -6,6 +6,7 @@ export * from './lib/components/adb-header/adb-header.component';
6
6
  export * from './lib/directives/directives.module';
7
7
  export * from './lib/directives/click-outside.directive';
8
8
  export * from './lib/directives/focus.directive';
9
+ export * from './lib/directives/file-upload.directive';
9
10
  export * from './lib/components/pagers/pagers.module';
10
11
  export * from './lib/components/pagers/infinite-scroll.component';
11
12
  export * from './lib/components/pagers/pager';
@@ -18,4 +19,4 @@ export * from './lib/components/date-picker/adb-date-picker.component';
18
19
  export * from './lib/components/date-picker/adb-date-picker.directive';
19
20
  export * from './lib/components/adb-dropdown/adb-dropdown.module';
20
21
  export * from './lib/components/adb-dropdown/adb-dropdown.directive';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBR0gsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGtEQUFrRCxDQUFDO0FBRWpFLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGtDQUFrQyxDQUFDO0FBRWpELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsd0RBQXdELENBQUM7QUFFdkUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHNEQUFzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGFydGRhdGEtc2hhcmVkXHJcbiAqL1xyXG5cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWRiLWhlYWRlci9hZGItaGVhZGVyLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWRiLWhlYWRlci9hZGItaGVhZGVyLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZm9jdXMuZGlyZWN0aXZlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGFnZXJzL3BhZ2Vycy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3BhZ2Vycy9pbmZpbml0ZS1zY3JvbGwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9wYWdlcnMvcGFnZXInO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvcGlwZXMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvaGlnaGxpZ2h0LnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9udW1iZXItc3BhY2luZy5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvZGF0ZS5waXBlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvYWRiLWRhdGUtcGlja2VyLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvYWRiLWRhdGUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvYWRiLWRhdGUtcGlja2VyLmRpcmVjdGl2ZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FkYi1kcm9wZG93bi9hZGItZHJvcGRvd24ubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZGItZHJvcGRvd24vYWRiLWRyb3Bkb3duLmRpcmVjdGl2ZSc7XHJcbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBR0gsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGtEQUFrRCxDQUFDO0FBRWpFLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsd0NBQXdDLENBQUM7QUFFdkQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyx3REFBd0QsQ0FBQztBQUV2RSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsc0RBQXNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYXJ0ZGF0YS1zaGFyZWRcclxuICovXHJcblxyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZGItaGVhZGVyL2FkYi1oZWFkZXIubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZGItaGVhZGVyL2FkYi1oZWFkZXIuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZGlyZWN0aXZlcy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NsaWNrLW91dHNpZGUuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9mb2N1cy5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2ZpbGUtdXBsb2FkLmRpcmVjdGl2ZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3BhZ2Vycy9wYWdlcnMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9wYWdlcnMvaW5maW5pdGUtc2Nyb2xsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGFnZXJzL3BhZ2VyJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL3BpcGVzLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2hpZ2hsaWdodC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvbnVtYmVyLXNwYWNpbmcucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2RhdGUucGlwZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2FkYi1kYXRlLXBpY2tlci5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2FkYi1kYXRlLXBpY2tlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2FkYi1kYXRlLXBpY2tlci5kaXJlY3RpdmUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hZGItZHJvcGRvd24vYWRiLWRyb3Bkb3duLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWRiLWRyb3Bkb3duL2FkYi1kcm9wZG93bi5kaXJlY3RpdmUnO1xyXG4iXX0=
@@ -149,6 +149,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
149
149
  args: ['document:click', ['$event.target']]
150
150
  }] } });
151
151
 
152
+ class FileUploadDirective {
153
+ constructor(el) {
154
+ this.el = el;
155
+ this.upload = new EventEmitter();
156
+ this.click = new EventEmitter();
157
+ }
158
+ onBeginUpload(target) {
159
+ if (target) {
160
+ if (target.files && target.files[0]) {
161
+ this.upload.emit(target.files[0]);
162
+ }
163
+ }
164
+ }
165
+ onClick(target) {
166
+ this.el.nativeElement.value = '';
167
+ if (target) {
168
+ this.click.emit(target);
169
+ }
170
+ }
171
+ }
172
+ /** @nocollapse */ FileUploadDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FileUploadDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
173
+ /** @nocollapse */ FileUploadDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: FileUploadDirective, selector: "input[adbFileUpload]", outputs: { upload: "upload" }, host: { listeners: { "change": "onBeginUpload($event.target)", "click": "onClick($event.target)" } }, ngImport: i0 });
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FileUploadDirective, decorators: [{
175
+ type: Directive,
176
+ args: [{
177
+ selector: 'input[adbFileUpload]',
178
+ host: {
179
+ '(change)': 'onBeginUpload($event.target)',
180
+ '(click)': 'onClick($event.target)'
181
+ },
182
+ outputs: ['upload']
183
+ }]
184
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
185
+
152
186
  /* eslint-disable @angular-eslint/directive-selector */
153
187
  class FocusDirective {
154
188
  constructor(element) {
@@ -177,14 +211,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
177
211
  class AdbDirectivesModule {
178
212
  }
179
213
  /** @nocollapse */ AdbDirectivesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
180
- /** @nocollapse */ AdbDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDirectivesModule, declarations: [ClickOutsideDirective, FocusDirective], exports: [ClickOutsideDirective, FocusDirective] });
214
+ /** @nocollapse */ AdbDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDirectivesModule, declarations: [ClickOutsideDirective, FocusDirective, FileUploadDirective], exports: [ClickOutsideDirective, FocusDirective, FileUploadDirective] });
181
215
  /** @nocollapse */ AdbDirectivesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDirectivesModule, imports: [[]] });
182
216
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDirectivesModule, decorators: [{
183
217
  type: NgModule,
184
218
  args: [{
185
219
  imports: [],
186
- declarations: [ClickOutsideDirective, FocusDirective],
187
- exports: [ClickOutsideDirective, FocusDirective]
220
+ declarations: [ClickOutsideDirective, FocusDirective, FileUploadDirective],
221
+ exports: [ClickOutsideDirective, FocusDirective, FileUploadDirective]
188
222
  }]
189
223
  }] });
190
224
 
@@ -455,7 +489,6 @@ class AdbDatePickerDirective {
455
489
  this.autocomplete = 'off';
456
490
  this.subscriptions = new Subscription();
457
491
  this.format = 'yyyy-MM-dd';
458
- this.placeholder = this.format;
459
492
  this.settings = null;
460
493
  //ControlValueAccessor
461
494
  this.onChange = () => { };
@@ -493,6 +526,12 @@ class AdbDatePickerDirective {
493
526
  if (event.key === 'Tab') {
494
527
  this.onHide();
495
528
  }
529
+ else if (event.key === 'Backspace') {
530
+ this.initialDate = null;
531
+ this.renderer.setProperty(this.elementRef.nativeElement, 'value', null);
532
+ this.onChange();
533
+ this.onHide();
534
+ }
496
535
  else {
497
536
  event.preventDefault();
498
537
  }
@@ -556,7 +595,7 @@ class AdbDatePickerDirective {
556
595
  }
557
596
  }
558
597
  /** @nocollapse */ AdbDatePickerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: AdbDatePickerService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
559
- /** @nocollapse */ AdbDatePickerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AdbDatePickerDirective, selector: "input[adbDatepicker]", inputs: { format: "format", toLeft: "toLeft", settings: "settings" }, host: { listeners: { "click": "onClick()", "keyup.esc": "onHide()", "keydown": "handleKeyboardEvent($event)", "document:click": "onCheckOutSideClick($event.target)" }, properties: { "autocomplete": "this.autocomplete", "placeholder": "this.placeholder" } }, providers: [{
598
+ /** @nocollapse */ AdbDatePickerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AdbDatePickerDirective, selector: "input[adbDatepicker]", inputs: { format: "format", toLeft: "toLeft", settings: "settings" }, host: { listeners: { "click": "onClick()", "keyup.esc": "onHide()", "keydown": "handleKeyboardEvent($event)", "document:click": "onCheckOutSideClick($event.target)" }, properties: { "autocomplete": "this.autocomplete" } }, providers: [{
560
599
  provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => AdbDatePickerDirective)),
561
600
  multi: true
562
601
  }], ngImport: i0 });
@@ -574,9 +613,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
574
613
  args: ['autocomplete']
575
614
  }], format: [{
576
615
  type: Input
577
- }], placeholder: [{
578
- type: HostBinding,
579
- args: ['placeholder']
580
616
  }], toLeft: [{
581
617
  type: Input
582
618
  }], settings: [{
@@ -771,6 +807,8 @@ class AdbDropdownDirective {
771
807
  constructor(elementRef, adbDropdownService) {
772
808
  this.elementRef = elementRef;
773
809
  this.adbDropdownService = adbDropdownService;
810
+ this.adbDropdown = new EventEmitter();
811
+ this.insideClick = false;
774
812
  this.dataToggle = "dropdown";
775
813
  this.haspPopup = true;
776
814
  this.expanded = false;
@@ -793,13 +831,15 @@ class AdbDropdownDirective {
793
831
  menu.classList.remove('show');
794
832
  }
795
833
  else {
834
+ this.adbDropdown.emit();
796
835
  menu.classList.add('show');
797
836
  }
798
837
  }
799
838
  }
800
839
  onCheckOutSideClick(target) {
801
840
  if (this.adbDropdownService.currentMenuId === this.id) {
802
- const clickedInside = this.elementRef.nativeElement.contains(target);
841
+ const parent = this.insideClick ? this.elementRef.nativeElement.parentNode : this.elementRef.nativeElement;
842
+ const clickedInside = parent.contains(target);
803
843
  if (!clickedInside) {
804
844
  const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');
805
845
  parent === null || parent === void 0 ? void 0 : parent.classList.remove('show');
@@ -810,18 +850,28 @@ class AdbDropdownDirective {
810
850
  parent === null || parent === void 0 ? void 0 : parent.classList.remove('show');
811
851
  }
812
852
  }
853
+ close() {
854
+ const node = this.elementRef.nativeElement.parentNode;
855
+ const menu = node.querySelector('.dropdown-menu');
856
+ menu.classList.remove('show');
857
+ }
813
858
  getId() {
814
859
  return '' + Math.floor(Math.random() * Date.now());
815
860
  }
816
861
  }
817
862
  /** @nocollapse */ AdbDropdownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownDirective, deps: [{ token: i0.ElementRef }, { token: AdbDropdownService }], target: i0.ɵɵFactoryTarget.Directive });
818
- /** @nocollapse */ AdbDropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AdbDropdownDirective, selector: "[adbDropdown]", host: { listeners: { "click": "onClick()", "document:click": "onCheckOutSideClick($event.target)" }, properties: { "id": "this.id", "attr.data-toggle": "this.dataToggle", "attr.aria-haspopup": "this.haspPopup", "attr.aria-expanded": "this.expanded" } }, ngImport: i0 });
863
+ /** @nocollapse */ AdbDropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AdbDropdownDirective, selector: "[adbDropdown]", inputs: { insideClick: "insideClick" }, outputs: { adbDropdown: "adbDropdown" }, host: { listeners: { "click": "onClick()", "document:click": "onCheckOutSideClick($event.target)" }, properties: { "id": "this.id", "attr.data-toggle": "this.dataToggle", "attr.aria-haspopup": "this.haspPopup", "attr.aria-expanded": "this.expanded" } }, exportAs: ["adbDropdown"], ngImport: i0 });
819
864
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownDirective, decorators: [{
820
865
  type: Directive,
821
866
  args: [{
822
- selector: '[adbDropdown]'
867
+ selector: '[adbDropdown]',
868
+ exportAs: 'adbDropdown'
823
869
  }]
824
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: AdbDropdownService }]; }, propDecorators: { id: [{
870
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: AdbDropdownService }]; }, propDecorators: { adbDropdown: [{
871
+ type: Output
872
+ }], insideClick: [{
873
+ type: Input
874
+ }], id: [{
825
875
  type: HostBinding,
826
876
  args: ['id']
827
877
  }], dataToggle: [{
@@ -864,5 +914,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
864
914
  * Generated bundle index. Do not edit.
865
915
  */
866
916
 
867
- export { ADBHeaderComponent, ADBHeaderModule, AdbDatePickerComponent, AdbDatePickerDirective, AdbDatePickerModule, AdbDirectivesModule, AdbDropdownDirective, AdbDropdownModule, AdbPagersModule, AdbPipesModule, ClickOutsideDirective, FocusDirective, HighlightPipe, InfiniteScrollComponent, LocaleDatePipe, NumberSpacingPipe, PagerComponent };
917
+ export { ADBHeaderComponent, ADBHeaderModule, AdbDatePickerComponent, AdbDatePickerDirective, AdbDatePickerModule, AdbDirectivesModule, AdbDropdownDirective, AdbDropdownModule, AdbPagersModule, AdbPipesModule, ClickOutsideDirective, FileUploadDirective, FocusDirective, HighlightPipe, InfiniteScrollComponent, LocaleDatePipe, NumberSpacingPipe, PagerComponent };
868
918
  //# sourceMappingURL=adb-shared.mjs.map