@firestitch/chip 8.1.9 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,336 +1,222 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: app/components/chip/chip.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, HostListener, Input, Optional, Output, } from '@angular/core';
7
- import { Subject } from 'rxjs';
8
- import { FsChipsService } from '../../services/chips.service';
9
- export class FsChipComponent {
10
- /**
11
- * @param {?} _cdRef
12
- * @param {?} _chips
13
- */
14
- constructor(_cdRef, _chips) {
15
- this._cdRef = _cdRef;
16
- this._chips = _chips;
17
- this.fsChip = true;
18
- this._outlined = false;
19
- this._selectable = false;
20
- this._image = false;
21
- this._selected = false;
22
- this._removable = false;
23
- this.styleBackgroundColor = '';
24
- this.styleColor = '';
25
- this.styleBorderColor = '';
26
- this.classSmall = false;
27
- this.classTiny = false;
28
- this.classMicro = false;
29
- this.value = null;
30
- this.selectedToggled = new EventEmitter();
31
- this.removed = new EventEmitter();
32
- this.$destroy = new Subject();
33
- this._backgroundColor = '';
34
- this._color = '';
35
- }
36
- /**
37
- * @param {?} value
38
- * @return {?}
39
- */
40
- set setSize(value) {
41
- this._size = value;
42
- this.classSmall = value === 'small';
43
- this.classTiny = value === 'tiny';
44
- this.classMicro = value === 'micro';
45
- }
46
- ;
47
- /**
48
- * @return {?}
49
- */
50
- click() {
51
- if (this.selectable) {
52
- this.selected = !this.selected;
53
- this.selectedToggled.emit({ value: this.value, selected: this.selected });
54
- if (this._chips) {
55
- this._chips.selectionChanged(this.selected, this.value);
56
- }
57
- }
58
- }
59
- /**
60
- * @param {?} value
61
- * @return {?}
62
- */
63
- set backgroundColor(value) {
64
- this._backgroundColor = value;
65
- this.updateStyles();
66
- }
67
- ;
68
- /**
69
- * @param {?} value
70
- * @return {?}
71
- */
72
- set borderColor(value) {
73
- this.styleBorderColor = value;
74
- this.updateStyles();
75
- }
76
- /**
77
- * @param {?} value
78
- * @return {?}
79
- */
80
- set color(value) {
81
- this._color = value;
82
- this.updateStyles();
83
- }
84
- /**
85
- * @return {?}
86
- */
87
- get color() {
88
- return this._color;
89
- }
90
- /**
91
- * @param {?} value
92
- * @return {?}
93
- */
94
- set outlined(value) {
95
- this._outlined = value;
96
- this.updateStyles();
97
- }
98
- ;
99
- /**
100
- * @return {?}
101
- */
102
- get outlined() {
103
- return this._outlined;
104
- }
105
- /**
106
- * @param {?} value
107
- * @return {?}
108
- */
109
- set removable(value) {
110
- this._removable = value;
111
- this._cdRef.markForCheck();
112
- }
113
- ;
114
- /**
115
- * @return {?}
116
- */
117
- get removable() {
118
- return this._removable;
119
- }
120
- /**
121
- * @param {?} value
122
- * @return {?}
123
- */
124
- set selectable(value) {
125
- this._selectable = value;
126
- }
127
- ;
128
- /**
129
- * @return {?}
130
- */
131
- get selectable() {
132
- return this._selectable;
133
- }
134
- /**
135
- * @param {?} value
136
- * @return {?}
137
- */
138
- set selected(value) {
139
- this._selected = value;
140
- this._cdRef.markForCheck();
141
- }
142
- ;
143
- /**
144
- * @return {?}
145
- */
146
- get selected() {
147
- return this._selected;
148
- }
149
- /**
150
- * @param {?} value
151
- * @return {?}
152
- */
153
- set image(value) {
154
- this._image = value;
155
- this._cdRef.markForCheck();
156
- }
157
- ;
158
- /**
159
- * @return {?}
160
- */
161
- get image() {
162
- return this._image;
163
- }
164
- /**
165
- * @return {?}
166
- */
167
- ngOnInit() {
168
- if (this._chips) {
169
- this._chips.register(this);
170
- }
171
- }
172
- /**
173
- * @return {?}
174
- */
175
- ngOnDestroy() {
176
- if (this._chips) {
177
- this._chips.destroy(this);
178
- }
179
- this.$destroy.next();
180
- this.$destroy.complete();
181
- }
182
- /**
183
- * @param {?} event
184
- * @return {?}
185
- */
186
- remove(event) {
187
- this.removed.next(event);
188
- }
189
- /**
190
- * @private
191
- * @param {?} hexcolor
192
- * @return {?}
193
- */
194
- isContrastYIQBlack(hexcolor) {
195
- if (!hexcolor) {
196
- return true;
197
- }
198
- hexcolor = hexcolor.replace('#', '');
199
- /** @type {?} */
200
- const r = parseInt(hexcolor.substr(0, 2), 16);
201
- /** @type {?} */
202
- const g = parseInt(hexcolor.substr(2, 2), 16);
203
- /** @type {?} */
204
- const b = parseInt(hexcolor.substr(4, 2), 16);
205
- /** @type {?} */
206
- const yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;
207
- return yiq >= 200;
208
- }
209
- /**
210
- * @private
211
- * @return {?}
212
- */
213
- updateStyles() {
214
- this.styleBackgroundColor = this._backgroundColor;
215
- if (this._color) {
216
- this.styleColor = this._color;
217
- }
218
- else if (!this._outlined) {
219
- this.styleColor = this.isContrastYIQBlack(this.styleBackgroundColor) ? '#474747' : '#fff';
220
- }
221
- if (this._outlined) {
222
- this.styleBackgroundColor = '';
223
- if (this._color) {
224
- this.styleBorderColor = this._color;
225
- }
226
- }
227
- this._cdRef.markForCheck();
228
- }
229
- }
230
- FsChipComponent.decorators = [
231
- { type: Component, args: [{
232
- selector: 'fs-chip',
233
- template: "<img *ngIf=\"image\" [src]=\"image\" class=\"image\" alt=\"\">\n<div class=\"fs-chip-content\">\n <ng-content></ng-content>\n</div>\n<div class=\"selected-check\" *ngIf=\"selected\">\n <mat-icon [style.color]=\"styleColor\">check</mat-icon>\n</div>\n<a *ngIf=\"removable\" class=\"remove\" (click)=\"remove($event)\">\n <mat-icon [style.color]=\"styleColor\">cancel</mat-icon>\n</a>\n",
234
- changeDetection: ChangeDetectionStrategy.OnPush,
235
- styles: [""]
236
- }] }
237
- ];
238
- /** @nocollapse */
239
- FsChipComponent.ctorParameters = () => [
240
- { type: ChangeDetectorRef },
241
- { type: FsChipsService, decorators: [{ type: Optional }] }
242
- ];
243
- FsChipComponent.propDecorators = {
244
- fsChip: [{ type: HostBinding, args: ['class.fs-chip',] }],
245
- _outlined: [{ type: HostBinding, args: ['class.outlined',] }],
246
- _selectable: [{ type: HostBinding, args: ['class.selectable',] }],
247
- _image: [{ type: HostBinding, args: ['class.imaged',] }],
248
- _selected: [{ type: HostBinding, args: ['class.selected',] }],
249
- _removable: [{ type: HostBinding, args: ['class.removable',] }],
250
- styleBackgroundColor: [{ type: HostBinding, args: ['style.backgroundColor',] }],
251
- styleColor: [{ type: HostBinding, args: ['style.color',] }],
252
- styleBorderColor: [{ type: HostBinding, args: ['style.borderColor',] }],
253
- classSmall: [{ type: HostBinding, args: ['class.small',] }],
254
- classTiny: [{ type: HostBinding, args: ['class.tiny',] }],
255
- classMicro: [{ type: HostBinding, args: ['class.micro',] }],
256
- setSize: [{ type: Input, args: ['size',] }],
257
- click: [{ type: HostListener, args: ['click',] }],
258
- value: [{ type: Input }],
259
- backgroundColor: [{ type: Input }],
260
- borderColor: [{ type: Input }],
261
- color: [{ type: Input }],
262
- outlined: [{ type: Input }],
263
- removable: [{ type: Input }],
264
- selectable: [{ type: Input }],
265
- selected: [{ type: Input }],
266
- image: [{ type: Input }],
267
- selectedToggled: [{ type: Output }],
268
- removed: [{ type: Output }]
269
- };
270
- if (false) {
271
- /** @type {?} */
272
- FsChipComponent.prototype.fsChip;
273
- /** @type {?} */
274
- FsChipComponent.prototype._outlined;
275
- /** @type {?} */
276
- FsChipComponent.prototype._selectable;
277
- /** @type {?} */
278
- FsChipComponent.prototype._image;
279
- /** @type {?} */
280
- FsChipComponent.prototype._selected;
281
- /** @type {?} */
282
- FsChipComponent.prototype._removable;
283
- /** @type {?} */
284
- FsChipComponent.prototype.styleBackgroundColor;
285
- /** @type {?} */
286
- FsChipComponent.prototype.styleColor;
287
- /** @type {?} */
288
- FsChipComponent.prototype.styleBorderColor;
289
- /** @type {?} */
290
- FsChipComponent.prototype.classSmall;
291
- /** @type {?} */
292
- FsChipComponent.prototype.classTiny;
293
- /** @type {?} */
294
- FsChipComponent.prototype.classMicro;
295
- /** @type {?} */
296
- FsChipComponent.prototype.value;
297
- /** @type {?} */
298
- FsChipComponent.prototype.selectedToggled;
299
- /** @type {?} */
300
- FsChipComponent.prototype.removed;
301
- /** @type {?} */
302
- FsChipComponent.prototype.$destroy;
303
- /**
304
- * @type {?}
305
- * @private
306
- */
307
- FsChipComponent.prototype._backgroundColor;
308
- /**
309
- * @type {?}
310
- * @private
311
- */
312
- FsChipComponent.prototype._color;
313
- /**
314
- * @type {?}
315
- * @private
316
- */
317
- FsChipComponent.prototype._size;
318
- /**
319
- * @type {?}
320
- * @private
321
- */
322
- FsChipComponent.prototype._cdRef;
323
- /**
324
- * @type {?}
325
- * @private
326
- */
327
- FsChipComponent.prototype._chips;
328
- /* Skipping unhandled member: ;*/
329
- /* Skipping unhandled member: ;*/
330
- /* Skipping unhandled member: ;*/
331
- /* Skipping unhandled member: ;*/
332
- /* Skipping unhandled member: ;*/
333
- /* Skipping unhandled member: ;*/
334
- /* Skipping unhandled member: ;*/
335
- }
336
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9jaGlwLyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvY2hpcC9jaGlwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFBRSxpQkFBaUIsRUFDMUMsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBUzlELE1BQU0sT0FBTyxlQUFlOzs7OztJQWdIMUIsWUFDVSxNQUF5QixFQUNiLE1BQXNCO1FBRGxDLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQ2IsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFoSGQsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNiLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDaEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDeEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNiLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNiLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUNwQyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ1YscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBRTVCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDcEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBc0IvQixVQUFLLEdBQUcsSUFBSSxDQUFDO1FBbUVaLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV2QyxhQUFRLEdB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QWM7d0JBQzFCLFdBQVcsU0FBQyxnQkFBZ0I7eUJBQzVCLFdBQVcsU0FBQyxpQkFBaUI7bUNBQzdCLFdBQVcsU0FBQyx1QkFBdUI7eUJBQ25DLFdBQVcsU0FBQyxhQUFhOytCQUN6QixXQUFXLFNBQUMsbUJBQW1CO3lCQUUvQixXQUFXLFNBQUMsYUFBYTt3QkFDekIsV0FBVyxTQUFDLFlBQVk7eUJBQ3hCLFdBQVcsU0FBQyxhQUFhO3NCQUV6QixLQUFLLFNBQUMsTUFBTTtvQkFPWixZQUFZLFNBQUMsT0FBTztvQkFhcEIsS0FBSzs4QkFFTCxLQUFLOzBCQUtMLEtBQUs7b0JBSUwsS0FBSzt1QkFTTCxLQUFLO3dCQVNMLEtBQUs7eUJBVUwsS0FBSzt1QkFRTCxLQUFLO29CQVVMLEtBQUs7OEJBVUwsTUFBTTtzQkFDTixNQUFNOzs7O0lBdEdQLGlDQUE0Qzs7SUFDNUMsb0NBQWlEOztJQUNqRCxzQ0FBcUQ7O0lBQ3JELGlDQUE0Qzs7SUFDNUMsb0NBQWlEOztJQUNqRCxxQ0FBbUQ7O0lBQ25ELCtDQUFnRTs7SUFDaEUscUNBQTRDOztJQUM1QywyQ0FBd0Q7O0lBRXhELHFDQUErQzs7SUFDL0Msb0NBQTZDOztJQUM3QyxxQ0FBK0M7O0lBc0IvQyxnQ0FBNkI7O0lBbUU3QiwwQ0FBc0Q7O0lBQ3RELGtDQUE4Qzs7SUFFOUMsbUNBQWdDOzs7OztJQUVoQywyQ0FBOEI7Ozs7O0lBQzlCLGlDQUFvQjs7Ozs7SUFDcEIsZ0NBQWM7Ozs7O0lBR1osaUNBQWlDOzs7OztJQUNqQyxpQ0FBMEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGc0NoaXBzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NoaXBzLnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWNoaXAnLFxuICB0ZW1wbGF0ZVVybDogJ2NoaXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnY2hpcC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNDaGlwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnMtY2hpcCcpIGZzQ2hpcCA9IHRydWU7XG4gIEBIb3N0QmluZGluZygnY2xhc3Mub3V0bGluZWQnKSBfb3V0bGluZWQgPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RhYmxlJykgX3NlbGVjdGFibGUgPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pbWFnZWQnKSBfaW1hZ2UgPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpIF9zZWxlY3RlZCA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlbW92YWJsZScpIF9yZW1vdmFibGUgPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5iYWNrZ3JvdW5kQ29sb3InKSBzdHlsZUJhY2tncm91bmRDb2xvciA9ICcnO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmNvbG9yJykgc3R5bGVDb2xvciA9ICcnO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmJvcmRlckNvbG9yJykgc3R5bGVCb3JkZXJDb2xvciA9ICcnO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc21hbGwnKSBjbGFzc1NtYWxsID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3MudGlueScpIGNsYXNzVGlueSA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1pY3JvJykgY2xhc3NNaWNybyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnc2l6ZScpIHNldCBzZXRTaXplKHZhbHVlKSB7XG4gICAgdGhpcy5fc2l6ZSA9IHZhbHVlO1xuICAgIHRoaXMuY2xhc3NTbWFsbCA9IHZhbHVlID09PSAnc21hbGwnO1xuICAgIHRoaXMuY2xhc3NUaW55ID0gdmFsdWUgPT09ICd0aW55JztcbiAgICB0aGlzLmNsYXNzTWljcm8gPSB2YWx1ZSA9PT0gJ21pY3JvJztcbiAgfTtcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIHB1YmxpYyBjbGljaygpIHtcblxuICAgIGlmICh0aGlzLnNlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSAhdGhpcy5zZWxlY3RlZDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRUb2dnbGVkLmVtaXQoeyB2YWx1ZTogdGhpcy52YWx1ZSwgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG5cbiAgICAgIGlmICh0aGlzLl9jaGlwcykge1xuICAgICAgICB0aGlzLl9jaGlwcy5zZWxlY3Rpb25DaGFuZ2VkKHRoaXMuc2VsZWN0ZWQsIHRoaXMudmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyB2YWx1ZSA9IG51bGw7XG5cbiAgQElucHV0KCkgc2V0IGJhY2tncm91bmRDb2xvcih2YWx1ZSkge1xuICAgIHRoaXMuX2JhY2tncm91bmRDb2xvciA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlU3R5bGVzKCk7XG4gIH07XG5cbiAgQElucHV0KCkgc2V0IGJvcmRlckNvbG9yKHZhbHVlKSB7XG4gICAgdGhpcy5zdHlsZUJvcmRlckNvbG9yID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVTdHlsZXMoKTtcbiAgfVxuICBASW5wdXQoKSBzZXQgY29sb3IodmFsdWUpIHtcbiAgICB0aGlzLl9jb2xvciA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlU3R5bGVzKCk7XG4gIH1cblxuICBnZXQgY29sb3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IG91dGxpbmVkKHZhbHVlKSB7XG4gICAgdGhpcy5fb3V0bGluZWQgPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZVN0eWxlcygpO1xuICB9O1xuXG4gIGdldCBvdXRsaW5lZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fb3V0bGluZWQ7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgcmVtb3ZhYmxlKHZhbHVlKSB7XG4gICAgdGhpcy5fcmVtb3ZhYmxlID0gdmFsdWU7XG5cbiAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBnZXQgcmVtb3ZhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLl9yZW1vdmFibGU7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgc2VsZWN0YWJsZSh2YWx1ZSkge1xuICAgIHRoaXMuX3NlbGVjdGFibGUgPSB2YWx1ZTtcbiAgfTtcblxuICBnZXQgc2VsZWN0YWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0YWJsZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBzZWxlY3RlZCh2YWx1ZSkge1xuICAgIHRoaXMuX3NlbGVjdGVkID0gdmFsdWU7XG5cbiAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBnZXQgc2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGltYWdlKHZhbHVlKSB7XG4gICAgdGhpcy5faW1hZ2UgPSB2YWx1ZTtcblxuICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIGdldCBpbWFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5faW1hZ2U7XG4gIH1cblxuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdGVkVG9nZ2xlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHB1YmxpYyByZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyAkZGVzdHJveSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBfYmFja2dyb3VuZENvbG9yID0gJyc7XG4gIHByaXZhdGUgX2NvbG9yID0gJyc7XG4gIHByaXZhdGUgX3NpemU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2NoaXBzOiBGc0NoaXBzU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLl9jaGlwcykge1xuICAgICAgdGhpcy5fY2hpcHMucmVnaXN0ZXIodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLl9jaGlwcykge1xuICAgICAgdGhpcy5fY2hpcHMuZGVzdHJveSh0aGlzKTtcbiAgICB9XG5cbiAgICB0aGlzLiRkZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLiRkZXN0cm95LmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlKGV2ZW50KSB7XG4gICAgdGhpcy5yZW1vdmVkLm5leHQoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NvbnRyYXN0WUlRQmxhY2soaGV4Y29sb3IpIHtcbiAgICBpZiAoIWhleGNvbG9yKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBoZXhjb2xvciA9IGhleGNvbG9yLnJlcGxhY2UoJyMnLCAnJyk7XG4gICAgY29uc3QgciA9IHBhcnNlSW50KGhleGNvbG9yLnN1YnN0cigwLCAyKSwgMTYpO1xuICAgIGNvbnN0IGcgPSBwYXJzZUludChoZXhjb2xvci5zdWJzdHIoMiwgMiksIDE2KTtcbiAgICBjb25zdCBiID0gcGFyc2VJbnQoaGV4Y29sb3Iuc3Vic3RyKDQsIDIpLCAxNik7XG4gICAgY29uc3QgeWlxID0gKChyICogMjk5KSArIChnICogNTg3KSArIChiICogMTE0KSkgLyAxMDAwO1xuXG4gICAgcmV0dXJuIHlpcSA+PSAyMDA7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVN0eWxlcygpIHtcbiAgICB0aGlzLnN0eWxlQmFja2dyb3VuZENvbG9yID0gdGhpcy5fYmFja2dyb3VuZENvbG9yO1xuXG4gICAgaWYgKHRoaXMuX2NvbG9yKSB7XG4gICAgICB0aGlzLnN0eWxlQ29sb3IgPSB0aGlzLl9jb2xvcjtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLl9vdXRsaW5lZCkge1xuICAgICAgdGhpcy5zdHlsZUNvbG9yID0gdGhpcy5pc0NvbnRyYXN0WUlRQmxhY2sodGhpcy5zdHlsZUJhY2tncm91bmRDb2xvcikgPyAnIzQ3NDc0NycgOiAnI2ZmZic7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX291dGxpbmVkKSB7XG4gICAgICB0aGlzLnN0eWxlQmFja2dyb3VuZENvbG9yID0gJyc7XG5cbiAgICAgIGlmICh0aGlzLl9jb2xvcikge1xuICAgICAgICB0aGlzLnN0eWxlQm9yZGVyQ29sb3IgPSB0aGlzLl9jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIl19
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, HostListener, Input, Optional, Output, } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { FsChipsService } from '../../services/chips.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../services/chips.service";
6
+ import * as i2 from "@angular/material/icon";
7
+ import * as i3 from "@angular/common";
8
+ export class FsChipComponent {
9
+ constructor(_cdRef, _chips) {
10
+ this._cdRef = _cdRef;
11
+ this._chips = _chips;
12
+ this.fsChip = true;
13
+ this._outlined = false;
14
+ this._selectable = false;
15
+ this._image = false;
16
+ this._selected = false;
17
+ this._removable = false;
18
+ this.styleBackgroundColor = '';
19
+ this.styleColor = '';
20
+ this.styleBorderColor = '';
21
+ this.classSmall = false;
22
+ this.classTiny = false;
23
+ this.classMicro = false;
24
+ this.value = null;
25
+ this.selectedToggled = new EventEmitter();
26
+ this.removed = new EventEmitter();
27
+ this.$destroy = new Subject();
28
+ this._backgroundColor = '';
29
+ this._color = '';
30
+ }
31
+ set setSize(value) {
32
+ this._size = value;
33
+ this.classSmall = value === 'small';
34
+ this.classTiny = value === 'tiny';
35
+ this.classMicro = value === 'micro';
36
+ }
37
+ ;
38
+ click() {
39
+ if (this.selectable) {
40
+ this.selected = !this.selected;
41
+ this.selectedToggled.emit({ value: this.value, selected: this.selected });
42
+ if (this._chips) {
43
+ this._chips.selectionChanged(this.selected, this.value);
44
+ }
45
+ }
46
+ }
47
+ set backgroundColor(value) {
48
+ this._backgroundColor = value;
49
+ this.updateStyles();
50
+ }
51
+ ;
52
+ set borderColor(value) {
53
+ this.styleBorderColor = value;
54
+ this.updateStyles();
55
+ }
56
+ set color(value) {
57
+ this._color = value;
58
+ this.updateStyles();
59
+ }
60
+ get color() {
61
+ return this._color;
62
+ }
63
+ set outlined(value) {
64
+ this._outlined = value;
65
+ this.updateStyles();
66
+ }
67
+ ;
68
+ get outlined() {
69
+ return this._outlined;
70
+ }
71
+ set removable(value) {
72
+ this._removable = value;
73
+ this._cdRef.markForCheck();
74
+ }
75
+ ;
76
+ get removable() {
77
+ return this._removable;
78
+ }
79
+ set selectable(value) {
80
+ this._selectable = value;
81
+ }
82
+ ;
83
+ get selectable() {
84
+ return this._selectable;
85
+ }
86
+ set selected(value) {
87
+ this._selected = value;
88
+ this._cdRef.markForCheck();
89
+ }
90
+ ;
91
+ get selected() {
92
+ return this._selected;
93
+ }
94
+ set image(value) {
95
+ this._image = value;
96
+ this._cdRef.markForCheck();
97
+ }
98
+ ;
99
+ get image() {
100
+ return this._image;
101
+ }
102
+ ngOnInit() {
103
+ if (this._chips) {
104
+ this._chips.register(this);
105
+ }
106
+ }
107
+ ngOnDestroy() {
108
+ if (this._chips) {
109
+ this._chips.destroy(this);
110
+ }
111
+ this.$destroy.next();
112
+ this.$destroy.complete();
113
+ }
114
+ remove(event) {
115
+ this.removed.next(event);
116
+ }
117
+ isContrastYIQBlack(hexcolor) {
118
+ if (!hexcolor) {
119
+ return true;
120
+ }
121
+ hexcolor = hexcolor.replace('#', '');
122
+ const r = parseInt(hexcolor.substr(0, 2), 16);
123
+ const g = parseInt(hexcolor.substr(2, 2), 16);
124
+ const b = parseInt(hexcolor.substr(4, 2), 16);
125
+ const yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;
126
+ return yiq >= 200;
127
+ }
128
+ updateStyles() {
129
+ this.styleBackgroundColor = this._backgroundColor;
130
+ if (this._color) {
131
+ this.styleColor = this._color;
132
+ }
133
+ else if (!this._outlined) {
134
+ this.styleColor = this.isContrastYIQBlack(this.styleBackgroundColor) ? '#474747' : '#fff';
135
+ }
136
+ if (this._outlined) {
137
+ this.styleBackgroundColor = '';
138
+ if (this._color) {
139
+ this.styleBorderColor = this._color;
140
+ }
141
+ }
142
+ this._cdRef.markForCheck();
143
+ }
144
+ }
145
+ FsChipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsChipComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FsChipsService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
146
+ FsChipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsChipComponent, selector: "fs-chip", inputs: { setSize: ["size", "setSize"], value: "value", backgroundColor: "backgroundColor", borderColor: "borderColor", color: "color", outlined: "outlined", removable: "removable", selectable: "selectable", selected: "selected", image: "image" }, outputs: { selectedToggled: "selectedToggled", removed: "removed" }, host: { listeners: { "click": "click()" }, properties: { "class.fs-chip": "this.fsChip", "class.outlined": "this._outlined", "class.selectable": "this._selectable", "class.imaged": "this._image", "class.selected": "this._selected", "class.removable": "this._removable", "style.backgroundColor": "this.styleBackgroundColor", "style.color": "this.styleColor", "style.borderColor": "this.styleBorderColor", "class.small": "this.classSmall", "class.tiny": "this.classTiny", "class.micro": "this.classMicro" } }, ngImport: i0, template: "<img *ngIf=\"image\" [src]=\"image\" class=\"image\" alt=\"\">\n<div class=\"fs-chip-content\">\n <ng-content></ng-content>\n</div>\n<div class=\"selected-check\" *ngIf=\"selected\">\n <mat-icon [style.color]=\"styleColor\">check</mat-icon>\n</div>\n<a *ngIf=\"removable\" class=\"remove\" (click)=\"remove($event)\">\n <mat-icon [style.color]=\"styleColor\">cancel</mat-icon>\n</a>\n", styles: [""], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsChipComponent, decorators: [{
148
+ type: Component,
149
+ args: [{
150
+ selector: 'fs-chip',
151
+ templateUrl: 'chip.component.html',
152
+ styleUrls: ['chip.component.scss'],
153
+ changeDetection: ChangeDetectionStrategy.OnPush,
154
+ }]
155
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.FsChipsService, decorators: [{
156
+ type: Optional
157
+ }] }]; }, propDecorators: { fsChip: [{
158
+ type: HostBinding,
159
+ args: ['class.fs-chip']
160
+ }], _outlined: [{
161
+ type: HostBinding,
162
+ args: ['class.outlined']
163
+ }], _selectable: [{
164
+ type: HostBinding,
165
+ args: ['class.selectable']
166
+ }], _image: [{
167
+ type: HostBinding,
168
+ args: ['class.imaged']
169
+ }], _selected: [{
170
+ type: HostBinding,
171
+ args: ['class.selected']
172
+ }], _removable: [{
173
+ type: HostBinding,
174
+ args: ['class.removable']
175
+ }], styleBackgroundColor: [{
176
+ type: HostBinding,
177
+ args: ['style.backgroundColor']
178
+ }], styleColor: [{
179
+ type: HostBinding,
180
+ args: ['style.color']
181
+ }], styleBorderColor: [{
182
+ type: HostBinding,
183
+ args: ['style.borderColor']
184
+ }], classSmall: [{
185
+ type: HostBinding,
186
+ args: ['class.small']
187
+ }], classTiny: [{
188
+ type: HostBinding,
189
+ args: ['class.tiny']
190
+ }], classMicro: [{
191
+ type: HostBinding,
192
+ args: ['class.micro']
193
+ }], setSize: [{
194
+ type: Input,
195
+ args: ['size']
196
+ }], click: [{
197
+ type: HostListener,
198
+ args: ['click']
199
+ }], value: [{
200
+ type: Input
201
+ }], backgroundColor: [{
202
+ type: Input
203
+ }], borderColor: [{
204
+ type: Input
205
+ }], color: [{
206
+ type: Input
207
+ }], outlined: [{
208
+ type: Input
209
+ }], removable: [{
210
+ type: Input
211
+ }], selectable: [{
212
+ type: Input
213
+ }], selected: [{
214
+ type: Input
215
+ }], image: [{
216
+ type: Input
217
+ }], selectedToggled: [{
218
+ type: Output
219
+ }], removed: [{
220
+ type: Output
221
+ }] } });
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvY2hpcC9jaGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jaGlwL2NoaXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUFFLGlCQUFpQixFQUMxQyxTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7O0FBUzlELE1BQU0sT0FBTyxlQUFlO0lBZ0gxQixZQUNVLE1BQXlCLEVBQ2IsTUFBc0I7UUFEbEMsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDYixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQWhIZCxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNoQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUN4QixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ2IseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDVixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFFNUIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFzQi9CLFVBQUssR0FBRyxJQUFJLENBQUM7UUFtRVosb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxD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O3NCQUFuQyxXQUFXO3VCQUFDLGVBQWU7Z0JBQ0csU0FBUztzQkFBdkMsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBQ0ksV0FBVztzQkFBM0MsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBQ0YsTUFBTTtzQkFBbEMsV0FBVzt1QkFBQyxjQUFjO2dCQUNJLFNBQVM7c0JBQXZDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUNHLFVBQVU7c0JBQXpDLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUNRLG9CQUFvQjtzQkFBekQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBQ1IsVUFBVTtzQkFBckMsV0FBVzt1QkFBQyxhQUFhO2dCQUNRLGdCQUFnQjtzQkFBakQsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBRUosVUFBVTtzQkFBckMsV0FBVzt1QkFBQyxhQUFhO2dCQUNDLFNBQVM7c0JBQW5DLFdBQVc7dUJBQUMsWUFBWTtnQkFDRyxVQUFVO3NCQUFyQyxXQUFXO3VCQUFDLGFBQWE7Z0JBRVAsT0FBTztzQkFBekIsS0FBSzt1QkFBQyxNQUFNO2dCQVFOLEtBQUs7c0JBRFgsWUFBWTt1QkFBQyxPQUFPO2dCQWFMLEtBQUs7c0JBQXBCLEtBQUs7Z0JBRU8sZUFBZTtzQkFBM0IsS0FBSztnQkFLTyxXQUFXO3NCQUF2QixLQUFLO2dCQUlPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBU08sUUFBUTtzQkFBcEIsS0FBSztnQkFTTyxTQUFTO3NCQUFyQixLQUFLO2dCQVVPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBUU8sUUFBUTtzQkFBcEIsS0FBSztnQkFVTyxLQUFLO3NCQUFqQixLQUFLO2dCQVVXLGVBQWU7c0JBQS9CLE1BQU07Z0JBQ1UsT0FBTztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZzQ2hpcHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hpcHMuc2VydmljZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtY2hpcCcsXG4gIHRlbXBsYXRlVXJsOiAnY2hpcC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydjaGlwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc0NoaXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mcy1jaGlwJykgZnNDaGlwID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5vdXRsaW5lZCcpIF9vdXRsaW5lZCA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNlbGVjdGFibGUnKSBfc2VsZWN0YWJsZSA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmltYWdlZCcpIF9pbWFnZSA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNlbGVjdGVkJykgX3NlbGVjdGVkID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3MucmVtb3ZhYmxlJykgX3JlbW92YWJsZSA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmJhY2tncm91bmRDb2xvcicpIHN0eWxlQmFja2dyb3VuZENvbG9yID0gJyc7XG4gIEBIb3N0QmluZGluZygnc3R5bGUuY29sb3InKSBzdHlsZUNvbG9yID0gJyc7XG4gIEBIb3N0QmluZGluZygnc3R5bGUuYm9yZGVyQ29sb3InKSBzdHlsZUJvcmRlckNvbG9yID0gJyc7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWFsbCcpIGNsYXNzU21hbGwgPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aW55JykgY2xhc3NUaW55ID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3MubWljcm8nKSBjbGFzc01pY3JvID0gZmFsc2U7XG5cbiAgQElucHV0KCdzaXplJykgc2V0IHNldFNpemUodmFsdWUpIHtcbiAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gICAgdGhpcy5jbGFzc1NtYWxsID0gdmFsdWUgPT09ICdzbWFsbCc7XG4gICAgdGhpcy5jbGFzc1RpbnkgPSB2YWx1ZSA9PT0gJ3RpbnknO1xuICAgIHRoaXMuY2xhc3NNaWNybyA9IHZhbHVlID09PSAnbWljcm8nO1xuICB9O1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgcHVibGljIGNsaWNrKCkge1xuXG4gICAgaWYgKHRoaXMuc2VsZWN0YWJsZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9ICF0aGlzLnNlbGVjdGVkO1xuICAgICAgdGhpcy5zZWxlY3RlZFRvZ2dsZWQuZW1pdCh7IHZhbHVlOiB0aGlzLnZhbHVlLCBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcblxuICAgICAgaWYgKHRoaXMuX2NoaXBzKSB7XG4gICAgICAgIHRoaXMuX2NoaXBzLnNlbGVjdGlvbkNoYW5nZWQodGhpcy5zZWxlY3RlZCwgdGhpcy52YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHZhbHVlID0gbnVsbDtcblxuICBASW5wdXQoKSBzZXQgYmFja2dyb3VuZENvbG9yKHZhbHVlKSB7XG4gICAgdGhpcy5fYmFja2dyb3VuZENvbG9yID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVTdHlsZXMoKTtcbiAgfTtcblxuICBASW5wdXQoKSBzZXQgYm9yZGVyQ29sb3IodmFsdWUpIHtcbiAgICB0aGlzLnN0eWxlQm9yZGVyQ29sb3IgPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZVN0eWxlcygpO1xuICB9XG4gIEBJbnB1dCgpIHNldCBjb2xvcih2YWx1ZSkge1xuICAgIHRoaXMuX2NvbG9yID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVTdHlsZXMoKTtcbiAgfVxuXG4gIGdldCBjb2xvcigpIHtcbiAgICByZXR1cm4gdGhpcy5fY29sb3I7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgb3V0bGluZWQodmFsdWUpIHtcbiAgICB0aGlzLl9vdXRsaW5lZCA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlU3R5bGVzKCk7XG4gIH07XG5cbiAgZ2V0IG91dGxpbmVkKCkge1xuICAgIHJldHVybiB0aGlzLl9vdXRsaW5lZDtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCByZW1vdmFibGUodmFsdWUpIHtcbiAgICB0aGlzLl9yZW1vdmFibGUgPSB2YWx1ZTtcblxuICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIGdldCByZW1vdmFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbW92YWJsZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBzZWxlY3RhYmxlKHZhbHVlKSB7XG4gICAgdGhpcy5fc2VsZWN0YWJsZSA9IHZhbHVlO1xuICB9O1xuXG4gIGdldCBzZWxlY3RhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RhYmxlO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IHNlbGVjdGVkKHZhbHVlKSB7XG4gICAgdGhpcy5fc2VsZWN0ZWQgPSB2YWx1ZTtcblxuICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIGdldCBzZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgaW1hZ2UodmFsdWUpIHtcbiAgICB0aGlzLl9pbWFnZSA9IHZhbHVlO1xuXG4gICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gIH07XG5cbiAgZ2V0IGltYWdlKCkge1xuICAgIHJldHVybiB0aGlzLl9pbWFnZTtcbiAgfVxuXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VsZWN0ZWRUb2dnbGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIHJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljICRkZXN0cm95ID0gbmV3IFN1YmplY3QoKTtcblxuICBwcml2YXRlIF9iYWNrZ3JvdW5kQ29sb3IgPSAnJztcbiAgcHJpdmF0ZSBfY29sb3IgPSAnJztcbiAgcHJpdmF0ZSBfc2l6ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfY2hpcHM6IEZzQ2hpcHNTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuX2NoaXBzKSB7XG4gICAgICB0aGlzLl9jaGlwcy5yZWdpc3Rlcih0aGlzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuX2NoaXBzKSB7XG4gICAgICB0aGlzLl9jaGlwcy5kZXN0cm95KHRoaXMpO1xuICAgIH1cblxuICAgIHRoaXMuJGRlc3Ryb3kubmV4dCgpO1xuICAgIHRoaXMuJGRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmUoZXZlbnQpIHtcbiAgICB0aGlzLnJlbW92ZWQubmV4dChldmVudCk7XG4gIH1cblxuICBwcml2YXRlIGlzQ29udHJhc3RZSVFCbGFjayhoZXhjb2xvcikge1xuICAgIGlmICghaGV4Y29sb3IpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGhleGNvbG9yID0gaGV4Y29sb3IucmVwbGFjZSgnIycsICcnKTtcbiAgICBjb25zdCByID0gcGFyc2VJbnQoaGV4Y29sb3Iuc3Vic3RyKDAsIDIpLCAxNik7XG4gICAgY29uc3QgZyA9IHBhcnNlSW50KGhleGNvbG9yLnN1YnN0cigyLCAyKSwgMTYpO1xuICAgIGNvbnN0IGIgPSBwYXJzZUludChoZXhjb2xvci5zdWJzdHIoNCwgMiksIDE2KTtcbiAgICBjb25zdCB5aXEgPSAoKHIgKiAyOTkpICsgKGcgKiA1ODcpICsgKGIgKiAxMTQpKSAvIDEwMDA7XG5cbiAgICByZXR1cm4geWlxID49IDIwMDtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU3R5bGVzKCkge1xuICAgIHRoaXMuc3R5bGVCYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLl9iYWNrZ3JvdW5kQ29sb3I7XG5cbiAgICBpZiAodGhpcy5fY29sb3IpIHtcbiAgICAgIHRoaXMuc3R5bGVDb2xvciA9IHRoaXMuX2NvbG9yO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuX291dGxpbmVkKSB7XG4gICAgICB0aGlzLnN0eWxlQ29sb3IgPSB0aGlzLmlzQ29udHJhc3RZSVFCbGFjayh0aGlzLnN0eWxlQmFja2dyb3VuZENvbG9yKSA/ICcjNDc0NzQ3JyA6ICcjZmZmJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fb3V0bGluZWQpIHtcbiAgICAgIHRoaXMuc3R5bGVCYWNrZ3JvdW5kQ29sb3IgPSAnJztcblxuICAgICAgaWYgKHRoaXMuX2NvbG9yKSB7XG4gICAgICAgIHRoaXMuc3R5bGVCb3JkZXJDb2xvciA9IHRoaXMuX2NvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8aW1nICpuZ0lmPVwiaW1hZ2VcIiBbc3JjXT1cImltYWdlXCIgY2xhc3M9XCJpbWFnZVwiIGFsdD1cIlwiPlxuPGRpdiBjbGFzcz1cImZzLWNoaXAtY29udGVudFwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJzZWxlY3RlZC1jaGVja1wiICpuZ0lmPVwic2VsZWN0ZWRcIj5cbiAgPG1hdC1pY29uIFtzdHlsZS5jb2xvcl09XCJzdHlsZUNvbG9yXCI+Y2hlY2s8L21hdC1pY29uPlxuPC9kaXY+XG48YSAqbmdJZj1cInJlbW92YWJsZVwiIGNsYXNzPVwicmVtb3ZlXCIgKGNsaWNrKT1cInJlbW92ZSgkZXZlbnQpXCI+XG4gIDxtYXQtaWNvbiBbc3R5bGUuY29sb3JdPVwic3R5bGVDb2xvclwiPmNhbmNlbDwvbWF0LWljb24+XG48L2E+XG4iXX0=