@morozeckiy/dd-lib 0.6.4 → 0.7.35
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/assets/scss/common.scss +5 -0
- package/assets/scss/titles.scss +22 -0
- package/assets/scss/vars-dark.scss +5 -1
- package/assets/scss/vars-light.scss +3 -0
- package/esm2022/lib/common/lib-common-button.mjs +6 -3
- package/esm2022/lib/common/lib-common-input-text.mjs +28 -2
- package/esm2022/lib/core/dialog/modal-base/modal-base.component.mjs +3 -3
- package/esm2022/lib/core/directives/drop-down-position.directive.mjs +66 -0
- package/esm2022/lib/core/directives/fixed-position.directive.mjs +87 -0
- package/esm2022/lib/core/directives/list-keyboard-navigation.directive.mjs +57 -0
- package/esm2022/lib/core/directives/phone-mask.directive.mjs +34 -0
- package/esm2022/lib/core/directives/selectable-item.directive.mjs +29 -0
- package/esm2022/lib/core/index.mjs +6 -1
- package/esm2022/lib/lib-calendar/lib-calendar.component.mjs +3 -3
- package/esm2022/lib/lib-card/lib-card.component.mjs +3 -3
- package/esm2022/lib/lib-checkbox/lib-checkbox.component.mjs +7 -5
- package/esm2022/lib/lib-date-input/lib-date-input.component.mjs +117 -0
- package/esm2022/lib/lib-date-range/lib-date-range.component.mjs +13 -9
- package/esm2022/lib/lib-disclaimer/lib-disclaimer.component.mjs +26 -0
- package/esm2022/lib/lib-filter-button/lib-filter-button.component.mjs +1 -1
- package/esm2022/lib/lib-input/lib-input.component.mjs +5 -5
- package/esm2022/lib/lib-loader/lib-loader.component.mjs +2 -2
- package/esm2022/lib/lib-period/lib-period.component.mjs +6 -4
- package/esm2022/lib/lib-radio/lib-radio.component.mjs +7 -5
- package/esm2022/lib/lib-search-input/lib-search-input.component.mjs +48 -13
- package/esm2022/lib/lib-select/lib-select.component.mjs +127 -39
- package/esm2022/lib/lib-skeleton/lib-skeleton.component.mjs +3 -3
- package/esm2022/lib/lib-tabs-fragment/lib-tabs-fragment.component.mjs +12 -6
- package/esm2022/lib/lib-textarea/lib-textarea.component.mjs +6 -3
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/morozeckiy-dd-lib.mjs +908 -351
- package/fesm2022/morozeckiy-dd-lib.mjs.map +1 -1
- package/lib/common/lib-common-button.d.ts +2 -1
- package/lib/common/lib-common-input-text.d.ts +8 -3
- package/lib/core/directives/drop-down-position.directive.d.ts +17 -0
- package/lib/core/directives/fixed-position.directive.d.ts +21 -0
- package/lib/core/directives/list-keyboard-navigation.directive.d.ts +11 -0
- package/lib/core/directives/phone-mask.directive.d.ts +10 -0
- package/lib/core/directives/selectable-item.directive.d.ts +10 -0
- package/lib/core/index.d.ts +5 -0
- package/lib/core/services/validators.service.d.ts +2 -2
- package/lib/lib-card/lib-card.component.d.ts +1 -1
- package/lib/lib-checkbox/lib-checkbox.component.d.ts +3 -1
- package/lib/lib-date-input/lib-date-input.component.d.ts +29 -0
- package/lib/lib-date-range/lib-date-range.component.d.ts +3 -1
- package/lib/lib-disclaimer/lib-disclaimer.component.d.ts +10 -0
- package/lib/lib-input/lib-input.component.d.ts +2 -1
- package/lib/lib-period/lib-period.component.d.ts +3 -2
- package/lib/lib-radio/lib-radio.component.d.ts +3 -1
- package/lib/lib-search-input/lib-search-input.component.d.ts +11 -6
- package/lib/lib-select/lib-select.component.d.ts +17 -7
- package/lib/lib-tabs-fragment/lib-tabs-fragment.component.d.ts +4 -2
- package/lib/lib-textarea/lib-textarea.component.d.ts +2 -1
- package/morozeckiy-dd-lib-0.7.35.tgz +0 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/morozeckiy-dd-lib-0.6.4.tgz +0 -0
package/assets/scss/common.scss
CHANGED
package/assets/scss/titles.scss
CHANGED
|
@@ -139,6 +139,14 @@
|
|
|
139
139
|
color: var(--light-black-color);
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
+
.b1-title {
|
|
143
|
+
font-weight: 400;
|
|
144
|
+
font-size: 18px;
|
|
145
|
+
line-height: 28px;
|
|
146
|
+
cursor: default;
|
|
147
|
+
color: var(--font-light-black-color);
|
|
148
|
+
}
|
|
149
|
+
|
|
142
150
|
.b2-title {
|
|
143
151
|
font-size: 16px;
|
|
144
152
|
font-weight: 500;
|
|
@@ -163,7 +171,14 @@
|
|
|
163
171
|
line-height: 24px;
|
|
164
172
|
text-align: left;
|
|
165
173
|
cursor: default;
|
|
174
|
+
color: var(--font-light-black-color);
|
|
175
|
+
}
|
|
166
176
|
|
|
177
|
+
.b5-title {
|
|
178
|
+
font-weight: 500;
|
|
179
|
+
font-size: 14px;
|
|
180
|
+
line-height: 24px;
|
|
181
|
+
letter-spacing: 0;
|
|
167
182
|
color: var(--font-light-black-color);
|
|
168
183
|
}
|
|
169
184
|
|
|
@@ -182,6 +197,7 @@
|
|
|
182
197
|
font-weight: 400;
|
|
183
198
|
cursor: default;
|
|
184
199
|
line-height: 18px;
|
|
200
|
+
color: var(--font-light-black-color);
|
|
185
201
|
}
|
|
186
202
|
|
|
187
203
|
.text-plain {
|
|
@@ -189,6 +205,7 @@
|
|
|
189
205
|
font-weight: 400;
|
|
190
206
|
cursor: default;
|
|
191
207
|
line-height: 24px;
|
|
208
|
+
color: var(--font-light-black-color);
|
|
192
209
|
}
|
|
193
210
|
|
|
194
211
|
.small {
|
|
@@ -196,6 +213,7 @@
|
|
|
196
213
|
font-weight: 400;
|
|
197
214
|
line-height: 24px;
|
|
198
215
|
letter-spacing: 0;
|
|
216
|
+
color: var(--font-light-black-color);
|
|
199
217
|
}
|
|
200
218
|
|
|
201
219
|
.font-regular {
|
|
@@ -224,6 +242,10 @@
|
|
|
224
242
|
-webkit-box-orient: vertical;
|
|
225
243
|
overflow: hidden;
|
|
226
244
|
|
|
245
|
+
&.line-2 {
|
|
246
|
+
-webkit-line-clamp: 2;
|
|
247
|
+
}
|
|
248
|
+
|
|
227
249
|
&.line-3 {
|
|
228
250
|
-webkit-line-clamp: 3;
|
|
229
251
|
}
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
//main
|
|
29
29
|
--main-bgc: #121212;
|
|
30
|
-
--main-layer:
|
|
30
|
+
--main-layer: var(--dark-green-color);
|
|
31
31
|
--main-card-color: #1a1a1a;
|
|
32
32
|
--main-card-shadow: 0 14px 64px -4px #18274b0a, 0 8px 22px -6px #18274b0a;
|
|
33
33
|
--shared-img-color: #ffffff;
|
|
@@ -91,6 +91,9 @@
|
|
|
91
91
|
--claim-status-bgc-decided: #07b700;
|
|
92
92
|
--claim-status-bgc-close: #ff3645;
|
|
93
93
|
|
|
94
|
+
//zabota
|
|
95
|
+
--zabota-banner-bgc: var(--dark-green-color);
|
|
96
|
+
|
|
94
97
|
//district selector
|
|
95
98
|
--district-color: var(--font-light-black-color);
|
|
96
99
|
|
|
@@ -109,6 +112,7 @@
|
|
|
109
112
|
--light-black-color: #ffffff;
|
|
110
113
|
--black-color: #D7D7D7;
|
|
111
114
|
--dark-color: #2e193d;
|
|
115
|
+
--dark-green-color: #1c2b20;
|
|
112
116
|
--dark-hover-color: #2C173C;
|
|
113
117
|
--white-color: #1a1a1a;
|
|
114
118
|
--gray-bgc: #d7d7d7;
|
|
@@ -6,13 +6,14 @@ export class LibCommonButtonComponent {
|
|
|
6
6
|
this.autofocus = false;
|
|
7
7
|
this.btnColor = 'green';
|
|
8
8
|
this.active = false;
|
|
9
|
+
this.activeNoBlock = true;
|
|
9
10
|
this.disabled = false;
|
|
10
11
|
this.showLoader = false;
|
|
11
12
|
this.buttonType = 'button';
|
|
12
13
|
this.clickEvent = new EventEmitter();
|
|
13
14
|
}
|
|
14
15
|
onClick(event) {
|
|
15
|
-
if (this.disabled || this.showLoader || this.active) {
|
|
16
|
+
if (this.disabled || this.showLoader || (this.active && !this.activeNoBlock)) {
|
|
16
17
|
event.stopPropagation();
|
|
17
18
|
event.preventDefault();
|
|
18
19
|
}
|
|
@@ -23,7 +24,7 @@ export class LibCommonButtonComponent {
|
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibCommonButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: LibCommonButtonComponent, selector: "ng-component", inputs: { width: "width", height: "height", size: "size", fontSize: "fontSize", autofocus: "autofocus", btnColor: "btnColor", active: "active", disabled: "disabled", showLoader: "showLoader", buttonType: "buttonType" }, outputs: { clickEvent: "clickEvent" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["contentData"], descendants: true }, { propertyName: "button", first: true, predicate: ["btn"], descendants: true }], ngImport: i0, template: '', isInline: true }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: LibCommonButtonComponent, selector: "ng-component", inputs: { width: "width", height: "height", size: "size", fontSize: "fontSize", autofocus: "autofocus", btnColor: "btnColor", active: "active", activeNoBlock: "activeNoBlock", disabled: "disabled", showLoader: "showLoader", buttonType: "buttonType" }, outputs: { clickEvent: "clickEvent" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["contentData"], descendants: true }, { propertyName: "button", first: true, predicate: ["btn"], descendants: true }], ngImport: i0, template: '', isInline: true }); }
|
|
27
28
|
}
|
|
28
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibCommonButtonComponent, decorators: [{
|
|
29
30
|
type: Component,
|
|
@@ -44,6 +45,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
44
45
|
type: Input
|
|
45
46
|
}], active: [{
|
|
46
47
|
type: Input
|
|
48
|
+
}], activeNoBlock: [{
|
|
49
|
+
type: Input
|
|
47
50
|
}], disabled: [{
|
|
48
51
|
type: Input
|
|
49
52
|
}], showLoader: [{
|
|
@@ -59,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
59
62
|
}], clickEvent: [{
|
|
60
63
|
type: Output
|
|
61
64
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWNvbW1vbi1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9jb21tb24vbGliLWNvbW1vbi1idXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzlGLE1BQU0sT0FBZ0Isd0JBQXdCO0lBSDlDO1FBTWtCLFNBQUksR0FBcUIsRUFBRSxDQUFDO1FBRTVCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUF1RCxPQUFPLENBQUM7UUFDdkUsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLGFBQVEsR0FBbUIsS0FBSyxDQUFDO1FBRWpDLGVBQVUsR0FBK0IsS0FBSyxDQUFDO1FBQy9DLGVBQVUsR0FBa0MsUUFBUSxDQUFDO1FBS3BELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBWXhEO0lBVlMsT0FBTyxDQUFDLEtBQVk7UUFDMUIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDN0UsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdkIsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLGFBQTRCLENBQUM7WUFDakQsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2IsQ0FBQztJQUNILENBQUM7OEdBNUJtQix3QkFBd0I7a0dBQXhCLHdCQUF3QiwrZ0JBRmxDLEVBQUU7OzJGQUVRLHdCQUF3QjtrQkFIN0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjs4QkFFaUIsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBRVUsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUU4QyxPQUFPO3NCQUExRCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ0MsTUFBTTtzQkFBakQsU0FBUzt1QkFBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUVsQixVQUFVO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6ICcnLFxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTGliQ29tbW9uQnV0dG9uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBwdWJsaWMgd2lkdGg6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgaGVpZ2h0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIHNpemU6ICdtZCcgfCAnbGcnIHwgJycgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgZm9udFNpemU6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIGF1dG9mb2N1cyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBidG5Db2xvcjogJ3doaXRlJyB8ICdncmVlbicgfCAncmVkJyB8ICd0cmFuc3BhcmVudCcgfCAnZGFyaycgPSAnZ3JlZW4nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBhY3RpdmUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgYWN0aXZlTm9CbG9jayA9IHRydWU7XHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgc2hvd0xvYWRlcjogbnVsbCB8IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgYnV0dG9uVHlwZTogJ3N1Ym1pdCcgfCAncmVzZXQnIHwgJ2J1dHRvbicgPSAnYnV0dG9uJztcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udGVudERhdGEnLCB7IHN0YXRpYzogZmFsc2UgfSkgcHVibGljIGNvbnRlbnQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XHJcbiAgQFZpZXdDaGlsZCgnYnRuJywgeyBzdGF0aWM6IGZhbHNlIH0pIHB1YmxpYyBidXR0b246IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVsbD4oKTtcclxuXHJcbiAgIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5zaG93TG9hZGVyIHx8ICh0aGlzLmFjdGl2ZSAmJiAhdGhpcy5hY3RpdmVOb0Jsb2NrKSkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2xpY2tFdmVudC5lbWl0KCk7XHJcbiAgICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgZWw/LmJsdXIoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Component, EventEmitter, forwardRef, Input, Output, ViewChild, } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { ValidatorsService } from "../core";
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class LibCommonInputTextComponent {
|
|
5
6
|
get id() {
|
|
@@ -14,7 +15,6 @@ export class LibCommonInputTextComponent {
|
|
|
14
15
|
this.uppercase = false;
|
|
15
16
|
this.invalid = false;
|
|
16
17
|
this.errorTexts = [];
|
|
17
|
-
this.side = 'bottom';
|
|
18
18
|
this.cleared = new EventEmitter();
|
|
19
19
|
this.fetchEvent = new EventEmitter();
|
|
20
20
|
this.focus = new EventEmitter();
|
|
@@ -23,10 +23,15 @@ export class LibCommonInputTextComponent {
|
|
|
23
23
|
this.focused = false;
|
|
24
24
|
this.touched = false;
|
|
25
25
|
this.value = '';
|
|
26
|
+
this.dropdownStyle = { top: '100%', left: '0' };
|
|
26
27
|
this.destroyed = false;
|
|
27
28
|
this._ID = '';
|
|
28
29
|
this.changeDetection = changeDetection;
|
|
29
30
|
}
|
|
31
|
+
ngAfterViewChecked() {
|
|
32
|
+
this.changeDetection.markForCheck();
|
|
33
|
+
this.errorText = ValidatorsService.getErrorText(this.control?.errors);
|
|
34
|
+
}
|
|
30
35
|
get invalidState() {
|
|
31
36
|
return this.invalid || this.control ? this.control.invalid : false;
|
|
32
37
|
}
|
|
@@ -44,6 +49,7 @@ export class LibCommonInputTextComponent {
|
|
|
44
49
|
}
|
|
45
50
|
notifyFocusEvent(e) {
|
|
46
51
|
// this.focusManager.notifyFocusMayChanged(this, e.type === 'focus');
|
|
52
|
+
this.blur.emit(this.value);
|
|
47
53
|
}
|
|
48
54
|
handleBlur() {
|
|
49
55
|
this.focused = false;
|
|
@@ -92,6 +98,26 @@ export class LibCommonInputTextComponent {
|
|
|
92
98
|
}
|
|
93
99
|
}
|
|
94
100
|
commit(_value) { }
|
|
101
|
+
updateDropdownPosition(el, data, itemSize, dHeight) {
|
|
102
|
+
const rect = el.nativeElement.getBoundingClientRect();
|
|
103
|
+
const itemHeight = data?.length ? data?.length * itemSize : 0;
|
|
104
|
+
const dropdownHeight = ((itemHeight > 0) && (itemHeight > dHeight)) ? dHeight : itemHeight; // Примерная высота дропдауна
|
|
105
|
+
const spaceBelow = window.innerHeight - rect.bottom;
|
|
106
|
+
const spaceAbove = rect.top;
|
|
107
|
+
// Если достаточно места ниже, оставляем его там
|
|
108
|
+
if (spaceBelow >= dropdownHeight) {
|
|
109
|
+
this.dropdownStyle = { top: '100%', left: '0' };
|
|
110
|
+
}
|
|
111
|
+
// Если не хватает места ниже, но есть место выше
|
|
112
|
+
else if (spaceAbove >= dropdownHeight) {
|
|
113
|
+
const label = this.label ? 26 : 0;
|
|
114
|
+
this.dropdownStyle = { top: `-${dropdownHeight - label}px`, left: '0' };
|
|
115
|
+
}
|
|
116
|
+
// Если недостаточно места ни вверху, ни внизу
|
|
117
|
+
else {
|
|
118
|
+
this.dropdownStyle = { top: '100%', left: '0' };
|
|
119
|
+
}
|
|
120
|
+
}
|
|
95
121
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibCommonInputTextComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
96
122
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: LibCommonInputTextComponent, selector: "dd-lib-common-input", inputs: { name: "name", label: "label", formControlName: "formControlName", type: "type", contextClass: "contextClass", minlength: "minlength", min: "min", maxlength: "maxlength", max: "max", placeholder: "placeholder", autocomplete: "autocomplete", tabIndex: "tabIndex", readOnly: "readOnly", autofocus: "autofocus", fetchMode: "fetchMode", required: "required", disabled: "disabled", commitOnInput: "commitOnInput", clearable: "clearable", showSelfError: "showSelfError", uppercase: "uppercase", invalid: "invalid", errorTexts: "errorTexts", side: "side" }, outputs: { cleared: "cleared", fetchEvent: "fetchEvent", focus: "focus", blur: "blur", fullBlur: "fullBlur" }, providers: [
|
|
97
123
|
{
|
|
@@ -182,4 +208,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
182
208
|
}], fullBlur: [{
|
|
183
209
|
type: Output
|
|
184
210
|
}] } });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWNvbW1vbi1pbnB1dC10ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvY29tbW9uL2xpYi1jb21tb24taW5wdXQtdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFrQixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQWFsRSxNQUFNLE9BQWdCLDJCQUEyQjtJQWlDL0MsSUFBVyxFQUFFO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFZRCxZQUFzQixlQUFrQztRQTVCeEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsSUFBSSxDQUFDLENBQUMsbUNBQW1DO1FBQ3pELGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGVBQVUsR0FBYSxFQUFFLENBQUM7UUFDM0IsU0FBSSxHQUFxQixRQUFRLENBQUM7UUFDaEMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDbkMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDckMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDaEMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDL0IsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFNL0MsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWhCLFVBQUss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QUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNTLElBQUk7c0JBQWxCLEtBQUs7Z0JBQ1csT0FBTztzQkFBdkIsTUFBTTtnQkFDVSxVQUFVO3NCQUExQixNQUFNO2dCQUNVLEtBQUs7c0JBQXJCLE1BQU07Z0JBQ1UsSUFBSTtzQkFBcEIsTUFBTTtnQkFDVSxRQUFRO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGQtbGliLWNvbW1vbi1pbnB1dCcsXHJcbiAgdGVtcGxhdGU6ICcnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGliQ29tbW9uSW5wdXRUZXh0Q29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0JykgcHJvdGVjdGVkIGlucHV0U2VhcmNoRWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZDtcclxuICBAVmlld0NoaWxkKCdpbnB1dCcpIHByb3RlY3RlZCBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQ7XHJcbiAgQFZpZXdDaGlsZCgndGV4dGFyZWEnKSBwcm90ZWN0ZWQgdGV4dEFyZWFFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+IHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIGxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIGZvcm1Db250cm9sTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0eXBlOiAncGFzc3dvcmQnIHwgJ2VtYWlsJyB8ICdudW1iZXInIHwgJ3RleHQnIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb250ZXh0Q2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgbWlubGVuZ3RoOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIG1pbjogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtYXhsZW5ndGg6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4OiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBhdXRvY29tcGxldGU/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIHRhYkluZGV4Pzogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkT25seT86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgcHVibGljIGF1dG9mb2N1cz86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgcHVibGljIGZldGNoTW9kZT86IGJvb2xlYW47IC8vINGA0LDQsdC+0YLQsNC10YIgZmV0Y2hFdmVudCDQv9GA0Lgg0LrQu9C40LrQtVxyXG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb21taXRPbklucHV0ID0gdHJ1ZTsgLy8g0LrQvtC80LzQuNGC0LjRgtGMINC/0L4gaW5wdXQg0LjQu9C4INC/0L4gY2hhbmdlXHJcbiAgQElucHV0KCkgcHVibGljIGNsZWFyYWJsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgcHVibGljIHNob3dTZWxmRXJyb3IgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB1cHBlcmNhc2UgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlcnJvclRleHRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIEBJbnB1dCgpcHVibGljIHNpZGU6ICd0b3AnIHwgJ2JvdHRvbScgPSAnYm90dG9tJztcclxuICBAT3V0cHV0KCkgcHVibGljIGNsZWFyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBmZXRjaEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBmb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgZnVsbEJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIHB1YmxpYyBnZXQgaWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fSUQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXJyb3JUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGZvY3VzZWQgPSBmYWxzZTtcclxuICBwdWJsaWMgdG91Y2hlZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCB1bmRlZmluZWQgfCBudWxsO1xyXG4gIHB1YmxpYyB2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gJyc7XHJcbiAgcHVibGljIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWY7XHJcbiAgcHJvdGVjdGVkIGRlc3Ryb3llZCA9IGZhbHNlO1xyXG4gIHByb3RlY3RlZCBvblRvdWNoZWRDYWxsYmFjazogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgX0lEID0gJyc7XHJcblxyXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdGlvbiA9IGNoYW5nZURldGVjdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaW52YWxpZFN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCB8fCB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2whLmludmFsaWQgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB7IGRpcnR5LCB0b3VjaGVkIH0gPSB0aGlzLmNvbnRyb2w7XHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkU3RhdGUgPyAoKGRpcnR5IHx8IHRvdWNoZWQpICYmICF0aGlzLmZvY3VzZWQpIDogZmFsc2U7XHJcbiAgfVxyXG4gIHB1YmxpYyBoYW5kbGVJbnB1dChfZTogRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNvbW1pdE9uSW5wdXQpIHtcclxuICAgICAgdGhpcy5jb21taXQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIG5vdGlmeUZvY3VzRXZlbnQoZTogRXZlbnQpOiB2b2lkIHtcclxuICAgIC8vIHRoaXMuZm9jdXNNYW5hZ2VyLm5vdGlmeUZvY3VzTWF5Q2hhbmdlZCh0aGlzLCBlLnR5cGUgPT09ICdmb2N1cycpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUJsdXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLm9uVG91Y2hlZENhbGxiYWNrKSB7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2soKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmJsdXIuZW1pdCgpO1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rpb24uZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUZvY3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb2N1c2VkID0gdGhpcy50b3VjaGVkID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLm9uVG91Y2hlZENhbGxiYWNrKSB7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2soKTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9jdXMuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJldHVybkZvY3VzKGU/OiBFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmlucHV0RWxlbWVudCAmJlxyXG4gICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50ICYmXHJcbiAgICAgICghZSB8fCBlLnRhcmdldCAhPT0gdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudClcclxuICAgICkge1xyXG4gICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgIC8vIEhlbHBlclNlcnZpY2UucmVzZXRTZWxlY3Rpb24odGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9zZUZvY3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnB1dEVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZvcmNlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XHJcbiAgICAgIC8vIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChIZWxwZXJTZXJ2aWNlLmNyZWF0ZUV2ZW50KCdjaGFuZ2UnLCB0cnVlLCBmYWxzZSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5jb21taXQgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgLy8gICBjb25zb2xlLmxvZyhpc0Rpc2FibGVkKVxyXG4gIC8vICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNvbW1pdE9uSW5wdXQpIHtcclxuICAgICAgdGhpcy5jb21taXQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29tbWl0KF92YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZvaWQge31cclxufVxyXG4iXX0=
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWNvbW1vbi1pbnB1dC10ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvY29tbW9uL2xpYi1jb21tb24taW5wdXQtdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFrQixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLFNBQVMsQ0FBQzs7QUFhMUMsTUFBTSxPQUFnQiwyQkFBMkI7SUFpQy9DLElBQVcsRUFBRTtRQUNYLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBYUQsWUFBc0IsZUFBa0M7UUE3QnhDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixrQkFBYSxHQUFHLElBQUksQ0FBQyxDQUFDLG1DQUFtQztRQUN6RCxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixlQUFVLEdBQWEsRUFBRSxDQUFDO1FBRXpCLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ25DLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2hDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQy9CLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBTS9DLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsWUFBTyxHQUFHLEtBQUss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QkFDTCxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxHQUFHO3NCQUFsQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsR0FBRztzQkFBbEIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVyxPQUFPO3NCQUF2QixNQUFNO2dCQUNVLFVBQVU7c0JBQTFCLE1BQU07Z0JBQ1UsS0FBSztzQkFBckIsTUFBTTtnQkFDVSxJQUFJO3NCQUFwQixNQUFNO2dCQUNVLFFBQVE7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0NoZWNrZWQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7VmFsaWRhdG9yc1NlcnZpY2V9IGZyb20gXCIuLi9jb3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1jb21tb24taW5wdXQnLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExpYkNvbW1vbklucHV0VGV4dENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTGliQ29tbW9uSW5wdXRUZXh0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCB7XHJcbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBwcm90ZWN0ZWQgaW5wdXRTZWFyY2hFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkO1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgcHJvdGVjdGVkIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZDtcclxuICBAVmlld0NoaWxkKCd0ZXh0YXJlYScpIHByb3RlY3RlZCB0ZXh0QXJlYUVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4gfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIHR5cGU6ICdwYXNzd29yZCcgfCAnZW1haWwnIHwgJ251bWJlcicgfCAndGV4dCcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIGNvbnRleHRDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5sZW5ndGg6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgbWluOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIG1heGxlbmd0aDogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtYXg6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIGF1dG9jb21wbGV0ZT86IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgdGFiSW5kZXg/OiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgQElucHV0KCkgcHVibGljIHJlYWRPbmx5PzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBwdWJsaWMgYXV0b2ZvY3VzPzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBwdWJsaWMgZmV0Y2hNb2RlPzogYm9vbGVhbjsgLy8g0YDQsNCx0L7RgtCw0LXRgiBmZXRjaEV2ZW50INC/0YDQuCDQutC70LjQutC1XHJcbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGNvbW1pdE9uSW5wdXQgPSB0cnVlOyAvLyDQutC+0LzQvNC40YLQuNGC0Ywg0L/QviBpbnB1dCDQuNC70Lgg0L/QviBjaGFuZ2VcclxuICBASW5wdXQoKSBwdWJsaWMgY2xlYXJhYmxlID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwdWJsaWMgc2hvd1NlbGZFcnJvciA9IHRydWU7XHJcbiAgQElucHV0KCkgcHVibGljIHVwcGVyY2FzZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGVycm9yVGV4dHM6IHN0cmluZ1tdID0gW107XHJcbiAgQElucHV0KCkgcHVibGljIHNpZGU/OiAndG9wJyB8ICdib3R0b20nO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIGZldGNoRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBibHVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBmdWxsQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgcHVibGljIGdldCBpZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9JRDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlcnJvclRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgZm9jdXNlZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyB0b3VjaGVkID0gZmFsc2U7XHJcbiAgcHVibGljIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZCB8IG51bGw7XHJcbiAgcHVibGljIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJztcclxuICBwdWJsaWMgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZjtcclxuICBwdWJsaWMgZHJvcGRvd25TdHlsZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt0b3A6ICcxMDAlJywgbGVmdDogJzAnfTtcclxuICBwcm90ZWN0ZWQgZGVzdHJveWVkID0gZmFsc2U7XHJcbiAgcHJvdGVjdGVkIG9uVG91Y2hlZENhbGxiYWNrOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBfSUQgPSAnJztcclxuXHJcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0aW9uID0gY2hhbmdlRGV0ZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nQWZ0ZXJWaWV3Q2hlY2tlZCAoKSB7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdGlvbi5tYXJrRm9yQ2hlY2soKVxyXG4gICAgdGhpcy5lcnJvclRleHQgPSBWYWxpZGF0b3JzU2VydmljZS5nZXRFcnJvclRleHQodGhpcy5jb250cm9sPy5lcnJvcnMpXHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpbnZhbGlkU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkIHx8IHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbCEuaW52YWxpZCA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzaG93RXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5pbnZhbGlkO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHsgZGlydHksIHRvdWNoZWQgfSA9IHRoaXMuY29udHJvbDtcclxuICAgIHJldHVybiB0aGlzLmludmFsaWRTdGF0ZSA/ICgoZGlydHkgfHwgdG91Y2hlZCkgJiYgIXRoaXMuZm9jdXNlZCkgOiBmYWxzZTtcclxuICB9XHJcbiAgcHVibGljIGhhbmRsZUlucHV0KF9lOiBFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29tbWl0T25JbnB1dCkge1xyXG4gICAgICB0aGlzLmNvbW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgbm90aWZ5Rm9jdXNFdmVudChlOiBFdmVudCk6IHZvaWQge1xyXG4gICAgLy8gdGhpcy5mb2N1c01hbmFnZXIubm90aWZ5Rm9jdXNNYXlDaGFuZ2VkKHRoaXMsIGUudHlwZSA9PT0gJ2ZvY3VzJyk7XHJcbiAgICB0aGlzLmJsdXIuZW1pdCh0aGlzLnZhbHVlKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUJsdXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLm9uVG91Y2hlZENhbGxiYWNrKSB7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2soKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmJsdXIuZW1pdCgpO1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rpb24uZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUZvY3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb2N1c2VkID0gdGhpcy50b3VjaGVkID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLm9uVG91Y2hlZENhbGxiYWNrKSB7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2soKTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9jdXMuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJldHVybkZvY3VzKGU/OiBFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmlucHV0RWxlbWVudCAmJlxyXG4gICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50ICYmXHJcbiAgICAgICghZSB8fCBlLnRhcmdldCAhPT0gdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudClcclxuICAgICkge1xyXG4gICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgIC8vIEhlbHBlclNlcnZpY2UucmVzZXRTZWxlY3Rpb24odGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9zZUZvY3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnB1dEVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZvcmNlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XHJcbiAgICAgIC8vIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChIZWxwZXJTZXJ2aWNlLmNyZWF0ZUV2ZW50KCdjaGFuZ2UnLCB0cnVlLCBmYWxzZSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5jb21taXQgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgLy8gICBjb25zb2xlLmxvZyhpc0Rpc2FibGVkKVxyXG4gIC8vICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNvbW1pdE9uSW5wdXQpIHtcclxuICAgICAgdGhpcy5jb21taXQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29tbWl0KF92YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZvaWQge31cclxuXHJcbiAgcHVibGljIHVwZGF0ZURyb3Bkb3duUG9zaXRpb24oZWw6IEVsZW1lbnRSZWYsIGRhdGE6IGFueVtdLCBpdGVtU2l6ZTogbnVtYmVyLCBkSGVpZ2h0OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHJlY3QgPSBlbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgaXRlbUhlaWdodCA9IGRhdGE/Lmxlbmd0aCA/IGRhdGE/Lmxlbmd0aCAqIGl0ZW1TaXplIDogMDtcclxuICAgIGNvbnN0IGRyb3Bkb3duSGVpZ2h0ID0gKChpdGVtSGVpZ2h0ID4gMCkgJiYgKGl0ZW1IZWlnaHQgPiBkSGVpZ2h0KSkgPyBkSGVpZ2h0IDogaXRlbUhlaWdodDsgLy8g0J/RgNC40LzQtdGA0L3QsNGPINCy0YvRgdC+0YLQsCDQtNGA0L7Qv9C00LDRg9C90LBcclxuICAgIGNvbnN0IHNwYWNlQmVsb3cgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSByZWN0LmJvdHRvbTtcclxuICAgIGNvbnN0IHNwYWNlQWJvdmUgPSByZWN0LnRvcDtcclxuXHJcbiAgICAvLyDQldGB0LvQuCDQtNC+0YHRgtCw0YLQvtGH0L3QviDQvNC10YHRgtCwINC90LjQttC1LCDQvtGB0YLQsNCy0LvRj9C10Lwg0LXQs9C+INGC0LDQvFxyXG4gICAgaWYgKHNwYWNlQmVsb3cgPj0gZHJvcGRvd25IZWlnaHQpIHtcclxuICAgICAgdGhpcy5kcm9wZG93blN0eWxlID0ge3RvcDogJzEwMCUnLCBsZWZ0OiAnMCd9O1xyXG4gICAgfVxyXG4gICAgLy8g0JXRgdC70Lgg0L3QtSDRhdCy0LDRgtCw0LXRgiDQvNC10YHRgtCwINC90LjQttC1LCDQvdC+INC10YHRgtGMINC80LXRgdGC0L4g0LLRi9GI0LVcclxuICAgIGVsc2UgaWYgKHNwYWNlQWJvdmUgPj0gZHJvcGRvd25IZWlnaHQpIHtcclxuICAgICAgY29uc3QgbGFiZWwgPSB0aGlzLmxhYmVsID8gMjYgOiAwO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duU3R5bGUgPSB7dG9wOiBgLSR7ZHJvcGRvd25IZWlnaHQgLSBsYWJlbH1weGAsIGxlZnQ6ICcwJ307XHJcbiAgICB9XHJcbiAgICAvLyDQldGB0LvQuCDQvdC10LTQvtGB0YLQsNGC0L7Rh9C90L4g0LzQtdGB0YLQsCDQvdC4INCy0LLQtdGA0YXRgywg0L3QuCDQstC90LjQt9GDXHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5kcm9wZG93blN0eWxlID0ge3RvcDogJzEwMCUnLCBsZWZ0OiAnMCd9O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -28,11 +28,11 @@ export class ModalBaseComponent {
|
|
|
28
28
|
this.dialog.close();
|
|
29
29
|
}
|
|
30
30
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ModalBaseComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.DDDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: ModalBaseComponent, isStandalone: true, selector: "dd-modal-base", inputs: { content: "content", component: "component", clearFragment: "clearFragment", borderMobile: "borderMobile", showLoader: "showLoader", showContentLoader: "showContentLoader" }, host: { listeners: { "document:keydown": "onKeydownComponent($event)" } }, ngImport: i0, template: "<div class=\"popup\" [class.border-mobile]=\"borderMobile\">\r\n @if (showContentLoader) {\r\n <div class=\"loader-modal\">\r\n <dd-lib-loader size=\"giant\"></dd-lib-loader>\r\n </div>\r\n } @else {\r\n <div (click)=\"close()\" class=\"popup__close\"></div>\r\n @if (content) {\r\n <div class=\"popup__content\">\r\n <ng-template [ngTemplateOutletContext]=\"{ data }\" [ngTemplateOutlet]=\"content\"></ng-template>\r\n </div>\r\n }\r\n @if (component) {\r\n <div class=\"popup__content\">\r\n <ng-template [ngComponentOutlet]=\"component\"></ng-template>\r\n </div>\r\n } @else {\r\n <ng-content></ng-content>\r\n }\r\n }\r\n\r\n @if (showLoader) {\r\n <div class=\"loader-modal\">\r\n <dd-lib-loader size=\"giant\"></dd-lib-loader>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".popup{position:relative;max-width:var(--main-body-width);border-radius:24px;background:var(--white-color)}.popup .loader-modal{position:absolute;width:100%;height:100%;top:0;display:flex;align-items:center;justify-content:center;border-radius:24px;background:#251c2c33}@media screen and (max-width: 1320px){.popup{max-width:100%}}@media screen and (max-width: 480px){.popup{border-radius:0}}@media screen and (max-width: 480px){.popup.border-mobile{border-radius:24px}}.popup__close{position:absolute;top:24px;right:24px;width:20px;height:20px;background:url('data:image/svg+xml,<svg fill=\"none\" height=\"20\" viewBox=\"0 0 20 20\" width=\"20\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A <g clip-path=\"url(%23clip0_355_22081)\">%0D%0A <path d=\"M15 5L5 15\" stroke=\"%23A79BAD\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"/>%0D%0A <path d=\"M5 5L15 15\" stroke=\"%23A79BAD\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"/>%0D%0A </g>%0D%0A <defs>%0D%0A <clipPath id=\"clip0_355_22081\">%0D%0A <rect fill=\"white\" height=\"20\" width=\"20\"/>%0D%0A </clipPath>%0D%0A </defs>%0D%0A</svg>%0D%0A') no-repeat center;cursor:pointer}@media screen and (max-width: 480px){.popup__close{top:16px;right:16px}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "component", type: LibLoaderComponent, selector: "dd-lib-loader", inputs: ["color", "size"] }] }); }
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: ModalBaseComponent, isStandalone: true, selector: "dd-modal-base", inputs: { content: "content", component: "component", clearFragment: "clearFragment", borderMobile: "borderMobile", showLoader: "showLoader", showContentLoader: "showContentLoader" }, host: { listeners: { "document:keydown": "onKeydownComponent($event)" } }, ngImport: i0, template: "<div class=\"popup\" [class.border-mobile]=\"borderMobile\">\r\n @if (showContentLoader) {\r\n <div class=\"loader-modal\">\r\n <dd-lib-loader size=\"giant\"></dd-lib-loader>\r\n </div>\r\n } @else {\r\n <div (click)=\"close()\" class=\"popup__close\"></div>\r\n @if (content) {\r\n <div class=\"popup__content\">\r\n <ng-template [ngTemplateOutletContext]=\"{ data }\" [ngTemplateOutlet]=\"content\"></ng-template>\r\n </div>\r\n }\r\n @if (component) {\r\n <div class=\"popup__content\">\r\n <ng-template [ngComponentOutlet]=\"component\"></ng-template>\r\n </div>\r\n } @else {\r\n <ng-content></ng-content>\r\n }\r\n }\r\n\r\n @if (showLoader) {\r\n <div class=\"loader-modal\">\r\n <dd-lib-loader size=\"giant\"></dd-lib-loader>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".popup{position:relative;max-width:var(--main-body-width);border-radius:24px;background:var(--white-color)}.popup .loader-modal{position:absolute;width:100%;height:100%;top:0;display:flex;align-items:center;justify-content:center;border-radius:24px;background:#251c2c33}@media screen and (max-width: 1320px){.popup{max-width:100%}}@media screen and (max-width: 480px){.popup{border-radius:0}}@media screen and (max-width: 480px){.popup.border-mobile{border-radius:24px}}.popup__close{z-index:1;position:absolute;top:24px;right:24px;width:20px;height:20px;background:url('data:image/svg+xml,<svg fill=\"none\" height=\"20\" viewBox=\"0 0 20 20\" width=\"20\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A <g clip-path=\"url(%23clip0_355_22081)\">%0D%0A <path d=\"M15 5L5 15\" stroke=\"%23A79BAD\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"/>%0D%0A <path d=\"M5 5L15 15\" stroke=\"%23A79BAD\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"/>%0D%0A </g>%0D%0A <defs>%0D%0A <clipPath id=\"clip0_355_22081\">%0D%0A <rect fill=\"white\" height=\"20\" width=\"20\"/>%0D%0A </clipPath>%0D%0A </defs>%0D%0A</svg>%0D%0A') no-repeat center;cursor:pointer}@media screen and (max-width: 480px){.popup__close{top:16px;right:16px}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "component", type: LibLoaderComponent, selector: "dd-lib-loader", inputs: ["color", "size"] }] }); }
|
|
32
32
|
}
|
|
33
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ModalBaseComponent, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
|
-
args: [{ selector: 'dd-modal-base', standalone: true, imports: [NgTemplateOutlet, NgComponentOutlet, LibLoaderComponent], template: "<div class=\"popup\" [class.border-mobile]=\"borderMobile\">\r\n @if (showContentLoader) {\r\n <div class=\"loader-modal\">\r\n <dd-lib-loader size=\"giant\"></dd-lib-loader>\r\n </div>\r\n } @else {\r\n <div (click)=\"close()\" class=\"popup__close\"></div>\r\n @if (content) {\r\n <div class=\"popup__content\">\r\n <ng-template [ngTemplateOutletContext]=\"{ data }\" [ngTemplateOutlet]=\"content\"></ng-template>\r\n </div>\r\n }\r\n @if (component) {\r\n <div class=\"popup__content\">\r\n <ng-template [ngComponentOutlet]=\"component\"></ng-template>\r\n </div>\r\n } @else {\r\n <ng-content></ng-content>\r\n }\r\n }\r\n\r\n @if (showLoader) {\r\n <div class=\"loader-modal\">\r\n <dd-lib-loader size=\"giant\"></dd-lib-loader>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".popup{position:relative;max-width:var(--main-body-width);border-radius:24px;background:var(--white-color)}.popup .loader-modal{position:absolute;width:100%;height:100%;top:0;display:flex;align-items:center;justify-content:center;border-radius:24px;background:#251c2c33}@media screen and (max-width: 1320px){.popup{max-width:100%}}@media screen and (max-width: 480px){.popup{border-radius:0}}@media screen and (max-width: 480px){.popup.border-mobile{border-radius:24px}}.popup__close{position:absolute;top:24px;right:24px;width:20px;height:20px;background:url('data:image/svg+xml,<svg fill=\"none\" height=\"20\" viewBox=\"0 0 20 20\" width=\"20\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A <g clip-path=\"url(%23clip0_355_22081)\">%0D%0A <path d=\"M15 5L5 15\" stroke=\"%23A79BAD\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"/>%0D%0A <path d=\"M5 5L15 15\" stroke=\"%23A79BAD\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"/>%0D%0A </g>%0D%0A <defs>%0D%0A <clipPath id=\"clip0_355_22081\">%0D%0A <rect fill=\"white\" height=\"20\" width=\"20\"/>%0D%0A </clipPath>%0D%0A </defs>%0D%0A</svg>%0D%0A') no-repeat center;cursor:pointer}@media screen and (max-width: 480px){.popup__close{top:16px;right:16px}}\n"] }]
|
|
35
|
+
args: [{ selector: 'dd-modal-base', standalone: true, imports: [NgTemplateOutlet, NgComponentOutlet, LibLoaderComponent], template: "<div class=\"popup\" [class.border-mobile]=\"borderMobile\">\r\n @if (showContentLoader) {\r\n <div class=\"loader-modal\">\r\n <dd-lib-loader size=\"giant\"></dd-lib-loader>\r\n </div>\r\n } @else {\r\n <div (click)=\"close()\" class=\"popup__close\"></div>\r\n @if (content) {\r\n <div class=\"popup__content\">\r\n <ng-template [ngTemplateOutletContext]=\"{ data }\" [ngTemplateOutlet]=\"content\"></ng-template>\r\n </div>\r\n }\r\n @if (component) {\r\n <div class=\"popup__content\">\r\n <ng-template [ngComponentOutlet]=\"component\"></ng-template>\r\n </div>\r\n } @else {\r\n <ng-content></ng-content>\r\n }\r\n }\r\n\r\n @if (showLoader) {\r\n <div class=\"loader-modal\">\r\n <dd-lib-loader size=\"giant\"></dd-lib-loader>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".popup{position:relative;max-width:var(--main-body-width);border-radius:24px;background:var(--white-color)}.popup .loader-modal{position:absolute;width:100%;height:100%;top:0;display:flex;align-items:center;justify-content:center;border-radius:24px;background:#251c2c33}@media screen and (max-width: 1320px){.popup{max-width:100%}}@media screen and (max-width: 480px){.popup{border-radius:0}}@media screen and (max-width: 480px){.popup.border-mobile{border-radius:24px}}.popup__close{z-index:1;position:absolute;top:24px;right:24px;width:20px;height:20px;background:url('data:image/svg+xml,<svg fill=\"none\" height=\"20\" viewBox=\"0 0 20 20\" width=\"20\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A <g clip-path=\"url(%23clip0_355_22081)\">%0D%0A <path d=\"M15 5L5 15\" stroke=\"%23A79BAD\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"/>%0D%0A <path d=\"M5 5L15 15\" stroke=\"%23A79BAD\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"/>%0D%0A </g>%0D%0A <defs>%0D%0A <clipPath id=\"clip0_355_22081\">%0D%0A <rect fill=\"white\" height=\"20\" width=\"20\"/>%0D%0A </clipPath>%0D%0A </defs>%0D%0A</svg>%0D%0A') no-repeat center;cursor:pointer}@media screen and (max-width: 480px){.popup__close{top:16px;right:16px}}\n"] }]
|
|
36
36
|
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.DDDialogRef }], propDecorators: { content: [{
|
|
37
37
|
type: Input
|
|
38
38
|
}], component: [{
|
|
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
49
49
|
type: HostListener,
|
|
50
50
|
args: ['document:keydown', ['$event']]
|
|
51
51
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9jb3JlL2RpYWxvZy9tb2RhbC1iYXNlL21vZGFsLWJhc2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvY29yZS9kaWFsb2cvbW9kYWwtYmFzZS9tb2RhbC1iYXNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFHcEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMENBQTBDLENBQUM7Ozs7QUFTNUUsTUFBTSxPQUFPLGtCQUFrQjtJQVk3QixZQUNVLEtBQXFCLEVBQ3JCLE1BQWMsRUFDZCxNQUF1QztRQUZ2QyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBaUM7UUFaakMsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZUFBVSxHQUErQixLQUFLLENBQUM7UUFDL0Msc0JBQWlCLEdBQStCLEtBQUssQ0FBQztRQW1CL0QsaUJBQVksR0FBRyxHQUFHLEVBQUU7WUFDekIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNyRyxDQUFDO1FBQ0gsQ0FBQyxDQUFDO0lBYkMsQ0FBQztJQUdHLGtCQUFrQixDQUFDLEtBQW9CO1FBQzVDLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsT0FBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFRTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDOzhHQWpDVSxrQkFBa0I7a0dBQWxCLGtCQUFrQiw0VUNiL0IsazFCQTJCQSxxMENEbEJZLGdCQUFnQixvSkFBRSxpQkFBaUIsb1BBQUUsa0JBQWtCOzsyRkFJdEQsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsQ0FBQztrSUFLbEQsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFhQyxrQkFBa0I7c0JBRHhCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge05nQ29tcG9uZW50T3V0bGV0LCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7REREaWFsb2dSZWZ9IGZyb20gXCIuLi9kaWFsb2ctcmVmXCI7XHJcbmltcG9ydCB7TGliTG9hZGVyQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vbGliLWxvYWRlci9saWItbG9hZGVyLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZC1tb2RhbC1iYXNlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBOZ0NvbXBvbmVudE91dGxldCwgTGliTG9hZGVyQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwtYmFzZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwtYmFzZS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9kYWxCYXNlQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBwdWJsaWMgY29udGVudDogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgY29tcG9uZW50OiBUeXBlPGFueT4gfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjbGVhckZyYWdtZW50ID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwdWJsaWMgYm9yZGVyTW9iaWxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHNob3dMb2FkZXI6IG51bGwgfCBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHNob3dDb250ZW50TG9hZGVyOiBudWxsIHwgYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgZGF0YTogYW55O1xyXG5cclxuICBwdWJsaWMgZGVzdHJveTogKCgpID0+IHt9KSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGRpYWxvZzogREREaWFsb2dSZWY8TW9kYWxCYXNlQ29tcG9uZW50PixcclxuICApIHt9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBvbktleWRvd25Db21wb25lbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnIHx8IGV2ZW50LmtleSA9PT0gJ0VzYycpIHtcclxuICAgICAgdGhpcy5kZXN0cm95ISgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFmdGVyRGVzdHJveSA9ICgpID0+IHtcclxuICAgIGlmICh0aGlzLmNsZWFyRnJhZ21lbnQpIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHsgZnJhZ21lbnQ6IHVuZGVmaW5lZCwgcHJlc2VydmVGcmFnbWVudDogZmFsc2UsIHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2cuY2xvc2UoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInBvcHVwXCIgW2NsYXNzLmJvcmRlci1tb2JpbGVdPVwiYm9yZGVyTW9iaWxlXCI+XHJcbiAgQGlmIChzaG93Q29udGVudExvYWRlcikge1xyXG4gICAgPGRpdiBjbGFzcz1cImxvYWRlci1tb2RhbFwiPlxyXG4gICAgICA8ZGQtbGliLWxvYWRlciBzaXplPVwiZ2lhbnRcIj48L2RkLWxpYi1sb2FkZXI+XHJcbiAgICA8L2Rpdj5cclxuICB9IEBlbHNlIHtcclxuICAgIDxkaXYgKGNsaWNrKT1cImNsb3NlKClcIiBjbGFzcz1cInBvcHVwX19jbG9zZVwiPjwvZGl2PlxyXG4gICAgQGlmIChjb250ZW50KSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cF9fY29udGVudFwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBkYXRhIH1cIiBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgICBAaWYgKGNvbXBvbmVudCkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwicG9wdXBfX2NvbnRlbnRcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgW25nQ29tcG9uZW50T3V0bGV0XT1cImNvbXBvbmVudFwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAoc2hvd0xvYWRlcikge1xyXG4gICAgPGRpdiBjbGFzcz1cImxvYWRlci1tb2RhbFwiPlxyXG4gICAgICA8ZGQtbGliLWxvYWRlciBzaXplPVwiZ2lhbnRcIj48L2RkLWxpYi1sb2FkZXI+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DropDownPositionDirective {
|
|
4
|
+
constructor(el, rdr) {
|
|
5
|
+
this.el = el;
|
|
6
|
+
this.rdr = rdr;
|
|
7
|
+
this.dropdownId = 'dropdown';
|
|
8
|
+
}
|
|
9
|
+
onWindowScroll() {
|
|
10
|
+
if (this.isShownList && !this.side) {
|
|
11
|
+
this.updateDropdownPosition();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
ngOnChanges() {
|
|
15
|
+
if (this.isShownList && !this.side) {
|
|
16
|
+
setTimeout(() => {
|
|
17
|
+
this.updateDropdownPosition();
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
updateDropdownPosition() {
|
|
22
|
+
const rect = this.el.nativeElement.getBoundingClientRect();
|
|
23
|
+
const dropdownHeight = this.itemsHeight && this.itemsHeight > this.dropdownHeight || !this.itemsHeight ? this.dropdownHeight : this.itemsHeight; // Примерная высота дропдауна
|
|
24
|
+
const spaceBelow = window.innerHeight - rect.bottom;
|
|
25
|
+
const spaceAbove = rect.top;
|
|
26
|
+
const dropdown = this.el.nativeElement.querySelector(`#${this.dropdownId}`);
|
|
27
|
+
// Если достаточно места ниже, оставляем его там
|
|
28
|
+
if (spaceBelow >= dropdownHeight) {
|
|
29
|
+
this.rdr.setStyle(dropdown, 'top', '100%');
|
|
30
|
+
}
|
|
31
|
+
// Если не хватает места ниже, но есть место выше
|
|
32
|
+
else if (spaceAbove >= dropdownHeight) {
|
|
33
|
+
this.rdr.setStyle(dropdown, 'top', `-${dropdownHeight}px`);
|
|
34
|
+
}
|
|
35
|
+
// Если недостаточно места ни вверху, ни внизу
|
|
36
|
+
else {
|
|
37
|
+
this.rdr.setStyle(dropdown, 'top', '100%');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: DropDownPositionDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
41
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.2", type: DropDownPositionDirective, isStandalone: true, selector: "[ddDropDownPosition]", inputs: { side: "side", itemsHeight: "itemsHeight", dropdownHeight: "dropdownHeight", isShownList: "isShownList", dropdownId: "dropdownId" }, host: { listeners: { "window:resize": "onWindowScroll()", "window:scroll": "onWindowScroll()" } }, usesOnChanges: true, ngImport: i0 }); }
|
|
42
|
+
}
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: DropDownPositionDirective, decorators: [{
|
|
44
|
+
type: Directive,
|
|
45
|
+
args: [{
|
|
46
|
+
selector: '[ddDropDownPosition]',
|
|
47
|
+
standalone: true
|
|
48
|
+
}]
|
|
49
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { side: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], itemsHeight: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], dropdownHeight: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}], isShownList: [{
|
|
56
|
+
type: Input
|
|
57
|
+
}], dropdownId: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], onWindowScroll: [{
|
|
60
|
+
type: HostListener,
|
|
61
|
+
args: ['window:resize']
|
|
62
|
+
}, {
|
|
63
|
+
type: HostListener,
|
|
64
|
+
args: ['window:scroll']
|
|
65
|
+
}] } });
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1kb3duLXBvc2l0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2NvcmUvZGlyZWN0aXZlcy9kcm9wLWRvd24tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBdUIsTUFBTSxlQUFlLENBQUM7O0FBTS9GLE1BQU0sT0FBTyx5QkFBeUI7SUFNcEMsWUFBcUIsRUFBYyxFQUFVLEdBQWM7UUFBdEMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQVc7UUFEM0MsZUFBVSxHQUFHLFVBQVUsQ0FBQztJQUN1QixDQUFDO0lBSWhFLGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFTSxzQkFBc0I7UUFDM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUMzRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyw2QkFBNkI7UUFDOUssTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3BELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDNUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUE7UUFDM0UsZ0RBQWdEO1FBQ2hELElBQUksVUFBVSxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDNUMsQ0FBQztRQUNELGlEQUFpRDthQUM1QyxJQUFJLFVBQVUsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksY0FBYyxJQUFJLENBQUMsQ0FBQTtRQUM1RCxDQUFDO1FBQ0QsOENBQThDO2FBQ3pDLENBQUM7WUFDSixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzVDLENBQUM7SUFDSCxDQUFDOzhHQTFDVSx5QkFBeUI7a0dBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7dUdBRWlCLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFLTixjQUFjO3NCQUZiLFlBQVk7dUJBQUMsZUFBZTs7c0JBQzVCLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkNoYW5nZXMsIFJlbmRlcmVyMn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tkZERyb3BEb3duUG9zaXRpb25dJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wRG93blBvc2l0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBwdWJsaWMgc2lkZT86ICd0b3AnIHwgJ2JvdHRvbSc7XHJcbiAgQElucHV0KCkgcHVibGljIGl0ZW1zSGVpZ2h0PzogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkcm9wZG93bkhlaWdodCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBwdWJsaWMgaXNTaG93bkxpc3Q/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkcm9wZG93bklkID0gJ2Ryb3Bkb3duJztcclxuICBjb25zdHJ1Y3RvciggcHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZHI6IFJlbmRlcmVyMikgeyB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnKVxyXG4gIG9uV2luZG93U2Nyb2xsKCkge1xyXG4gICAgaWYgKHRoaXMuaXNTaG93bkxpc3QgJiYgIXRoaXMuc2lkZSkge1xyXG4gICAgICB0aGlzLnVwZGF0ZURyb3Bkb3duUG9zaXRpb24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzU2hvd25MaXN0ICYmICF0aGlzLnNpZGUpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVEcm9wZG93blBvc2l0aW9uKCk7XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlRHJvcGRvd25Qb3NpdGlvbigpIHtcclxuICAgIGNvbnN0IHJlY3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBkcm9wZG93bkhlaWdodCA9IHRoaXMuaXRlbXNIZWlnaHQgJiYgdGhpcy5pdGVtc0hlaWdodCA+IHRoaXMuZHJvcGRvd25IZWlnaHQgfHwgIXRoaXMuaXRlbXNIZWlnaHQgPyB0aGlzLmRyb3Bkb3duSGVpZ2h0IDogdGhpcy5pdGVtc0hlaWdodDsgLy8g0J/RgNC40LzQtdGA0L3QsNGPINCy0YvRgdC+0YLQsCDQtNGA0L7Qv9C00LDRg9C90LBcclxuICAgIGNvbnN0IHNwYWNlQmVsb3cgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSByZWN0LmJvdHRvbTtcclxuICAgIGNvbnN0IHNwYWNlQWJvdmUgPSByZWN0LnRvcDtcclxuICAgIGNvbnN0IGRyb3Bkb3duID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke3RoaXMuZHJvcGRvd25JZH1gKVxyXG4gICAgLy8g0JXRgdC70Lgg0LTQvtGB0YLQsNGC0L7Rh9C90L4g0LzQtdGB0YLQsCDQvdC40LbQtSwg0L7RgdGC0LDQstC70Y/QtdC8INC10LPQviDRgtCw0LxcclxuICAgIGlmIChzcGFjZUJlbG93ID49IGRyb3Bkb3duSGVpZ2h0KSB7XHJcbiAgICAgIHRoaXMucmRyLnNldFN0eWxlKGRyb3Bkb3duLCAndG9wJywgJzEwMCUnKVxyXG4gICAgfVxyXG4gICAgLy8g0JXRgdC70Lgg0L3QtSDRhdCy0LDRgtCw0LXRgiDQvNC10YHRgtCwINC90LjQttC1LCDQvdC+INC10YHRgtGMINC80LXRgdGC0L4g0LLRi9GI0LVcclxuICAgIGVsc2UgaWYgKHNwYWNlQWJvdmUgPj0gZHJvcGRvd25IZWlnaHQpIHtcclxuICAgICAgdGhpcy5yZHIuc2V0U3R5bGUoZHJvcGRvd24sICd0b3AnLCBgLSR7ZHJvcGRvd25IZWlnaHR9cHhgKVxyXG4gICAgfVxyXG4gICAgLy8g0JXRgdC70Lgg0L3QtdC00L7RgdGC0LDRgtC+0YfQvdC+INC80LXRgdGC0LAg0L3QuCDQstCy0LXRgNGF0YMsINC90Lgg0LLQvdC40LfRg1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMucmRyLnNldFN0eWxlKGRyb3Bkb3duLCAndG9wJywgJzEwMCUnKVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FixedPositionDirective {
|
|
4
|
+
constructor(el, renderer) {
|
|
5
|
+
this.el = el;
|
|
6
|
+
this.renderer = renderer;
|
|
7
|
+
this.childName1 = 'input';
|
|
8
|
+
this.childName2 = 'list';
|
|
9
|
+
this.child1 = null;
|
|
10
|
+
this.child2 = null;
|
|
11
|
+
}
|
|
12
|
+
ngAfterViewInit() {
|
|
13
|
+
// id scroll-container надо задать обертке, которая имеет скролл и где будет скролящийся блок
|
|
14
|
+
const scrollContainer = document.getElementById('scroll-container');
|
|
15
|
+
if (scrollContainer) {
|
|
16
|
+
// Подписываемся на событие scroll чужеродного контейнера типа модалки и прочего узкого контента
|
|
17
|
+
this.scrollListener = this.renderer.listen(scrollContainer, 'scroll', () => this.onScroll());
|
|
18
|
+
}
|
|
19
|
+
this.parentElement = this.el.nativeElement;
|
|
20
|
+
this.child1 = this.parentElement.querySelector(`[data-child="${this.childName1}"]`);
|
|
21
|
+
this.child2 = this.parentElement.querySelector(`[data-child="${this.childName2}"]`);
|
|
22
|
+
if (this.child2) {
|
|
23
|
+
this.updateChild2Position();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
ngAfterViewChecked() {
|
|
27
|
+
if (!this.child2) {
|
|
28
|
+
this.child2 = this.parentElement.querySelector(`[data-child="${this.childName2}"]`);
|
|
29
|
+
if (this.child2) {
|
|
30
|
+
this.updateChild2Position();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
onScroll() {
|
|
35
|
+
if (this.child2) {
|
|
36
|
+
this.updateChild2Position();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
updateChild2Position() {
|
|
40
|
+
if (this.child1 && this.child2) {
|
|
41
|
+
const child1Rect = this.child1.getBoundingClientRect();
|
|
42
|
+
this.renderer.setStyle(this.child2, 'width', `${child1Rect.width}px`);
|
|
43
|
+
// Вычисляем, где расположить ребенка-2
|
|
44
|
+
const shouldPositionAbove = this.shouldPositionAbove(child1Rect);
|
|
45
|
+
if (shouldPositionAbove) {
|
|
46
|
+
this.renderer.setStyle(this.child2, 'top', `${child1Rect.top - this.child2.offsetHeight}px`);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
// Располагаем ребенка-2 снизу ребенка-1
|
|
50
|
+
this.renderer.setStyle(this.child2, 'top', `${child1Rect.bottom}px`);
|
|
51
|
+
}
|
|
52
|
+
this.renderer.setStyle(this.child2, 'position', 'fixed');
|
|
53
|
+
this.renderer.setStyle(this.child2, 'left', `${child1Rect.left}px`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
shouldPositionAbove(child1Rect) {
|
|
57
|
+
if (!this.child2)
|
|
58
|
+
return false;
|
|
59
|
+
// Вычисляем, будет ли ребенок-2 виден, если его расположить снизу
|
|
60
|
+
const spaceBelow = window.innerHeight - child1Rect.bottom;
|
|
61
|
+
const child2Height = this.child2.offsetHeight;
|
|
62
|
+
return spaceBelow < child2Height;
|
|
63
|
+
}
|
|
64
|
+
ngOnDestroy() {
|
|
65
|
+
// Отписываемся от события при уничтожении директивы
|
|
66
|
+
if (this.scrollListener) {
|
|
67
|
+
this.scrollListener();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FixedPositionDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
71
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.2", type: FixedPositionDirective, isStandalone: true, selector: "[ddFixedPosition]", inputs: { childName1: "childName1", childName2: "childName2" }, host: { listeners: { "window:scroll": "onScroll()" } }, ngImport: i0 }); }
|
|
72
|
+
}
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FixedPositionDirective, decorators: [{
|
|
74
|
+
type: Directive,
|
|
75
|
+
args: [{
|
|
76
|
+
selector: '[ddFixedPosition]',
|
|
77
|
+
standalone: true
|
|
78
|
+
}]
|
|
79
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { childName1: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], childName2: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], onScroll: [{
|
|
84
|
+
type: HostListener,
|
|
85
|
+
args: ['window:scroll']
|
|
86
|
+
}] } });
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZWQtcG9zaXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvY29yZS9kaXJlY3RpdmVzL2ZpeGVkLXBvc2l0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR04sTUFBTSxlQUFlLENBQUM7O0FBTXZCLE1BQU0sT0FBTyxzQkFBc0I7SUFRakMsWUFBb0IsRUFBYyxFQUFVLFFBQW1CO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBUC9DLGVBQVUsR0FBRyxPQUFPLENBQUE7UUFDcEIsZUFBVSxHQUFHLE1BQU0sQ0FBQTtRQUUzQixXQUFNLEdBQXVCLElBQUksQ0FBQztRQUNsQyxXQUFNLEdBQXVCLElBQUksQ0FBQztJQUd3QixDQUFDO0lBRW5FLGVBQWU7UUFDYiw2RkFBNkY7UUFDN0YsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3BFLElBQUksZUFBZSxFQUFFLENBQUM7WUFDcEIsZ0dBQWdHO1lBQ2hHLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQ3hDLGVBQWUsRUFDZixRQUFRLEVBQ1IsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUN0QixDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFFM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJ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Q1UsVUFBVTtzQkFBekIsS0FBSztnQkF1Q0MsUUFBUTtzQkFEZCxZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0NoZWNrZWQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIFJlbmRlcmVyMlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZGRGaXhlZFBvc2l0aW9uXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRml4ZWRQb3NpdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgcHVibGljIGNoaWxkTmFtZTEgPSAnaW5wdXQnXHJcbiAgQElucHV0KCkgcHVibGljIGNoaWxkTmFtZTIgPSAnbGlzdCdcclxuICBwcml2YXRlIHBhcmVudEVsZW1lbnQhOiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIGNoaWxkMTogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGNoaWxkMjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIHNjcm9sbExpc3RlbmVyITogKCkgPT4gdm9pZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAvLyBpZCBzY3JvbGwtY29udGFpbmVyINC90LDQtNC+INC30LDQtNCw0YLRjCDQvtCx0LXRgNGC0LrQtSwg0LrQvtGC0L7RgNCw0Y8g0LjQvNC10LXRgiDRgdC60YDQvtC70Lsg0Lgg0LPQtNC1INCx0YPQtNC10YIg0YHQutGA0L7Qu9GP0YnQuNC50YHRjyDQsdC70L7QulxyXG4gICAgY29uc3Qgc2Nyb2xsQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Njcm9sbC1jb250YWluZXInKTtcclxuICAgIGlmIChzY3JvbGxDb250YWluZXIpIHtcclxuICAgICAgLy8g0J/QvtC00L/QuNGB0YvQstCw0LXQvNGB0Y8g0L3QsCDRgdC+0LHRi9GC0LjQtSBzY3JvbGwg0YfRg9C20LXRgNC+0LTQvdC+0LPQviDQutC+0L3RgtC10LnQvdC10YDQsCDRgtC40L/QsCDQvNC+0LTQsNC70LrQuCDQuCDQv9GA0L7Rh9C10LPQviDRg9C30LrQvtCz0L4g0LrQvtC90YLQtdC90YLQsFxyXG4gICAgICB0aGlzLnNjcm9sbExpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oXHJcbiAgICAgICAgc2Nyb2xsQ29udGFpbmVyLFxyXG4gICAgICAgICdzY3JvbGwnLFxyXG4gICAgICAgICgpID0+IHRoaXMub25TY3JvbGwoKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wYXJlbnRFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgIHRoaXMuY2hpbGQxID0gdGhpcy5wYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWNoaWxkPVwiJHt0aGlzLmNoaWxkTmFtZTF9XCJdYCk7XHJcbiAgICB0aGlzLmNoaWxkMiA9IHRoaXMucGFyZW50RWxlbWVudC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1jaGlsZD1cIiR7dGhpcy5jaGlsZE5hbWUyfVwiXWApO1xyXG5cclxuICAgIGlmICh0aGlzLmNoaWxkMikge1xyXG4gICAgICB0aGlzLnVwZGF0ZUNoaWxkMlBvc2l0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XHJcbiAgICBpZiAoIXRoaXMuY2hpbGQyKSB7XHJcbiAgICAgIHRoaXMuY2hpbGQyID0gdGhpcy5wYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWNoaWxkPVwiJHt0aGlzLmNoaWxkTmFtZTJ9XCJdYCk7XHJcbiAgICAgIGlmICh0aGlzLmNoaWxkMikge1xyXG4gICAgICAgIHRoaXMudXBkYXRlQ2hpbGQyUG9zaXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcpXHJcbiAgcHVibGljIG9uU2Nyb2xsKCkge1xyXG4gICAgaWYgKHRoaXMuY2hpbGQyKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlQ2hpbGQyUG9zaXRpb24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlQ2hpbGQyUG9zaXRpb24oKSB7XHJcbiAgICBpZiAodGhpcy5jaGlsZDEgJiYgdGhpcy5jaGlsZDIpIHtcclxuICAgICAgY29uc3QgY2hpbGQxUmVjdCA9IHRoaXMuY2hpbGQxLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNoaWxkMiwgJ3dpZHRoJywgYCR7Y2hpbGQxUmVjdC53aWR0aH1weGApO1xyXG4gICAgICAvLyDQktGL0YfQuNGB0LvRj9C10LwsINCz0LTQtSDRgNCw0YHQv9C+0LvQvtC20LjRgtGMINGA0LXQsdC10L3QutCwLTJcclxuICAgICAgY29uc3Qgc2hvdWxkUG9zaXRpb25BYm92ZSA9IHRoaXMuc2hvdWxkUG9zaXRpb25BYm92ZShjaGlsZDFSZWN0KTtcclxuXHJcbiAgICAgIGlmIChzaG91bGRQb3NpdGlvbkFib3ZlKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNoaWxkMiwgJ3RvcCcsIGAke2NoaWxkMVJlY3QudG9wIC0gdGhpcy5jaGlsZDIub2Zmc2V0SGVpZ2h0fXB4YCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8g0KDQsNGB0L/QvtC70LDQs9Cw0LXQvCDRgNC10LHQtdC90LrQsC0yINGB0L3QuNC30YMg0YDQtdCx0LXQvdC60LAtMVxyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jaGlsZDIsICd0b3AnLCBgJHtjaGlsZDFSZWN0LmJvdHRvbX1weGApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY2hpbGQyLCAncG9zaXRpb24nLCAnZml4ZWQnKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNoaWxkMiwgJ2xlZnQnLCBgJHtjaGlsZDFSZWN0LmxlZnR9cHhgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2hvdWxkUG9zaXRpb25BYm92ZShjaGlsZDFSZWN0OiBET01SZWN0KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuY2hpbGQyKSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgLy8g0JLRi9GH0LjRgdC70Y/QtdC8LCDQsdGD0LTQtdGCINC70Lgg0YDQtdCx0LXQvdC+0LotMiDQstC40LTQtdC9LCDQtdGB0LvQuCDQtdCz0L4g0YDQsNGB0L/QvtC70L7QttC40YLRjCDRgdC90LjQt9GDXHJcbiAgICBjb25zdCBzcGFjZUJlbG93ID0gd2luZG93LmlubmVySGVpZ2h0IC0gY2hpbGQxUmVjdC5ib3R0b207XHJcbiAgICBjb25zdCBjaGlsZDJIZWlnaHQgPSB0aGlzLmNoaWxkMi5vZmZzZXRIZWlnaHQ7XHJcblxyXG4gICAgcmV0dXJuIHNwYWNlQmVsb3cgPCBjaGlsZDJIZWlnaHQ7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIC8vINCe0YLQv9C40YHRi9Cy0LDQtdC80YHRjyDQvtGCINGB0L7QsdGL0YLQuNGPINC/0YDQuCDRg9C90LjRh9GC0L7QttC10L3QuNC4INC00LjRgNC10LrRgtC40LLRi1xyXG4gICAgaWYgKHRoaXMuc2Nyb2xsTGlzdGVuZXIpIHtcclxuICAgICAgdGhpcy5zY3JvbGxMaXN0ZW5lcigpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Directive, HostListener } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ListKeyboardNavigationDirective {
|
|
4
|
+
constructor(el) {
|
|
5
|
+
this.el = el;
|
|
6
|
+
this.currentIndex = -1;
|
|
7
|
+
}
|
|
8
|
+
handleKeyboardEvent(event) {
|
|
9
|
+
const items = this.el.nativeElement.querySelectorAll('[ddSelectableItem]'); // Получаем все элементы списка
|
|
10
|
+
if (!items.length)
|
|
11
|
+
return;
|
|
12
|
+
switch (event.key) {
|
|
13
|
+
case 'ArrowDown':
|
|
14
|
+
this.moveFocus(items, 1);
|
|
15
|
+
event.preventDefault();
|
|
16
|
+
break;
|
|
17
|
+
case 'ArrowUp':
|
|
18
|
+
this.moveFocus(items, -1);
|
|
19
|
+
event.preventDefault();
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
moveFocus(items, direction) {
|
|
24
|
+
if (this.currentIndex >= 0) {
|
|
25
|
+
const prevItem = items[this.currentIndex];
|
|
26
|
+
prevItem.classList.remove('key-down-active');
|
|
27
|
+
}
|
|
28
|
+
this.currentIndex += direction;
|
|
29
|
+
if (this.currentIndex < 0) {
|
|
30
|
+
this.currentIndex = items.length - 1;
|
|
31
|
+
}
|
|
32
|
+
else if (this.currentIndex >= items.length) {
|
|
33
|
+
this.currentIndex = 0;
|
|
34
|
+
}
|
|
35
|
+
const currentItem = items[this.currentIndex];
|
|
36
|
+
currentItem.classList.add('key-down-active');
|
|
37
|
+
currentItem.focus();
|
|
38
|
+
currentItem.scrollIntoView({
|
|
39
|
+
behavior: 'smooth',
|
|
40
|
+
block: 'nearest',
|
|
41
|
+
inline: 'start'
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ListKeyboardNavigationDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
45
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.2", type: ListKeyboardNavigationDirective, isStandalone: true, selector: "[ddListKeyboardNavigation]", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0 }); }
|
|
46
|
+
}
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ListKeyboardNavigationDirective, decorators: [{
|
|
48
|
+
type: Directive,
|
|
49
|
+
args: [{
|
|
50
|
+
selector: '[ddListKeyboardNavigation]',
|
|
51
|
+
standalone: true
|
|
52
|
+
}]
|
|
53
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { handleKeyboardEvent: [{
|
|
54
|
+
type: HostListener,
|
|
55
|
+
args: ['document:keydown', ['$event']]
|
|
56
|
+
}] } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1rZXlib2FyZC1uYXZpZ2F0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2NvcmUvZGlyZWN0aXZlcy9saXN0LWtleWJvYXJkLW5hdmlnYXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQU1sRSxNQUFNLE9BQU8sK0JBQStCO0lBRzFDLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBRjFCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFHMUIsQ0FBQztJQUdELG1CQUFtQixDQUFDLEtBQW9CO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQywrQkFBK0I7UUFDM0csSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUUxQixRQUFRLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNsQixLQUFLLFdBQVc7Z0JBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsTUFBTTtZQUNSLEtBQUssU0FBUztnQkFDWixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUEwQixFQUFFLFNBQWlCO1FBQzdELElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBUSxDQUFDO1lBQ2pELFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLElBQUksU0FBUyxDQUFDO1FBRS9CLElBQUksSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBUSxDQUFDO1FBQ3BELFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDN0MsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXBCLFdBQVcsQ0FBQyxjQUFjLENBQUM7WUFDekIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsS0FBSyxFQUFFLFNBQVM7WUFDaEIsTUFBTSxFQUFFLE9BQU87U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E5Q1UsK0JBQStCO2tHQUEvQiwrQkFBK0I7OzJGQUEvQiwrQkFBK0I7a0JBSjNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOytFQVFDLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZGRMaXN0S2V5Ym9hcmROYXZpZ2F0aW9uXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdEtleWJvYXJkTmF2aWdhdGlvbkRpcmVjdGl2ZSB7XHJcbiAgcHJpdmF0ZSBjdXJyZW50SW5kZXggPSAtMTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RkU2VsZWN0YWJsZUl0ZW1dJyk7IC8vINCf0L7Qu9GD0YfQsNC10Lwg0LLRgdC1INGN0LvQtdC80LXQvdGC0Ysg0YHQv9C40YHQutCwXHJcbiAgICBpZiAoIWl0ZW1zLmxlbmd0aCkgcmV0dXJuO1xyXG5cclxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XHJcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XHJcbiAgICAgICAgdGhpcy5tb3ZlRm9jdXMoaXRlbXMsIDEpO1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxyXG4gICAgICAgIHRoaXMubW92ZUZvY3VzKGl0ZW1zLCAtMSk7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbW92ZUZvY3VzKGl0ZW1zOiBOb2RlTGlzdE9mPEVsZW1lbnQ+LCBkaXJlY3Rpb246IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudEluZGV4ID49IDApIHtcclxuICAgICAgY29uc3QgcHJldkl0ZW0gPSBpdGVtc1t0aGlzLmN1cnJlbnRJbmRleF0gYXMgYW55O1xyXG4gICAgICBwcmV2SXRlbS5jbGFzc0xpc3QucmVtb3ZlKCdrZXktZG93bi1hY3RpdmUnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmN1cnJlbnRJbmRleCArPSBkaXJlY3Rpb247XHJcblxyXG4gICAgaWYgKHRoaXMuY3VycmVudEluZGV4IDwgMCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRJbmRleCA9IGl0ZW1zLmxlbmd0aCAtIDE7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudEluZGV4ID49IGl0ZW1zLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRJbmRleCA9IDA7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY3VycmVudEl0ZW0gPSBpdGVtc1t0aGlzLmN1cnJlbnRJbmRleF0gYXMgYW55O1xyXG4gICAgY3VycmVudEl0ZW0uY2xhc3NMaXN0LmFkZCgna2V5LWRvd24tYWN0aXZlJyk7XHJcbiAgICBjdXJyZW50SXRlbS5mb2N1cygpO1xyXG5cclxuICAgIGN1cnJlbnRJdGVtLnNjcm9sbEludG9WaWV3KHtcclxuICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxyXG4gICAgICBibG9jazogJ25lYXJlc3QnLFxyXG4gICAgICBpbmxpbmU6ICdzdGFydCdcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|