@firestitch/chip 12.0.0 → 13.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,531 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/material/icon'), require('@firestitch/label'), require('@angular/forms'), require('rxjs'), require('rxjs/operators'), require('lodash-es')) :
3
- typeof define === 'function' && define.amd ? define('@firestitch/chip', ['exports', '@angular/core', '@angular/common', '@angular/material/icon', '@firestitch/label', '@angular/forms', 'rxjs', 'rxjs/operators', 'lodash-es'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.firestitch = global.firestitch || {}, global.firestitch.chip = {}), global.ng.core, global.ng.common, global.ng.material.icon, global.label, global.ng.forms, global.rxjs, global.rxjs.operators, global.lodashEs));
5
- })(this, (function (exports, i0, i3, i2, label, forms, rxjs, operators, lodashEs) { 'use strict';
6
-
7
- function _interopNamespace(e) {
8
- if (e && e.__esModule) return e;
9
- var n = Object.create(null);
10
- if (e) {
11
- Object.keys(e).forEach(function (k) {
12
- if (k !== 'default') {
13
- var d = Object.getOwnPropertyDescriptor(e, k);
14
- Object.defineProperty(n, k, d.get ? d : {
15
- enumerable: true,
16
- get: function () { return e[k]; }
17
- });
18
- }
19
- });
20
- }
21
- n["default"] = e;
22
- return Object.freeze(n);
23
- }
24
-
25
- var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
- var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
27
- var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
28
-
29
- var FsChipsService = /** @class */ (function () {
30
- function FsChipsService() {
31
- this.chips = [];
32
- this._chipItemsChanged$ = new rxjs.Subject();
33
- this._selectionChanged$ = new rxjs.Subject();
34
- this._destroy$ = new rxjs.Subject();
35
- }
36
- Object.defineProperty(FsChipsService.prototype, "selectionChanged$", {
37
- get: function () {
38
- return this._selectionChanged$.
39
- pipe(operators.takeUntil(this._destroy$));
40
- },
41
- enumerable: false,
42
- configurable: true
43
- });
44
- Object.defineProperty(FsChipsService.prototype, "chipItemsChanged$", {
45
- get: function () {
46
- return this._chipItemsChanged$
47
- .pipe(operators.takeUntil(this._destroy$), operators.debounceTime(50));
48
- },
49
- enumerable: false,
50
- configurable: true
51
- });
52
- FsChipsService.prototype.ngOnDestroy = function () {
53
- this._destroy$.next();
54
- this._destroy$.complete();
55
- };
56
- FsChipsService.prototype.selectionChanged = function (selected, value) {
57
- this._selectionChanged$.next({
58
- selected: selected,
59
- value: value,
60
- });
61
- };
62
- FsChipsService.prototype.register = function (chip) {
63
- this.chips.push(chip);
64
- this._chipItemsChanged$.next();
65
- };
66
- FsChipsService.prototype.destroy = function (chip) {
67
- var index = this.chips.indexOf(chip);
68
- if (index > -1) {
69
- this.chips.splice(index, 1);
70
- this._chipItemsChanged$.next();
71
- }
72
- };
73
- return FsChipsService;
74
- }());
75
- FsChipsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsChipsService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
76
- FsChipsService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsChipsService });
77
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsChipsService, decorators: [{
78
- type: i0.Injectable
79
- }], ctorParameters: function () { return []; } });
80
-
81
- var FsChipsComponent = /** @class */ (function () {
82
- function FsChipsComponent(_cdRef, _chipsService) {
83
- this._cdRef = _cdRef;
84
- this._chipsService = _chipsService;
85
- this.classFsChips = true;
86
- this.classHasChips = false;
87
- this.multiple = true;
88
- this.onChange = function () { };
89
- this.onTouch = function () { };
90
- this._value = [];
91
- this._destroy$ = new rxjs.Subject();
92
- this.subscribeToItemsChange();
93
- this.subscribeToSelectionChange();
94
- }
95
- Object.defineProperty(FsChipsComponent.prototype, "chips", {
96
- get: function () {
97
- return this._chipsService.chips;
98
- },
99
- enumerable: false,
100
- configurable: true
101
- });
102
- Object.defineProperty(FsChipsComponent.prototype, "value", {
103
- get: function () {
104
- return this._value;
105
- },
106
- set: function (value) {
107
- if (this._value !== value) {
108
- this._value = value;
109
- this.onChange(this._value);
110
- this.onTouch(this._value);
111
- }
112
- },
113
- enumerable: false,
114
- configurable: true
115
- });
116
- FsChipsComponent.prototype.ngOnDestroy = function () {
117
- this._destroy$.next();
118
- this._destroy$.complete();
119
- };
120
- FsChipsComponent.prototype.writeValue = function (value) {
121
- if (value !== this.value) {
122
- this._value = value;
123
- }
124
- this.updateChips();
125
- };
126
- FsChipsComponent.prototype.registerOnChange = function (fn) { this.onChange = fn; };
127
- FsChipsComponent.prototype.registerOnTouched = function (fn) { this.onTouch = fn; };
128
- /**
129
- * Update ngModel value when selection changed
130
- */
131
- FsChipsComponent.prototype.subscribeToSelectionChange = function () {
132
- var _this = this;
133
- this._chipsService.selectionChanged$
134
- .pipe(operators.takeUntil(this._destroy$))
135
- .subscribe(function (_a) {
136
- var selected = _a.selected, value = _a.value;
137
- if (!selected) {
138
- var valueIndex = _this.value.findIndex(function (item) {
139
- return _this.compareFn(item, value);
140
- });
141
- if (valueIndex > -1) {
142
- _this.value.splice(valueIndex, 1);
143
- _this.onChange(_this._value);
144
- _this.onTouch(_this._value);
145
- }
146
- }
147
- else {
148
- _this.value.push(value);
149
- _this.onChange(_this._value);
150
- _this.onTouch(_this._value);
151
- }
152
- });
153
- };
154
- /**
155
- * Update selection if item was added or removed
156
- */
157
- FsChipsComponent.prototype.subscribeToItemsChange = function () {
158
- var _this = this;
159
- this._chipsService.chipItemsChanged$
160
- .pipe(operators.takeUntil(this._destroy$))
161
- .subscribe(function () {
162
- _this.classHasChips = !!_this._chipsService.chips.length;
163
- _this.updateChips();
164
- });
165
- };
166
- FsChipsComponent.prototype.compareFn = function (o1, o2) {
167
- if (this.compare) {
168
- return this.compare(o1, o2);
169
- }
170
- return o1 === o2;
171
- };
172
- FsChipsComponent.prototype.updateChips = function () {
173
- var _this = this;
174
- if (this.multiple && Array.isArray(this.value) && this.chips) {
175
- this.chips.forEach(function (chip) {
176
- chip.selected = lodashEs.find(_this.value, function (o) {
177
- return _this.compareFn(o, chip.value);
178
- }) !== undefined;
179
- });
180
- }
181
- this._cdRef.markForCheck();
182
- };
183
- return FsChipsComponent;
184
- }());
185
- FsChipsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsChipsComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: FsChipsService }], target: i0__namespace.ɵɵFactoryTarget.Component });
186
- FsChipsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsChipsComponent, selector: "fs-chips", inputs: { compare: "compare", multiple: "multiple" }, host: { properties: { "class.fs-chips": "this.classFsChips", "class.has-chips": "this.classHasChips" } }, providers: [
187
- {
188
- provide: forms.NG_VALUE_ACCESSOR,
189
- useExisting: i0.forwardRef(function () { return FsChipsComponent; }),
190
- multi: true,
191
- },
192
- FsChipsService,
193
- ], ngImport: i0__namespace, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
194
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsChipsComponent, decorators: [{
195
- type: i0.Component,
196
- args: [{
197
- selector: 'fs-chips',
198
- templateUrl: 'chips.component.html',
199
- styleUrls: ['chips.component.scss'],
200
- providers: [
201
- {
202
- provide: forms.NG_VALUE_ACCESSOR,
203
- useExisting: i0.forwardRef(function () { return FsChipsComponent; }),
204
- multi: true,
205
- },
206
- FsChipsService,
207
- ],
208
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
209
- }]
210
- }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }, { type: FsChipsService }]; }, propDecorators: { classFsChips: [{
211
- type: i0.HostBinding,
212
- args: ['class.fs-chips']
213
- }], classHasChips: [{
214
- type: i0.HostBinding,
215
- args: ['class.has-chips']
216
- }], compare: [{
217
- type: i0.Input
218
- }], multiple: [{
219
- type: i0.Input
220
- }] } });
221
-
222
- var FsChipComponent = /** @class */ (function () {
223
- function FsChipComponent(_cdRef, _chips) {
224
- this._cdRef = _cdRef;
225
- this._chips = _chips;
226
- this.fsChip = true;
227
- this._outlined = false;
228
- this._selectable = false;
229
- this._image = false;
230
- this._selected = false;
231
- this._removable = false;
232
- this.styleBackgroundColor = '';
233
- this.styleColor = '';
234
- this.styleBorderColor = '';
235
- this.classSmall = false;
236
- this.classTiny = false;
237
- this.classMicro = false;
238
- this.value = null;
239
- this.selectedToggled = new i0.EventEmitter();
240
- this.removed = new i0.EventEmitter();
241
- this.$destroy = new rxjs.Subject();
242
- this._backgroundColor = '';
243
- this._color = '';
244
- }
245
- Object.defineProperty(FsChipComponent.prototype, "setSize", {
246
- set: function (value) {
247
- this._size = value;
248
- this.classSmall = value === 'small';
249
- this.classTiny = value === 'tiny';
250
- this.classMicro = value === 'micro';
251
- },
252
- enumerable: false,
253
- configurable: true
254
- });
255
- ;
256
- FsChipComponent.prototype.click = function () {
257
- if (this.selectable) {
258
- this.selected = !this.selected;
259
- this.selectedToggled.emit({ value: this.value, selected: this.selected });
260
- if (this._chips) {
261
- this._chips.selectionChanged(this.selected, this.value);
262
- }
263
- }
264
- };
265
- Object.defineProperty(FsChipComponent.prototype, "backgroundColor", {
266
- set: function (value) {
267
- this._backgroundColor = value;
268
- this.updateStyles();
269
- },
270
- enumerable: false,
271
- configurable: true
272
- });
273
- ;
274
- Object.defineProperty(FsChipComponent.prototype, "borderColor", {
275
- set: function (value) {
276
- this.styleBorderColor = value;
277
- this.updateStyles();
278
- },
279
- enumerable: false,
280
- configurable: true
281
- });
282
- Object.defineProperty(FsChipComponent.prototype, "color", {
283
- get: function () {
284
- return this._color;
285
- },
286
- set: function (value) {
287
- this._color = value;
288
- this.updateStyles();
289
- },
290
- enumerable: false,
291
- configurable: true
292
- });
293
- Object.defineProperty(FsChipComponent.prototype, "outlined", {
294
- get: function () {
295
- return this._outlined;
296
- },
297
- set: function (value) {
298
- this._outlined = value;
299
- this.updateStyles();
300
- },
301
- enumerable: false,
302
- configurable: true
303
- });
304
- ;
305
- Object.defineProperty(FsChipComponent.prototype, "removable", {
306
- get: function () {
307
- return this._removable;
308
- },
309
- set: function (value) {
310
- this._removable = value;
311
- this._cdRef.markForCheck();
312
- },
313
- enumerable: false,
314
- configurable: true
315
- });
316
- ;
317
- Object.defineProperty(FsChipComponent.prototype, "selectable", {
318
- get: function () {
319
- return this._selectable;
320
- },
321
- set: function (value) {
322
- this._selectable = value;
323
- },
324
- enumerable: false,
325
- configurable: true
326
- });
327
- ;
328
- Object.defineProperty(FsChipComponent.prototype, "selected", {
329
- get: function () {
330
- return this._selected;
331
- },
332
- set: function (value) {
333
- this._selected = value;
334
- this._cdRef.markForCheck();
335
- },
336
- enumerable: false,
337
- configurable: true
338
- });
339
- ;
340
- Object.defineProperty(FsChipComponent.prototype, "image", {
341
- get: function () {
342
- return this._image;
343
- },
344
- set: function (value) {
345
- this._image = value;
346
- this._cdRef.markForCheck();
347
- },
348
- enumerable: false,
349
- configurable: true
350
- });
351
- ;
352
- FsChipComponent.prototype.ngOnInit = function () {
353
- if (this._chips) {
354
- this._chips.register(this);
355
- }
356
- };
357
- FsChipComponent.prototype.ngOnDestroy = function () {
358
- if (this._chips) {
359
- this._chips.destroy(this);
360
- }
361
- this.$destroy.next();
362
- this.$destroy.complete();
363
- };
364
- FsChipComponent.prototype.remove = function (event) {
365
- this.removed.next(event);
366
- };
367
- FsChipComponent.prototype.isContrastYIQBlack = function (hexcolor) {
368
- if (!hexcolor) {
369
- return true;
370
- }
371
- hexcolor = hexcolor.replace('#', '');
372
- var r = parseInt(hexcolor.substr(0, 2), 16);
373
- var g = parseInt(hexcolor.substr(2, 2), 16);
374
- var b = parseInt(hexcolor.substr(4, 2), 16);
375
- var yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;
376
- return yiq >= 200;
377
- };
378
- FsChipComponent.prototype.updateStyles = function () {
379
- this.styleBackgroundColor = this._backgroundColor;
380
- if (this._color) {
381
- this.styleColor = this._color;
382
- }
383
- else if (!this._outlined) {
384
- this.styleColor = this.isContrastYIQBlack(this.styleBackgroundColor) ? '#474747' : '#fff';
385
- }
386
- if (this._outlined) {
387
- this.styleBackgroundColor = '';
388
- if (this._color) {
389
- this.styleBorderColor = this._color;
390
- }
391
- }
392
- this._cdRef.markForCheck();
393
- };
394
- return FsChipComponent;
395
- }());
396
- FsChipComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsChipComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: FsChipsService, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
397
- FsChipComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, 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__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
398
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsChipComponent, decorators: [{
399
- type: i0.Component,
400
- args: [{
401
- selector: 'fs-chip',
402
- templateUrl: 'chip.component.html',
403
- styleUrls: ['chip.component.scss'],
404
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
405
- }]
406
- }], ctorParameters: function () {
407
- return [{ type: i0__namespace.ChangeDetectorRef }, { type: FsChipsService, decorators: [{
408
- type: i0.Optional
409
- }] }];
410
- }, propDecorators: { fsChip: [{
411
- type: i0.HostBinding,
412
- args: ['class.fs-chip']
413
- }], _outlined: [{
414
- type: i0.HostBinding,
415
- args: ['class.outlined']
416
- }], _selectable: [{
417
- type: i0.HostBinding,
418
- args: ['class.selectable']
419
- }], _image: [{
420
- type: i0.HostBinding,
421
- args: ['class.imaged']
422
- }], _selected: [{
423
- type: i0.HostBinding,
424
- args: ['class.selected']
425
- }], _removable: [{
426
- type: i0.HostBinding,
427
- args: ['class.removable']
428
- }], styleBackgroundColor: [{
429
- type: i0.HostBinding,
430
- args: ['style.backgroundColor']
431
- }], styleColor: [{
432
- type: i0.HostBinding,
433
- args: ['style.color']
434
- }], styleBorderColor: [{
435
- type: i0.HostBinding,
436
- args: ['style.borderColor']
437
- }], classSmall: [{
438
- type: i0.HostBinding,
439
- args: ['class.small']
440
- }], classTiny: [{
441
- type: i0.HostBinding,
442
- args: ['class.tiny']
443
- }], classMicro: [{
444
- type: i0.HostBinding,
445
- args: ['class.micro']
446
- }], setSize: [{
447
- type: i0.Input,
448
- args: ['size']
449
- }], click: [{
450
- type: i0.HostListener,
451
- args: ['click']
452
- }], value: [{
453
- type: i0.Input
454
- }], backgroundColor: [{
455
- type: i0.Input
456
- }], borderColor: [{
457
- type: i0.Input
458
- }], color: [{
459
- type: i0.Input
460
- }], outlined: [{
461
- type: i0.Input
462
- }], removable: [{
463
- type: i0.Input
464
- }], selectable: [{
465
- type: i0.Input
466
- }], selected: [{
467
- type: i0.Input
468
- }], image: [{
469
- type: i0.Input
470
- }], selectedToggled: [{
471
- type: i0.Output
472
- }], removed: [{
473
- type: i0.Output
474
- }] } });
475
-
476
- var FsChipModule = /** @class */ (function () {
477
- function FsChipModule() {
478
- }
479
- FsChipModule.forRoot = function () {
480
- return {
481
- ngModule: FsChipModule
482
- };
483
- };
484
- return FsChipModule;
485
- }());
486
- FsChipModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsChipModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
487
- FsChipModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsChipModule, declarations: [FsChipsComponent,
488
- FsChipComponent], imports: [i3.CommonModule,
489
- i2.MatIconModule,
490
- label.FsLabelModule], exports: [FsChipsComponent,
491
- FsChipComponent] });
492
- FsChipModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsChipModule, imports: [[
493
- i3.CommonModule,
494
- i2.MatIconModule,
495
- label.FsLabelModule
496
- ]] });
497
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsChipModule, decorators: [{
498
- type: i0.NgModule,
499
- args: [{
500
- imports: [
501
- i3.CommonModule,
502
- i2.MatIconModule,
503
- label.FsLabelModule
504
- ],
505
- exports: [
506
- FsChipsComponent,
507
- FsChipComponent,
508
- ],
509
- declarations: [
510
- FsChipsComponent,
511
- FsChipComponent,
512
- ]
513
- }]
514
- }] });
515
-
516
- /*
517
- * Public API Surface of fs-menu
518
- */
519
-
520
- /**
521
- * Generated bundle index. Do not edit.
522
- */
523
-
524
- exports.FsChipComponent = FsChipComponent;
525
- exports.FsChipModule = FsChipModule;
526
- exports.FsChipsComponent = FsChipsComponent;
527
-
528
- Object.defineProperty(exports, '__esModule', { value: true });
529
-
530
- }));
531
- //# sourceMappingURL=firestitch-chip.umd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"firestitch-chip.umd.js","sources":["../../src/app/services/chips.service.ts","../../src/app/components/chips/chips.component.ts","../../src/app/components/chips/chips.component.html","../../src/app/components/chip/chip.component.ts","../../src/app/components/chip/chip.component.html","../../src/app/fs-chip.module.ts","../../src/public_api.ts","../../src/firestitch-chip.ts"],"sourcesContent":["import { Injectable, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\n\n\n@Injectable()\nexport class FsChipsService implements OnDestroy {\n\n public chips = [];\n\n private _chipItemsChanged$ = new Subject();\n private _selectionChanged$ = new Subject();\n private _destroy$ = new Subject<void>();\n\n constructor() {}\n\n get selectionChanged$() {\n return this._selectionChanged$.\n pipe(\n takeUntil(this._destroy$),\n );\n }\n\n get chipItemsChanged$() {\n return this._chipItemsChanged$\n .pipe(\n takeUntil(this._destroy$),\n debounceTime(50),\n )\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public selectionChanged(selected: boolean, value: any) {\n this._selectionChanged$.next({\n selected: selected,\n value: value,\n })\n }\n\n public register(chip) {\n this.chips.push(chip);\n this._chipItemsChanged$.next();\n }\n\n public destroy(chip) {\n const index = this.chips.indexOf(chip);\n\n if (index > -1) {\n this.chips.splice(index, 1);\n this._chipItemsChanged$.next();\n }\n }\n}\n","import {\n ChangeDetectionStrategy, ChangeDetectorRef,\n Component,\n forwardRef,\n HostBinding,\n Input,\n OnDestroy,\n} from '@angular/core';\n\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { find } from 'lodash-es';\n\nimport { FsChipsService } from '../../services/chips.service';\n\n@Component({\n selector: 'fs-chips',\n templateUrl: 'chips.component.html',\n styleUrls: ['chips.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FsChipsComponent),\n multi: true,\n },\n FsChipsService,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsChipsComponent implements OnDestroy, ControlValueAccessor {\n\n @HostBinding('class.fs-chips') classFsChips = true;\n @HostBinding('class.has-chips') classHasChips = false;\n\n @Input()\n public compare;\n\n @Input() multiple = true;\n\n public onChange: any = () => {};\n public onTouch: any = () => {};\n\n private _value = [];\n private _destroy$ = new Subject();\n\n constructor(\n private _cdRef: ChangeDetectorRef,\n private _chipsService: FsChipsService,\n ) {\n this.subscribeToItemsChange();\n this.subscribeToSelectionChange();\n }\n\n get chips() {\n return this._chipsService.chips;\n }\n\n set value(value) {\n if (this._value !== value) {\n this._value = value;\n\n this.onChange(this._value);\n this.onTouch(this._value);\n }\n }\n\n get value() {\n return this._value;\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public writeValue(value: any) {\n if (value !== this.value) {\n this._value = value;\n }\n\n this.updateChips();\n }\n\n public registerOnChange(fn) { this.onChange = fn; }\n public registerOnTouched(fn) { this.onTouch = fn; }\n\n /**\n * Update ngModel value when selection changed\n */\n private subscribeToSelectionChange() {\n this._chipsService.selectionChanged$\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe(({ selected, value }) => {\n if (!selected) {\n const valueIndex = this.value.findIndex((item) => {\n return this.compareFn(item, value);\n });\n\n if (valueIndex > -1) {\n this.value.splice(valueIndex, 1);\n\n this.onChange(this._value);\n this.onTouch(this._value);\n }\n } else {\n this.value.push(value);\n\n this.onChange(this._value);\n this.onTouch(this._value);\n }\n });\n }\n\n /**\n * Update selection if item was added or removed\n */\n private subscribeToItemsChange() {\n this._chipsService.chipItemsChanged$\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => {\n this.classHasChips = !!this._chipsService.chips.length;\n this.updateChips();\n })\n }\n\n private compareFn(o1, o2) {\n if (this.compare) {\n return this.compare(o1, o2);\n }\n return o1 === o2;\n }\n\n private updateChips() {\n if (this.multiple && Array.isArray(this.value) && this.chips) {\n this.chips.forEach((chip) => {\n\n chip.selected = find(this.value, (o) => {\n return this.compareFn(o, chip.value);\n }) !== undefined;\n });\n }\n\n this._cdRef.markForCheck();\n }\n}\n","<ng-content></ng-content>\n","import {\n ChangeDetectionStrategy, ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { FsChipsService } from '../../services/chips.service';\n\n\n@Component({\n selector: 'fs-chip',\n templateUrl: 'chip.component.html',\n styleUrls: ['chip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsChipComponent implements OnInit, OnDestroy {\n\n @HostBinding('class.fs-chip') fsChip = true;\n @HostBinding('class.outlined') _outlined = false;\n @HostBinding('class.selectable') _selectable = false;\n @HostBinding('class.imaged') _image = false;\n @HostBinding('class.selected') _selected = false;\n @HostBinding('class.removable') _removable = false;\n @HostBinding('style.backgroundColor') styleBackgroundColor = '';\n @HostBinding('style.color') styleColor = '';\n @HostBinding('style.borderColor') styleBorderColor = '';\n\n @HostBinding('class.small') classSmall = false;\n @HostBinding('class.tiny') classTiny = false;\n @HostBinding('class.micro') classMicro = false;\n\n @Input('size') set setSize(value) {\n this._size = value;\n this.classSmall = value === 'small';\n this.classTiny = value === 'tiny';\n this.classMicro = value === 'micro';\n };\n\n @HostListener('click')\n public click() {\n\n if (this.selectable) {\n this.selected = !this.selected;\n this.selectedToggled.emit({ value: this.value, selected: this.selected });\n\n if (this._chips) {\n this._chips.selectionChanged(this.selected, this.value);\n }\n }\n }\n\n @Input() public value = null;\n\n @Input() set backgroundColor(value) {\n this._backgroundColor = value;\n this.updateStyles();\n };\n\n @Input() set borderColor(value) {\n this.styleBorderColor = value;\n this.updateStyles();\n }\n @Input() set color(value) {\n this._color = value;\n this.updateStyles();\n }\n\n get color() {\n return this._color;\n }\n\n @Input() set outlined(value) {\n this._outlined = value;\n this.updateStyles();\n };\n\n get outlined() {\n return this._outlined;\n }\n\n @Input() set removable(value) {\n this._removable = value;\n\n this._cdRef.markForCheck();\n };\n\n get removable() {\n return this._removable;\n }\n\n @Input() set selectable(value) {\n this._selectable = value;\n };\n\n get selectable() {\n return this._selectable;\n }\n\n @Input() set selected(value) {\n this._selected = value;\n\n this._cdRef.markForCheck();\n };\n\n get selected() {\n return this._selected;\n }\n\n @Input() set image(value) {\n this._image = value;\n\n this._cdRef.markForCheck();\n };\n\n get image() {\n return this._image;\n }\n\n @Output() public selectedToggled = new EventEmitter();\n @Output() public removed = new EventEmitter();\n\n public $destroy = new Subject();\n\n private _backgroundColor = '';\n private _color = '';\n private _size;\n\n constructor(\n private _cdRef: ChangeDetectorRef,\n @Optional() private _chips: FsChipsService\n ) {}\n\n public ngOnInit() {\n if (this._chips) {\n this._chips.register(this);\n }\n }\n\n public ngOnDestroy() {\n if (this._chips) {\n this._chips.destroy(this);\n }\n\n this.$destroy.next();\n this.$destroy.complete();\n }\n\n public remove(event) {\n this.removed.next(event);\n }\n\n private isContrastYIQBlack(hexcolor) {\n if (!hexcolor) {\n return true;\n }\n\n hexcolor = hexcolor.replace('#', '');\n const r = parseInt(hexcolor.substr(0, 2), 16);\n const g = parseInt(hexcolor.substr(2, 2), 16);\n const b = parseInt(hexcolor.substr(4, 2), 16);\n const yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;\n\n return yiq >= 200;\n }\n\n private updateStyles() {\n this.styleBackgroundColor = this._backgroundColor;\n\n if (this._color) {\n this.styleColor = this._color;\n } else if (!this._outlined) {\n this.styleColor = this.isContrastYIQBlack(this.styleBackgroundColor) ? '#474747' : '#fff';\n }\n\n if (this._outlined) {\n this.styleBackgroundColor = '';\n\n if (this._color) {\n this.styleBorderColor = this._color;\n }\n }\n\n this._cdRef.markForCheck();\n }\n}\n","<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","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FsLabelModule } from '@firestitch/label';\n\nimport { FsChipsComponent } from './components/chips/chips.component';\nimport { FsChipComponent } from './components/chip/chip.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatIconModule,\n FsLabelModule\n ],\n exports: [\n FsChipsComponent,\n FsChipComponent,\n ],\n declarations: [\n FsChipsComponent,\n FsChipComponent,\n ]\n})\nexport class FsChipModule {\n static forRoot(): ModuleWithProviders<FsChipModule> {\n return {\n ngModule: FsChipModule\n };\n }\n}\n","/*\n * Public API Surface of fs-menu\n */\n\nexport { FsChipModule } from './app/fs-chip.module';\n\n\nexport { FsChipsComponent } from './app/components/chips/chips.component';\nexport { FsChipComponent } from './app/components/chip/chip.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["Subject","takeUntil","debounceTime","i0","Injectable","find","i1.FsChipsService","NG_VALUE_ACCESSOR","forwardRef","Component","ChangeDetectionStrategy","HostBinding","Input","EventEmitter","i2","i3","Optional","HostListener","Output","CommonModule","MatIconModule","FsLabelModule","NgModule"],"mappings":"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"}