monkey-style-guide-v2 0.0.21 → 0.0.23
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/directives/_index.scss +1 -0
- package/assets/scss/directives/_popover.scss +81 -0
- package/assets/scss/theme.scss +5 -0
- package/esm2022/lib/components/accordion/accordion.component.mjs +11 -20
- package/esm2022/lib/components/action-bar/action-bar.component.mjs +3 -3
- package/esm2022/lib/components/button/button.component.mjs +6 -2
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +9 -13
- package/esm2022/lib/components/date-range/date-range.component.mjs +2 -2
- package/esm2022/lib/components/form-field/form-field-control.mjs +1 -1
- package/esm2022/lib/components/form-field/form-field.component.mjs +15 -18
- package/esm2022/lib/components/form-field/form-field.module.mjs +4 -2
- package/esm2022/lib/components/icon/icon.component.mjs +4 -4
- package/esm2022/lib/components/icon-button/icon-button.component.mjs +2 -2
- package/esm2022/lib/components/index.mjs +3 -1
- package/esm2022/lib/components/input-phone/index.mjs +7 -0
- package/esm2022/lib/components/input-phone/input-phone.component.mjs +324 -0
- package/esm2022/lib/components/modal/components/confirmation.component.mjs +68 -0
- package/esm2022/lib/components/modal/components/default.mjs +1 -6
- package/esm2022/lib/components/modal/modal-config.mjs +2 -3
- package/esm2022/lib/components/modal/modal-ref.mjs +9 -2
- package/esm2022/lib/components/modal/modal.component.mjs +8 -6
- package/esm2022/lib/components/modal/modal.module.mjs +4 -1
- package/esm2022/lib/components/modal/modal.service.mjs +44 -31
- package/esm2022/lib/components/modal/utils.mjs +2 -1
- package/esm2022/lib/components/option/option.component.mjs +21 -5
- package/esm2022/lib/components/radio-button/index.mjs +7 -0
- package/esm2022/lib/components/radio-button/radio-button.component.mjs +190 -0
- package/esm2022/lib/components/security-level/security-level.component.mjs +3 -3
- package/esm2022/lib/components/select/select.component.mjs +5 -9
- package/esm2022/lib/components/status/status.component.mjs +3 -3
- package/esm2022/lib/components/table/components/pagination-size/pagination-size.mjs +2 -2
- package/esm2022/lib/components/toast/toast.component.mjs +3 -3
- package/esm2022/lib/components/tooltip/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/lib/components/tooltip/tooltip.directive.mjs +12 -3
- package/esm2022/lib/directives/error.mjs +5 -5
- package/esm2022/lib/directives/helper.mjs +5 -5
- package/esm2022/lib/directives/index.mjs +2 -1
- package/esm2022/lib/directives/info.mjs +5 -5
- package/esm2022/lib/directives/label.mjs +5 -5
- package/esm2022/lib/directives/module.mjs +41 -35
- package/esm2022/lib/directives/popover.mjs +380 -0
- package/esm2022/lib/directives/prefix.mjs +5 -5
- package/esm2022/lib/directives/suffix.mjs +5 -5
- package/esm2022/lib/interfaces/index.mjs +2 -1
- package/esm2022/lib/interfaces/popover.mjs +2 -0
- package/esm2022/lib/services/dictionary.service.mjs +3 -3
- package/esm2022/lib/services/index.mjs +1 -2
- package/esm2022/lib/tokens/index.mjs +4 -2
- package/esm2022/utils/icon.mjs +277 -0
- package/esm2022/utils/index.mjs +2 -1
- package/fesm2022/monkey-style-guide-v2.mjs +2019 -828
- package/fesm2022/monkey-style-guide-v2.mjs.map +1 -1
- package/lib/components/accordion/accordion.component.d.ts +0 -3
- package/lib/components/button/button.component.d.ts +2 -0
- package/lib/components/checkbox/checkbox.component.d.ts +0 -3
- package/lib/components/form-field/form-field-control.d.ts +3 -3
- package/lib/components/form-field/form-field.component.d.ts +0 -5
- package/lib/components/form-field/form-field.module.d.ts +2 -1
- package/lib/components/icon/icon.component.d.ts +1 -1
- package/lib/components/index.d.ts +2 -0
- package/lib/components/input-phone/index.d.ts +6 -0
- package/lib/components/input-phone/input-phone.component.d.ts +68 -0
- package/lib/components/modal/components/confirmation.component.d.ts +12 -0
- package/lib/components/modal/components/default.d.ts +0 -5
- package/lib/components/modal/modal-config.d.ts +10 -6
- package/lib/components/modal/modal-ref.d.ts +1 -0
- package/lib/components/modal/modal.module.d.ts +10 -9
- package/lib/components/modal/modal.service.d.ts +4 -4
- package/lib/components/modal/utils.d.ts +3 -1
- package/lib/components/option/option.component.d.ts +4 -1
- package/lib/components/radio-button/index.d.ts +6 -0
- package/lib/components/radio-button/radio-button.component.d.ts +54 -0
- package/lib/components/select/select.component.d.ts +0 -3
- package/lib/components/tooltip/tooltip.directive.d.ts +1 -0
- package/lib/directives/error.d.ts +3 -3
- package/lib/directives/helper.d.ts +3 -3
- package/lib/directives/index.d.ts +1 -0
- package/lib/directives/info.d.ts +3 -3
- package/lib/directives/label.d.ts +3 -3
- package/lib/directives/module.d.ts +2 -1
- package/lib/directives/popover.d.ts +65 -0
- package/lib/directives/prefix.d.ts +3 -3
- package/lib/directives/suffix.d.ts +3 -3
- package/lib/interfaces/index.d.ts +1 -0
- package/lib/interfaces/popover.d.ts +7 -0
- package/lib/services/index.d.ts +0 -1
- package/lib/tokens/index.d.ts +3 -1
- package/monkey-style-guide-v2-0.0.23.tgz +0 -0
- package/package.json +3 -2
- package/utils/icon.d.ts +8 -0
- package/utils/index.d.ts +1 -0
- package/esm2022/lib/services/icons.service.mjs +0 -56
- package/lib/services/icons.service.d.ts +0 -16
- package/monkey-style-guide-v2-0.0.21.tgz +0 -0
|
@@ -13,9 +13,11 @@ export * from './icon';
|
|
|
13
13
|
export * from './icon-button';
|
|
14
14
|
export * from './input';
|
|
15
15
|
export * from './input-code';
|
|
16
|
+
export * from './input-phone';
|
|
16
17
|
export * from './input-upload';
|
|
17
18
|
export * from './modal';
|
|
18
19
|
export * from './option';
|
|
20
|
+
export * from './radio-button';
|
|
19
21
|
export * from './security-level';
|
|
20
22
|
export * from './select';
|
|
21
23
|
export * from './status';
|
|
@@ -24,4 +26,4 @@ export * from './toast';
|
|
|
24
26
|
export * from './toggle';
|
|
25
27
|
export * from './toggle-line';
|
|
26
28
|
export * from './tooltip';
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY2NvcmRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24tYmFyJztcbmV4cG9ydCAqIGZyb20gJy4vYWxlcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hdmF0YXInO1xuZXhwb3J0ICogZnJvbSAnLi9iYWRnZSc7XG5leHBvcnQgKiBmcm9tICcuL2JyZWFkY3J1bWInO1xuZXhwb3J0ICogZnJvbSAnLi9idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUtcmFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL2ljb24nO1xuZXhwb3J0ICogZnJvbSAnLi9pY29uLWJ1dHRvbic7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0JztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtY29kZSc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LXBob25lJztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtdXBsb2FkJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9yYWRpby1idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi9zZWN1cml0eS1sZXZlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdCc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vdG9hc3QnO1xuZXhwb3J0ICogZnJvbSAnLi90b2dnbGUnO1xuZXhwb3J0ICogZnJvbSAnLi90b2dnbGUtbGluZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rvb2x0aXAnO1xuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** ************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
************************* */
|
|
6
|
+
export * from './input-phone.component';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0LXBob25lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OzZCQUk2QjtBQUM3QixjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqICoqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXG4gKiBNSVQgTGljZW5jZVxuICoqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtcGhvbmUuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
/** ************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
************************* */
|
|
6
|
+
import { CommonModule } from '@angular/common';
|
|
7
|
+
import { booleanAttribute, Component, inject, Input, LOCALE_ID, ViewChildren } from '@angular/core';
|
|
8
|
+
import { FormsModule, NgControl, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
9
|
+
import parsePhoneNumberFromString, { AsYouType, getCountries, getCountryCallingCode, getExampleNumber, isValidPhoneNumber } from 'libphonenumber-js';
|
|
10
|
+
import examples from 'libphonenumber-js/examples.mobile.json';
|
|
11
|
+
import { Subject } from 'rxjs';
|
|
12
|
+
import { IdGenerator } from '../../../utils';
|
|
13
|
+
import { MONKEY_COUNTRY_CODE } from '../../tokens';
|
|
14
|
+
import { MonkeyFormFieldControl, MonkeyFormFieldModule } from '../form-field';
|
|
15
|
+
import { MonkeyOptionComponent } from '../option';
|
|
16
|
+
import { MonkeySelectComponent } from '../select';
|
|
17
|
+
import * as i0 from "@angular/core";
|
|
18
|
+
import * as i1 from "@angular/forms";
|
|
19
|
+
export class MonkeyInputPhoneComponent {
|
|
20
|
+
get disabled() {
|
|
21
|
+
if (this.ngControl && this.ngControl.disabled !== null) {
|
|
22
|
+
return this.ngControl.disabled;
|
|
23
|
+
}
|
|
24
|
+
return this._disabled;
|
|
25
|
+
}
|
|
26
|
+
set disabled(value) {
|
|
27
|
+
this._disabled = value;
|
|
28
|
+
if (this.focused) {
|
|
29
|
+
this.focused = false;
|
|
30
|
+
this.stateChanges.next();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
get required() {
|
|
34
|
+
return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;
|
|
35
|
+
}
|
|
36
|
+
set required(value) {
|
|
37
|
+
this._required = value;
|
|
38
|
+
this.stateChanges.next();
|
|
39
|
+
}
|
|
40
|
+
set value(value) {
|
|
41
|
+
if (this._value !== value && value !== undefined) {
|
|
42
|
+
this._value = value;
|
|
43
|
+
this.formatValue(value);
|
|
44
|
+
this._onChange(value);
|
|
45
|
+
this._onTouched(value);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
get value() {
|
|
49
|
+
return this._value;
|
|
50
|
+
}
|
|
51
|
+
constructor() {
|
|
52
|
+
this.placeholder = '';
|
|
53
|
+
this.tabIndex = 0;
|
|
54
|
+
this._disabled = false;
|
|
55
|
+
this._value = null;
|
|
56
|
+
this.ngControl = inject(NgControl, { self: true, optional: true });
|
|
57
|
+
this.idGenerator = inject(IdGenerator);
|
|
58
|
+
this.countryCode = inject(MONKEY_COUNTRY_CODE);
|
|
59
|
+
this.locale = inject(LOCALE_ID);
|
|
60
|
+
this.id = this.idGenerator.getId('monkey-input-upload-');
|
|
61
|
+
this.inputId = this.idGenerator.getId('monkey-input-upload-input-');
|
|
62
|
+
this.focused = false;
|
|
63
|
+
this.type = 'input-phone';
|
|
64
|
+
this.stateChanges = new Subject();
|
|
65
|
+
this.countries = getCountries()
|
|
66
|
+
.map((code) => {
|
|
67
|
+
return {
|
|
68
|
+
code: `+${getCountryCallingCode(code)}`,
|
|
69
|
+
name: this.getCountryNameFromCode(code),
|
|
70
|
+
flag: `${this.isoToFlagEmoji(code)} `
|
|
71
|
+
};
|
|
72
|
+
})
|
|
73
|
+
.sort((a, b) => {
|
|
74
|
+
return a.name.localeCompare(b.name);
|
|
75
|
+
});
|
|
76
|
+
this.countriesFiltered = this.countries;
|
|
77
|
+
this.selectedCallingCode = this.countryCode.toString();
|
|
78
|
+
this.phoneFormatted = '';
|
|
79
|
+
this.phoneValid = false;
|
|
80
|
+
this._onChange = () => { };
|
|
81
|
+
this._onTouched = () => { };
|
|
82
|
+
if (this.ngControl) {
|
|
83
|
+
this.ngControl.valueAccessor = this;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
getCountryNameFromCode(code) {
|
|
87
|
+
try {
|
|
88
|
+
const locale = this.locale.toString();
|
|
89
|
+
const display = new Intl.DisplayNames([locale], { type: 'region' });
|
|
90
|
+
return display.of(code.toUpperCase()) || code;
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return code;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
getCountryByCallingCode(code) {
|
|
97
|
+
const cleanCode = code.replace('+', '');
|
|
98
|
+
return (getCountries().find((country) => {
|
|
99
|
+
return getCountryCallingCode(country) === cleanCode;
|
|
100
|
+
}) || null);
|
|
101
|
+
}
|
|
102
|
+
isoToFlagEmoji(isoCode) {
|
|
103
|
+
return isoCode.toUpperCase().replace(/./g, (char) => {
|
|
104
|
+
return String.fromCodePoint(127397 + char.charCodeAt(0));
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
getCountryFromPhoneNumber(input, changedCountry) {
|
|
108
|
+
try {
|
|
109
|
+
if (changedCountry) {
|
|
110
|
+
return this.selectedCallingCode;
|
|
111
|
+
}
|
|
112
|
+
const parsed = parsePhoneNumberFromString(input);
|
|
113
|
+
const country = getCountryCallingCode(parsed?.country);
|
|
114
|
+
return `+${country}`;
|
|
115
|
+
}
|
|
116
|
+
catch (e) {
|
|
117
|
+
// not to do
|
|
118
|
+
}
|
|
119
|
+
return this.selectedCallingCode;
|
|
120
|
+
}
|
|
121
|
+
performValue(value) {
|
|
122
|
+
this._value = `${this.selectedCallingCode}${value}`;
|
|
123
|
+
this._onChange(this._value);
|
|
124
|
+
this._onTouched(this._value);
|
|
125
|
+
}
|
|
126
|
+
validateValue() {
|
|
127
|
+
const { phoneValid } = this;
|
|
128
|
+
if (!phoneValid) {
|
|
129
|
+
const countryCode = this.getCountryByCallingCode(this.selectedCallingCode);
|
|
130
|
+
const example = getExampleNumber(countryCode, examples);
|
|
131
|
+
this.ngControl?.control?.setErrors({
|
|
132
|
+
phone: true,
|
|
133
|
+
phoneAllowed: example?.nationalNumber
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
formatValue(value, changedCountry = false) {
|
|
138
|
+
if (!value) {
|
|
139
|
+
this.phoneFormatted = '';
|
|
140
|
+
this.phoneValid = false;
|
|
141
|
+
this.validateValue();
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const detectedCallingCode = this.getCountryFromPhoneNumber(value, changedCountry);
|
|
145
|
+
const isCountryChanged = changedCountry || detectedCallingCode !== this.selectedCallingCode;
|
|
146
|
+
if (isCountryChanged && detectedCallingCode) {
|
|
147
|
+
this.selectedCallingCode = detectedCallingCode;
|
|
148
|
+
}
|
|
149
|
+
const countryCode = this.getCountryByCallingCode(this.selectedCallingCode);
|
|
150
|
+
if (!countryCode) {
|
|
151
|
+
this.phoneFormatted = value;
|
|
152
|
+
this.phoneValid = false;
|
|
153
|
+
this.validateValue();
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
const nationalPart = value.replace(this.selectedCallingCode, '').replace(/[^\d+]/g, '');
|
|
157
|
+
const formatter = new AsYouType(countryCode);
|
|
158
|
+
this.phoneFormatted = formatter.input(nationalPart);
|
|
159
|
+
this.performValue(nationalPart);
|
|
160
|
+
this.phoneValid = isValidPhoneNumber(nationalPart, countryCode);
|
|
161
|
+
this.validateValue();
|
|
162
|
+
}
|
|
163
|
+
ngAfterContentInit() { }
|
|
164
|
+
ngOnChanges(changes) { }
|
|
165
|
+
ngOnDestroy() { }
|
|
166
|
+
onContainerClick(event) {
|
|
167
|
+
this.inputs.first.nativeElement.focus();
|
|
168
|
+
}
|
|
169
|
+
_onFocus() {
|
|
170
|
+
if (!this.disabled) {
|
|
171
|
+
this.focused = true;
|
|
172
|
+
this._onTouched();
|
|
173
|
+
this.stateChanges.next();
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
_onBlur() {
|
|
177
|
+
this.focused = false;
|
|
178
|
+
this.stateChanges.next();
|
|
179
|
+
this.validateValue();
|
|
180
|
+
}
|
|
181
|
+
registerOnChange(fn) {
|
|
182
|
+
this._onChange = fn;
|
|
183
|
+
}
|
|
184
|
+
registerOnTouched(fn) {
|
|
185
|
+
this._onTouched = fn;
|
|
186
|
+
}
|
|
187
|
+
setDisabledState(isDisabled) {
|
|
188
|
+
this.disabled = isDisabled;
|
|
189
|
+
}
|
|
190
|
+
writeValue(value) {
|
|
191
|
+
this.value = value;
|
|
192
|
+
}
|
|
193
|
+
onInputChange(event) {
|
|
194
|
+
const { value } = event.target;
|
|
195
|
+
this.formatValue(value);
|
|
196
|
+
}
|
|
197
|
+
onCountryChange() {
|
|
198
|
+
this.formatValue(this._value, true);
|
|
199
|
+
this.validateValue();
|
|
200
|
+
}
|
|
201
|
+
getMaxLength() {
|
|
202
|
+
try {
|
|
203
|
+
const countryCode = this.getCountryByCallingCode(this.selectedCallingCode);
|
|
204
|
+
if (!countryCode)
|
|
205
|
+
return 20;
|
|
206
|
+
const example = getExampleNumber(countryCode, examples);
|
|
207
|
+
const formatted = new AsYouType(countryCode).input(example.nationalNumber);
|
|
208
|
+
return formatted.length;
|
|
209
|
+
}
|
|
210
|
+
catch {
|
|
211
|
+
return 20;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
onHandleSearchSelect(query) {
|
|
215
|
+
const normalizedQuery = query.trim().toLowerCase();
|
|
216
|
+
this.countriesFiltered = this.countries.filter(({ name }) => {
|
|
217
|
+
return name.toLowerCase().includes(normalizedQuery);
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputPhoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
221
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyInputPhoneComponent, isStandalone: true, selector: "monkey-input-phone", inputs: { placeholder: "placeholder", tabIndex: "tabIndex", disabled: ["disabled", "disabled", booleanAttribute], required: ["required", "required", booleanAttribute], value: "value" }, host: { listeners: { "focus": "_onFocus()", "blur": "_onBlur()" }, properties: { "attr.data-testid": "'monkey-input-phone'", "class.mecx-input-phone-disabled": "_disabled", "class.mecx-input-phone-focused": "focused", "attr.id": "id", "attr.tabindex": "disabled ? -1 : tabIndex" }, classAttribute: "mecx-input-phone" }, providers: [
|
|
222
|
+
// eslint-disable-next-line no-use-before-define
|
|
223
|
+
{ provide: MonkeyFormFieldControl, useExisting: MonkeyInputPhoneComponent }
|
|
224
|
+
], viewQueries: [{ propertyName: "inputs", predicate: ["input"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
225
|
+
<monkey-select
|
|
226
|
+
placeholder=""
|
|
227
|
+
[disabled]="disabled"
|
|
228
|
+
showSearch
|
|
229
|
+
[(ngModel)]="selectedCallingCode"
|
|
230
|
+
class="mecx-phone-select-country"
|
|
231
|
+
(onChange)="onCountryChange()"
|
|
232
|
+
callbackSearch
|
|
233
|
+
(onSearch)="onHandleSearchSelect($event)"
|
|
234
|
+
>
|
|
235
|
+
@for (item of countriesFiltered; track $index) {
|
|
236
|
+
<monkey-option [value]="item.code">
|
|
237
|
+
<span class="option-flag">{{ item.flag }}</span>
|
|
238
|
+
<div class="option-name">{{ item.name }} {{ item.code }}</div>
|
|
239
|
+
</monkey-option>
|
|
240
|
+
}
|
|
241
|
+
</monkey-select>
|
|
242
|
+
<input
|
|
243
|
+
#input
|
|
244
|
+
class="mecx-input"
|
|
245
|
+
[attr.disabled]="disabled"
|
|
246
|
+
placeholder="Enter phone number"
|
|
247
|
+
(input)="onInputChange($event)"
|
|
248
|
+
[ngModel]="phoneFormatted"
|
|
249
|
+
[maxlength]="getMaxLength()"
|
|
250
|
+
(focus)="_onFocus()"
|
|
251
|
+
(blur)="_onBlur()"
|
|
252
|
+
[attr.id]="inputId"
|
|
253
|
+
/>
|
|
254
|
+
`, isInline: true, styles: [":host{display:inline-flex;width:100%;min-width:0}:host.mecx-input-phone-disabled monkey-select{border-right:2px solid var(--mecx-color-gray-200)}:host monkey-select{width:164px;border-right:2px solid var(--mecx-color-gray-400)}:host input{width:100%;border:none;margin-left:8px}monkey-option .option-flag{font-size:30px}monkey-option .option-name{letter-spacing:.48px;margin-left:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: MonkeySelectComponent, selector: "monkey-select", inputs: ["tabIndex", "placeholder", "loading", "showSearch", "searchPlaceholder", "callbackSearch", "disabled", "required", "value"], outputs: ["onChange", "onSearch"] }, { kind: "component", type: MonkeyOptionComponent, selector: "monkey-option", inputs: ["value", "disabled", "type"] }, { kind: "ngmodule", type: MonkeyFormFieldModule }] }); }
|
|
255
|
+
}
|
|
256
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputPhoneComponent, decorators: [{
|
|
257
|
+
type: Component,
|
|
258
|
+
args: [{ selector: 'monkey-input-phone', standalone: true, imports: [
|
|
259
|
+
CommonModule,
|
|
260
|
+
FormsModule,
|
|
261
|
+
ReactiveFormsModule,
|
|
262
|
+
MonkeySelectComponent,
|
|
263
|
+
MonkeyOptionComponent,
|
|
264
|
+
MonkeyFormFieldModule
|
|
265
|
+
], template: `
|
|
266
|
+
<monkey-select
|
|
267
|
+
placeholder=""
|
|
268
|
+
[disabled]="disabled"
|
|
269
|
+
showSearch
|
|
270
|
+
[(ngModel)]="selectedCallingCode"
|
|
271
|
+
class="mecx-phone-select-country"
|
|
272
|
+
(onChange)="onCountryChange()"
|
|
273
|
+
callbackSearch
|
|
274
|
+
(onSearch)="onHandleSearchSelect($event)"
|
|
275
|
+
>
|
|
276
|
+
@for (item of countriesFiltered; track $index) {
|
|
277
|
+
<monkey-option [value]="item.code">
|
|
278
|
+
<span class="option-flag">{{ item.flag }}</span>
|
|
279
|
+
<div class="option-name">{{ item.name }} {{ item.code }}</div>
|
|
280
|
+
</monkey-option>
|
|
281
|
+
}
|
|
282
|
+
</monkey-select>
|
|
283
|
+
<input
|
|
284
|
+
#input
|
|
285
|
+
class="mecx-input"
|
|
286
|
+
[attr.disabled]="disabled"
|
|
287
|
+
placeholder="Enter phone number"
|
|
288
|
+
(input)="onInputChange($event)"
|
|
289
|
+
[ngModel]="phoneFormatted"
|
|
290
|
+
[maxlength]="getMaxLength()"
|
|
291
|
+
(focus)="_onFocus()"
|
|
292
|
+
(blur)="_onBlur()"
|
|
293
|
+
[attr.id]="inputId"
|
|
294
|
+
/>
|
|
295
|
+
`, providers: [
|
|
296
|
+
// eslint-disable-next-line no-use-before-define
|
|
297
|
+
{ provide: MonkeyFormFieldControl, useExisting: MonkeyInputPhoneComponent }
|
|
298
|
+
], host: {
|
|
299
|
+
'[attr.data-testid]': "'monkey-input-phone'",
|
|
300
|
+
class: 'mecx-input-phone',
|
|
301
|
+
'[class.mecx-input-phone-disabled]': '_disabled',
|
|
302
|
+
'[class.mecx-input-phone-focused]': 'focused',
|
|
303
|
+
'[attr.id]': 'id',
|
|
304
|
+
'[attr.tabindex]': 'disabled ? -1 : tabIndex',
|
|
305
|
+
'(focus)': '_onFocus()',
|
|
306
|
+
'(blur)': '_onBlur()'
|
|
307
|
+
}, styles: [":host{display:inline-flex;width:100%;min-width:0}:host.mecx-input-phone-disabled monkey-select{border-right:2px solid var(--mecx-color-gray-200)}:host monkey-select{width:164px;border-right:2px solid var(--mecx-color-gray-400)}:host input{width:100%;border:none;margin-left:8px}monkey-option .option-flag{font-size:30px}monkey-option .option-name{letter-spacing:.48px;margin-left:4px}\n"] }]
|
|
308
|
+
}], ctorParameters: () => [], propDecorators: { placeholder: [{
|
|
309
|
+
type: Input
|
|
310
|
+
}], tabIndex: [{
|
|
311
|
+
type: Input
|
|
312
|
+
}], disabled: [{
|
|
313
|
+
type: Input,
|
|
314
|
+
args: [{ transform: booleanAttribute }]
|
|
315
|
+
}], required: [{
|
|
316
|
+
type: Input,
|
|
317
|
+
args: [{ transform: booleanAttribute }]
|
|
318
|
+
}], value: [{
|
|
319
|
+
type: Input
|
|
320
|
+
}], inputs: [{
|
|
321
|
+
type: ViewChildren,
|
|
322
|
+
args: ['input']
|
|
323
|
+
}] } });
|
|
324
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlLXYyL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1waG9uZS9pbnB1dC1waG9uZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBRTdCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFFVCxNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFLVCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sMEJBQTBCLEVBQUUsRUFDakMsU0FBUyxFQUVULFlBQVksRUFDWixxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNuQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sUUFBUSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBa0VsRCxNQUFNLE9BQU8seUJBQXlCO0lBT3BDLElBQ0ksUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN2RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ2pDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUlELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUMvRixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFJRCxJQUNJLEtBQUssQ0FBQyxLQUFVO1FBQ2xCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2pELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFJRDtRQW5EUyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUV6QixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBbUJ0QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBNEIzQixXQUFNLEdBQWtCLElBQUksQ0FBQztRQVE3QixjQUFTLEdBQXFCLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBRSxDQUFDO1FBRWhFLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWxDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFMUMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVuQyxPQUFFLEdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUU1RCxZQUFPLEdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUVoRixZQUFPLEdBQVksS0FBSyxDQUFDO1FBRWhCLFNBQUksR0FBVyxhQUFhLENBQUM7UUFFN0IsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTVDLGNBQVMsR0FBYyxZQUFZLEVBQUU7YUFDbEMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDWixPQUFPO2dCQUNMLElBQUksRUFBRSxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN2QyxJQUFJLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQztnQkFDdkMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRzthQUN0QyxDQUFDO1FBQ0osQ0FBQyxDQUFDO2FBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFFTCxzQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRW5DLHdCQUFtQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFbEQsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFFcEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQXVHbkIsY0FBUyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUUxQixlQUFVLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBbEp6QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUEwQ08sc0JBQXNCLENBQUMsSUFBWTtRQUN6QyxJQUFJLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDcEUsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoRCxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVPLHVCQUF1QixDQUFDLElBQVk7UUFDMUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFeEMsT0FBTyxDQUNMLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzlCLE9BQU8scUJBQXFCLENBQUMsT0FBTyxDQUFDLEtBQUssU0FBUyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxJQUFJLElBQUksQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUFlO1FBQ3BDLE9BQU8sT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNsRCxPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxLQUFhLEVBQUUsY0FBdUI7UUFDdEUsSUFBSSxDQUFDO1lBQ0gsSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7WUFDbEMsQ0FBQztZQUVELE1BQU0sTUFBTSxHQUFHLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pELE1BQU0sT0FBTyxHQUFHLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxPQUFRLENBQUMsQ0FBQztZQUV4RCxPQUFPLElBQUksT0FBTyxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxZQUFZO1FBQ2QsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBYTtRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTyxhQUFhO1FBQ25CLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUMzRSxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxXQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFekQsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDO2dCQUNqQyxLQUFLLEVBQUUsSUFBSTtnQkFDWCxZQUFZLEVBQUUsT0FBTyxFQUFFLGNBQWM7YUFDdEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFTyxXQUFXLENBQUMsS0FBYSxFQUFFLGNBQWMsR0FBRyxLQUFLO1FBQ3ZELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNsRixNQUFNLGdCQUFnQixHQUFHLGNBQWMsSUFBSSxtQkFBbUIsS0FBSyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFFNUYsSUFBSSxnQkFBZ0IsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztRQUNqRCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRTNFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztZQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXhGLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVwRCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWhDLElBQUksQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBUUQsa0JBQWtCLEtBQVUsQ0FBQztJQUU3QixXQUFXLENBQUMsT0FBc0IsSUFBUyxDQUFDO0lBRTVDLFdBQVcsS0FBVSxDQUFDO0lBRXRCLGdCQUFnQixDQUFDLEtBQWlCO1FBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzdCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVk7UUFDeEIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFDO1FBQ25ELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDO1lBQ0gsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBRTNFLElBQUksQ0FBQyxXQUFXO2dCQUFFLE9BQU8sRUFBRSxDQUFDO1lBRTVCLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN4RCxNQUFNLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBRTVFLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUMxQixDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO0lBQ0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWE7UUFDaEMsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRW5ELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUMxRCxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQWxSVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixxSkFPaEIsZ0JBQWdCLHNDQW1CaEIsZ0JBQWdCLGdXQXpDekI7WUFDVCxnREFBZ0Q7WUFDaEQsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFO1NBQzVFLG1JQW5DUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJULDJjQXJDQyxZQUFZLDhCQUNaLFdBQVcsaXhCQUNYLG1CQUFtQiwrQkFDbkIscUJBQXFCLG1PQUNyQixxQkFBcUIsZ0dBQ3JCLHFCQUFxQjs7NEZBaURaLHlCQUF5QjtrQkExRHJDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIscUJBQXFCO3FCQUN0QixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4QlQsYUFFVTt3QkFDVCxnREFBZ0Q7d0JBQ2hELEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsMkJBQTJCLEVBQUU7cUJBQzVFLFFBQ0s7d0JBQ0osb0JBQW9CLEVBQUUsc0JBQXNCO3dCQUM1QyxLQUFLLEVBQUUsa0JBQWtCO3dCQUN6QixtQ0FBbUMsRUFBRSxXQUFXO3dCQUNoRCxrQ0FBa0MsRUFBRSxTQUFTO3dCQUM3QyxXQUFXLEVBQUUsSUFBSTt3QkFDakIsaUJBQWlCLEVBQUUsMEJBQTBCO3dCQUM3QyxTQUFTLEVBQUUsWUFBWTt3QkFDdkIsUUFBUSxFQUFFLFdBQVc7cUJBQ3RCO3dEQUtRLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFHRixRQUFRO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBb0JsQyxRQUFRO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBYWxDLEtBQUs7c0JBRFIsS0FBSztnQkE0RGlCLE1BQU07c0JBQTVCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiAqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxuICogTUlUIExpY2VuY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIExPQ0FMRV9JRCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1zTW9kdWxlLFxuICBOZ0NvbnRyb2wsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRvcnNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHBhcnNlUGhvbmVOdW1iZXJGcm9tU3RyaW5nLCB7XG4gIEFzWW91VHlwZSxcbiAgQ291bnRyeUNvZGUsXG4gIGdldENvdW50cmllcyxcbiAgZ2V0Q291bnRyeUNhbGxpbmdDb2RlLFxuICBnZXRFeGFtcGxlTnVtYmVyLFxuICBpc1ZhbGlkUGhvbmVOdW1iZXJcbn0gZnJvbSAnbGlicGhvbmVudW1iZXItanMnO1xuaW1wb3J0IGV4YW1wbGVzIGZyb20gJ2xpYnBob25lbnVtYmVyLWpzL2V4YW1wbGVzLm1vYmlsZS5qc29uJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElkR2VuZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgTU9OS0VZX0NPVU5UUllfQ09ERSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XG5pbXBvcnQgeyBNb25rZXlGb3JtRmllbGRDb250cm9sLCBNb25rZXlGb3JtRmllbGRNb2R1bGUgfSBmcm9tICcuLi9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1vbmtleU9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL29wdGlvbic7XG5pbXBvcnQgeyBNb25rZXlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi9zZWxlY3QnO1xuXG5pbnRlcmZhY2UgQ291bnRyeSB7XG4gIGNvZGU6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBmbGFnOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vbmtleS1pbnB1dC1waG9uZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNb25rZXlTZWxlY3RDb21wb25lbnQsXG4gICAgTW9ua2V5T3B0aW9uQ29tcG9uZW50LFxuICAgIE1vbmtleUZvcm1GaWVsZE1vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtb25rZXktc2VsZWN0XG4gICAgICBwbGFjZWhvbGRlcj1cIlwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgc2hvd1NlYXJjaFxuICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZENhbGxpbmdDb2RlXCJcbiAgICAgIGNsYXNzPVwibWVjeC1waG9uZS1zZWxlY3QtY291bnRyeVwiXG4gICAgICAob25DaGFuZ2UpPVwib25Db3VudHJ5Q2hhbmdlKClcIlxuICAgICAgY2FsbGJhY2tTZWFyY2hcbiAgICAgIChvblNlYXJjaCk9XCJvbkhhbmRsZVNlYXJjaFNlbGVjdCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICBAZm9yIChpdGVtIG9mIGNvdW50cmllc0ZpbHRlcmVkOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPG1vbmtleS1vcHRpb24gW3ZhbHVlXT1cIml0ZW0uY29kZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwib3B0aW9uLWZsYWdcIj57eyBpdGVtLmZsYWcgfX08L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbi1uYW1lXCI+e3sgaXRlbS5uYW1lIH19IHt7IGl0ZW0uY29kZSB9fTwvZGl2PlxuICAgICAgICA8L21vbmtleS1vcHRpb24+XG4gICAgICB9XG4gICAgPC9tb25rZXktc2VsZWN0PlxuICAgIDxpbnB1dFxuICAgICAgI2lucHV0XG4gICAgICBjbGFzcz1cIm1lY3gtaW5wdXRcIlxuICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgcGxhY2Vob2xkZXI9XCJFbnRlciBwaG9uZSBudW1iZXJcIlxuICAgICAgKGlucHV0KT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbbmdNb2RlbF09XCJwaG9uZUZvcm1hdHRlZFwiXG4gICAgICBbbWF4bGVuZ3RoXT1cImdldE1heExlbmd0aCgpXCJcbiAgICAgIChmb2N1cyk9XCJfb25Gb2N1cygpXCJcbiAgICAgIChibHVyKT1cIl9vbkJsdXIoKVwiXG4gICAgICBbYXR0ci5pZF09XCJpbnB1dElkXCJcbiAgICAvPlxuICBgLFxuICBzdHlsZVVybDogJy4vaW5wdXQtcGhvbmUuY29tcG9uZW50LnNjc3MnLFxuICBwcm92aWRlcnM6IFtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgICB7IHByb3ZpZGU6IE1vbmtleUZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBNb25rZXlJbnB1dFBob25lQ29tcG9uZW50IH1cbiAgXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLXRlc3RpZF0nOiBcIidtb25rZXktaW5wdXQtcGhvbmUnXCIsXG4gICAgY2xhc3M6ICdtZWN4LWlucHV0LXBob25lJyxcbiAgICAnW2NsYXNzLm1lY3gtaW5wdXQtcGhvbmUtZGlzYWJsZWRdJzogJ19kaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5tZWN4LWlucHV0LXBob25lLWZvY3VzZWRdJzogJ2ZvY3VzZWQnLFxuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICdbYXR0ci50YWJpbmRleF0nOiAnZGlzYWJsZWQgPyAtMSA6IHRhYkluZGV4JyxcbiAgICAnKGZvY3VzKSc6ICdfb25Gb2N1cygpJyxcbiAgICAnKGJsdXIpJzogJ19vbkJsdXIoKSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlJbnB1dFBob25lQ29tcG9uZW50XG4gIGltcGxlbWVudHMgTW9ua2V5Rm9ybUZpZWxkQ29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzXG57XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKSB0YWJJbmRleCA9IDA7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgJiYgdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbC5kaXNhYmxlZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkID8/IHRoaXMubmdDb250cm9sPy5jb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkgPz8gZmFsc2U7XG4gIH1cblxuICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IHZhbHVlO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlICE9PSB2YWx1ZSAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5mb3JtYXRWYWx1ZSh2YWx1ZSk7XG4gICAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICB0aGlzLl9vblRvdWNoZWQodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIF92YWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG4gIH1cblxuICBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwgPSBpbmplY3QoTmdDb250cm9sLCB7IHNlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlIH0pITtcblxuICBwcml2YXRlIHJlYWRvbmx5IGlkR2VuZXJhdG9yID0gaW5qZWN0KElkR2VuZXJhdG9yKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvdW50cnlDb2RlID0gaW5qZWN0KE1PTktFWV9DT1VOVFJZX0NPREUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxlID0gaW5qZWN0KExPQ0FMRV9JRCk7XG5cbiAgcmVhZG9ubHkgaWQ6IHN0cmluZyA9IHRoaXMuaWRHZW5lcmF0b3IuZ2V0SWQoJ21vbmtleS1pbnB1dC11cGxvYWQtJyk7XG5cbiAgcmVhZG9ubHkgaW5wdXRJZDogc3RyaW5nID0gdGhpcy5pZEdlbmVyYXRvci5nZXRJZCgnbW9ua2V5LWlucHV0LXVwbG9hZC1pbnB1dC0nKTtcblxuICBmb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gJ2lucHV0LXBob25lJztcblxuICByZWFkb25seSBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvdW50cmllczogQ291bnRyeVtdID0gZ2V0Q291bnRyaWVzKClcbiAgICAubWFwKChjb2RlKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb2RlOiBgKyR7Z2V0Q291bnRyeUNhbGxpbmdDb2RlKGNvZGUpfWAsXG4gICAgICAgIG5hbWU6IHRoaXMuZ2V0Q291bnRyeU5hbWVGcm9tQ29kZShjb2RlKSxcbiAgICAgICAgZmxhZzogYCR7dGhpcy5pc29Ub0ZsYWdFbW9qaShjb2RlKX0gYFxuICAgICAgfTtcbiAgICB9KVxuICAgIC5zb3J0KChhLCBiKSA9PiB7XG4gICAgICByZXR1cm4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKTtcbiAgICB9KTtcblxuICBjb3VudHJpZXNGaWx0ZXJlZCA9IHRoaXMuY291bnRyaWVzO1xuXG4gIHNlbGVjdGVkQ2FsbGluZ0NvZGUgPSB0aGlzLmNvdW50cnlDb2RlLnRvU3RyaW5nKCk7XG5cbiAgcGhvbmVGb3JtYXR0ZWQgPSAnJztcblxuICBwaG9uZVZhbGlkID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZHJlbignaW5wdXQnKSBpbnB1dHMhOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pj47XG5cbiAgcHJpdmF0ZSBnZXRDb3VudHJ5TmFtZUZyb21Db2RlKGNvZGU6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBsb2NhbGUgPSB0aGlzLmxvY2FsZS50b1N0cmluZygpO1xuICAgICAgY29uc3QgZGlzcGxheSA9IG5ldyBJbnRsLkRpc3BsYXlOYW1lcyhbbG9jYWxlXSwgeyB0eXBlOiAncmVnaW9uJyB9KTtcbiAgICAgIHJldHVybiBkaXNwbGF5Lm9mKGNvZGUudG9VcHBlckNhc2UoKSkgfHwgY29kZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBjb2RlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q291bnRyeUJ5Q2FsbGluZ0NvZGUoY29kZTogc3RyaW5nKTogQ291bnRyeUNvZGUgfCBudWxsIHtcbiAgICBjb25zdCBjbGVhbkNvZGUgPSBjb2RlLnJlcGxhY2UoJysnLCAnJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgZ2V0Q291bnRyaWVzKCkuZmluZCgoY291bnRyeSkgPT4ge1xuICAgICAgICByZXR1cm4gZ2V0Q291bnRyeUNhbGxpbmdDb2RlKGNvdW50cnkpID09PSBjbGVhbkNvZGU7XG4gICAgICB9KSB8fCBudWxsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNvVG9GbGFnRW1vamkoaXNvQ29kZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXNvQ29kZS50b1VwcGVyQ2FzZSgpLnJlcGxhY2UoLy4vZywgKGNoYXIpID0+IHtcbiAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNvZGVQb2ludCgxMjczOTcgKyBjaGFyLmNoYXJDb2RlQXQoMCkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb3VudHJ5RnJvbVBob25lTnVtYmVyKGlucHV0OiBzdHJpbmcsIGNoYW5nZWRDb3VudHJ5OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgaWYgKGNoYW5nZWRDb3VudHJ5KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkQ2FsbGluZ0NvZGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlUGhvbmVOdW1iZXJGcm9tU3RyaW5nKGlucHV0KTtcbiAgICAgIGNvbnN0IGNvdW50cnkgPSBnZXRDb3VudHJ5Q2FsbGluZ0NvZGUocGFyc2VkPy5jb3VudHJ5ISk7XG5cbiAgICAgIHJldHVybiBgKyR7Y291bnRyeX1gO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIG5vdCB0byBkb1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkQ2FsbGluZ0NvZGU7XG4gIH1cblxuICBwcml2YXRlIHBlcmZvcm1WYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdmFsdWUgPSBgJHt0aGlzLnNlbGVjdGVkQ2FsbGluZ0NvZGV9JHt2YWx1ZX1gO1xuICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcbiAgICB0aGlzLl9vblRvdWNoZWQodGhpcy5fdmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVZhbHVlKCkge1xuICAgIGNvbnN0IHsgcGhvbmVWYWxpZCB9ID0gdGhpcztcbiAgICBpZiAoIXBob25lVmFsaWQpIHtcbiAgICAgIGNvbnN0IGNvdW50cnlDb2RlID0gdGhpcy5nZXRDb3VudHJ5QnlDYWxsaW5nQ29kZSh0aGlzLnNlbGVjdGVkQ2FsbGluZ0NvZGUpO1xuICAgICAgY29uc3QgZXhhbXBsZSA9IGdldEV4YW1wbGVOdW1iZXIoY291bnRyeUNvZGUhLCBleGFtcGxlcyk7XG5cbiAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5zZXRFcnJvcnMoe1xuICAgICAgICBwaG9uZTogdHJ1ZSxcbiAgICAgICAgcGhvbmVBbGxvd2VkOiBleGFtcGxlPy5uYXRpb25hbE51bWJlclxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRWYWx1ZSh2YWx1ZTogc3RyaW5nLCBjaGFuZ2VkQ291bnRyeSA9IGZhbHNlKSB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgdGhpcy5waG9uZUZvcm1hdHRlZCA9ICcnO1xuICAgICAgdGhpcy5waG9uZVZhbGlkID0gZmFsc2U7XG4gICAgICB0aGlzLnZhbGlkYXRlVmFsdWUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXRlY3RlZENhbGxpbmdDb2RlID0gdGhpcy5nZXRDb3VudHJ5RnJvbVBob25lTnVtYmVyKHZhbHVlLCBjaGFuZ2VkQ291bnRyeSk7XG4gICAgY29uc3QgaXNDb3VudHJ5Q2hhbmdlZCA9IGNoYW5nZWRDb3VudHJ5IHx8IGRldGVjdGVkQ2FsbGluZ0NvZGUgIT09IHRoaXMuc2VsZWN0ZWRDYWxsaW5nQ29kZTtcblxuICAgIGlmIChpc0NvdW50cnlDaGFuZ2VkICYmIGRldGVjdGVkQ2FsbGluZ0NvZGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYWxsaW5nQ29kZSA9IGRldGVjdGVkQ2FsbGluZ0NvZGU7XG4gICAgfVxuXG4gICAgY29uc3QgY291bnRyeUNvZGUgPSB0aGlzLmdldENvdW50cnlCeUNhbGxpbmdDb2RlKHRoaXMuc2VsZWN0ZWRDYWxsaW5nQ29kZSk7XG5cbiAgICBpZiAoIWNvdW50cnlDb2RlKSB7XG4gICAgICB0aGlzLnBob25lRm9ybWF0dGVkID0gdmFsdWU7XG4gICAgICB0aGlzLnBob25lVmFsaWQgPSBmYWxzZTtcbiAgICAgIHRoaXMudmFsaWRhdGVWYWx1ZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5hdGlvbmFsUGFydCA9IHZhbHVlLnJlcGxhY2UodGhpcy5zZWxlY3RlZENhbGxpbmdDb2RlLCAnJykucmVwbGFjZSgvW15cXGQrXS9nLCAnJyk7XG5cbiAgICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgQXNZb3VUeXBlKGNvdW50cnlDb2RlKTtcbiAgICB0aGlzLnBob25lRm9ybWF0dGVkID0gZm9ybWF0dGVyLmlucHV0KG5hdGlvbmFsUGFydCk7XG5cbiAgICB0aGlzLnBlcmZvcm1WYWx1ZShuYXRpb25hbFBhcnQpO1xuXG4gICAgdGhpcy5waG9uZVZhbGlkID0gaXNWYWxpZFBob25lTnVtYmVyKG5hdGlvbmFsUGFydCwgY291bnRyeUNvZGUpO1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZSgpO1xuICB9XG5cbiAgZGlzYWJsZVRvQmVEaXJ0eT86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgX29uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcblxuICBfb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7fVxuXG4gIG9uQ29udGFpbmVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0cy5maXJzdC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBfb25Gb2N1cygpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBfb25CbHVyKCkge1xuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgdGhpcy5mb3JtYXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBvbkNvdW50cnlDaGFuZ2UoKSB7XG4gICAgdGhpcy5mb3JtYXRWYWx1ZSh0aGlzLl92YWx1ZSEsIHRydWUpO1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0TWF4TGVuZ3RoKCk6IG51bWJlciB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNvdW50cnlDb2RlID0gdGhpcy5nZXRDb3VudHJ5QnlDYWxsaW5nQ29kZSh0aGlzLnNlbGVjdGVkQ2FsbGluZ0NvZGUpO1xuXG4gICAgICBpZiAoIWNvdW50cnlDb2RlKSByZXR1cm4gMjA7XG5cbiAgICAgIGNvbnN0IGV4YW1wbGUgPSBnZXRFeGFtcGxlTnVtYmVyKGNvdW50cnlDb2RlLCBleGFtcGxlcyk7XG4gICAgICBjb25zdCBmb3JtYXR0ZWQgPSBuZXcgQXNZb3VUeXBlKGNvdW50cnlDb2RlKS5pbnB1dChleGFtcGxlIS5uYXRpb25hbE51bWJlcik7XG5cbiAgICAgIHJldHVybiBmb3JtYXR0ZWQubGVuZ3RoO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIDIwO1xuICAgIH1cbiAgfVxuXG4gIG9uSGFuZGxlU2VhcmNoU2VsZWN0KHF1ZXJ5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBub3JtYWxpemVkUXVlcnkgPSBxdWVyeS50cmltKCkudG9Mb3dlckNhc2UoKTtcblxuICAgIHRoaXMuY291bnRyaWVzRmlsdGVyZWQgPSB0aGlzLmNvdW50cmllcy5maWx0ZXIoKHsgbmFtZSB9KSA9PiB7XG4gICAgICByZXR1cm4gbmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG5vcm1hbGl6ZWRRdWVyeSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Component, Inject, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { MonkeyModalRef } from '../modal-ref';
|
|
3
|
+
import { MECX_MODAL_CONFIRMATION_CONFIG } from '../utils';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../button/button.component";
|
|
6
|
+
import * as i2 from "../../icon/icon.component";
|
|
7
|
+
import * as i3 from "../modal.component";
|
|
8
|
+
import * as i4 from "../directives/content";
|
|
9
|
+
import * as i5 from "../directives/actions";
|
|
10
|
+
import * as i6 from "../modal-ref";
|
|
11
|
+
export class MonkeyModalConfirmationComponent {
|
|
12
|
+
constructor(config, modalRef) {
|
|
13
|
+
this.config = config;
|
|
14
|
+
this.modalRef = modalRef;
|
|
15
|
+
// not to do
|
|
16
|
+
}
|
|
17
|
+
onSubmit() {
|
|
18
|
+
this.modalRef.close(true);
|
|
19
|
+
}
|
|
20
|
+
onClose() {
|
|
21
|
+
this.modalRef.close();
|
|
22
|
+
}
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyModalConfirmationComponent, deps: [{ token: MECX_MODAL_CONFIRMATION_CONFIG }, { token: MonkeyModalRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyModalConfirmationComponent, selector: "monkey-modal-confirmation", ngImport: i0, template: `
|
|
25
|
+
<monkey-modal class="modal-confirmation">
|
|
26
|
+
<monkey-modal-content>
|
|
27
|
+
@if (config.icon) {
|
|
28
|
+
<div class="modal-confirmation-icon {{ config.type }}">
|
|
29
|
+
<monkey-icon [icon]="config.icon" size="xxl"></monkey-icon>
|
|
30
|
+
</div>
|
|
31
|
+
}
|
|
32
|
+
<div class="confirmation-title" [innerHTML]="config.title"></div>
|
|
33
|
+
<div class="confirmation-description" [innerHTML]="config.content"></div>
|
|
34
|
+
</monkey-modal-content>
|
|
35
|
+
<monkey-modal-actions>
|
|
36
|
+
<monkey-button type="tertiary" (click)="onClose()">{{ config.cancelLabel }}</monkey-button>
|
|
37
|
+
<monkey-button type="primary" (click)="onSubmit()">{{ config.okLabel }}</monkey-button>
|
|
38
|
+
</monkey-modal-actions>
|
|
39
|
+
</monkey-modal>
|
|
40
|
+
`, isInline: true, styles: [".modal-confirmation .mecx-modal-header{border:none}.modal-confirmation .confirmation-title{color:var(--mecx-color-gray-900);text-align:center;font-size:18px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.54px;margin-bottom:8px}.modal-confirmation .confirmation-description{color:var(--mecx-color-gray-700);text-align:center;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px;margin-bottom:24px}.modal-confirmation .modal-confirmation-icon{width:80px;height:80px;border-radius:50%;display:flex;margin:0 auto 16px;align-items:center;justify-content:center;background-color:var(--mecx-color-gray-50)}.modal-confirmation .modal-confirmation-icon monkey-icon{color:var(--mecx-color-gray-900)}.modal-confirmation .modal-confirmation-icon.warning{background-color:var(--mecx-color-warning-100)}.modal-confirmation .modal-confirmation-icon.warning monkey-icon{color:var(--mecx-color-warning-500)}.modal-confirmation .modal-confirmation-icon.error{background-color:var(--mecx-color-error-100)}.modal-confirmation .modal-confirmation-icon.error monkey-icon{color:var(--mecx-color-error-500)}.modal-confirmation .modal-confirmation-icon.success{background-color:var(--mecx-color-success-100)}.modal-confirmation .modal-confirmation-icon.success monkey-icon{color:var(--mecx-color-success-500)}\n"], dependencies: [{ kind: "component", type: i1.MonkeyButtonComponent, selector: "monkey-button", inputs: ["disabled", "size", "type", "id"] }, { kind: "component", type: i2.MonkeyIconComponent, selector: "monkey-icon", inputs: ["icon", "size", "id"] }, { kind: "component", type: i3.MonkeyModalComponent, selector: "monkey-modal" }, { kind: "directive", type: i4.MonkeyModalContentDirective, selector: "monkey-modal-content, [monkey-modal-content]" }, { kind: "directive", type: i5.MonkeyModalActionsDirective, selector: "monkey-modal-actions, [monkey-modal-actions]", inputs: ["mkAlign"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
41
|
+
}
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyModalConfirmationComponent, decorators: [{
|
|
43
|
+
type: Component,
|
|
44
|
+
args: [{ selector: 'monkey-modal-confirmation', encapsulation: ViewEncapsulation.None, template: `
|
|
45
|
+
<monkey-modal class="modal-confirmation">
|
|
46
|
+
<monkey-modal-content>
|
|
47
|
+
@if (config.icon) {
|
|
48
|
+
<div class="modal-confirmation-icon {{ config.type }}">
|
|
49
|
+
<monkey-icon [icon]="config.icon" size="xxl"></monkey-icon>
|
|
50
|
+
</div>
|
|
51
|
+
}
|
|
52
|
+
<div class="confirmation-title" [innerHTML]="config.title"></div>
|
|
53
|
+
<div class="confirmation-description" [innerHTML]="config.content"></div>
|
|
54
|
+
</monkey-modal-content>
|
|
55
|
+
<monkey-modal-actions>
|
|
56
|
+
<monkey-button type="tertiary" (click)="onClose()">{{ config.cancelLabel }}</monkey-button>
|
|
57
|
+
<monkey-button type="primary" (click)="onSubmit()">{{ config.okLabel }}</monkey-button>
|
|
58
|
+
</monkey-modal-actions>
|
|
59
|
+
</monkey-modal>
|
|
60
|
+
`, styles: [".modal-confirmation .mecx-modal-header{border:none}.modal-confirmation .confirmation-title{color:var(--mecx-color-gray-900);text-align:center;font-size:18px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.54px;margin-bottom:8px}.modal-confirmation .confirmation-description{color:var(--mecx-color-gray-700);text-align:center;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px;margin-bottom:24px}.modal-confirmation .modal-confirmation-icon{width:80px;height:80px;border-radius:50%;display:flex;margin:0 auto 16px;align-items:center;justify-content:center;background-color:var(--mecx-color-gray-50)}.modal-confirmation .modal-confirmation-icon monkey-icon{color:var(--mecx-color-gray-900)}.modal-confirmation .modal-confirmation-icon.warning{background-color:var(--mecx-color-warning-100)}.modal-confirmation .modal-confirmation-icon.warning monkey-icon{color:var(--mecx-color-warning-500)}.modal-confirmation .modal-confirmation-icon.error{background-color:var(--mecx-color-error-100)}.modal-confirmation .modal-confirmation-icon.error monkey-icon{color:var(--mecx-color-error-500)}.modal-confirmation .modal-confirmation-icon.success{background-color:var(--mecx-color-success-100)}.modal-confirmation .modal-confirmation-icon.success monkey-icon{color:var(--mecx-color-success-500)}\n"] }]
|
|
61
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
62
|
+
type: Inject,
|
|
63
|
+
args: [MECX_MODAL_CONFIRMATION_CONFIG]
|
|
64
|
+
}] }, { type: i6.MonkeyModalRef, decorators: [{
|
|
65
|
+
type: Inject,
|
|
66
|
+
args: [MonkeyModalRef]
|
|
67
|
+
}] }] });
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwvY29tcG9uZW50cy9jb25maXJtYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sVUFBVSxDQUFDOzs7Ozs7OztBQXdCMUQsTUFBTSxPQUFPLGdDQUFnQztJQUMzQyxZQUNpRCxNQUFxQyxFQUNwRCxRQUF3QjtRQURULFdBQU0sR0FBTixNQUFNLENBQStCO1FBQ3BELGFBQVEsR0FBUixRQUFRLENBQWdCO1FBRXhELFlBQVk7SUFDZCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQWRVLGdDQUFnQyxrQkFFakMsOEJBQThCLGFBQzlCLGNBQWM7bUdBSGIsZ0NBQWdDLGlFQWxCakM7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQ7OzRGQUVVLGdDQUFnQztrQkF0QjVDLFNBQVM7K0JBQ0UsMkJBQTJCLGlCQUN0QixpQkFBaUIsQ0FBQyxJQUFJLFlBRTNCOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JUOzswQkFJRSxNQUFNOzJCQUFDLDhCQUE4Qjs7MEJBQ3JDLE1BQU07MkJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9ua2V5TW9kYWxDb25maXJtYXRpb25Db25maWcgfSBmcm9tICcuLi9tb2RhbC1jb25maWcnO1xuaW1wb3J0IHsgTW9ua2V5TW9kYWxSZWYgfSBmcm9tICcuLi9tb2RhbC1yZWYnO1xuaW1wb3J0IHsgTUVDWF9NT0RBTF9DT05GSVJNQVRJT05fQ09ORklHIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb25rZXktbW9kYWwtY29uZmlybWF0aW9uJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3R5bGVVcmxzOiBbJy4vY29uZmlybWF0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1vbmtleS1tb2RhbCBjbGFzcz1cIm1vZGFsLWNvbmZpcm1hdGlvblwiPlxuICAgICAgPG1vbmtleS1tb2RhbC1jb250ZW50PlxuICAgICAgICBAaWYgKGNvbmZpZy5pY29uKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbmZpcm1hdGlvbi1pY29uIHt7IGNvbmZpZy50eXBlIH19XCI+XG4gICAgICAgICAgICA8bW9ua2V5LWljb24gW2ljb25dPVwiY29uZmlnLmljb25cIiBzaXplPVwieHhsXCI+PC9tb25rZXktaWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZmlybWF0aW9uLXRpdGxlXCIgW2lubmVySFRNTF09XCJjb25maWcudGl0bGVcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbmZpcm1hdGlvbi1kZXNjcmlwdGlvblwiIFtpbm5lckhUTUxdPVwiY29uZmlnLmNvbnRlbnRcIj48L2Rpdj5cbiAgICAgIDwvbW9ua2V5LW1vZGFsLWNvbnRlbnQ+XG4gICAgICA8bW9ua2V5LW1vZGFsLWFjdGlvbnM+XG4gICAgICAgIDxtb25rZXktYnV0dG9uIHR5cGU9XCJ0ZXJ0aWFyeVwiIChjbGljayk9XCJvbkNsb3NlKClcIj57eyBjb25maWcuY2FuY2VsTGFiZWwgfX08L21vbmtleS1idXR0b24+XG4gICAgICAgIDxtb25rZXktYnV0dG9uIHR5cGU9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9uU3VibWl0KClcIj57eyBjb25maWcub2tMYWJlbCB9fTwvbW9ua2V5LWJ1dHRvbj5cbiAgICAgIDwvbW9ua2V5LW1vZGFsLWFjdGlvbnM+XG4gICAgPC9tb25rZXktbW9kYWw+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5TW9kYWxDb25maXJtYXRpb25Db21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1FQ1hfTU9EQUxfQ09ORklSTUFUSU9OX0NPTkZJRykgcHVibGljIGNvbmZpZzogTW9ua2V5TW9kYWxDb25maXJtYXRpb25Db25maWcsXG4gICAgQEluamVjdChNb25rZXlNb2RhbFJlZikgcHJpdmF0ZSBtb2RhbFJlZjogTW9ua2V5TW9kYWxSZWZcbiAgKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICB0aGlzLm1vZGFsUmVmLmNsb3NlKHRydWUpO1xuICB9XG5cbiAgb25DbG9zZSgpIHtcbiAgICB0aGlzLm1vZGFsUmVmLmNsb3NlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -18,11 +18,6 @@ export class MonkeyModalDefaultComponent {
|
|
|
18
18
|
constructor(config, modalRef) {
|
|
19
19
|
this.config = config;
|
|
20
20
|
this.modalRef = modalRef;
|
|
21
|
-
this.title = '';
|
|
22
|
-
this.subtitle = '';
|
|
23
|
-
this.content = '';
|
|
24
|
-
this.cancelLabel = '';
|
|
25
|
-
this.okLabel = '';
|
|
26
21
|
// not to do
|
|
27
22
|
}
|
|
28
23
|
onSubmit() {
|
|
@@ -67,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
67
62
|
type: Inject,
|
|
68
63
|
args: [MonkeyModalRef]
|
|
69
64
|
}] }] });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwvY29tcG9uZW50cy9kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OzZCQUk2QjtBQUM3QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7Ozs7O0FBZ0JyRCxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLFlBQzRDLE1BQWdDLEVBQzFDLFFBQXdCO1FBRGQsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7UUFDMUMsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFFeEQsWUFBWTtJQUNkLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBZFUsMkJBQTJCLGtCQUU1Qix5QkFBeUIsYUFDekIsY0FBYzttR0FIYiwyQkFBMkIsNERBWjVCOzs7Ozs7Ozs7O0dBVVQ7OzRGQUVVLDJCQUEyQjtrQkFkdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7R0FVVDtpQkFDRjs7MEJBR0ksTUFBTTsyQkFBQyx5QkFBeUI7OzBCQUNoQyxNQUFNOzJCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vbmtleU1vZGFsRGVmYXVsdENvbmZpZyB9IGZyb20gJy4uL21vZGFsLWNvbmZpZyc7XG5pbXBvcnQgeyBNb25rZXlNb2RhbFJlZiB9IGZyb20gJy4uL21vZGFsLXJlZic7XG5pbXBvcnQgeyBNRUNYX01PREFMX0RFRkFVTFRfQ09ORklHIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb25rZXktbW9kYWwtZGVmYXVsdCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1vbmtleS1tb2RhbD5cbiAgICAgIDxtb25rZXktbW9kYWwtdGl0bGUgW2lubmVySFRNTF09XCJjb25maWcudGl0bGVcIj48L21vbmtleS1tb2RhbC10aXRsZT5cbiAgICAgIDxtb25rZXktbW9kYWwtc3VidGl0bGUgW2lubmVySFRNTF09XCJjb25maWcuc3VidGl0bGVcIj48L21vbmtleS1tb2RhbC1zdWJ0aXRsZT5cbiAgICAgIDxtb25rZXktbW9kYWwtY29udGVudCBbaW5uZXJIVE1MXT1cImNvbmZpZy5jb250ZW50XCI+PC9tb25rZXktbW9kYWwtY29udGVudD5cbiAgICAgIDxtb25rZXktbW9kYWwtYWN0aW9ucyBta0FsaWduPVwiZW5kXCI+XG4gICAgICAgIDxtb25rZXktYnV0dG9uIHR5cGU9XCJ0ZXJ0aWFyeVwiIChjbGljayk9XCJvbkNsb3NlKClcIj57eyBjb25maWcuY2FuY2VsTGFiZWwgfX08L21vbmtleS1idXR0b24+XG4gICAgICAgIDxtb25rZXktYnV0dG9uIHR5cGU9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9uU3VibWl0KClcIj57eyBjb25maWcub2tMYWJlbCB9fTwvbW9ua2V5LWJ1dHRvbj5cbiAgICAgIDwvbW9ua2V5LW1vZGFsLWFjdGlvbnM+XG4gICAgPC9tb25rZXktbW9kYWw+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5TW9kYWxEZWZhdWx0Q29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChNRUNYX01PREFMX0RFRkFVTFRfQ09ORklHKSBwdWJsaWMgY29uZmlnOiBNb25rZXlNb2RhbERlZmF1bHRDb25maWcsXG4gICAgQEluamVjdChNb25rZXlNb2RhbFJlZikgcHJpdmF0ZSBtb2RhbFJlZjogTW9ua2V5TW9kYWxSZWZcbiAgKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICB0aGlzLm1vZGFsUmVmLmNsb3NlKHRydWUpO1xuICB9XG5cbiAgb25DbG9zZSgpIHtcbiAgICB0aGlzLm1vZGFsUmVmLmNsb3NlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -10,11 +10,10 @@ export class MonkeyModalConfig {
|
|
|
10
10
|
this.backdropClass = 'mecx-modal-overlay';
|
|
11
11
|
this.disableClose = false;
|
|
12
12
|
this.disableBackdropClose = false;
|
|
13
|
-
this.
|
|
14
|
-
this.height = '';
|
|
13
|
+
this.fullscreen = false;
|
|
15
14
|
this.position = 'center-center';
|
|
16
15
|
this.data = null;
|
|
17
16
|
this.closeOnNavigation = true;
|
|
18
17
|
}
|
|
19
18
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlLXYyL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBSTdCLE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFLRSxlQUFVLEdBQXVCLEVBQUUsQ0FBQztRQUVwQyxnQkFBVyxHQUFhLElBQUksQ0FBQztRQUU3QixrQkFBYSxHQUF1QixvQkFBb0IsQ0FBQztRQUV6RCxpQkFBWSxHQUFhLEtBQUssQ0FBQztRQUUvQix5QkFBb0IsR0FBYSxLQUFLLENBQUM7UUFNdkMsZUFBVSxHQUFhLEtBQUssQ0FBQztRQUU3QixhQUFRLEdBU2EsZUFBZSxDQUFDO1FBRXJDLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBRXpCLHNCQUFpQixHQUFhLElBQUksQ0FBQztJQUdyQyxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5pbXBvcnQgeyBTdGF0aWNQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgTW9ua2V5TW9kYWxDb25maWcge1xuICBpZD86IHN0cmluZztcblxuICBpY29uPzogc3RyaW5nO1xuXG4gIHBhbmVsQ2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xuXG4gIGhhc0JhY2tkcm9wPzogYm9vbGVhbiA9IHRydWU7XG5cbiAgYmFja2Ryb3BDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdID0gJ21lY3gtbW9kYWwtb3ZlcmxheSc7XG5cbiAgZGlzYWJsZUNsb3NlPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGRpc2FibGVCYWNrZHJvcENsb3NlPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG1heFdpZHRoPzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIG1heEhlaWdodD86IG51bWJlciB8IHN0cmluZztcblxuICBmdWxsc2NyZWVuPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHBvc2l0aW9uPzpcbiAgICB8ICdsZWZ0LXRvcCdcbiAgICB8ICdjZW50ZXItdG9wJ1xuICAgIHwgJ3JpZ2h0LXRvcCdcbiAgICB8ICdsZWZ0LWNlbnRlcidcbiAgICB8ICdjZW50ZXItY2VudGVyJ1xuICAgIHwgJ3JpZ2h0LWNlbnRlcidcbiAgICB8ICdsZWZ0LWJvdHRvbSdcbiAgICB8ICdjZW50ZXItYm90dG9tJ1xuICAgIHwgJ3JpZ2h0LWJvdHRvbScgPSAnY2VudGVyLWNlbnRlcic7XG5cbiAgZGF0YT86IGFueSB8IG51bGwgPSBudWxsO1xuXG4gIGNsb3NlT25OYXZpZ2F0aW9uPzogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHJvdmlkZXJzPzogU3RhdGljUHJvdmlkZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb25rZXlNb2RhbERlZmF1bHRDb25maWcge1xuICB0aXRsZTogc3RyaW5nO1xuICBzdWJ0aXRsZT86IHN0cmluZztcbiAgY29udGVudDogc3RyaW5nO1xuICBjYW5jZWxMYWJlbDogc3RyaW5nO1xuICBva0xhYmVsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9ua2V5TW9kYWxDb25maXJtYXRpb25Db25maWcge1xuICB0aXRsZTogc3RyaW5nO1xuICBjb250ZW50OiBzdHJpbmc7XG4gIGNhbmNlbExhYmVsOiBzdHJpbmc7XG4gIG9rTGFiZWw6IHN0cmluZztcbiAgdHlwZT86ICdlcnJvcicgfCAnc3VjY2VzcycgfCAnd2FybmluZyc7XG4gIGNvbmZpcm1Db2xvcj86ICdlcnJvcicgfCAnc3VjY2VzcycgfCAndGhlbWUnO1xuICBpY29uPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -35,7 +35,14 @@ export class MonkeyModalRef {
|
|
|
35
35
|
close(result) {
|
|
36
36
|
if (this.componentInstance) {
|
|
37
37
|
const closedSubject = this.closed;
|
|
38
|
-
|
|
38
|
+
const active = document.activeElement;
|
|
39
|
+
if (active && this.componentElement.contains(active)) {
|
|
40
|
+
active.blur();
|
|
41
|
+
}
|
|
42
|
+
this.componentElement.querySelectorAll('monkey-modal')[0].classList.add('fade-out');
|
|
43
|
+
setTimeout(() => {
|
|
44
|
+
this.overlayRef.detach();
|
|
45
|
+
}, 150);
|
|
39
46
|
closedSubject.next(result);
|
|
40
47
|
closedSubject.complete();
|
|
41
48
|
// eslint-disable-next-line no-multi-assign
|
|
@@ -46,4 +53,4 @@ export class MonkeyModalRef {
|
|
|
46
53
|
return this.closed;
|
|
47
54
|
}
|
|
48
55
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlLXYyL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBRTdCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd2RCxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzNDLE1BQU0sT0FBTyxjQUFjO0lBeUJ6QixZQUNXLFVBQXNCLEVBQ3RCLE1BQXlCO1FBRHpCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFWM0IsV0FBTSxHQUFvQixJQUFJLE9BQU8sRUFBTyxDQUFDO1FBWXBELElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUM7UUFDeEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztRQUNsRCxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsVUFBVSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFFOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3JDLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQzNFLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDeEIsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN4QixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFZO1FBQ2hCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQXNCLENBQUM7WUFFbEQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQTRCLENBQUM7WUFDckQsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUNyRCxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEIsQ0FBQztZQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BGLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDUixhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNCLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN6QiwyQ0FBMkM7WUFDMUMsSUFBbUMsQ0FBQyxpQkFBaUIsR0FBRyxJQUFLLENBQUM7UUFDakUsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiAqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxuICogTUlUIExpY2VuY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbmltcG9ydCB7IGhhc01vZGlmaWVyS2V5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1vbmtleU1vZGFsQ29uZmlnIH0gZnJvbSAnLi9tb2RhbC1jb25maWcnO1xuXG5leHBvcnQgY2xhc3MgTW9ua2V5TW9kYWxSZWYge1xuICByZWFkb25seSBpZD86IHN0cmluZztcblxuICByZWFkb25seSBjb21wb25lbnRJbnN0YW5jZSE6IGFueTtcblxuICByZWFkb25seSBjb21wb25lbnRSZWYhOiBDb21wb25lbnRSZWY8YW55PiB8IG51bGw7XG5cbiAgcmVhZG9ubHkgaWNvbj86IHN0cmluZztcblxuICBkaXNhYmxlQ2xvc2U6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgZGlzYWJsZUJhY2tkcm9wQ2xvc2U6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgY2xvc2VPbk5hdmlnYXRpb246IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgY29tcG9uZW50RWxlbWVudCE6IEhUTUxFbGVtZW50O1xuXG4gIHJlYWRvbmx5IGNsb3NlZDogT2JzZXJ2YWJsZTxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gIHJlYWRvbmx5IGJhY2tkcm9wQ2xpY2s6IE9ic2VydmFibGU8TW91c2VFdmVudD47XG5cbiAgcmVhZG9ubHkga2V5ZG93bkV2ZW50czogT2JzZXJ2YWJsZTxLZXlib2FyZEV2ZW50PjtcblxuICByZWFkb25seSBvdXRzaWRlUG9pbnRlckV2ZW50czogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZWFkb25seSBvdmVybGF5UmVmOiBPdmVybGF5UmVmLFxuICAgIHJlYWRvbmx5IGNvbmZpZzogTW9ua2V5TW9kYWxDb25maWdcbiAgKSB7XG4gICAgdGhpcy5pZCA9IGNvbmZpZy5pZDtcbiAgICB0aGlzLmljb24gPSBjb25maWcuaWNvbjtcbiAgICB0aGlzLmRpc2FibGVDbG9zZSA9IGNvbmZpZy5kaXNhYmxlQ2xvc2U7XG4gICAgdGhpcy5kaXNhYmxlQmFja2Ryb3BDbG9zZSA9IGNvbmZpZy5kaXNhYmxlQmFja2Ryb3BDbG9zZTtcbiAgICB0aGlzLmNsb3NlT25OYXZpZ2F0aW9uID0gY29uZmlnLmNsb3NlT25OYXZpZ2F0aW9uO1xuICAgIHRoaXMuYmFja2Ryb3BDbGljayA9IG92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpO1xuICAgIHRoaXMua2V5ZG93bkV2ZW50cyA9IG92ZXJsYXlSZWYua2V5ZG93bkV2ZW50cygpO1xuICAgIHRoaXMub3V0c2lkZVBvaW50ZXJFdmVudHMgPSBvdmVybGF5UmVmLm91dHNpZGVQb2ludGVyRXZlbnRzKCk7XG5cbiAgICBpZiAoIXRoaXMuZGlzYWJsZUJhY2tkcm9wQ2xvc2UpIHtcbiAgICAgIHRoaXMua2V5ZG93bkV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnICYmICF0aGlzLmRpc2FibGVDbG9zZSAmJiAhaGFzTW9kaWZpZXJLZXkoZXZlbnQpKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLmNsb3NlKHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmJhY2tkcm9wQ2xpY2suc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVDbG9zZSkge1xuICAgICAgICAgIHRoaXMuY2xvc2UodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgY2xvc2UocmVzdWx0PzogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50SW5zdGFuY2UpIHtcbiAgICAgIGNvbnN0IGNsb3NlZFN1YmplY3QgPSB0aGlzLmNsb3NlZCBhcyBTdWJqZWN0PGFueT47XG5cbiAgICAgIGNvbnN0IGFjdGl2ZSA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBpZiAoYWN0aXZlICYmIHRoaXMuY29tcG9uZW50RWxlbWVudC5jb250YWlucyhhY3RpdmUpKSB7XG4gICAgICAgIGFjdGl2ZS5ibHVyKCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY29tcG9uZW50RWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdtb25rZXktbW9kYWwnKVswXS5jbGFzc0xpc3QuYWRkKCdmYWRlLW91dCcpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgIH0sIDE1MCk7XG4gICAgICBjbG9zZWRTdWJqZWN0Lm5leHQocmVzdWx0KTtcbiAgICAgIGNsb3NlZFN1YmplY3QuY29tcGxldGUoKTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tdWx0aS1hc3NpZ25cbiAgICAgICh0aGlzIGFzIHsgY29tcG9uZW50SW5zdGFuY2U6IGFueSB9KS5jb21wb25lbnRJbnN0YW5jZSA9IG51bGwhO1xuICAgIH1cbiAgfVxuXG4gIGFmdGVyQ2xvc2VkKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuY2xvc2VkO1xuICB9XG59XG4iXX0=
|