@ifsworld/granite-components 6.1.0 → 6.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/index.mjs +5 -1
- package/esm2020/lib/chips/chip-input.mjs +195 -0
- package/esm2020/lib/chips/chip-list.component.mjs +567 -0
- package/esm2020/lib/chips/chip.component.mjs +286 -0
- package/esm2020/lib/chips/chips.module.mjs +31 -0
- package/fesm2015/ifsworld-granite-components.mjs +1058 -3
- package/fesm2015/ifsworld-granite-components.mjs.map +1 -1
- package/fesm2020/ifsworld-granite-components.mjs +1053 -3
- package/fesm2020/ifsworld-granite-components.mjs.map +1 -1
- package/index.d.ts +4 -0
- package/lib/chips/chip-input.d.ts +89 -0
- package/lib/chips/chip-list.component.d.ts +185 -0
- package/lib/chips/chip.component.d.ts +104 -0
- package/lib/chips/chips.module.d.ts +12 -0
- package/package.json +2 -1
package/esm2020/index.mjs
CHANGED
|
@@ -34,6 +34,10 @@ export * from './lib/button/button.module';
|
|
|
34
34
|
export * from './lib/button/button.component';
|
|
35
35
|
export * from './lib/input-field/input-field.module';
|
|
36
36
|
export * from './lib/input-field/input-field.component';
|
|
37
|
+
export * from './lib/chips/chips.module';
|
|
38
|
+
export * from './lib/chips/chip-list.component';
|
|
39
|
+
export * from './lib/chips/chip.component';
|
|
40
|
+
export * from './lib/chips/chip-input';
|
|
37
41
|
export * from './lib/label/label.module';
|
|
38
42
|
export * from './lib/label/label.component';
|
|
39
43
|
// Temporary
|
|
@@ -47,4 +51,4 @@ export * from './lib/core/common-behaviors/disabled';
|
|
|
47
51
|
export * from './lib/core/pipes/pure-pipes.module';
|
|
48
52
|
export * from './lib/core/pipes/title.pipe';
|
|
49
53
|
export * from './lib/core/types';
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxnREFBZ0QsQ0FBQztBQUUvRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNkNBQTZDLENBQUM7QUFFNUQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELGNBQWMsMENBQTBDLENBQUM7QUFFekQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMseUNBQXlDLENBQUM7QUFFeEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdCQUF3QixDQUFDO0FBRXZDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxZQUFZO0FBQ1osY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgdWlcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcnJhbmdlLWdyaWQvYXJyYW5nZS1ncmlkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcnJhbmdlLWdyaWQvYXJyYW5nZS1ncmlkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcnJhbmdlLWdyaWQvYXJyYW5nZS1ncmlkLWl0ZW0uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZC9ncmlkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkL2dyaWQuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFkZ2UvYmFkZ2UubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhZGdlL2JhZGdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYWRnZS90ZXN0aW5nL2JhZGdlLmhhcm5lc3MnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZW51L21lbnUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lbnUvbWVudS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVudS9tZW51LWRlc2t0b3AtYW5pbWF0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZW51L21lbnUtdG91Y2gtYW5pbWF0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZW51L21lbnUtaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVudS9tZW51LXRyaWdnZXItZm9yLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZW51L3Rlc3RpbmcvbWVudS5oYXJuZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lbnUvZGl2aWRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVudS90aXRsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVudS9tZW51LXRvdWNoLWNsb3NlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZW51L21lbnUtdG91Y2gtdGl0bGUuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvaWNvbi9pY29uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pY29uL2ljb24uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9nZ2xlLXN3aXRjaC90b2dnbGUtc3dpdGNoLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2dnbGUtc3dpdGNoL3RvZ2dsZS1zd2l0Y2guY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yYWRpby1idXR0b24vcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hlY2tib3gvY2hlY2tib3gubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoZWNrYm94L2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2J1dHRvbi9idXR0b24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5wdXQtZmllbGQvaW5wdXQtZmllbGQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lucHV0LWZpZWxkL2lucHV0LWZpZWxkLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoaXBzL2NoaXBzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGlwcy9jaGlwLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoaXBzL2NoaXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoaXBzL2NoaXAtaW5wdXQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYWJlbC9sYWJlbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGFiZWwvbGFiZWwuY29tcG9uZW50JztcblxuLy8gVGVtcG9yYXJ5XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2NsaWVudC1lbnZpcm9ubWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2NvcmUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvZGV2aWNlcy9jbGllbnQtb3V0cHV0LXRvdWNoLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2RldmljZXMvY2xpZW50LW91dHB1dC1kZXNrdG9wLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2RldmljZXMvY2xpZW50LWlucHV0LXRvdWNoLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2RldmljZXMvY2xpZW50LWlucHV0LWRlc2t0b3AuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvY29tbW9uLWJlaGF2aW9ycy9kaXNhYmxlZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvcGlwZXMvcHVyZS1waXBlcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9waXBlcy90aXRsZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvdHlwZXMnO1xuIl19
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
|
+
import { BACKSPACE, ENTER, hasModifierKey, TAB } from '@angular/cdk/keycodes';
|
|
3
|
+
import { Directive, ElementRef, EventEmitter, Input, Output, } from '@angular/core';
|
|
4
|
+
import { GraniteChipListComponent } from './chip-list.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
let nextUniqueId = 0;
|
|
7
|
+
export class GraniteChipInputDirective {
|
|
8
|
+
constructor(_elementRef) {
|
|
9
|
+
this._elementRef = _elementRef;
|
|
10
|
+
/** Unique id for the input. */
|
|
11
|
+
this.id = `granite-chip-list-input-${nextUniqueId++}`;
|
|
12
|
+
/** The input's placeholder text. */
|
|
13
|
+
this.placeholder = '';
|
|
14
|
+
/**
|
|
15
|
+
* The list of key codes that will trigger a chipEnd event.
|
|
16
|
+
*
|
|
17
|
+
* Defaults to `[ENTER]`.
|
|
18
|
+
*/
|
|
19
|
+
this.graniteChipInputSeparatorKeyCodes = [
|
|
20
|
+
ENTER,
|
|
21
|
+
];
|
|
22
|
+
this._addOnBlur = true;
|
|
23
|
+
this._disabled = false;
|
|
24
|
+
/** Emitted when a chip is to be added. */
|
|
25
|
+
this.graniteChipInputTokenEnd = new EventEmitter();
|
|
26
|
+
this.focused = false;
|
|
27
|
+
this.inputElement = this._elementRef.nativeElement;
|
|
28
|
+
}
|
|
29
|
+
/** Register input for chip list */
|
|
30
|
+
set graniteChipInputFor(value) {
|
|
31
|
+
if (value) {
|
|
32
|
+
this._chipList = value;
|
|
33
|
+
this._chipList.registerInput(this);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Whether or not the chipEnd event will be emitted when the input is blurred.
|
|
38
|
+
*/
|
|
39
|
+
get graniteChipInputAddOnBlur() {
|
|
40
|
+
return this._addOnBlur;
|
|
41
|
+
}
|
|
42
|
+
set graniteChipInputAddOnBlur(value) {
|
|
43
|
+
this._addOnBlur = coerceBooleanProperty(value);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Whether this is a required field, currently we use it only for setting aria-required.
|
|
47
|
+
*/
|
|
48
|
+
get required() {
|
|
49
|
+
return this._required;
|
|
50
|
+
}
|
|
51
|
+
set required(value) {
|
|
52
|
+
this._required = coerceBooleanProperty(value);
|
|
53
|
+
}
|
|
54
|
+
/** Whether the input is disabled. */
|
|
55
|
+
get disabled() {
|
|
56
|
+
return this._disabled || (this._chipList && this._chipList.disabled);
|
|
57
|
+
}
|
|
58
|
+
set disabled(value) {
|
|
59
|
+
this._disabled = coerceBooleanProperty(value);
|
|
60
|
+
}
|
|
61
|
+
ngOnChanges() {
|
|
62
|
+
this._chipList.stateChanges.next();
|
|
63
|
+
}
|
|
64
|
+
ngOnDestroy() {
|
|
65
|
+
this.graniteChipInputTokenEnd.complete();
|
|
66
|
+
}
|
|
67
|
+
ngAfterContentInit() {
|
|
68
|
+
this._focusLastChipOnBackspace = this.empty;
|
|
69
|
+
}
|
|
70
|
+
/** Utility method to make host definition/tests more clear. */
|
|
71
|
+
_keydown(event) {
|
|
72
|
+
if (event) {
|
|
73
|
+
// Allow the user's focus to escape when they're tabbing forward. Note that we don't
|
|
74
|
+
// want to do this when going backwards, because focus should go back to the first chip.
|
|
75
|
+
if (event.keyCode === TAB && !hasModifierKey(event, 'shiftKey')) {
|
|
76
|
+
this._chipList._allowFocusEscape();
|
|
77
|
+
}
|
|
78
|
+
// To prevent the user from accidentally deleting chips when pressing BACKSPACE continuously,
|
|
79
|
+
// We focus the last chip on backspace only after the user has released the backspace button,
|
|
80
|
+
// and the input is empty (see behaviour in _keyup)
|
|
81
|
+
if (event.keyCode === BACKSPACE && this._focusLastChipOnBackspace) {
|
|
82
|
+
this._chipList._keyManager.setLastItemActive();
|
|
83
|
+
event.preventDefault();
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
this._focusLastChipOnBackspace = false;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
this._emitChipEnd(event);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Pass events to the keyboard manager. Available here for tests.
|
|
94
|
+
*/
|
|
95
|
+
_keyup(event) {
|
|
96
|
+
// Allow user to move focus to chips next time he presses backspace
|
|
97
|
+
if (!this._focusLastChipOnBackspace &&
|
|
98
|
+
event.keyCode === BACKSPACE &&
|
|
99
|
+
this.empty) {
|
|
100
|
+
this._focusLastChipOnBackspace = true;
|
|
101
|
+
event.preventDefault();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/** Checks to see if the blur should emit the (chipEnd) event. */
|
|
105
|
+
_blur() {
|
|
106
|
+
if (this.graniteChipInputAddOnBlur) {
|
|
107
|
+
this._emitChipEnd();
|
|
108
|
+
}
|
|
109
|
+
this.focused = false;
|
|
110
|
+
// Blur the chip list if it is not focused
|
|
111
|
+
if (!this._chipList.focused) {
|
|
112
|
+
this._chipList._blur();
|
|
113
|
+
}
|
|
114
|
+
this._chipList.stateChanges.next();
|
|
115
|
+
}
|
|
116
|
+
_focus() {
|
|
117
|
+
this.focused = true;
|
|
118
|
+
this._focusLastChipOnBackspace = this.empty;
|
|
119
|
+
this._chipList.stateChanges.next();
|
|
120
|
+
}
|
|
121
|
+
/** Checks to see if the (chipEnd) event needs to be emitted. */
|
|
122
|
+
_emitChipEnd(event) {
|
|
123
|
+
if (!this.inputElement.value && !!event) {
|
|
124
|
+
this._chipList._keydown(event);
|
|
125
|
+
}
|
|
126
|
+
if (!event || this._isSeparatorKey(event)) {
|
|
127
|
+
this.graniteChipInputTokenEnd.emit({
|
|
128
|
+
input: this.inputElement,
|
|
129
|
+
value: this.inputElement.value,
|
|
130
|
+
chipInput: this,
|
|
131
|
+
});
|
|
132
|
+
event?.preventDefault();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
_onInput() {
|
|
136
|
+
// Let chip list know whenever the value changes.
|
|
137
|
+
this._chipList.stateChanges.next();
|
|
138
|
+
}
|
|
139
|
+
/** Focuses the input (called from parent level). */
|
|
140
|
+
setFocus(options) {
|
|
141
|
+
this.inputElement.focus(options);
|
|
142
|
+
}
|
|
143
|
+
/** Clears the input */
|
|
144
|
+
clear() {
|
|
145
|
+
this.inputElement.value = '';
|
|
146
|
+
this._focusLastChipOnBackspace = true;
|
|
147
|
+
}
|
|
148
|
+
/** Whether the input is empty. */
|
|
149
|
+
get empty() {
|
|
150
|
+
return !this.inputElement.value;
|
|
151
|
+
}
|
|
152
|
+
/** Checks whether a keycode is one of the configured separators. */
|
|
153
|
+
_isSeparatorKey(event) {
|
|
154
|
+
return (!hasModifierKey(event) &&
|
|
155
|
+
new Set(this.graniteChipInputSeparatorKeyCodes).has(event.keyCode));
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
GraniteChipInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GraniteChipInputDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
159
|
+
GraniteChipInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: GraniteChipInputDirective, selector: "input[graniteChipInputFor]", inputs: { id: "id", placeholder: "placeholder", graniteChipInputFor: "graniteChipInputFor", graniteChipInputSeparatorKeyCodes: "graniteChipInputSeparatorKeyCodes", graniteChipInputAddOnBlur: "graniteChipInputAddOnBlur", required: "required", disabled: "disabled" }, outputs: { graniteChipInputTokenEnd: "graniteChipInputTokenEnd" }, host: { listeners: { "keydown": "_keydown($event)", "keyup": "_keyup($event)", "blur": "_blur()", "focus": "_focus()", "input": "_onInput()" }, properties: { "id": "id", "attr.disabled": "disabled || null", "attr.placeholder": "placeholder || null", "attr.aria-required": "required || null" }, classAttribute: "granite-chip-input" }, exportAs: ["graniteChipInput", "graniteChipInputFor"], usesOnChanges: true, ngImport: i0 });
|
|
160
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GraniteChipInputDirective, decorators: [{
|
|
161
|
+
type: Directive,
|
|
162
|
+
args: [{
|
|
163
|
+
selector: 'input[graniteChipInputFor]',
|
|
164
|
+
exportAs: 'graniteChipInput, graniteChipInputFor',
|
|
165
|
+
host: {
|
|
166
|
+
class: 'granite-chip-input',
|
|
167
|
+
'[id]': 'id',
|
|
168
|
+
'[attr.disabled]': 'disabled || null',
|
|
169
|
+
'[attr.placeholder]': 'placeholder || null',
|
|
170
|
+
'[attr.aria-required]': 'required || null',
|
|
171
|
+
'(keydown)': '_keydown($event)',
|
|
172
|
+
'(keyup)': '_keyup($event)',
|
|
173
|
+
'(blur)': '_blur()',
|
|
174
|
+
'(focus)': '_focus()',
|
|
175
|
+
'(input)': '_onInput()',
|
|
176
|
+
},
|
|
177
|
+
}]
|
|
178
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { id: [{
|
|
179
|
+
type: Input
|
|
180
|
+
}], placeholder: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], graniteChipInputFor: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}], graniteChipInputSeparatorKeyCodes: [{
|
|
185
|
+
type: Input
|
|
186
|
+
}], graniteChipInputAddOnBlur: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], required: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], disabled: [{
|
|
191
|
+
type: Input
|
|
192
|
+
}], graniteChipInputTokenEnd: [{
|
|
193
|
+
type: Output
|
|
194
|
+
}] } });
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvY2hpcHMvY2hpcC1pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsR0FBRyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUUsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBeUJqRSxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFrQnJCLE1BQU0sT0FBTyx5QkFBeUI7SUF5RXBDLFlBQXNCLFdBQXlDO1FBQXpDLGdCQUFXLEdBQVgsV0FBVyxDQUE4QjtRQXRFL0QsK0JBQStCO1FBQ3RCLE9BQUUsR0FBVywyQkFBMkIsWUFBWSxFQUFFLEVBQUUsQ0FBQztRQUVsRSxvQ0FBb0M7UUFDM0IsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFXbEM7Ozs7V0FJRztRQUVILHNDQUFpQyxHQUE0QztZQUMzRSxLQUFLO1NBQ0csQ0FBQztRQVlYLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFzQm5CLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFbkMsMENBQTBDO1FBQ3ZCLDZCQUF3QixHQUN6QyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQUs1QyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBS3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFpQyxDQUFDO0lBQ3pFLENBQUM7SUFsRUQsbUNBQW1DO0lBQ25DLElBQ0ksbUJBQW1CLENBQUMsS0FBK0I7UUFD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WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQkFDS1NQQUNFLCBFTlRFUiwgaGFzTW9kaWZpZXJLZXksIFRBQiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3Jhbml0ZUNoaXBMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jaGlwLWxpc3QuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBHcmFuaXRlQ2hpcFRleHRDb250cm9sIHtcbiAgLyoqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgdGV4dCBjb250cm9sLiAqL1xuICBpZDogc3RyaW5nO1xuICAvKiogVGhlIHRleHQgY29udHJvbCdzIHBsYWNlaG9sZGVyIHRleHQuICovXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHRoZSB0ZXh0IGNvbnRyb2wgaGFzIGJyb3dzZXIgZm9jdXMuICovXG4gIGZvY3VzZWQ6IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoZSB0ZXh0IGNvbnRyb2wgaXMgZW1wdHkuICovXG4gIGVtcHR5OiBib29sZWFuO1xuICAvKiogRm9jdXNlcyB0aGUgdGV4dCBjb250cm9sLiAqL1xuICBzZXRGb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZDtcbn1cblxuLyoqIFJlcHJlc2VudHMgYW4gaW5wdXQgZXZlbnQgb24gYSBgZ3Jhbml0ZUNoaXBJbnB1dGAuICovXG5leHBvcnQgaW50ZXJmYWNlIEdyYW5pdGVDaGlwSW5wdXRFdmVudCB7XG4gIC8qKiBUaGUgbmF0aXZlIGA8aW5wdXQ+YCBlbGVtZW50IHRoYXQgdGhlIGV2ZW50IGlzIGJlaW5nIGZpcmVkIGZvci4gKi9cbiAgaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gIC8qKiBUaGUgdmFsdWUgb2YgdGhlIGlucHV0LiAqL1xuICB2YWx1ZTogc3RyaW5nO1xuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBjaGlwIGlucHV0IHRoYXQgZW1pdHRlZCB0aGUgZXZlbnQuICovXG4gIGNoaXBJbnB1dDogR3Jhbml0ZUNoaXBJbnB1dERpcmVjdGl2ZTtcbn1cblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lucHV0W2dyYW5pdGVDaGlwSW5wdXRGb3JdJyxcbiAgZXhwb3J0QXM6ICdncmFuaXRlQ2hpcElucHV0LCBncmFuaXRlQ2hpcElucHV0Rm9yJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ3Jhbml0ZS1jaGlwLWlucHV0JyxcbiAgICAnW2lkXSc6ICdpZCcsXG4gICAgJ1thdHRyLmRpc2FibGVkXSc6ICdkaXNhYmxlZCB8fCBudWxsJyxcbiAgICAnW2F0dHIucGxhY2Vob2xkZXJdJzogJ3BsYWNlaG9sZGVyIHx8IG51bGwnLFxuICAgICdbYXR0ci5hcmlhLXJlcXVpcmVkXSc6ICdyZXF1aXJlZCB8fCBudWxsJyxcbiAgICAnKGtleWRvd24pJzogJ19rZXlkb3duKCRldmVudCknLFxuICAgICcoa2V5dXApJzogJ19rZXl1cCgkZXZlbnQpJyxcbiAgICAnKGJsdXIpJzogJ19ibHVyKCknLFxuICAgICcoZm9jdXMpJzogJ19mb2N1cygpJyxcbiAgICAnKGlucHV0KSc6ICdfb25JbnB1dCgpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgR3Jhbml0ZUNoaXBJbnB1dERpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIEdyYW5pdGVDaGlwVGV4dENvbnRyb2wsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0XG57XG4gIC8qKiBVbmlxdWUgaWQgZm9yIHRoZSBpbnB1dC4gKi9cbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9IGBncmFuaXRlLWNoaXAtbGlzdC1pbnB1dC0ke25leHRVbmlxdWVJZCsrfWA7XG5cbiAgLyoqIFRoZSBpbnB1dCdzIHBsYWNlaG9sZGVyIHRleHQuICovXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcblxuICAvKiogUmVnaXN0ZXIgaW5wdXQgZm9yIGNoaXAgbGlzdCAqL1xuICBASW5wdXQoKVxuICBzZXQgZ3Jhbml0ZUNoaXBJbnB1dEZvcih2YWx1ZTogR3Jhbml0ZUNoaXBMaXN0Q29tcG9uZW50KSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl9jaGlwTGlzdCA9IHZhbHVlO1xuICAgICAgdGhpcy5fY2hpcExpc3QucmVnaXN0ZXJJbnB1dCh0aGlzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2Yga2V5IGNvZGVzIHRoYXQgd2lsbCB0cmlnZ2VyIGEgY2hpcEVuZCBldmVudC5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gYFtFTlRFUl1gLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ3Jhbml0ZUNoaXBJbnB1dFNlcGFyYXRvcktleUNvZGVzOiByZWFkb25seSBudW1iZXJbXSB8IFJlYWRvbmx5U2V0PG51bWJlcj4gPSBbXG4gICAgRU5URVIsXG4gIF0gYXMgY29uc3Q7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBjaGlwRW5kIGV2ZW50IHdpbGwgYmUgZW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBpcyBibHVycmVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGdyYW5pdGVDaGlwSW5wdXRBZGRPbkJsdXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZE9uQmx1cjtcbiAgfVxuICBzZXQgZ3Jhbml0ZUNoaXBJbnB1dEFkZE9uQmx1cih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2FkZE9uQmx1ciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cbiAgX2FkZE9uQmx1cjogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBpcyBhIHJlcXVpcmVkIGZpZWxkLCBjdXJyZW50bHkgd2UgdXNlIGl0IG9ubHkgZm9yIHNldHRpbmcgYXJpYS1yZXF1aXJlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gIH1cbiAgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG4gIHByb3RlY3RlZCBfcmVxdWlyZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGlucHV0IGlzIGRpc2FibGVkLiAqL1xuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkIHx8ICh0aGlzLl9jaGlwTGlzdCAmJiB0aGlzLl9jaGlwTGlzdC5kaXNhYmxlZCk7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGNoaXAgaXMgdG8gYmUgYWRkZWQuICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBncmFuaXRlQ2hpcElucHV0VG9rZW5FbmQgPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8R3Jhbml0ZUNoaXBJbnB1dEV2ZW50PigpO1xuXG4gIC8qKiBUaGUgbmF0aXZlIGlucHV0IGVsZW1lbnQgdG8gd2hpY2ggdGhpcyBkaXJlY3RpdmUgaXMgYXR0YWNoZWQuICovXG4gIHJlYWRvbmx5IGlucHV0RWxlbWVudCE6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gIF9jaGlwTGlzdDogR3Jhbml0ZUNoaXBMaXN0Q29tcG9uZW50O1xuICBmb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiBVc2VkIHRvIHByZXZlbnQgZm9jdXMgbW92aW5nIHRvIGNoaXBzIHdoaWxlIHVzZXIgaXMgaG9sZGluZyBiYWNrc3BhY2UgKi9cbiAgcHJpdmF0ZSBfZm9jdXNMYXN0Q2hpcE9uQmFja3NwYWNlOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pikge1xuICAgIHRoaXMuaW5wdXRFbGVtZW50ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGlwTGlzdC5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5ncmFuaXRlQ2hpcElucHV0VG9rZW5FbmQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mb2N1c0xhc3RDaGlwT25CYWNrc3BhY2UgPSB0aGlzLmVtcHR5O1xuICB9XG5cbiAgLyoqIFV0aWxpdHkgbWV0aG9kIHRvIG1ha2UgaG9zdCBkZWZpbml0aW9uL3Rlc3RzIG1vcmUgY2xlYXIuICovXG4gIF9rZXlkb3duKGV2ZW50PzogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudCkge1xuICAgICAgLy8gQWxsb3cgdGhlIHVzZXIncyBmb2N1cyB0byBlc2NhcGUgd2hlbiB0aGV5J3JlIHRhYmJpbmcgZm9yd2FyZC4gTm90ZSB0aGF0IHdlIGRvbid0XG4gICAgICAvLyB3YW50IHRvIGRvIHRoaXMgd2hlbiBnb2luZyBiYWNrd2FyZHMsIGJlY2F1c2UgZm9jdXMgc2hvdWxkIGdvIGJhY2sgdG8gdGhlIGZpcnN0IGNoaXAuXG4gICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gVEFCICYmICFoYXNNb2RpZmllcktleShldmVudCwgJ3NoaWZ0S2V5JykpIHtcbiAgICAgICAgdGhpcy5fY2hpcExpc3QuX2FsbG93Rm9jdXNFc2NhcGUoKTtcbiAgICAgIH1cblxuICAgICAgLy8gVG8gcHJldmVudCB0aGUgdXNlciBmcm9tIGFjY2lkZW50YWxseSBkZWxldGluZyBjaGlwcyB3aGVuIHByZXNzaW5nIEJBQ0tTUEFDRSBjb250aW51b3VzbHksXG4gICAgICAvLyBXZSBmb2N1cyB0aGUgbGFzdCBjaGlwIG9uIGJhY2tzcGFjZSBvbmx5IGFmdGVyIHRoZSB1c2VyIGhhcyByZWxlYXNlZCB0aGUgYmFja3NwYWNlIGJ1dHRvbixcbiAgICAgIC8vIGFuZCB0aGUgaW5wdXQgaXMgZW1wdHkgKHNlZSBiZWhhdmlvdXIgaW4gX2tleXVwKVxuICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IEJBQ0tTUEFDRSAmJiB0aGlzLl9mb2N1c0xhc3RDaGlwT25CYWNrc3BhY2UpIHtcbiAgICAgICAgdGhpcy5fY2hpcExpc3QuX2tleU1hbmFnZXIuc2V0TGFzdEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fZm9jdXNMYXN0Q2hpcE9uQmFja3NwYWNlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fZW1pdENoaXBFbmQoZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhc3MgZXZlbnRzIHRvIHRoZSBrZXlib2FyZCBtYW5hZ2VyLiBBdmFpbGFibGUgaGVyZSBmb3IgdGVzdHMuXG4gICAqL1xuICBfa2V5dXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBBbGxvdyB1c2VyIHRvIG1vdmUgZm9jdXMgdG8gY2hpcHMgbmV4dCB0aW1lIGhlIHByZXNzZXMgYmFja3NwYWNlXG4gICAgaWYgKFxuICAgICAgIXRoaXMuX2ZvY3VzTGFzdENoaXBPbkJhY2tzcGFjZSAmJlxuICAgICAgZXZlbnQua2V5Q29kZSA9PT0gQkFDS1NQQUNFICYmXG4gICAgICB0aGlzLmVtcHR5XG4gICAgKSB7XG4gICAgICB0aGlzLl9mb2N1c0xhc3RDaGlwT25CYWNrc3BhY2UgPSB0cnVlO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2hlY2tzIHRvIHNlZSBpZiB0aGUgYmx1ciBzaG91bGQgZW1pdCB0aGUgKGNoaXBFbmQpIGV2ZW50LiAqL1xuICBfYmx1cigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ncmFuaXRlQ2hpcElucHV0QWRkT25CbHVyKSB7XG4gICAgICB0aGlzLl9lbWl0Q2hpcEVuZCgpO1xuICAgIH1cbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcbiAgICAvLyBCbHVyIHRoZSBjaGlwIGxpc3QgaWYgaXQgaXMgbm90IGZvY3VzZWRcbiAgICBpZiAoIXRoaXMuX2NoaXBMaXN0LmZvY3VzZWQpIHtcbiAgICAgIHRoaXMuX2NoaXBMaXN0Ll9ibHVyKCk7XG4gICAgfVxuICAgIHRoaXMuX2NoaXBMaXN0LnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBfZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcbiAgICB0aGlzLl9mb2N1c0xhc3RDaGlwT25CYWNrc3BhY2UgPSB0aGlzLmVtcHR5O1xuICAgIHRoaXMuX2NoaXBMaXN0LnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICAvKiogQ2hlY2tzIHRvIHNlZSBpZiB0aGUgKGNoaXBFbmQpIGV2ZW50IG5lZWRzIHRvIGJlIGVtaXR0ZWQuICovXG4gIF9lbWl0Q2hpcEVuZChldmVudD86IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaW5wdXRFbGVtZW50LnZhbHVlICYmICEhZXZlbnQpIHtcbiAgICAgIHRoaXMuX2NoaXBMaXN0Ll9rZXlkb3duKGV2ZW50KTtcbiAgICB9XG5cbiAgICBpZiAoIWV2ZW50IHx8IHRoaXMuX2lzU2VwYXJhdG9yS2V5KGV2ZW50KSkge1xuICAgICAgdGhpcy5ncmFuaXRlQ2hpcElucHV0VG9rZW5FbmQuZW1pdCh7XG4gICAgICAgIGlucHV0OiB0aGlzLmlucHV0RWxlbWVudCxcbiAgICAgICAgdmFsdWU6IHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlLFxuICAgICAgICBjaGlwSW5wdXQ6IHRoaXMsXG4gICAgICB9KTtcblxuICAgICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgX29uSW5wdXQoKTogdm9pZCB7XG4gICAgLy8gTGV0IGNoaXAgbGlzdCBrbm93IHdoZW5ldmVyIHRoZSB2YWx1ZSBjaGFuZ2VzLlxuICAgIHRoaXMuX2NoaXBMaXN0LnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICAvKiogRm9jdXNlcyB0aGUgaW5wdXQgKGNhbGxlZCBmcm9tIHBhcmVudCBsZXZlbCkuICovXG4gIHNldEZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0RWxlbWVudC5mb2N1cyhvcHRpb25zKTtcbiAgfVxuXG4gIC8qKiBDbGVhcnMgdGhlIGlucHV0ICovXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgdGhpcy5fZm9jdXNMYXN0Q2hpcE9uQmFja3NwYWNlID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBpbnB1dCBpcyBlbXB0eS4gKi9cbiAgZ2V0IGVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pbnB1dEVsZW1lbnQudmFsdWU7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgYSBrZXljb2RlIGlzIG9uZSBvZiB0aGUgY29uZmlndXJlZCBzZXBhcmF0b3JzLiAqL1xuICBwcml2YXRlIF9pc1NlcGFyYXRvcktleShldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhaGFzTW9kaWZpZXJLZXkoZXZlbnQpICYmXG4gICAgICBuZXcgU2V0KHRoaXMuZ3Jhbml0ZUNoaXBJbnB1dFNlcGFyYXRvcktleUNvZGVzKS5oYXMoZXZlbnQua2V5Q29kZSlcbiAgICApO1xuICB9XG59XG4iXX0=
|