@sebgroup/green-angular 1.8.4 → 1.9.0
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.
- package/esm2020/lib/context-menu/context-menu.component.mjs +8 -7
- package/esm2020/lib/context-menu/context-menu.constants.mjs +3 -0
- package/esm2020/lib/modal/index.mjs +3 -1
- package/esm2020/lib/modal/modal-footer.directive.mjs +16 -0
- package/esm2020/lib/modal/modal-header.directive.mjs +16 -0
- package/esm2020/lib/modal/modal.component.mjs +22 -5
- package/esm2020/lib/modal/modal.module.mjs +13 -3
- package/fesm2015/sebgroup-green-angular.mjs +66 -12
- package/fesm2015/sebgroup-green-angular.mjs.map +1 -1
- package/fesm2020/sebgroup-green-angular.mjs +66 -12
- package/fesm2020/sebgroup-green-angular.mjs.map +1 -1
- package/lib/context-menu/context-menu.component.d.ts +3 -3
- package/lib/context-menu/context-menu.constants.d.ts +2 -0
- package/lib/modal/index.d.ts +2 -0
- package/lib/modal/modal-footer.directive.d.ts +8 -0
- package/lib/modal/modal-header.directive.d.ts +8 -0
- package/lib/modal/modal.component.d.ts +7 -1
- package/lib/modal/modal.module.d.ts +5 -3
- package/package.json +3 -3
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostListener, Inject, Input, Optional, Output, ViewChild, } from '@angular/core';
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
3
|
import { ON_SCROLL_TOKEN } from '../shared/on-scroll.directive';
|
|
4
|
+
import { CONTEXT_MENU_LEFT, CONTEXT_MENU_TOP } from './context-menu.constants';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@angular/common";
|
|
6
7
|
import * as i2 from "rxjs";
|
|
@@ -16,15 +17,14 @@ export class NggContextMenuComponent {
|
|
|
16
17
|
this.closeOnScroll = false;
|
|
17
18
|
this.contextMenuItemClicked = new EventEmitter();
|
|
18
19
|
this.isActive = false;
|
|
19
|
-
this.top =
|
|
20
|
-
this.left =
|
|
20
|
+
this.top = CONTEXT_MENU_TOP;
|
|
21
|
+
this.left = CONTEXT_MENU_LEFT;
|
|
21
22
|
}
|
|
22
23
|
onDocumentClick(target) {
|
|
23
24
|
if (!this.isActive) {
|
|
24
25
|
return;
|
|
25
26
|
}
|
|
26
|
-
|
|
27
|
-
if (!contextMenuElement.contains(target)) {
|
|
27
|
+
if (!this.elementRef.nativeElement.contains(target)) {
|
|
28
28
|
this.close();
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -48,8 +48,7 @@ export class NggContextMenuComponent {
|
|
|
48
48
|
this.close();
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
|
-
const
|
|
52
|
-
const buttonRect = anchor.getBoundingClientRect();
|
|
51
|
+
const buttonRect = this.anchor?.nativeElement.getBoundingClientRect();
|
|
53
52
|
const gapBetweenButtonAndPopover = 3;
|
|
54
53
|
const left = this.calculateLeft(this.direction, buttonRect);
|
|
55
54
|
const top = buttonRect.bottom + gapBetweenButtonAndPopover;
|
|
@@ -59,6 +58,8 @@ export class NggContextMenuComponent {
|
|
|
59
58
|
}
|
|
60
59
|
close() {
|
|
61
60
|
this.isActive = false;
|
|
61
|
+
this.top = CONTEXT_MENU_TOP;
|
|
62
|
+
this.left = CONTEXT_MENU_LEFT;
|
|
62
63
|
this.changeDetectorRef.markForCheck();
|
|
63
64
|
}
|
|
64
65
|
onItemClick(item) {
|
|
@@ -124,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
124
125
|
type: HostListener,
|
|
125
126
|
args: ['document:click', ['$event.target']]
|
|
126
127
|
}] } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTs7OztBQU0vRCxNQUFNLE9BQU8sdUJBQXVCO0lBdUJsQyxZQUNVLGlCQUFvQyxFQUNwQyxVQUFzQixFQUd2QixnQkFBK0I7UUFKOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBR3ZCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZTtRQXpCL0IsY0FBUyxHQUFrQixLQUFLLENBQUE7UUFDaEMsY0FBUyxHQUFxQixFQUFFLENBQUE7UUFDaEMscUJBQWdCLEdBQWdDLElBQUksQ0FBQTtRQUNwRCx1QkFBa0IsR0FBZ0MsSUFBSSxDQUFBO1FBQ3RELGtCQUFhLEdBQUcsS0FBSyxDQUFBO1FBRXBCLDJCQUFzQixHQUM5QixJQUFJLFlBQVksRUFBa0IsQ0FBQTtRQU1wQyxhQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ2hCLFFBQUcsR0FBRyxLQUFLLENBQUE7UUFDWCxTQUFJLEdBQUcsS0FBSyxDQUFBO0lBV1Qs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QUFZLElBQUksVUFBVSxDQUFDLElBQUk7b0JBQ3BDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLFlBQVk7b0JBQ2pDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFBO1lBQ3JCLEtBQUssS0FBSyxDQUFDO1lBQ1g7Z0JBQ0UsT0FBTyxVQUFVLENBQUMsS0FBSyxHQUFHLFlBQVksSUFBSSxNQUFNLENBQUMsVUFBVTtvQkFDekQsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO29CQUNqQixDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUE7U0FDdEM7SUFDSCxDQUFDOztvSEF0SFUsdUJBQXVCLDZFQTJCeEIsZUFBZTt3R0EzQmQsdUJBQXVCLDZqQkN4QnBDLG9uQ0E0Q0E7MkZEcEJhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQTZCekIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxlQUFlOzRDQXhCaEIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBRzBCLE9BQU87c0JBQXZDLFNBQVM7dUJBQUMsb0JBQW9CO2dCQUVDLE1BQU07c0JBQXJDLFNBQVM7dUJBQUMsbUJBQW1CO2dCQWtCOUIsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRHJvcGRvd25PcHRpb24gfSBmcm9tICdAc2ViZ3JvdXAvZXh0cmFjdCdcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBPTl9TQ1JPTExfVE9LRU4gfSBmcm9tICcuLi9zaGFyZWQvb24tc2Nyb2xsLmRpcmVjdGl2ZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdnLWNvbnRleHQtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dDb250ZXh0TWVudUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0XG57XG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogJ2x0cicgfCAncnRsJyA9ICdsdHInXG4gIEBJbnB1dCgpIG1lbnVJdGVtczogRHJvcGRvd25PcHRpb25bXSA9IFtdXG4gIEBJbnB1dCgpIG1lbnVJdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGxcbiAgQElucHV0KCkgbWVudUFuY2hvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsXG4gIEBJbnB1dCgpIGNsb3NlT25TY3JvbGwgPSBmYWxzZVxuXG4gIEBPdXRwdXQoKSBjb250ZXh0TWVudUl0ZW1DbGlja2VkOiBFdmVudEVtaXR0ZXI8RHJvcGRvd25PcHRpb24+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPERyb3Bkb3duT3B0aW9uPigpXG5cbiAgQFZpZXdDaGlsZCgnY29udGV4dE1lbnVQb3BvdmVyJykgcG9wb3ZlcjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZFxuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRleHRNZW51QW5jaG9yJykgYW5jaG9yOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkXG5cbiAgaXNBY3RpdmUgPSBmYWxzZVxuICB0b3AgPSAnMHB4J1xuICBsZWZ0ID0gJzBweCdcblxuICByZXNpemVPYnNlcnZlcj86IFJlc2l6ZU9ic2VydmVyXG4gIG1lbnVDbG9zZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoT05fU0NST0xMX1RPS0VOKVxuICAgIHB1YmxpYyBjbG9zZUNvbnRleHRNZW51OiBTdWJqZWN0PHZvaWQ+XG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBvbkRvY3VtZW50Q2xpY2sodGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0FjdGl2ZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IGNvbnRleHRNZW51RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50XG5cbiAgICBpZiAoIWNvbnRleHRNZW51RWxlbWVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICB0aGlzLmNsb3NlKClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICB0aGlzLmNsb3NlKClcbiAgICB9KVxuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5KVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbG9zZU9uU2Nyb2xsKSB7XG4gICAgICB0aGlzLm1lbnVDbG9zZVN1YnNjcmlwdGlvbiA9IHRoaXMuY2xvc2VDb250ZXh0TWVudT8uc3Vic2NyaWJlKCgpID0+XG4gICAgICAgIHRoaXMuY2xvc2UoKVxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy51bm9ic2VydmUoZG9jdW1lbnQuYm9keSlcbiAgICB0aGlzLm1lbnVDbG9zZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKVxuICB9XG5cbiAgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSkge1xuICAgICAgdGhpcy5jbG9zZSgpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBhbmNob3IgPSB0aGlzLmFuY2hvcj8ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudFxuICAgIGNvbnN0IGJ1dHRvblJlY3QgPSBhbmNob3IuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcblxuICAgIGNvbnN0IGdhcEJldHdlZW5CdXR0b25BbmRQb3BvdmVyID0gM1xuICAgIGNvbnN0IGxlZnQgPSB0aGlzLmNhbGN1bGF0ZUxlZnQodGhpcy5kaXJlY3Rpb24sIGJ1dHRvblJlY3QpXG4gICAgY29uc3QgdG9wID0gYnV0dG9uUmVjdC5ib3R0b20gKyBnYXBCZXR3ZWVuQnV0dG9uQW5kUG9wb3ZlcjtcblxuICAgIHRoaXMubGVmdCA9IGAke2xlZnR9cHhgXG4gICAgdGhpcy50b3AgPSBgJHt0b3B9cHhgXG4gICAgdGhpcy5pc0FjdGl2ZSA9IHRydWVcbiAgfVxuXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNBY3RpdmUgPSBmYWxzZVxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKClcbiAgfVxuXG4gIG9uSXRlbUNsaWNrKGl0ZW06IERyb3Bkb3duT3B0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0TWVudUl0ZW1DbGlja2VkLmVtaXQoaXRlbSlcbiAgICB0aGlzLmNsb3NlKClcbiAgfVxuXG4gIG9uTWVudUl0ZW1LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBtZW51SXRlbTogRHJvcGRvd25PcHRpb24pOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgY2FzZSAnICc6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgdGhpcy5vbkl0ZW1DbGljayhtZW51SXRlbSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgY2FsY3VsYXRlTGVmdChkaXJlY3Rpb246IHN0cmluZywgYnV0dG9uUmVjdDogRE9NUmVjdCk6IG51bWJlciB7XG4gICAgY29uc3QgcG9wb3ZlciA9IHRoaXMucG9wb3Zlcj8ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudFxuICAgIGNvbnN0IHBvcG92ZXJXaWR0aCA9IHBvcG92ZXI/Lm9mZnNldFdpZHRoIHx8IDBcblxuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlICdydGwnOlxuICAgICAgICByZXR1cm4gcG9wb3ZlcldpZHRoIDw9IGJ1dHRvblJlY3QubGVmdFxuICAgICAgICAgID8gYnV0dG9uUmVjdC5yaWdodCAtIHBvcG92ZXJXaWR0aFxuICAgICAgICAgIDogYnV0dG9uUmVjdC5sZWZ0XG4gICAgICBjYXNlICdsdHInOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGJ1dHRvblJlY3QucmlnaHQgKyBwb3BvdmVyV2lkdGggPD0gd2luZG93LmlubmVyV2lkdGhcbiAgICAgICAgICA/IGJ1dHRvblJlY3QubGVmdFxuICAgICAgICAgIDogYnV0dG9uUmVjdC5yaWdodCAtIHBvcG92ZXJXaWR0aFxuICAgIH1cbiAgfVxufVxuIiwiPGJ1dHRvblxuICAjY29udGV4dE1lbnVBbmNob3JcbiAgY2xhc3M9XCJnaG9zdCBzbWFsbCBweC0zXCJcbiAgW2NsYXNzLmFjdGl2ZV09XCJpc0FjdGl2ZVwiXG4gIChjbGljayk9XCJvcGVuKClcIlxuPlxuICA8bmctY29udGFpbmVyXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibWVudUFuY2hvclRlbXBsYXRlID8/IGRlZmF1bHRCdXR0b25UZW1wbGF0ZVwiXG4gID5cbiAgPC9uZy1jb250YWluZXI+XG48L2J1dHRvbj5cblxuPGRpdiBjbGFzcz1cImNvbnRleHQtbWVudS1vdmVybGF5XCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInBvcG92ZXIgcG9wb3Zlci1jb250ZXh0LW1lbnVcIlxuICAgIFtjbGFzcy5hY3RpdmVdPVwiaXNBY3RpdmVcIlxuICAgIFtzdHlsZS50b3BdPVwidG9wXCJcbiAgICBbc3R5bGUubGVmdF09XCJsZWZ0XCJcbiAgICAjY29udGV4dE1lbnVQb3BvdmVyXG4gID5cbiAgICA8dWwgcm9sZT1cImxpc3Rib3hcIj5cbiAgICAgIDxsaVxuICAgICAgICAqbmdGb3I9XCJsZXQgbWVudUl0ZW0gb2YgbWVudUl0ZW1zXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKG1lbnVJdGVtKVwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uTWVudUl0ZW1LZXlEb3duKCRldmVudCwgbWVudUl0ZW0pXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lbnVJdGVtVGVtcGxhdGUgPz8gZGVmYXVsdE1lbnVJdGVtVGVtcGxhdGVcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogbWVudUl0ZW0gfVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdE1lbnVJdGVtVGVtcGxhdGUgbGV0LW1lbnVJdGVtPlxuICA8c3Bhbj57eyBtZW51SXRlbS5sYWJlbCB9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEJ1dHRvblRlbXBsYXRlPlxuICA8aSBjbGFzcz1cInNnLWljb24gc2ctaWNvbi1lbGxpcHNpc1wiPk9wZW4gY29udGV4dCBtZW51PC9pPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7OztBQU05RSxNQUFNLE9BQU8sdUJBQXVCO0lBdUJsQyxZQUNVLGlCQUFvQyxFQUNwQyxVQUFtQyxFQUdwQyxnQkFBK0I7UUFKOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUdwQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWU7UUF6Qi9CLGNBQVMsR0FBa0IsS0FBSyxDQUFBO1FBQ2hDLGNBQVMsR0FBcUIsRUFBRSxDQUFBO1FBQ2hDLHFCQUFnQixHQUFnQyxJQUFJLENBQUE7UUFDcEQsdUJBQWtCLEdBQWdDLElBQUksQ0FBQTtRQUN0RCxrQkFBYSxHQUFHLEtBQUssQ0FBQTtRQUVwQiwyQkFBc0IsR0FDOUIsSUFBSSxZQUFZLEVBQWtCLENBQUE7UUFNcEMsYUFBUSxHQUFHLEtBQUssQ0FB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QUUsV0FBVyxJQUFJLENBQUMsQ0FBQTtRQUU5QyxRQUFRLFNBQVMsRUFBRTtZQUNqQixLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxZQUFZLElBQUksVUFBVSxDQUFDLElBQUk7b0JBQ3BDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLFlBQVk7b0JBQ2pDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFBO1lBQ3JCLEtBQUssS0FBSyxDQUFDO1lBQ1g7Z0JBQ0UsT0FBTyxVQUFVLENBQUMsS0FBSyxHQUFHLFlBQVksSUFBSSxNQUFNLENBQUMsVUFBVTtvQkFDekQsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO29CQUNqQixDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUE7U0FDdEM7SUFDSCxDQUFDOztvSEF0SFUsdUJBQXVCLDZFQTJCeEIsZUFBZTt3R0EzQmQsdUJBQXVCLDZqQkN6QnBDLG9uQ0E0Q0E7MkZEbkJhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQTZCekIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxlQUFlOzRDQXhCaEIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBRzBCLE9BQU87c0JBQXZDLFNBQVM7dUJBQUMsb0JBQW9CO2dCQUVDLE1BQU07c0JBQXJDLFNBQVM7dUJBQUMsbUJBQW1CO2dCQWtCOUIsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRHJvcGRvd25PcHRpb24gfSBmcm9tICdAc2ViZ3JvdXAvZXh0cmFjdCdcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBPTl9TQ1JPTExfVE9LRU4gfSBmcm9tICcuLi9zaGFyZWQvb24tc2Nyb2xsLmRpcmVjdGl2ZSdcbmltcG9ydCB7IENPTlRFWFRfTUVOVV9MRUZULCBDT05URVhUX01FTlVfVE9QIH0gZnJvbSAnLi9jb250ZXh0LW1lbnUuY29uc3RhbnRzJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2ctY29udGV4dC1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0NvbnRleHRNZW51Q29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXRcbntcbiAgQElucHV0KCkgZGlyZWN0aW9uOiAnbHRyJyB8ICdydGwnID0gJ2x0cidcbiAgQElucHV0KCkgbWVudUl0ZW1zOiBEcm9wZG93bk9wdGlvbltdID0gW11cbiAgQElucHV0KCkgbWVudUl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsID0gbnVsbFxuICBASW5wdXQoKSBtZW51QW5jaG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGxcbiAgQElucHV0KCkgY2xvc2VPblNjcm9sbCA9IGZhbHNlXG5cbiAgQE91dHB1dCgpIGNvbnRleHRNZW51SXRlbUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxEcm9wZG93bk9wdGlvbj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8RHJvcGRvd25PcHRpb24+KClcblxuICBAVmlld0NoaWxkKCdjb250ZXh0TWVudVBvcG92ZXInKSBwb3BvdmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cblxuICBAVmlld0NoaWxkKCdjb250ZXh0TWVudUFuY2hvcicpIGFuY2hvciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG5cbiAgaXNBY3RpdmUgPSBmYWxzZVxuICB0b3AgPSBDT05URVhUX01FTlVfVE9QXG4gIGxlZnQgPSBDT05URVhUX01FTlVfTEVGVFxuXG4gIHJlc2l6ZU9ic2VydmVyPzogUmVzaXplT2JzZXJ2ZXJcbiAgbWVudUNsb3NlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoT05fU0NST0xMX1RPS0VOKVxuICAgIHB1YmxpYyBjbG9zZUNvbnRleHRNZW51OiBTdWJqZWN0PHZvaWQ+XG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBvbkRvY3VtZW50Q2xpY2sodGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0FjdGl2ZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICB0aGlzLmNsb3NlKClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICB0aGlzLmNsb3NlKClcbiAgICB9KVxuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5KVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbG9zZU9uU2Nyb2xsKSB7XG4gICAgICB0aGlzLm1lbnVDbG9zZVN1YnNjcmlwdGlvbiA9IHRoaXMuY2xvc2VDb250ZXh0TWVudT8uc3Vic2NyaWJlKCgpID0+XG4gICAgICAgIHRoaXMuY2xvc2UoKVxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy51bm9ic2VydmUoZG9jdW1lbnQuYm9keSlcbiAgICB0aGlzLm1lbnVDbG9zZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKVxuICB9XG5cbiAgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSkge1xuICAgICAgdGhpcy5jbG9zZSgpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBidXR0b25SZWN0ID0gdGhpcy5hbmNob3I/Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcblxuICAgIGNvbnN0IGdhcEJldHdlZW5CdXR0b25BbmRQb3BvdmVyID0gM1xuICAgIGNvbnN0IGxlZnQgPSB0aGlzLmNhbGN1bGF0ZUxlZnQodGhpcy5kaXJlY3Rpb24sIGJ1dHRvblJlY3QpXG4gICAgY29uc3QgdG9wID0gYnV0dG9uUmVjdC5ib3R0b20gKyBnYXBCZXR3ZWVuQnV0dG9uQW5kUG9wb3ZlcjtcblxuICAgIHRoaXMubGVmdCA9IGAke2xlZnR9cHhgXG4gICAgdGhpcy50b3AgPSBgJHt0b3B9cHhgXG4gICAgdGhpcy5pc0FjdGl2ZSA9IHRydWVcbiAgfVxuXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNBY3RpdmUgPSBmYWxzZVxuICAgIHRoaXMudG9wID0gQ09OVEVYVF9NRU5VX1RPUFxuICAgIHRoaXMubGVmdCA9IENPTlRFWFRfTUVOVV9MRUZUXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKVxuICB9XG5cbiAgb25JdGVtQ2xpY2soaXRlbTogRHJvcGRvd25PcHRpb24pOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHRNZW51SXRlbUNsaWNrZWQuZW1pdChpdGVtKVxuICAgIHRoaXMuY2xvc2UoKVxuICB9XG5cbiAgb25NZW51SXRlbUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIG1lbnVJdGVtOiBEcm9wZG93bk9wdGlvbik6IHZvaWQge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdFbnRlcic6XG4gICAgICBjYXNlICcgJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICB0aGlzLm9uSXRlbUNsaWNrKG1lbnVJdGVtKVxuICAgICAgICBicmVha1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICBjYWxjdWxhdGVMZWZ0KGRpcmVjdGlvbjogc3RyaW5nLCBidXR0b25SZWN0OiBET01SZWN0KTogbnVtYmVyIHtcbiAgICBjb25zdCBwb3BvdmVyID0gdGhpcy5wb3BvdmVyPy5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50XG4gICAgY29uc3QgcG9wb3ZlcldpZHRoID0gcG9wb3Zlcj8ub2Zmc2V0V2lkdGggfHwgMFxuXG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICAgIGNhc2UgJ3J0bCc6XG4gICAgICAgIHJldHVybiBwb3BvdmVyV2lkdGggPD0gYnV0dG9uUmVjdC5sZWZ0XG4gICAgICAgICAgPyBidXR0b25SZWN0LnJpZ2h0IC0gcG9wb3ZlcldpZHRoXG4gICAgICAgICAgOiBidXR0b25SZWN0LmxlZnRcbiAgICAgIGNhc2UgJ2x0cic6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gYnV0dG9uUmVjdC5yaWdodCArIHBvcG92ZXJXaWR0aCA8PSB3aW5kb3cuaW5uZXJXaWR0aFxuICAgICAgICAgID8gYnV0dG9uUmVjdC5sZWZ0XG4gICAgICAgICAgOiBidXR0b25SZWN0LnJpZ2h0IC0gcG9wb3ZlcldpZHRoXG4gICAgfVxuICB9XG59XG4iLCI8YnV0dG9uXG4gICNjb250ZXh0TWVudUFuY2hvclxuICBjbGFzcz1cImdob3N0IHNtYWxsIHB4LTNcIlxuICBbY2xhc3MuYWN0aXZlXT1cImlzQWN0aXZlXCJcbiAgKGNsaWNrKT1cIm9wZW4oKVwiXG4+XG4gIDxuZy1jb250YWluZXJcbiAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJtZW51QW5jaG9yVGVtcGxhdGUgPz8gZGVmYXVsdEJ1dHRvblRlbXBsYXRlXCJcbiAgPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvYnV0dG9uPlxuXG48ZGl2IGNsYXNzPVwiY29udGV4dC1tZW51LW92ZXJsYXlcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwicG9wb3ZlciBwb3BvdmVyLWNvbnRleHQtbWVudVwiXG4gICAgW2NsYXNzLmFjdGl2ZV09XCJpc0FjdGl2ZVwiXG4gICAgW3N0eWxlLnRvcF09XCJ0b3BcIlxuICAgIFtzdHlsZS5sZWZ0XT1cImxlZnRcIlxuICAgICNjb250ZXh0TWVudVBvcG92ZXJcbiAgPlxuICAgIDx1bCByb2xlPVwibGlzdGJveFwiPlxuICAgICAgPGxpXG4gICAgICAgICpuZ0Zvcj1cImxldCBtZW51SXRlbSBvZiBtZW51SXRlbXNcIlxuICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2sobWVudUl0ZW0pXCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgKGtleWRvd24pPVwib25NZW51SXRlbUtleURvd24oJGV2ZW50LCBtZW51SXRlbSlcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibWVudUl0ZW1UZW1wbGF0ZSA/PyBkZWZhdWx0TWVudUl0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBtZW51SXRlbSB9XCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0TWVudUl0ZW1UZW1wbGF0ZSBsZXQtbWVudUl0ZW0+XG4gIDxzcGFuPnt7IG1lbnVJdGVtLmxhYmVsIH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0QnV0dG9uVGVtcGxhdGU+XG4gIDxpIGNsYXNzPVwic2ctaWNvbiBzZy1pY29uLWVsbGlwc2lzXCI+T3BlbiBjb250ZXh0IG1lbnU8L2k+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export const CONTEXT_MENU_TOP = '0px';
|
|
2
|
+
export const CONTEXT_MENU_LEFT = '0px';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQztBQUV0QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQ09OVEVYVF9NRU5VX1RPUCA9ICcwcHgnO1xuXG5leHBvcnQgY29uc3QgQ09OVEVYVF9NRU5VX0xFRlQgPSAnMHB4JzsiXX0=
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export * from './modal.component';
|
|
2
2
|
export * from './modal.module';
|
|
3
|
-
|
|
3
|
+
export * from './modal-header.directive';
|
|
4
|
+
export * from './modal-footer.directive';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9tb2RhbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2RhbC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL21vZGFsLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwtaGVhZGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGFsLWZvb3Rlci5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Directive, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class NggModalFooterDirective {
|
|
4
|
+
constructor(viewContainerRef) {
|
|
5
|
+
this.viewContainerRef = viewContainerRef;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
NggModalFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModalFooterDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
NggModalFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NggModalFooterDirective, selector: "[nggModalFooter]", ngImport: i0 });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModalFooterDirective, decorators: [{
|
|
11
|
+
type: Directive,
|
|
12
|
+
args: [{
|
|
13
|
+
selector: '[nggModalFooter]'
|
|
14
|
+
}]
|
|
15
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZm9vdGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL21vZGFsL21vZGFsLWZvb3Rlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLNUQsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUFtQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7O29IQUQ5Qyx1QkFBdUI7d0dBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQUhuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ2dNb2RhbEZvb3Rlcl0nXG59KVxuZXhwb3J0IGNsYXNzIE5nZ01vZGFsRm9vdGVyRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG59XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Directive, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class NggModalHeaderDirective {
|
|
4
|
+
constructor(viewContainerRef) {
|
|
5
|
+
this.viewContainerRef = viewContainerRef;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
NggModalHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModalHeaderDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
NggModalHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NggModalHeaderDirective, selector: "[nggModalHeader]", ngImport: i0 });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModalHeaderDirective, decorators: [{
|
|
11
|
+
type: Directive,
|
|
12
|
+
args: [{
|
|
13
|
+
selector: '[nggModalHeader]'
|
|
14
|
+
}]
|
|
15
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaGVhZGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL21vZGFsL21vZGFsLWhlYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLNUQsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUFtQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7O29IQUQ5Qyx1QkFBdUI7d0dBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQUhuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ2dNb2RhbEhlYWRlcl0nXG59KVxuZXhwb3J0IGNsYXNzIE5nZ01vZGFsSGVhZGVyRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG59XG4iXX0=
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';
|
|
2
2
|
import { ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';
|
|
3
3
|
import { disableBodyScroll, enableBodyScroll, } from "body-scroll-lock";
|
|
4
|
+
import { NggModalHeaderDirective } from './modal-header.directive';
|
|
5
|
+
import { NggModalFooterDirective } from './modal-footer.directive';
|
|
4
6
|
import * as i0 from "@angular/core";
|
|
5
7
|
import * as i1 from "@angular/cdk/a11y";
|
|
6
8
|
import * as i2 from "@angular/common";
|
|
@@ -37,7 +39,12 @@ export class NggModalComponent {
|
|
|
37
39
|
if (this.trapFocus) {
|
|
38
40
|
this.enableFocusTrap();
|
|
39
41
|
}
|
|
40
|
-
disableBodyScroll(this.ref.nativeElement
|
|
42
|
+
disableBodyScroll(this.ref.nativeElement, {
|
|
43
|
+
allowTouchMove: (el) => {
|
|
44
|
+
// Allow touchmove for elements inside modal, its required for scroll to work on iOS devices
|
|
45
|
+
return this.ref.nativeElement.contains(el);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
41
48
|
}
|
|
42
49
|
else {
|
|
43
50
|
this.disableFocusTrap();
|
|
@@ -90,10 +97,10 @@ export class NggModalComponent {
|
|
|
90
97
|
}
|
|
91
98
|
}
|
|
92
99
|
NggModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModalComponent, deps: [{ token: i0.ElementRef }, { token: i1.ConfigurableFocusTrapFactory }], target: i0.ɵɵFactoryTarget.Component });
|
|
93
|
-
NggModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NggModalComponent, selector: "ngg-modal", inputs: { modalType: "modalType", header: "header", confirmLabel: "confirmLabel", dismissLabel: "dismissLabel", size: "size", trapFocus: "trapFocus", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange", closed: "closed", confirm: "confirm", dismiss: "dismiss" }, host: { properties: { "class.open": "this.open" } }, viewQueries: [{ propertyName: "backdropRef", first: true, predicate: ["backdrop"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <aside data-testid=\"modal\" *ngSwitchCase=\"'slideout'\" role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <
|
|
100
|
+
NggModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NggModalComponent, selector: "ngg-modal", inputs: { modalType: "modalType", header: "header", confirmLabel: "confirmLabel", dismissLabel: "dismissLabel", size: "size", hideHeader: "hideHeader", hideFooter: "hideFooter", trapFocus: "trapFocus", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange", closed: "closed", confirm: "confirm", dismiss: "dismiss" }, host: { properties: { "class.open": "this.open" } }, queries: [{ propertyName: "modalHeaderContent", first: true, predicate: NggModalHeaderDirective, descendants: true }, { propertyName: "modalFooterContent", first: true, predicate: NggModalFooterDirective, descendants: true }], viewQueries: [{ propertyName: "backdropRef", first: true, predicate: ["backdrop"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <aside data-testid=\"modal\" *ngSwitchCase=\"'slideout'\" role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </aside>\n <main data-testid=\"modal\" *ngSwitchCase=\"'takeover'\" role=\"dialog\" aria-modal=\"true\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </main>\n <section data-testid=\"modal\" *ngSwitchDefault role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </section>\n <ng-template #contentTemplate>\n <ng-container *ngIf=\"!hideHeader\">\n <header *ngIf=\"!modalHeaderContent; else headerContentTemplate\" ngg-modal-header data-testid=\"modal-header\" [header]=\"header\" (closed)=\"this.handleCloseClick($event)\"></header>\n </ng-container>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"bodyContentTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"!hideFooter && (dismissLabel || confirmLabel)\">\n <footer *ngIf=\"!modalFooterContent; else footerContentTemplate\" ngg-modal-footer data-testid=\"modal-footer\" [dismissLabel]=\"dismissLabel\" [confirmLabel]=\"confirmLabel\" (dismiss)=\"this.handleDismiss($event)\" (confirm)=\"this.handleConfirm($event)\"></footer>\n </ng-container>\n </ng-template>\n <ng-template #headerContentTemplate>\n <header data-testid=\"modal-header\">\n <ng-content select=\"[nggModalHeader]\"></ng-content>\n </header>\n </ng-template>\n <ng-template #bodyContentTemplate>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #footerContentTemplate>\n <footer data-testid=\"modal-footer\">\n <ng-content select=\"[nggModalFooter]\"></ng-content>\n </footer>\n </ng-template>\n <div #backdrop data-testid=\"modal-backdrop\" class=\"backdrop\" (click)=\"this.handleBackdropClick($event)\" [attr.aria-hidden]=\"true\"></div>\n</ng-container>\n", styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgSwitch; }), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgSwitchCase; }), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgSwitchDefault; }), selector: "[ngSwitchDefault]" }, { kind: "component", type: i0.forwardRef(function () { return NggModalHeaderComponent; }), selector: "[ngg-modal-header]", inputs: ["header"], outputs: ["closed"] }, { kind: "component", type: i0.forwardRef(function () { return NggModalBodyComponent; }), selector: "[ngg-modal-body]" }, { kind: "component", type: i0.forwardRef(function () { return NggModalFooterComponent; }), selector: "[ngg-modal-footer]", inputs: ["dismissLabel", "confirmLabel"], outputs: ["dismiss", "confirm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
94
101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModalComponent, decorators: [{
|
|
95
102
|
type: Component,
|
|
96
|
-
args: [{ selector: 'ngg-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <aside data-testid=\"modal\" *ngSwitchCase=\"'slideout'\" role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <
|
|
103
|
+
args: [{ selector: 'ngg-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <aside data-testid=\"modal\" *ngSwitchCase=\"'slideout'\" role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </aside>\n <main data-testid=\"modal\" *ngSwitchCase=\"'takeover'\" role=\"dialog\" aria-modal=\"true\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </main>\n <section data-testid=\"modal\" *ngSwitchDefault role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </section>\n <ng-template #contentTemplate>\n <ng-container *ngIf=\"!hideHeader\">\n <header *ngIf=\"!modalHeaderContent; else headerContentTemplate\" ngg-modal-header data-testid=\"modal-header\" [header]=\"header\" (closed)=\"this.handleCloseClick($event)\"></header>\n </ng-container>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"bodyContentTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"!hideFooter && (dismissLabel || confirmLabel)\">\n <footer *ngIf=\"!modalFooterContent; else footerContentTemplate\" ngg-modal-footer data-testid=\"modal-footer\" [dismissLabel]=\"dismissLabel\" [confirmLabel]=\"confirmLabel\" (dismiss)=\"this.handleDismiss($event)\" (confirm)=\"this.handleConfirm($event)\"></footer>\n </ng-container>\n </ng-template>\n <ng-template #headerContentTemplate>\n <header data-testid=\"modal-header\">\n <ng-content select=\"[nggModalHeader]\"></ng-content>\n </header>\n </ng-template>\n <ng-template #bodyContentTemplate>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #footerContentTemplate>\n <footer data-testid=\"modal-footer\">\n <ng-content select=\"[nggModalFooter]\"></ng-content>\n </footer>\n </ng-template>\n <div #backdrop data-testid=\"modal-backdrop\" class=\"backdrop\" (click)=\"this.handleBackdropClick($event)\" [attr.aria-hidden]=\"true\"></div>\n</ng-container>\n", styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] }]
|
|
97
104
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ConfigurableFocusTrapFactory }]; }, propDecorators: { modalType: [{
|
|
98
105
|
type: Input
|
|
99
106
|
}], header: [{
|
|
@@ -104,6 +111,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
104
111
|
type: Input
|
|
105
112
|
}], size: [{
|
|
106
113
|
type: Input
|
|
114
|
+
}], hideHeader: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], hideFooter: [{
|
|
117
|
+
type: Input
|
|
107
118
|
}], trapFocus: [{
|
|
108
119
|
type: Input
|
|
109
120
|
}], isOpen: [{
|
|
@@ -122,6 +133,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
122
133
|
}], backdropRef: [{
|
|
123
134
|
type: ViewChild,
|
|
124
135
|
args: ['backdrop']
|
|
136
|
+
}], modalHeaderContent: [{
|
|
137
|
+
type: ContentChild,
|
|
138
|
+
args: [NggModalHeaderDirective]
|
|
139
|
+
}], modalFooterContent: [{
|
|
140
|
+
type: ContentChild,
|
|
141
|
+
args: [NggModalFooterDirective]
|
|
125
142
|
}] } });
|
|
126
143
|
export class NggModalHeaderComponent {
|
|
127
144
|
constructor() {
|
|
@@ -193,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
193
210
|
}], confirm: [{
|
|
194
211
|
type: Output
|
|
195
212
|
}] } });
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkosT0FBTyxFQUF5Qiw0QkFBNEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hGLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsZ0JBQWdCLEdBQ25CLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFRMUIsTUFBTSxPQUFPLGlCQUFpQjtJQW1EMUIsWUFBb0IsR0FBNEIsRUFBVSw0QkFBMEQ7UUFBaEcsUUFBRyxHQUFILEdBQUcsQ0FBeUI7UUFBVSxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQThCO1FBWG5HLGlCQUFZLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFDbEUsV0FBTSxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBQ2xFLFlBQU8sR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUNuRSxZQUFPLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFTaEYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBL0NELElBQW9CLFNBQVM7UUFDekIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFXLFNBQVMsQ0FBQyxLQUEwQjtR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QztRQUN2RCxZQUFPLEdBQTZCLElBQUksWUFBWSxFQUFFLENBQUM7S0FTcEU7SUFQRyxhQUFhLENBQUMsS0FBaUI7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFpQjtRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDOztvSEFaUSx1QkFBdUI7d0dBQXZCLHVCQUF1Qix1TEFMdEI7OztLQUdUOzJGQUVRLHVCQUF1QjtrQkFUbkMsU0FBUzsrQkFFSSxvQkFBb0IsWUFFcEI7OztLQUdUOzhCQUdRLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb2RhbFR5cGUsIFNpemUgfSBmcm9tICdAc2ViZ3JvdXAvZXh0cmFjdCc7XG5pbXBvcnQgeyBDb25maWd1cmFibGVGb2N1c1RyYXAsIENvbmZpZ3VyYWJsZUZvY3VzVHJhcEZhY3RvcnkgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICAgIGRpc2FibGVCb2R5U2Nyb2xsLFxuICAgIGVuYWJsZUJvZHlTY3JvbGwsXG59IGZyb20gXCJib2R5LXNjcm9sbC1sb2NrXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmdnLW1vZGFsJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTmdnTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgQElucHV0KCkgcHVibGljIG1vZGFsVHlwZT86IE1vZGFsVHlwZVxuICAgIEBJbnB1dCgpIHB1YmxpYyBoZWFkZXI/OiBzdHJpbmdcbiAgICBASW5wdXQoKSBwdWJsaWMgY29uZmlybUxhYmVsPzogc3RyaW5nXG4gICAgQElucHV0KCkgcHVibGljIGRpc21pc3NMYWJlbD86IHN0cmluZ1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzaXplPzogU2l6ZVxuICAgIEBJbnB1dCgpIHB1YmxpYyBnZXQgdHJhcEZvY3VzKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJhcEZvY3VzO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IHRyYXBGb2N1cyh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl90cmFwRm9jdXMgPSB2YWx1ZTtcbiAgICAgICAgXG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2lzT3Blbikge1xuICAgICAgICAgICAgICAgIHRoaXMuZW5hYmxlRm9jdXNUcmFwKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVGb2N1c1RyYXAoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBpc09wZW4oKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc09wZW47XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgaXNPcGVuKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2lzT3BlbiA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMudHJhcEZvY3VzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbmFibGVGb2N1c1RyYXAoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGlzYWJsZUJvZHlTY3JvbGwodGhpcy5yZWYubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVGb2N1c1RyYXAoKTtcbiAgICAgICAgICAgIGVuYWJsZUJvZHlTY3JvbGwodGhpcy5yZWYubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIGlzT3BlbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2xvc2VkOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjb25maXJtOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBkaXNtaXNzOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm9wZW4nKSBnZXQgb3BlbigpIHsgcmV0dXJuIHRoaXMuaXNPcGVuOyB9XG4gICAgQFZpZXdDaGlsZCgnYmFja2Ryb3AnKSBwcml2YXRlIGJhY2tkcm9wUmVmPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgICBwcml2YXRlIF9pc09wZW4/OiBib29sZWFuO1xuICAgIHByaXZhdGUgX3RyYXBGb2N1cz86IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBjb25maWd1cmFibGVGb2N1c1RyYXA6IENvbmZpZ3VyYWJsZUZvY3VzVHJhcDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHJpdmF0ZSBjb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5OiBDb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5KSB7XG4gICAgICAgIHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwID0gdGhpcy5jb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5LmNyZWF0ZSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2lzT3BlbiAmJiB0aGlzLnRyYXBGb2N1cykgXG4gICAgICAgICAgIHRoaXMuZW5hYmxlRm9jdXNUcmFwKCk7IFxuICAgICAgICBlbHNlXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVGb2N1c1RyYXAoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlQ2xvc2VDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICB0aGlzLmNsb3NlTW9kYWwoZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVCYWNrZHJvcENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC50YXJnZXQgPT0gdGhpcy5iYWNrZHJvcFJlZj8ubmF0aXZlRWxlbWVudClcbiAgICAgICAgICAgIHRoaXMuY2xvc2VNb2RhbChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZURpc21pc3MoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5kaXNtaXNzLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVDb25maXJtKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMuY29uZmlybS5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlTW9kYWwoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuY2xvc2VkLm9ic2VydmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlZC5lbWl0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmlzT3BlbkNoYW5nZS5lbWl0KHRoaXMuaXNPcGVuKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZW5hYmxlRm9jdXNUcmFwKCkge1xuICAgICAgICBpZiAodGhpcy5jb25maWd1cmFibGVGb2N1c1RyYXApIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwLmVuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmFibGVGb2N1c1RyYXAuZm9jdXNJbml0aWFsRWxlbWVudFdoZW5SZWFkeSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIHByaXZhdGUgZGlzYWJsZUZvY3VzVHJhcCgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYWJsZUZvY3VzVHJhcC5lbmFibGVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maWd1cmFibGVGb2N1c1RyYXA/LmRlc3Ryb3koKTtcbiAgICAgICAgZW5hYmxlQm9keVNjcm9sbCh0aGlzLnJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbbmdnLW1vZGFsLWhlYWRlcl0nLFxuICAgIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8aDMgZGF0YS10ZXN0aWQ9XCJtb2RhbC1oZWFkZXItdGV4dFwiPnt7aGVhZGVyfX08L2gzPlxuICAgIDxidXR0b24gZGF0YS10ZXN0aWQ9XCJtb2RhbC1jbG9zZS1idXR0b25cIiBjbGFzcz1cImNsb3NlXCIgKGNsaWNrKT1cInRoaXMuaGFuZGxlQ2xvc2UoJGV2ZW50KVwiPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+Q2xvc2U8L3NwYW4+XG4gICAgICAgIDxpPjwvaT5cbiAgICA8L2J1dHRvbj5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIE5nZ01vZGFsSGVhZGVyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBoZWFkZXI/OiBzdHJpbmc7XG4gICAgQE91dHB1dCgpIGNsb3NlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gICAgaGFuZGxlQ2xvc2UoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5jbG9zZWQuZW1pdChldmVudCk7XG4gICAgfVxuXG59XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbbmdnLW1vZGFsLWJvZHldJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgTmdnTW9kYWxCb2R5Q29tcG9uZW50IHtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tuZ2ctbW9kYWwtZm9vdGVyXScsXG4gICAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b24gZGF0YS10ZXN0aWQ9XCJtb2RhbC1kaXNtaXNzLWJ1dHRvblwiICpuZ0lmPVwiZGlzbWlzc0xhYmVsXCIgY2xhc3M9XCJzZWNvbmRhcnlcIiAoY2xpY2spPVwidGhpcy5oYW5kbGVEaXNtaXNzKCRldmVudClcIj57e2Rpc21pc3NMYWJlbH19PC9idXR0b24+XG4gICAgPGJ1dHRvbiBkYXRhLXRlc3RpZD1cIm1vZGFsLWNvbmZpcm0tYnV0dG9uXCIgKm5nSWY9XCJjb25maXJtTGFiZWxcIiBjbGFzcz1cInByaW1hcnlcIiAoY2xpY2spPVwidGhpcy5oYW5kbGVDb25maXJtKCRldmVudClcIj57e2NvbmZpcm1MYWJlbH19PC9idXR0b24+XG4gICAgYFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dNb2RhbEZvb3RlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgZGlzbWlzc0xhYmVsPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNvbmZpcm1MYWJlbD86IHN0cmluZztcbiAgICBAT3V0cHV0KCkgZGlzbWlzczogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBjb25maXJtOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBoYW5kbGVEaXNtaXNzKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMuZGlzbWlzcy5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBoYW5kbGVDb25maXJtKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMuY29uZmlybS5lbWl0KGV2ZW50KTtcbiAgICB9XG59IiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzT3BlblwiIFtuZ1N3aXRjaF09XCJtb2RhbFR5cGVcIj5cbiAgICA8YXNpZGUgZGF0YS10ZXN0aWQ9XCJtb2RhbFwiICpuZ1N3aXRjaENhc2U9XCInc2xpZGVvdXQnXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtbW9kYWw9XCJ0cnVlXCIgW2NsYXNzLnNtYWxsXT1cInNpemUgPT09ICdzbSdcIiBbY2xhc3MubWVkaXVtXT1cInNpemUgPT09ICdtZCdcIiBbY2xhc3MubGFyZ2VdPVwic2l6ZSA9PT0gJ2xnJ1wiPlxuICAgICAgICA8aGVhZGVyIG5nZy1tb2RhbC1oZWFkZXIgZGF0YS10ZXN0aWQ9XCJtb2RhbC1oZWFkZXJcIiBbaGVhZGVyXT1cImhlYWRlclwiIChjbG9zZWQpPVwidGhpcy5oYW5kbGVDbG9zZUNsaWNrKCRldmVudClcIj48L2hlYWRlcj5cbiAgICAgICAgPGRpdiBuZ2ctbW9kYWwtYm9keSBkYXRhLXRlc3RpZD1cIm1vZGFsLWJvZHlcIiBjbGFzcz1cImJvZHlcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VHBsXCI+PC9uZy1jb250YWluZXI+IFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGZvb3RlciBuZ2ctbW9kYWwtZm9vdGVyIGRhdGEtdGVzdGlkPVwibW9kYWwtZm9vdGVyXCIgKm5nSWY9XCJkaXNtaXNzTGFiZWwgfHwgY29uZmlybUxhYmVsXCIgW2Rpc21pc3NMYWJlbF09XCJkaXNtaXNzTGFiZWxcIiBbY29uZmlybUxhYmVsXT1cImNvbmZpcm1MYWJlbFwiIChkaXNtaXNzKT1cInRoaXMuaGFuZGxlRGlzbWlzcygkZXZlbnQpXCIgKGNvbmZpcm0pPVwidGhpcy5oYW5kbGVDb25maXJtKCRldmVudClcIj48L2Zvb3Rlcj5cbiAgICA8L2FzaWRlPlxuICAgIDxtYWluIGRhdGEtdGVzdGlkPVwibW9kYWxcIiAqbmdTd2l0Y2hDYXNlPVwiJ3Rha2VvdmVyJ1wiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLW1vZGFsPVwidHJ1ZVwiPlxuICAgICAgICA8aGVhZGVyIG5nZy1tb2RhbC1oZWFkZXIgZGF0YS10ZXN0aWQ9XCJtb2RhbC1oZWFkZXJcIiBbaGVhZGVyXT1cImhlYWRlclwiIChjbG9zZWQpPVwidGhpcy5oYW5kbGVDbG9zZUNsaWNrKCRldmVudClcIj48L2hlYWRlcj5cbiAgICAgICAgPGRpdiBuZ2ctbW9kYWwtYm9keSBkYXRhLXRlc3RpZD1cIm1vZGFsLWJvZHlcIiBjbGFzcz1cImJvZHlcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VHBsXCI+PC9uZy1jb250YWluZXI+IFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGZvb3RlciBuZ2ctbW9kYWwtZm9vdGVyIGRhdGEtdGVzdGlkPVwibW9kYWwtZm9vdGVyXCIgKm5nSWY9XCJkaXNtaXNzTGFiZWwgfHwgY29uZmlybUxhYmVsXCIgW2Rpc21pc3NMYWJlbF09XCJkaXNtaXNzTGFiZWxcIiBbY29uZmlybUxhYmVsXT1cImNvbmZpcm1MYWJlbFwiIChkaXNtaXNzKT1cInRoaXMuaGFuZGxlRGlzbWlzcygkZXZlbnQpXCIgKGNvbmZpcm0pPVwidGhpcy5oYW5kbGVDb25maXJtKCRldmVudClcIj48L2Zvb3Rlcj5cbiAgICA8L21haW4+XG4gICAgPHNlY3Rpb24gZGF0YS10ZXN0aWQ9XCJtb2RhbFwiICpuZ1N3aXRjaERlZmF1bHQgcm9sZT1cImRpYWxvZ1wiIGFyaWEtbW9kYWw9XCJ0cnVlXCIgW2NsYXNzLnNtYWxsXT1cInNpemUgPT09ICdzbSdcIiBbY2xhc3MubWVkaXVtXT1cInNpemUgPT09ICdtZCdcIiBbY2xhc3MubGFyZ2VdPVwic2l6ZSA9PT0gJ2xnJ1wiPlxuICAgICAgICA8aGVhZGVyIG5nZy1tb2RhbC1oZWFkZXIgZGF0YS10ZXN0aWQ9XCJtb2RhbC1oZWFkZXJcIiBbaGVhZGVyXT1cImhlYWRlclwiIChjbG9zZWQpPVwidGhpcy5oYW5kbGVDbG9zZUNsaWNrKCRldmVudClcIj48L2hlYWRlcj5cbiAgICAgICAgPGRpdiBuZ2ctbW9kYWwtYm9keSBkYXRhLXRlc3RpZD1cIm1vZGFsLWJvZHlcIiBjbGFzcz1cImJvZHlcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VHBsXCI+PC9uZy1jb250YWluZXI+IFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGZvb3RlciBuZ2ctbW9kYWwtZm9vdGVyIGRhdGEtdGVzdGlkPVwibW9kYWwtZm9vdGVyXCIgKm5nSWY9XCJkaXNtaXNzTGFiZWwgfHwgY29uZmlybUxhYmVsXCIgW2Rpc21pc3NMYWJlbF09XCJkaXNtaXNzTGFiZWxcIiBbY29uZmlybUxhYmVsXT1cImNvbmZpcm1MYWJlbFwiIChkaXNtaXNzKT1cInRoaXMuaGFuZGxlRGlzbWlzcygkZXZlbnQpXCIgKGNvbmZpcm0pPVwidGhpcy5oYW5kbGVDb25maXJtKCRldmVudClcIj48L2Zvb3Rlcj5cbiAgICA8L3NlY3Rpb24+XG4gICAgPG5nLXRlbXBsYXRlICNjb250ZW50VHBsPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPGRpdiAjYmFja2Ryb3AgZGF0YS10ZXN0aWQ9XCJtb2RhbC1iYWNrZHJvcFwiIGNsYXNzPVwiYmFja2Ryb3BcIiAoY2xpY2spPVwidGhpcy5oYW5kbGVCYWNrZHJvcENsaWNrKCRldmVudClcIiBbYXR0ci5hcmlhLWhpZGRlbl09XCJ0cnVlXCI+PC9kaXY+XG48L25nLWNvbnRhaW5lcj4iXX0=
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJLLE9BQU8sRUFBeUIsNEJBQTRCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RixPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLGdCQUFnQixHQUNuQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBUW5FLE1BQU0sT0FBTyxpQkFBaUI7SUE0RDFCLFlBQW9CLEdBQTRCLEVBQVUsNEJBQTBEO1FBQWhHLFFBQUcsR0FBSCxHQUFHLENBQXlCO1FBQVUsaUNBQTRCLEdBQTVCLDRCQUE0QixDQUE4QjtRQWJuRyxpQkFBWSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2xFLFdBQU0sR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUNsRSxZQUFPLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFDbkUsWUFBTyxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBV2hGLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENB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QWlCO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7O29IQU5RLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHVIQVJ0Qjs7Ozs7O0tBTVQ7MkZBRVEsdUJBQXVCO2tCQVpuQyxTQUFTOytCQUVJLG9CQUFvQixZQUVwQjs7Ozs7O0tBTVQ7OEJBR1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNJLE1BQU07c0JBQWYsTUFBTTs7QUFjWCxNQUFNLE9BQU8scUJBQXFCOztrSEFBckIscUJBQXFCO3NHQUFyQixxQkFBcUIsd0RBRnBCLDJCQUEyQjsyRkFFNUIscUJBQXFCO2tCQU5qQyxTQUFTOytCQUVJLGtCQUFrQixZQUVsQiwyQkFBMkI7O0FBY3pDLE1BQU0sT0FBTyx1QkFBdUI7SUFUcEM7UUFZYyxZQUFPLEdBQTZCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkQsWUFBTyxHQUE2QixJQUFJLFlBQVksRUFBRSxDQUFDO0tBU3BFO0lBUEcsYUFBYSxDQUFDLEtBQWlCO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBaUI7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7b0hBWlEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsdUxBTHRCOzs7S0FHVDsyRkFFUSx1QkFBdUI7a0JBVG5DLFNBQVM7K0JBRUksb0JBQW9CLFlBRXBCOzs7S0FHVDs4QkFHUSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb2RhbFR5cGUsIFNpemUgfSBmcm9tICdAc2ViZ3JvdXAvZXh0cmFjdCc7XG5pbXBvcnQgeyBDb25maWd1cmFibGVGb2N1c1RyYXAsIENvbmZpZ3VyYWJsZUZvY3VzVHJhcEZhY3RvcnkgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICAgIGRpc2FibGVCb2R5U2Nyb2xsLFxuICAgIGVuYWJsZUJvZHlTY3JvbGwsXG59IGZyb20gXCJib2R5LXNjcm9sbC1sb2NrXCI7XG5pbXBvcnQgeyBOZ2dNb2RhbEhlYWRlckRpcmVjdGl2ZSB9IGZyb20gJy4vbW9kYWwtaGVhZGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZ2dNb2RhbEZvb3RlckRpcmVjdGl2ZSB9IGZyb20gJy4vbW9kYWwtZm9vdGVyLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmdnLW1vZGFsJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTmdnTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgQElucHV0KCkgcHVibGljIG1vZGFsVHlwZT86IE1vZGFsVHlwZVxuICAgIEBJbnB1dCgpIHB1YmxpYyBoZWFkZXI/OiBzdHJpbmdcbiAgICBASW5wdXQoKSBwdWJsaWMgY29uZmlybUxhYmVsPzogc3RyaW5nXG4gICAgQElucHV0KCkgcHVibGljIGRpc21pc3NMYWJlbD86IHN0cmluZ1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzaXplPzogU2l6ZVxuICAgIEBJbnB1dCgpIHB1YmxpYyBoaWRlSGVhZGVyPzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgaGlkZUZvb3Rlcj86IGJvb2xlYW47XG4gICAgQElucHV0KCkgcHVibGljIGdldCB0cmFwRm9jdXMoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl90cmFwRm9jdXM7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgdHJhcEZvY3VzKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX3RyYXBGb2N1cyA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2lzT3Blbikge1xuICAgICAgICAgICAgICAgIHRoaXMuZW5hYmxlRm9jdXNUcmFwKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVGb2N1c1RyYXAoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBpc09wZW4oKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc09wZW47XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgaXNPcGVuKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2lzT3BlbiA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMudHJhcEZvY3VzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbmFibGVGb2N1c1RyYXAoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGlzYWJsZUJvZHlTY3JvbGwodGhpcy5yZWYubmF0aXZlRWxlbWVudCwge1xuICAgICAgICAgICAgICAgIGFsbG93VG91Y2hNb3ZlOiAoZWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQWxsb3cgdG91Y2htb3ZlIGZvciBlbGVtZW50cyBpbnNpZGUgbW9kYWwsIGl0cyByZXF1aXJlZCBmb3Igc2Nyb2xsIHRvIHdvcmsgb24gaU9TIGRldmljZXNcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlRm9jdXNUcmFwKCk7XG4gICAgICAgICAgICBlbmFibGVCb2R5U2Nyb2xsKHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIHB1YmxpYyBpc09wZW5DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNsb3NlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY29uZmlybTogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZGlzbWlzczogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5vcGVuJykgZ2V0IG9wZW4oKSB7IHJldHVybiB0aGlzLmlzT3BlbjsgfVxuICAgIEBWaWV3Q2hpbGQoJ2JhY2tkcm9wJykgcHJpdmF0ZSBiYWNrZHJvcFJlZj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gICAgQENvbnRlbnRDaGlsZChOZ2dNb2RhbEhlYWRlckRpcmVjdGl2ZSkgcHVibGljIG1vZGFsSGVhZGVyQ29udGVudD86IE5nZ01vZGFsSGVhZGVyRGlyZWN0aXZlO1xuICAgIEBDb250ZW50Q2hpbGQoTmdnTW9kYWxGb290ZXJEaXJlY3RpdmUpIHB1YmxpYyBtb2RhbEZvb3RlckNvbnRlbnQ/OiBOZ2dNb2RhbEZvb3RlckRpcmVjdGl2ZTtcbiAgICBwcml2YXRlIF9pc09wZW4/OiBib29sZWFuO1xuICAgIHByaXZhdGUgX3RyYXBGb2N1cz86IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBjb25maWd1cmFibGVGb2N1c1RyYXA6IENvbmZpZ3VyYWJsZUZvY3VzVHJhcDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHJpdmF0ZSBjb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5OiBDb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5KSB7XG4gICAgICAgIHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwID0gdGhpcy5jb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5LmNyZWF0ZSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2lzT3BlbiAmJiB0aGlzLnRyYXBGb2N1cylcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlRm9jdXNUcmFwKCk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZUZvY3VzVHJhcCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVDbG9zZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMuY2xvc2VNb2RhbChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUJhY2tkcm9wQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldCA9PSB0aGlzLmJhY2tkcm9wUmVmPy5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgdGhpcy5jbG9zZU1vZGFsKGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlRGlzbWlzcyhldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICB0aGlzLmRpc21pc3MuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUNvbmZpcm0oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5jb25maXJtLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2VNb2RhbChldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5jbG9zZWQub2JzZXJ2ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQodGhpcy5pc09wZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBlbmFibGVGb2N1c1RyYXAoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYWJsZUZvY3VzVHJhcCkge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmFibGVGb2N1c1RyYXAuZW5hYmxlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYWJsZUZvY3VzVHJhcC5mb2N1c0luaXRpYWxFbGVtZW50V2hlblJlYWR5KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGRpc2FibGVGb2N1c1RyYXAoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYWJsZUZvY3VzVHJhcCkge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmFibGVGb2N1c1RyYXAuZW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwPy5kZXN0cm95KCk7XG4gICAgICAgIGVuYWJsZUJvZHlTY3JvbGwodGhpcy5yZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW25nZy1tb2RhbC1oZWFkZXJdJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPGgzIGRhdGEtdGVzdGlkPVwibW9kYWwtaGVhZGVyLXRleHRcIj57e2hlYWRlcn19PC9oMz5cbiAgICA8YnV0dG9uIGRhdGEtdGVzdGlkPVwibW9kYWwtY2xvc2UtYnV0dG9uXCIgY2xhc3M9XCJjbG9zZVwiIChjbGljayk9XCJ0aGlzLmhhbmRsZUNsb3NlKCRldmVudClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3Itb25seVwiPkNsb3NlPC9zcGFuPlxuICAgICAgICA8aT48L2k+XG4gICAgPC9idXR0b24+XG4gICAgYFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dNb2RhbEhlYWRlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgaGVhZGVyPzogc3RyaW5nO1xuICAgIEBPdXRwdXQoKSBjbG9zZWQ6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcblxuICAgIGhhbmRsZUNsb3NlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoZXZlbnQpO1xuICAgIH1cblxufVxuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW25nZy1tb2RhbC1ib2R5XScsXG4gICAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXG59KVxuZXhwb3J0IGNsYXNzIE5nZ01vZGFsQm9keUNvbXBvbmVudCB7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbbmdnLW1vZGFsLWZvb3Rlcl0nLFxuICAgIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uIGRhdGEtdGVzdGlkPVwibW9kYWwtZGlzbWlzcy1idXR0b25cIiAqbmdJZj1cImRpc21pc3NMYWJlbFwiIGNsYXNzPVwic2Vjb25kYXJ5XCIgKGNsaWNrKT1cInRoaXMuaGFuZGxlRGlzbWlzcygkZXZlbnQpXCI+e3tkaXNtaXNzTGFiZWx9fTwvYnV0dG9uPlxuICAgIDxidXR0b24gZGF0YS10ZXN0aWQ9XCJtb2RhbC1jb25maXJtLWJ1dHRvblwiICpuZ0lmPVwiY29uZmlybUxhYmVsXCIgY2xhc3M9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInRoaXMuaGFuZGxlQ29uZmlybSgkZXZlbnQpXCI+e3tjb25maXJtTGFiZWx9fTwvYnV0dG9uPlxuICAgIGBcbn0pXG5leHBvcnQgY2xhc3MgTmdnTW9kYWxGb290ZXJDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGRpc21pc3NMYWJlbD86IHN0cmluZztcbiAgICBASW5wdXQoKSBjb25maXJtTGFiZWw/OiBzdHJpbmc7XG4gICAgQE91dHB1dCgpIGRpc21pc3M6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgY29uZmlybTogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgaGFuZGxlRGlzbWlzcyhldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICB0aGlzLmRpc21pc3MuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgaGFuZGxlQ29uZmlybShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICB0aGlzLmNvbmZpcm0uZW1pdChldmVudCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzT3BlblwiIFtuZ1N3aXRjaF09XCJtb2RhbFR5cGVcIj5cbiAgICA8YXNpZGUgZGF0YS10ZXN0aWQ9XCJtb2RhbFwiICpuZ1N3aXRjaENhc2U9XCInc2xpZGVvdXQnXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtbW9kYWw9XCJ0cnVlXCIgW2NsYXNzLnNtYWxsXT1cInNpemUgPT09ICdzbSdcIiBbY2xhc3MubWVkaXVtXT1cInNpemUgPT09ICdtZCdcIiBbY2xhc3MubGFyZ2VdPVwic2l6ZSA9PT0gJ2xnJ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9hc2lkZT5cbiAgICA8bWFpbiBkYXRhLXRlc3RpZD1cIm1vZGFsXCIgKm5nU3dpdGNoQ2FzZT1cIid0YWtlb3ZlcidcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbWFpbj5cbiAgICA8c2VjdGlvbiBkYXRhLXRlc3RpZD1cIm1vZGFsXCIgKm5nU3dpdGNoRGVmYXVsdCByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIiBbY2xhc3Muc21hbGxdPVwic2l6ZSA9PT0gJ3NtJ1wiIFtjbGFzcy5tZWRpdW1dPVwic2l6ZSA9PT0gJ21kJ1wiIFtjbGFzcy5sYXJnZV09XCJzaXplID09PSAnbGcnXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L3NlY3Rpb24+XG4gICAgPG5nLXRlbXBsYXRlICNjb250ZW50VGVtcGxhdGU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGlkZUhlYWRlclwiPlxuICAgICAgICAgICAgPGhlYWRlciAqbmdJZj1cIiFtb2RhbEhlYWRlckNvbnRlbnQ7IGVsc2UgaGVhZGVyQ29udGVudFRlbXBsYXRlXCIgbmdnLW1vZGFsLWhlYWRlciBkYXRhLXRlc3RpZD1cIm1vZGFsLWhlYWRlclwiIFtoZWFkZXJdPVwiaGVhZGVyXCIgKGNsb3NlZCk9XCJ0aGlzLmhhbmRsZUNsb3NlQ2xpY2soJGV2ZW50KVwiPjwvaGVhZGVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBuZ2ctbW9kYWwtYm9keSBkYXRhLXRlc3RpZD1cIm1vZGFsLWJvZHlcIiBjbGFzcz1cImJvZHlcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJib2R5Q29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhpZGVGb290ZXIgJiYgKGRpc21pc3NMYWJlbCB8fCBjb25maXJtTGFiZWwpXCI+XG4gICAgICAgICAgICA8Zm9vdGVyICpuZ0lmPVwiIW1vZGFsRm9vdGVyQ29udGVudDsgZWxzZSBmb290ZXJDb250ZW50VGVtcGxhdGVcIiBuZ2ctbW9kYWwtZm9vdGVyIGRhdGEtdGVzdGlkPVwibW9kYWwtZm9vdGVyXCIgW2Rpc21pc3NMYWJlbF09XCJkaXNtaXNzTGFiZWxcIiBbY29uZmlybUxhYmVsXT1cImNvbmZpcm1MYWJlbFwiIChkaXNtaXNzKT1cInRoaXMuaGFuZGxlRGlzbWlzcygkZXZlbnQpXCIgKGNvbmZpcm0pPVwidGhpcy5oYW5kbGVDb25maXJtKCRldmVudClcIj48L2Zvb3Rlcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlckNvbnRlbnRUZW1wbGF0ZT5cbiAgICAgICAgPGhlYWRlciBkYXRhLXRlc3RpZD1cIm1vZGFsLWhlYWRlclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW25nZ01vZGFsSGVhZGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9oZWFkZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2JvZHlDb250ZW50VGVtcGxhdGU+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyQ29udGVudFRlbXBsYXRlPlxuICAgICAgICA8Zm9vdGVyIGRhdGEtdGVzdGlkPVwibW9kYWwtZm9vdGVyXCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbmdnTW9kYWxGb290ZXJdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Zvb3Rlcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxkaXYgI2JhY2tkcm9wIGRhdGEtdGVzdGlkPVwibW9kYWwtYmFja2Ryb3BcIiBjbGFzcz1cImJhY2tkcm9wXCIgKGNsaWNrKT1cInRoaXMuaGFuZGxlQmFja2Ryb3BDbGljaygkZXZlbnQpXCIgW2F0dHIuYXJpYS1oaWRkZW5dPVwidHJ1ZVwiPjwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -2,15 +2,21 @@ import { CommonModule } from '@angular/common';
|
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
3
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
4
4
|
import { NggModalBodyComponent, NggModalComponent, NggModalFooterComponent, NggModalHeaderComponent } from './modal.component';
|
|
5
|
+
import { NggModalHeaderDirective } from './modal-header.directive';
|
|
6
|
+
import { NggModalFooterDirective } from './modal-footer.directive';
|
|
5
7
|
import * as i0 from "@angular/core";
|
|
6
8
|
const DECLARATIONS = [
|
|
7
9
|
NggModalComponent,
|
|
8
10
|
NggModalHeaderComponent,
|
|
9
11
|
NggModalBodyComponent,
|
|
10
|
-
NggModalFooterComponent
|
|
12
|
+
NggModalFooterComponent,
|
|
13
|
+
NggModalHeaderDirective,
|
|
14
|
+
NggModalFooterDirective
|
|
11
15
|
];
|
|
12
16
|
const EXPORTS = [
|
|
13
17
|
NggModalComponent,
|
|
18
|
+
NggModalHeaderDirective,
|
|
19
|
+
NggModalFooterDirective
|
|
14
20
|
];
|
|
15
21
|
export class NggModalModule {
|
|
16
22
|
}
|
|
@@ -18,7 +24,11 @@ NggModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version:
|
|
|
18
24
|
NggModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NggModalModule, declarations: [NggModalComponent,
|
|
19
25
|
NggModalHeaderComponent,
|
|
20
26
|
NggModalBodyComponent,
|
|
21
|
-
NggModalFooterComponent
|
|
27
|
+
NggModalFooterComponent,
|
|
28
|
+
NggModalHeaderDirective,
|
|
29
|
+
NggModalFooterDirective], imports: [A11yModule, CommonModule], exports: [NggModalComponent,
|
|
30
|
+
NggModalHeaderDirective,
|
|
31
|
+
NggModalFooterDirective] });
|
|
22
32
|
NggModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModalModule, imports: [A11yModule, CommonModule] });
|
|
23
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModalModule, decorators: [{
|
|
24
34
|
type: NgModule,
|
|
@@ -28,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
28
38
|
declarations: DECLARATIONS,
|
|
29
39
|
}]
|
|
30
40
|
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbW9kYWwvbW9kYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFbkUsTUFBTSxZQUFZLEdBQUc7SUFDakIsaUJBQWlCO0lBQ2pCLHVCQUF1QjtJQUN2QixxQkFBcUI7SUFDckIsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2Qix1QkFBdUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFHO0lBQ1osaUJBQWlCO0lBQ2pCLHVCQUF1QjtJQUN2Qix1QkFBdUI7Q0FDMUIsQ0FBQztBQU9GLE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsaUJBbkJ2QixpQkFBaUI7UUFDakIsdUJBQXVCO1FBQ3ZCLHFCQUFxQjtRQUNyQix1QkFBdUI7UUFDdkIsdUJBQXVCO1FBQ3ZCLHVCQUF1QixhQVVaLFVBQVUsRUFBRSxZQUFZLGFBTm5DLGlCQUFpQjtRQUNqQix1QkFBdUI7UUFDdkIsdUJBQXVCOzRHQVFkLGNBQWMsWUFKWixVQUFVLEVBQUUsWUFBWTsyRkFJMUIsY0FBYztrQkFMMUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBRSxVQUFVLEVBQUUsWUFBWSxDQUFFO29CQUNyQyxPQUFPLEVBQUUsT0FBTztvQkFDaEIsWUFBWSxFQUFFLFlBQVk7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBOZ2dNb2RhbEJvZHlDb21wb25lbnQsIE5nZ01vZGFsQ29tcG9uZW50LCBOZ2dNb2RhbEZvb3RlckNvbXBvbmVudCwgTmdnTW9kYWxIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ2dNb2RhbEhlYWRlckRpcmVjdGl2ZSB9IGZyb20gJy4vbW9kYWwtaGVhZGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZ2dNb2RhbEZvb3RlckRpcmVjdGl2ZSB9IGZyb20gJy4vbW9kYWwtZm9vdGVyLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IERFQ0xBUkFUSU9OUyA9IFtcbiAgICBOZ2dNb2RhbENvbXBvbmVudCxcbiAgICBOZ2dNb2RhbEhlYWRlckNvbXBvbmVudCxcbiAgICBOZ2dNb2RhbEJvZHlDb21wb25lbnQsXG4gICAgTmdnTW9kYWxGb290ZXJDb21wb25lbnQsXG4gICAgTmdnTW9kYWxIZWFkZXJEaXJlY3RpdmUsXG4gICAgTmdnTW9kYWxGb290ZXJEaXJlY3RpdmVcbl07XG5cbmNvbnN0IEVYUE9SVFMgPSBbXG4gICAgTmdnTW9kYWxDb21wb25lbnQsXG4gICAgTmdnTW9kYWxIZWFkZXJEaXJlY3RpdmUsXG4gICAgTmdnTW9kYWxGb290ZXJEaXJlY3RpdmVcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogWyBBMTF5TW9kdWxlLCBDb21tb25Nb2R1bGUgXSxcbiAgICBleHBvcnRzOiBFWFBPUlRTLFxuICAgIGRlY2xhcmF0aW9uczogREVDTEFSQVRJT05TLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dNb2RhbE1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -316,6 +316,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
316
316
|
}]
|
|
317
317
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
318
318
|
|
|
319
|
+
const CONTEXT_MENU_TOP = '0px';
|
|
320
|
+
const CONTEXT_MENU_LEFT = '0px';
|
|
321
|
+
|
|
319
322
|
class NggContextMenuComponent {
|
|
320
323
|
constructor(changeDetectorRef, elementRef, closeContextMenu) {
|
|
321
324
|
this.changeDetectorRef = changeDetectorRef;
|
|
@@ -328,15 +331,14 @@ class NggContextMenuComponent {
|
|
|
328
331
|
this.closeOnScroll = false;
|
|
329
332
|
this.contextMenuItemClicked = new EventEmitter();
|
|
330
333
|
this.isActive = false;
|
|
331
|
-
this.top =
|
|
332
|
-
this.left =
|
|
334
|
+
this.top = CONTEXT_MENU_TOP;
|
|
335
|
+
this.left = CONTEXT_MENU_LEFT;
|
|
333
336
|
}
|
|
334
337
|
onDocumentClick(target) {
|
|
335
338
|
if (!this.isActive) {
|
|
336
339
|
return;
|
|
337
340
|
}
|
|
338
|
-
|
|
339
|
-
if (!contextMenuElement.contains(target)) {
|
|
341
|
+
if (!this.elementRef.nativeElement.contains(target)) {
|
|
340
342
|
this.close();
|
|
341
343
|
}
|
|
342
344
|
}
|
|
@@ -363,8 +365,7 @@ class NggContextMenuComponent {
|
|
|
363
365
|
this.close();
|
|
364
366
|
return;
|
|
365
367
|
}
|
|
366
|
-
const
|
|
367
|
-
const buttonRect = anchor.getBoundingClientRect();
|
|
368
|
+
const buttonRect = (_a = this.anchor) === null || _a === void 0 ? void 0 : _a.nativeElement.getBoundingClientRect();
|
|
368
369
|
const gapBetweenButtonAndPopover = 3;
|
|
369
370
|
const left = this.calculateLeft(this.direction, buttonRect);
|
|
370
371
|
const top = buttonRect.bottom + gapBetweenButtonAndPopover;
|
|
@@ -374,6 +375,8 @@ class NggContextMenuComponent {
|
|
|
374
375
|
}
|
|
375
376
|
close() {
|
|
376
377
|
this.isActive = false;
|
|
378
|
+
this.top = CONTEXT_MENU_TOP;
|
|
379
|
+
this.left = CONTEXT_MENU_LEFT;
|
|
377
380
|
this.changeDetectorRef.markForCheck();
|
|
378
381
|
}
|
|
379
382
|
onItemClick(item) {
|
|
@@ -966,6 +969,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
966
969
|
}]
|
|
967
970
|
}] });
|
|
968
971
|
|
|
972
|
+
class NggModalHeaderDirective {
|
|
973
|
+
constructor(viewContainerRef) {
|
|
974
|
+
this.viewContainerRef = viewContainerRef;
|
|
975
|
+
}
|
|
976
|
+
}
|
|
977
|
+
NggModalHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModalHeaderDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
978
|
+
NggModalHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NggModalHeaderDirective, selector: "[nggModalHeader]", ngImport: i0 });
|
|
979
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModalHeaderDirective, decorators: [{
|
|
980
|
+
type: Directive,
|
|
981
|
+
args: [{
|
|
982
|
+
selector: '[nggModalHeader]'
|
|
983
|
+
}]
|
|
984
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
|
|
985
|
+
|
|
986
|
+
class NggModalFooterDirective {
|
|
987
|
+
constructor(viewContainerRef) {
|
|
988
|
+
this.viewContainerRef = viewContainerRef;
|
|
989
|
+
}
|
|
990
|
+
}
|
|
991
|
+
NggModalFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModalFooterDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
992
|
+
NggModalFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NggModalFooterDirective, selector: "[nggModalFooter]", ngImport: i0 });
|
|
993
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModalFooterDirective, decorators: [{
|
|
994
|
+
type: Directive,
|
|
995
|
+
args: [{
|
|
996
|
+
selector: '[nggModalFooter]'
|
|
997
|
+
}]
|
|
998
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
|
|
999
|
+
|
|
969
1000
|
class NggModalComponent {
|
|
970
1001
|
constructor(ref, configurableFocusTrapFactory) {
|
|
971
1002
|
this.ref = ref;
|
|
@@ -999,7 +1030,12 @@ class NggModalComponent {
|
|
|
999
1030
|
if (this.trapFocus) {
|
|
1000
1031
|
this.enableFocusTrap();
|
|
1001
1032
|
}
|
|
1002
|
-
disableBodyScroll(this.ref.nativeElement
|
|
1033
|
+
disableBodyScroll(this.ref.nativeElement, {
|
|
1034
|
+
allowTouchMove: (el) => {
|
|
1035
|
+
// Allow touchmove for elements inside modal, its required for scroll to work on iOS devices
|
|
1036
|
+
return this.ref.nativeElement.contains(el);
|
|
1037
|
+
}
|
|
1038
|
+
});
|
|
1003
1039
|
}
|
|
1004
1040
|
else {
|
|
1005
1041
|
this.disableFocusTrap();
|
|
@@ -1054,10 +1090,10 @@ class NggModalComponent {
|
|
|
1054
1090
|
}
|
|
1055
1091
|
}
|
|
1056
1092
|
NggModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModalComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.ConfigurableFocusTrapFactory }], target: i0.ɵɵFactoryTarget.Component });
|
|
1057
|
-
NggModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NggModalComponent, selector: "ngg-modal", inputs: { modalType: "modalType", header: "header", confirmLabel: "confirmLabel", dismissLabel: "dismissLabel", size: "size", trapFocus: "trapFocus", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange", closed: "closed", confirm: "confirm", dismiss: "dismiss" }, host: { properties: { "class.open": "this.open" } }, viewQueries: [{ propertyName: "backdropRef", first: true, predicate: ["backdrop"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <aside data-testid=\"modal\" *ngSwitchCase=\"'slideout'\" role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <
|
|
1093
|
+
NggModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NggModalComponent, selector: "ngg-modal", inputs: { modalType: "modalType", header: "header", confirmLabel: "confirmLabel", dismissLabel: "dismissLabel", size: "size", hideHeader: "hideHeader", hideFooter: "hideFooter", trapFocus: "trapFocus", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange", closed: "closed", confirm: "confirm", dismiss: "dismiss" }, host: { properties: { "class.open": "this.open" } }, queries: [{ propertyName: "modalHeaderContent", first: true, predicate: NggModalHeaderDirective, descendants: true }, { propertyName: "modalFooterContent", first: true, predicate: NggModalFooterDirective, descendants: true }], viewQueries: [{ propertyName: "backdropRef", first: true, predicate: ["backdrop"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <aside data-testid=\"modal\" *ngSwitchCase=\"'slideout'\" role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </aside>\n <main data-testid=\"modal\" *ngSwitchCase=\"'takeover'\" role=\"dialog\" aria-modal=\"true\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </main>\n <section data-testid=\"modal\" *ngSwitchDefault role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </section>\n <ng-template #contentTemplate>\n <ng-container *ngIf=\"!hideHeader\">\n <header *ngIf=\"!modalHeaderContent; else headerContentTemplate\" ngg-modal-header data-testid=\"modal-header\" [header]=\"header\" (closed)=\"this.handleCloseClick($event)\"></header>\n </ng-container>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"bodyContentTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"!hideFooter && (dismissLabel || confirmLabel)\">\n <footer *ngIf=\"!modalFooterContent; else footerContentTemplate\" ngg-modal-footer data-testid=\"modal-footer\" [dismissLabel]=\"dismissLabel\" [confirmLabel]=\"confirmLabel\" (dismiss)=\"this.handleDismiss($event)\" (confirm)=\"this.handleConfirm($event)\"></footer>\n </ng-container>\n </ng-template>\n <ng-template #headerContentTemplate>\n <header data-testid=\"modal-header\">\n <ng-content select=\"[nggModalHeader]\"></ng-content>\n </header>\n </ng-template>\n <ng-template #bodyContentTemplate>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #footerContentTemplate>\n <footer data-testid=\"modal-footer\">\n <ng-content select=\"[nggModalFooter]\"></ng-content>\n </footer>\n </ng-template>\n <div #backdrop data-testid=\"modal-backdrop\" class=\"backdrop\" (click)=\"this.handleBackdropClick($event)\" [attr.aria-hidden]=\"true\"></div>\n</ng-container>\n", styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgSwitch; }), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgSwitchCase; }), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgSwitchDefault; }), selector: "[ngSwitchDefault]" }, { kind: "component", type: i0.forwardRef(function () { return NggModalHeaderComponent; }), selector: "[ngg-modal-header]", inputs: ["header"], outputs: ["closed"] }, { kind: "component", type: i0.forwardRef(function () { return NggModalBodyComponent; }), selector: "[ngg-modal-body]" }, { kind: "component", type: i0.forwardRef(function () { return NggModalFooterComponent; }), selector: "[ngg-modal-footer]", inputs: ["dismissLabel", "confirmLabel"], outputs: ["dismiss", "confirm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1058
1094
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModalComponent, decorators: [{
|
|
1059
1095
|
type: Component,
|
|
1060
|
-
args: [{ selector: 'ngg-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <aside data-testid=\"modal\" *ngSwitchCase=\"'slideout'\" role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <
|
|
1096
|
+
args: [{ selector: 'ngg-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <aside data-testid=\"modal\" *ngSwitchCase=\"'slideout'\" role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </aside>\n <main data-testid=\"modal\" *ngSwitchCase=\"'takeover'\" role=\"dialog\" aria-modal=\"true\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </main>\n <section data-testid=\"modal\" *ngSwitchDefault role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </section>\n <ng-template #contentTemplate>\n <ng-container *ngIf=\"!hideHeader\">\n <header *ngIf=\"!modalHeaderContent; else headerContentTemplate\" ngg-modal-header data-testid=\"modal-header\" [header]=\"header\" (closed)=\"this.handleCloseClick($event)\"></header>\n </ng-container>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"bodyContentTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"!hideFooter && (dismissLabel || confirmLabel)\">\n <footer *ngIf=\"!modalFooterContent; else footerContentTemplate\" ngg-modal-footer data-testid=\"modal-footer\" [dismissLabel]=\"dismissLabel\" [confirmLabel]=\"confirmLabel\" (dismiss)=\"this.handleDismiss($event)\" (confirm)=\"this.handleConfirm($event)\"></footer>\n </ng-container>\n </ng-template>\n <ng-template #headerContentTemplate>\n <header data-testid=\"modal-header\">\n <ng-content select=\"[nggModalHeader]\"></ng-content>\n </header>\n </ng-template>\n <ng-template #bodyContentTemplate>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #footerContentTemplate>\n <footer data-testid=\"modal-footer\">\n <ng-content select=\"[nggModalFooter]\"></ng-content>\n </footer>\n </ng-template>\n <div #backdrop data-testid=\"modal-backdrop\" class=\"backdrop\" (click)=\"this.handleBackdropClick($event)\" [attr.aria-hidden]=\"true\"></div>\n</ng-container>\n", styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] }]
|
|
1061
1097
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$1.ConfigurableFocusTrapFactory }]; }, propDecorators: { modalType: [{
|
|
1062
1098
|
type: Input
|
|
1063
1099
|
}], header: [{
|
|
@@ -1068,6 +1104,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
1068
1104
|
type: Input
|
|
1069
1105
|
}], size: [{
|
|
1070
1106
|
type: Input
|
|
1107
|
+
}], hideHeader: [{
|
|
1108
|
+
type: Input
|
|
1109
|
+
}], hideFooter: [{
|
|
1110
|
+
type: Input
|
|
1071
1111
|
}], trapFocus: [{
|
|
1072
1112
|
type: Input
|
|
1073
1113
|
}], isOpen: [{
|
|
@@ -1086,6 +1126,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
1086
1126
|
}], backdropRef: [{
|
|
1087
1127
|
type: ViewChild,
|
|
1088
1128
|
args: ['backdrop']
|
|
1129
|
+
}], modalHeaderContent: [{
|
|
1130
|
+
type: ContentChild,
|
|
1131
|
+
args: [NggModalHeaderDirective]
|
|
1132
|
+
}], modalFooterContent: [{
|
|
1133
|
+
type: ContentChild,
|
|
1134
|
+
args: [NggModalFooterDirective]
|
|
1089
1135
|
}] } });
|
|
1090
1136
|
class NggModalHeaderComponent {
|
|
1091
1137
|
constructor() {
|
|
@@ -1162,10 +1208,14 @@ const DECLARATIONS = [
|
|
|
1162
1208
|
NggModalComponent,
|
|
1163
1209
|
NggModalHeaderComponent,
|
|
1164
1210
|
NggModalBodyComponent,
|
|
1165
|
-
NggModalFooterComponent
|
|
1211
|
+
NggModalFooterComponent,
|
|
1212
|
+
NggModalHeaderDirective,
|
|
1213
|
+
NggModalFooterDirective
|
|
1166
1214
|
];
|
|
1167
1215
|
const EXPORTS = [
|
|
1168
1216
|
NggModalComponent,
|
|
1217
|
+
NggModalHeaderDirective,
|
|
1218
|
+
NggModalFooterDirective
|
|
1169
1219
|
];
|
|
1170
1220
|
class NggModalModule {
|
|
1171
1221
|
}
|
|
@@ -1173,7 +1223,11 @@ NggModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version:
|
|
|
1173
1223
|
NggModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NggModalModule, declarations: [NggModalComponent,
|
|
1174
1224
|
NggModalHeaderComponent,
|
|
1175
1225
|
NggModalBodyComponent,
|
|
1176
|
-
NggModalFooterComponent
|
|
1226
|
+
NggModalFooterComponent,
|
|
1227
|
+
NggModalHeaderDirective,
|
|
1228
|
+
NggModalFooterDirective], imports: [A11yModule, CommonModule], exports: [NggModalComponent,
|
|
1229
|
+
NggModalHeaderDirective,
|
|
1230
|
+
NggModalFooterDirective] });
|
|
1177
1231
|
NggModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModalModule, imports: [A11yModule, CommonModule] });
|
|
1178
1232
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NggModalModule, decorators: [{
|
|
1179
1233
|
type: NgModule,
|
|
@@ -1652,5 +1706,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
1652
1706
|
* Generated bundle index. Do not edit.
|
|
1653
1707
|
*/
|
|
1654
1708
|
|
|
1655
|
-
export { NggAccordionComponent, NggAccordionListItemComponent, NggAccordionModule, NggBadgeComponent, NggBadgeModule, NggButtonComponent, NggButtonModule, NggContextMenuComponent, NggContextMenuModule, NggDatepickerComponent, NggDatepickerModule, NggDropdownButtonDirective, NggDropdownComponent, NggDropdownModule, NggDropdownOptionDirective, NggInPageWizardModule, NggInPageWizardStepCardComponent, NggModalBodyComponent, NggModalComponent, NggModalFooterComponent, NggModalHeaderComponent, NggModalModule, NggModule, NggOnScrollDirective, NggPaginationComponent, NggPaginationModule, NggProgressCircleComponent, NggProgressCircleModule, NggSegmentedControlComponent, NggSegmentedControlModule, NggSharedModule, NggSliderComponent, NggSliderModule, ON_SCROLL_TOKEN, dateValidator };
|
|
1709
|
+
export { NggAccordionComponent, NggAccordionListItemComponent, NggAccordionModule, NggBadgeComponent, NggBadgeModule, NggButtonComponent, NggButtonModule, NggContextMenuComponent, NggContextMenuModule, NggDatepickerComponent, NggDatepickerModule, NggDropdownButtonDirective, NggDropdownComponent, NggDropdownModule, NggDropdownOptionDirective, NggInPageWizardModule, NggInPageWizardStepCardComponent, NggModalBodyComponent, NggModalComponent, NggModalFooterComponent, NggModalFooterDirective, NggModalHeaderComponent, NggModalHeaderDirective, NggModalModule, NggModule, NggOnScrollDirective, NggPaginationComponent, NggPaginationModule, NggProgressCircleComponent, NggProgressCircleModule, NggSegmentedControlComponent, NggSegmentedControlModule, NggSharedModule, NggSliderComponent, NggSliderModule, ON_SCROLL_TOKEN, dateValidator };
|
|
1656
1710
|
//# sourceMappingURL=sebgroup-green-angular.mjs.map
|