@firestitch/chip 18.0.15 → 18.0.17

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,4 +1,4 @@
1
- import { ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, QueryList, SimpleChanges, TemplateRef } from '@angular/core';
1
+ import { ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, QueryList, TemplateRef } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import { FsChipSuffixDirective } from '../../directives';
4
4
  import * as i0 from "@angular/core";
@@ -6,6 +6,7 @@ export declare class FsChipComponent implements OnDestroy, OnChanges {
6
6
  private _cdRef;
7
7
  templateRef: TemplateRef<void>;
8
8
  chipSuffixes: QueryList<FsChipSuffixDirective>;
9
+ chipSubcontentTemplateRef: TemplateRef<void>;
9
10
  selectable: boolean;
10
11
  removable: boolean;
11
12
  value: any;
@@ -14,25 +15,23 @@ export declare class FsChipComponent implements OnDestroy, OnChanges {
14
15
  backgroundColor: any;
15
16
  borderColor: any;
16
17
  color: any;
18
+ shape: 'round' | 'square';
17
19
  outlined: any;
18
20
  icon: string;
19
21
  image: string;
20
- set setSelected(value: boolean);
21
- get selected(): boolean;
22
+ selected: boolean;
23
+ size: 'small' | 'tiny' | 'micro' | 'large';
22
24
  selectedToggled: EventEmitter<any>;
23
25
  removed: EventEmitter<any>;
24
26
  styles: any;
25
- classes: any;
26
27
  hasChips: boolean;
27
28
  private _destroy$;
28
- private _selected;
29
29
  constructor(_cdRef: ChangeDetectorRef);
30
- set setSize(value: any);
31
30
  click(): void;
32
31
  select(): void;
33
32
  unselect(): void;
34
33
  get destroy$(): Observable<any>;
35
- ngOnChanges(changes: SimpleChanges): void;
34
+ ngOnChanges(): void;
36
35
  actionClick(action: any, event: MouseEvent): void;
37
36
  chipSuffixClick(chipSuffix: FsChipSuffixDirective, event: MouseEvent): void;
38
37
  ngOnDestroy(): void;
@@ -40,5 +39,5 @@ export declare class FsChipComponent implements OnDestroy, OnChanges {
40
39
  private _isContrastYIQBlack;
41
40
  private _updateStyles;
42
41
  static ɵfac: i0.ɵɵFactoryDeclaration<FsChipComponent, never>;
43
- static ɵcmp: i0.ɵɵComponentDeclaration<FsChipComponent, "fs-chip", never, { "selectable": { "alias": "selectable"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; "value": { "alias": "value"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "width": { "alias": "width"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "borderColor": { "alias": "borderColor"; "required": false; }; "color": { "alias": "color"; "required": false; }; "outlined": { "alias": "outlined"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "image": { "alias": "image"; "required": false; }; "setSelected": { "alias": "selected"; "required": false; }; "setSize": { "alias": "size"; "required": false; }; }, { "selectedToggled": "selectedToggled"; "removed": "removed"; }, ["chipSuffixes"], ["*"], false, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<FsChipComponent, "fs-chip", never, { "selectable": { "alias": "selectable"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; "value": { "alias": "value"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "width": { "alias": "width"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "borderColor": { "alias": "borderColor"; "required": false; }; "color": { "alias": "color"; "required": false; }; "shape": { "alias": "shape"; "required": false; }; "outlined": { "alias": "outlined"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "image": { "alias": "image"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "selectedToggled": "selectedToggled"; "removed": "removed"; }, ["chipSubcontentTemplateRef", "chipSuffixes"], ["*"], false, never>;
44
43
  }
@@ -5,7 +5,9 @@ export declare class FsChipSuffixComponent {
5
5
  link: string;
6
6
  linkTarget: string;
7
7
  color: string;
8
+ show: boolean;
9
+ tooltip: string;
8
10
  click: EventEmitter<MouseEvent>;
9
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FsChipSuffixComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<FsChipSuffixComponent, "fs-chip-suffix", never, { "icon": { "alias": "icon"; "required": false; }; "link": { "alias": "link"; "required": false; }; "linkTarget": { "alias": "linkTarget"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, { "click": "click"; }, never, ["*"], false, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<FsChipSuffixComponent, "fs-chip-suffix", never, { "icon": { "alias": "icon"; "required": false; }; "link": { "alias": "link"; "required": false; }; "linkTarget": { "alias": "linkTarget"; "required": false; }; "color": { "alias": "color"; "required": false; }; "show": { "alias": "show"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, { "click": "click"; }, never, ["*"], false, never>;
11
13
  }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class FsChipSubcontentDirective {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<FsChipSubcontentDirective, never>;
4
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsChipSubcontentDirective, "[fsChipSubtemplate]", never, {}, {}, never, never, false, never>;
5
+ }
@@ -6,11 +6,13 @@ export declare class FsChipSuffixDirective {
6
6
  linkTarget: string;
7
7
  color: string;
8
8
  data: any;
9
+ show: boolean;
10
+ tooltip: string;
9
11
  click: EventEmitter<{
10
12
  event: MouseEvent;
11
13
  data: any;
12
14
  }>;
13
15
  templateRef: TemplateRef<any>;
14
16
  static ɵfac: i0.ɵɵFactoryDeclaration<FsChipSuffixDirective, never>;
15
- static ɵdir: i0.ɵɵDirectiveDeclaration<FsChipSuffixDirective, "[fsChipSuffix]", never, { "icon": { "alias": "icon"; "required": false; }; "link": { "alias": "link"; "required": false; }; "linkTarget": { "alias": "linkTarget"; "required": false; }; "color": { "alias": "color"; "required": false; }; "data": { "alias": "data"; "required": false; }; }, { "click": "click"; }, never, never, false, never>;
17
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FsChipSuffixDirective, "[fsChipSuffix]", never, { "icon": { "alias": "icon"; "required": false; }; "link": { "alias": "link"; "required": false; }; "linkTarget": { "alias": "linkTarget"; "required": false; }; "color": { "alias": "color"; "required": false; }; "data": { "alias": "data"; "required": false; }; "show": { "alias": "show"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, { "click": "click"; }, never, never, false, never>;
16
18
  }
@@ -1 +1,2 @@
1
+ export * from './chip-subcontent.directive';
1
2
  export * from './chip-suffix.directive';
@@ -4,13 +4,15 @@ import * as i1 from "./components/chips/chips.component";
4
4
  import * as i2 from "./components/chip/chip.component";
5
5
  import * as i3 from "./components/chip-suffix/chip-suffix.component";
6
6
  import * as i4 from "./directives/chip-suffix.directive";
7
- import * as i5 from "@angular/common";
8
- import * as i6 from "@angular/cdk/drag-drop";
9
- import * as i7 from "@angular/material/icon";
10
- import * as i8 from "@firestitch/label";
7
+ import * as i5 from "./directives/chip-subcontent.directive";
8
+ import * as i6 from "@angular/common";
9
+ import * as i7 from "@angular/cdk/drag-drop";
10
+ import * as i8 from "@angular/material/icon";
11
+ import * as i9 from "@angular/material/tooltip";
12
+ import * as i10 from "@firestitch/label";
11
13
  export declare class FsChipModule {
12
14
  static forRoot(): ModuleWithProviders<FsChipModule>;
13
15
  static ɵfac: i0.ɵɵFactoryDeclaration<FsChipModule, never>;
14
- static ɵmod: i0.ɵɵNgModuleDeclaration<FsChipModule, [typeof i1.FsChipsComponent, typeof i2.FsChipComponent, typeof i3.FsChipSuffixComponent, typeof i4.FsChipSuffixDirective], [typeof i5.CommonModule, typeof i6.DragDropModule, typeof i7.MatIconModule, typeof i8.FsLabelModule], [typeof i1.FsChipsComponent, typeof i2.FsChipComponent, typeof i4.FsChipSuffixDirective]>;
16
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FsChipModule, [typeof i1.FsChipsComponent, typeof i2.FsChipComponent, typeof i3.FsChipSuffixComponent, typeof i4.FsChipSuffixDirective, typeof i5.FsChipSubcontentDirective], [typeof i6.CommonModule, typeof i7.DragDropModule, typeof i8.MatIconModule, typeof i9.MatTooltipModule, typeof i10.FsLabelModule], [typeof i1.FsChipsComponent, typeof i2.FsChipComponent, typeof i4.FsChipSuffixDirective, typeof i5.FsChipSubcontentDirective]>;
15
17
  static ɵinj: i0.ɵɵInjectorDeclaration<FsChipModule>;
16
18
  }
@@ -1,6 +1,6 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, EventEmitter, Input, Output, QueryList, TemplateRef, ViewChild, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, EventEmitter, Input, Output, QueryList, TemplateRef, ViewChild, } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
- import { FsChipSuffixDirective } from '../../directives';
3
+ import { FsChipSubcontentDirective, FsChipSuffixDirective } from '../../directives';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
6
  import * as i2 from "@angular/material/icon";
@@ -9,6 +9,7 @@ export class FsChipComponent {
9
9
  _cdRef;
10
10
  templateRef;
11
11
  chipSuffixes;
12
+ chipSubcontentTemplateRef;
12
13
  selectable = false;
13
14
  removable = true;
14
15
  value;
@@ -17,63 +18,38 @@ export class FsChipComponent {
17
18
  backgroundColor;
18
19
  borderColor;
19
20
  color;
21
+ shape = 'round';
20
22
  outlined;
21
23
  icon;
22
24
  image;
23
- set setSelected(value) {
24
- this.classes.selected = value;
25
- this._selected = value;
26
- }
27
- get selected() {
28
- return this._selected;
29
- }
25
+ selected;
26
+ size = 'large';
30
27
  selectedToggled = new EventEmitter();
31
28
  removed = new EventEmitter();
32
29
  styles = {};
33
- classes = {};
34
30
  hasChips;
35
31
  _destroy$ = new Subject();
36
- _selected = false;
37
32
  constructor(_cdRef) {
38
33
  this._cdRef = _cdRef;
39
34
  }
40
- set setSize(value) {
41
- this.classes['size-small'] = value === 'small';
42
- this.classes['size-tiny'] = value === 'tiny';
43
- this.classes['size-micro'] = value === 'micro';
44
- }
45
35
  click() {
46
36
  if (this.selectable) {
47
- this.setSelected = !this.selected;
37
+ this.selected = !this.selected;
48
38
  this.selectedToggled.emit({ value: this.value, selected: this.selected });
49
39
  }
50
40
  }
51
41
  select() {
52
- this.setSelected = true;
42
+ this.selected = true;
53
43
  this._cdRef.markForCheck();
54
44
  }
55
45
  unselect() {
56
- this.setSelected = false;
46
+ this.selected = false;
57
47
  this._cdRef.markForCheck();
58
48
  }
59
49
  get destroy$() {
60
50
  return this._destroy$.asObservable();
61
51
  }
62
- ngOnChanges(changes) {
63
- if (changes.selectable) {
64
- this.classes.selectable = this.selectable;
65
- }
66
- if (changes.removable) {
67
- this.classes.removable = this.removable;
68
- }
69
- if (changes.icon) {
70
- this.classes.iconed = !!this.icon;
71
- }
72
- if (changes.image) {
73
- this.classes.imaged = !!this.image;
74
- }
75
- // this.classes.actionable = this.chipSuffixes.length !== 0 ||
76
- // (this.removed.observed && this.removable);
52
+ ngOnChanges() {
77
53
  this._updateStyles();
78
54
  }
79
55
  actionClick(action, event) {
@@ -110,7 +86,6 @@ export class FsChipComponent {
110
86
  this.styles.backgroundColor = this.backgroundColor;
111
87
  this.styles.borderColor = this.borderColor;
112
88
  this.styles.width = this.width;
113
- this.classes.outlined = this.outlined;
114
89
  if (this.color) {
115
90
  this.styles.color = this.color;
116
91
  }
@@ -126,17 +101,20 @@ export class FsChipComponent {
126
101
  this._cdRef.markForCheck();
127
102
  }
128
103
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
129
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsChipComponent, selector: "fs-chip", inputs: { selectable: "selectable", removable: "removable", value: "value", maxWidth: "maxWidth", width: "width", backgroundColor: "backgroundColor", borderColor: "borderColor", color: "color", outlined: "outlined", icon: "icon", image: "image", setSelected: ["selected", "setSelected"], setSize: ["size", "setSize"] }, outputs: { selectedToggled: "selectedToggled", removed: "removed" }, queries: [{ propertyName: "chipSuffixes", predicate: FsChipSuffixDirective }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template>\n <div\n class=\"fs-chip\"\n (click)=\"click()\"\n [ngStyle]=\"styles\"\n [class.actionable]=\"chipSuffixes.length !== 0 || (removed.observed && removable)\"\n [ngClass]=\"classes\">\n <ng-container *ngIf=\"image\">\n <img\n [src]=\"image\"\n class=\"image\"\n alt=\"\">\n </ng-container>\n <ng-container *ngIf=\"icon\">\n <mat-icon class=\"icon\">\n {{ icon }}\n </mat-icon>\n </ng-container>\n <div\n class=\"fs-chip-content\"\n [ngStyle]=\"{ 'max-width': maxWidth }\">\n <ng-content></ng-content>\n </div>\n @if (selected) {\n <div class=\"selected-check\">\n <mat-icon [style.color]=\"styles.color\">\n check\n </mat-icon>\n </div>\n }\n @if (chipSuffixes.length !== 0 || (removed.observed && removable)) {\n <div class=\"actions\">\n @for (chipSuffix of chipSuffixes; track chipSuffix) {\n <fs-chip-suffix\n [ngClass]=\"{ 'clickable': chipSuffix.click.observers.length }\"\n [icon]=\"chipSuffix.icon\"\n [link]=\"chipSuffix.link\"\n [linkTarget]=\"chipSuffix.linkTarget\"\n [color]=\"styles.color\"\n (click)=\"chipSuffixClick(chipSuffix, $event)\">\n <ng-container *ngTemplateOutlet=\"chipSuffix.templateRef\"></ng-container>\n </fs-chip-suffix>\n }\n @if (removed.observed && removable) {\n <fs-chip-suffix\n [ngClass]=\"{ 'clickable': true }\"\n [icon]=\"'remove_circle_outline'\"\n [color]=\"styles.color\"\n (click)=\"remove($event)\">\n </fs-chip-suffix>\n }\n </div>\n }\n </div>\n</ng-template>\n@if (!hasChips) {\n <ng-container [ngTemplateOutlet]=\"templateRef\"></ng-container>\n}", styles: [":host{display:flex}.fs-chip{-webkit-user-select:none;user-select:none;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);display:inline-flex;padding:0 12px;border-radius:16px;align-items:center;cursor:default;min-height:30px;background-color:#e7e7e7;overflow:hidden}.fs-chip.imaged{overflow:visible;padding-left:0;vertical-align:middle}.fs-chip.imaged.outlined .image{margin-left:-2px}.fs-chip.iconed:not(.imaged){padding-left:5px}.fs-chip.actionable,.fs-chip.selected{padding-right:5px}.fs-chip.selectable{cursor:pointer}.fs-chip.outlined{background-color:transparent;border:1px solid #e0e0e0;box-sizing:border-box}.fs-chip .icon{margin-right:5px}.fs-chip ::ng-deep mat-icon{font-size:25px}.fs-chip .actions{display:flex;flex-direction:row;margin-left:5px}.fs-chip .image{height:30px;width:30px;border-radius:50%;object-fit:cover;margin-left:-1px;margin-right:8px}.fs-chip .fs-chip-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.fs-chip .selected-check{margin:0 5px;display:flex}.fs-chip fs-chip-suffix{display:flex;align-items:center}.fs-chip fs-chip-suffix+fs-chip-suffix{margin-left:3px}.fs-chip fs-chip-suffix.clickable{cursor:pointer}.fs-chip.size-micro{padding:0 5px;min-height:16px;line-height:normal}.fs-chip.size-micro .fs-chip-content{font-size:65%}.fs-chip.size-micro .image{height:100%;width:16px;margin-right:2px}.fs-chip.size-micro fs-chip-suffix{margin-left:1px}.fs-chip.size-micro .selected-check{margin:0 1px 0 0}.fs-chip.size-micro.imaged{padding-left:0}.fs-chip.size-micro.actionable,.fs-chip.size-micro.selected{padding-right:0}.fs-chip.size-micro ::ng-deep mat-icon{width:12px;height:12px;font-size:11px}.fs-chip.size-tiny{padding:0 6px;min-height:18px;line-height:normal}.fs-chip.size-tiny .fs-chip-content{font-size:75%}.fs-chip.size-tiny .image{height:18px;width:18px;margin-right:3px}.fs-chip.size-tiny.iconed:not(.imaged){padding-left:3px}.fs-chip.size-tiny fs-chip-suffix{margin-left:2px;margin-right:2px}.fs-chip.size-tiny .selected-check{margin:0 1px 0 0}.fs-chip.size-tiny.imaged{padding-left:0}.fs-chip.size-tiny.actionable,.fs-chip.size-tiny.selected{padding-right:0}.fs-chip.size-tiny ::ng-deep mat-icon{height:13px;width:13px;font-size:13px}.fs-chip.size-small{padding:0 8px;font-size:85%;min-height:25px;line-height:normal}.fs-chip.size-small .image{height:25px;width:25px;margin-right:5px}.fs-chip.size-small.iconed:not(.imaged){padding-left:4px}.fs-chip.size-small.imaged{padding-left:0}.fs-chip.size-small fs-chip-suffix{margin-right:2px}.fs-chip.size-small .selected-check{margin:0 2px 0 0}.fs-chip.size-small .selected-check mat-icon{transform:scale(.7)}.fs-chip.size-small.actionable,.fs-chip.size-small.selected{padding-right:0}.fs-chip.size-small ::ng-deep mat-icon{height:22px;width:22px;font-size:22px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.FsChipSuffixComponent, selector: "fs-chip-suffix", inputs: ["icon", "link", "linkTarget", "color"], outputs: ["click"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
104
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsChipComponent, selector: "fs-chip", inputs: { selectable: "selectable", removable: "removable", value: "value", maxWidth: "maxWidth", width: "width", backgroundColor: "backgroundColor", borderColor: "borderColor", color: "color", shape: "shape", outlined: "outlined", icon: "icon", image: "image", selected: "selected", size: "size" }, outputs: { selectedToggled: "selectedToggled", removed: "removed" }, queries: [{ propertyName: "chipSubcontentTemplateRef", first: true, predicate: FsChipSubcontentDirective, descendants: true, read: TemplateRef }, { propertyName: "chipSuffixes", predicate: FsChipSuffixDirective }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template>\n <div\n class=\"fs-chip\"\n (click)=\"click()\"\n [ngStyle]=\"styles\"\n [class.actionable]=\"chipSuffixes.length !== 0 || (removed.observed && removable)\"\n [class.round]=\"shape === 'round'\"\n [class.square]=\"shape === 'square'\"\n [class.size-small]=\"size === 'small'\"\n [class.size-tiny]=\"size === 'tiny'\"\n [class.size-micro]=\"size === 'micro'\"\n [class.size-large]=\"size === 'large'\"\n [class.selectable]=\"selectable\"\n [class.removable]=\"removable\"\n [class.iconed]=\"!!icon\"\n [class.imaged]=\"!!image\"\n [class.outlined]=\"outlined\"\n [class.selected]=\"selected\"\n [class.subcontented]=\"!!chipSubcontentTemplateRef\">\n @if (image) {\n <img\n [src]=\"image\"\n class=\"image\"\n alt=\"\">\n }\n @if (icon) {\n <mat-icon class=\"icon\">\n {{ icon }}\n </mat-icon>\n }\n <div\n class=\"fs-chip-content\"\n [ngStyle]=\"{ 'max-width': maxWidth }\">\n <ng-content></ng-content>\n @if (chipSubcontentTemplateRef) {\n <div class=\"fs-chip-subcontent\">\n <ng-container *ngTemplateOutlet=\"chipSubcontentTemplateRef\"></ng-container>\n </div>\n }\n </div>\n @if (selected) {\n <div class=\"selected-check\">\n <mat-icon [style.color]=\"styles.color\">\n check\n </mat-icon>\n </div>\n }\n @if (chipSuffixes.length !== 0 || (removed.observed && removable)) {\n <div class=\"actions\">\n @for (chipSuffix of chipSuffixes; track chipSuffix) {\n <fs-chip-suffix\n [ngClass]=\"{ 'clickable': chipSuffix.click.observers.length }\"\n [icon]=\"chipSuffix.icon\"\n [link]=\"chipSuffix.link\"\n [linkTarget]=\"chipSuffix.linkTarget\"\n [color]=\"chipSuffix.color || styles.color\"\n [show]=\"chipSuffix.show\"\n [tooltip]=\"chipSuffix.tooltip\"\n (click)=\"chipSuffixClick(chipSuffix, $event)\">\n <ng-container *ngTemplateOutlet=\"chipSuffix.templateRef\"></ng-container>\n </fs-chip-suffix>\n }\n @if (removed.observed && removable) {\n <fs-chip-suffix\n [ngClass]=\"{ 'clickable': true }\"\n [icon]=\"'remove_circle_outline'\"\n [color]=\"styles.color\"\n (click)=\"remove($event)\">\n </fs-chip-suffix>\n }\n </div>\n }\n </div>\n</ng-template>\n@if (!hasChips) {\n <ng-container [ngTemplateOutlet]=\"templateRef\"></ng-container>\n}", styles: [":host{display:flex}.fs-chip{-webkit-user-select:none;user-select:none;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;cursor:default;min-height:30px;background-color:#e7e7e7;overflow:hidden;padding:0 12px}.fs-chip.round{border-radius:16px}.fs-chip.round.imaged{overflow:visible;padding-left:0;vertical-align:middle}.fs-chip.round.imaged.outlined .image{margin-left:-2px}.fs-chip.subcontented{padding:3px 10px}.fs-chip.square{border-radius:5px}.fs-chip.square .image{padding:4px 0}.fs-chip.iconed:not(.imaged){padding-left:5px}.fs-chip.selectable{cursor:pointer}.fs-chip.outlined{background-color:transparent;border:1px solid #e0e0e0;box-sizing:border-box}.fs-chip .icon{margin-right:5px}.fs-chip ::ng-deep mat-icon{font-size:25px}.fs-chip .actions{display:flex;flex-direction:row;margin-left:5px}.fs-chip .image{height:30px;width:30px;border-radius:50%;object-fit:cover;margin-left:-1px;margin-right:8px}.fs-chip .fs-chip-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.fs-chip .fs-chip-content .fs-chip-subcontent{font-size:85%}.fs-chip .selected-check{margin:0 5px;display:flex}.fs-chip fs-chip-suffix{display:flex;align-items:center}.fs-chip fs-chip-suffix+fs-chip-suffix{margin-left:3px}.fs-chip fs-chip-suffix.clickable{cursor:pointer}.fs-chip.size-large.actionable,.fs-chip.size-large.selected{padding-right:5px}.fs-chip.size-micro{padding:0 5px;min-height:16px;line-height:normal}.fs-chip.size-micro .fs-chip-content{font-size:65%}.fs-chip.size-micro .image{height:100%;width:16px;margin-right:2px}.fs-chip.size-micro fs-chip-suffix{margin-left:1px}.fs-chip.size-micro .selected-check{margin:0 1px 0 0}.fs-chip.size-micro.round.imaged{padding-left:0}.fs-chip.size-micro ::ng-deep mat-icon{width:12px;height:12px;font-size:11px}.fs-chip.size-tiny{padding:0 6px;min-height:18px;line-height:normal}.fs-chip.size-tiny .fs-chip-content{font-size:75%}.fs-chip.size-tiny .image{height:18px;width:18px;margin-right:3px}.fs-chip.size-tiny.iconed:not(.imaged){padding-left:3px}.fs-chip.size-tiny fs-chip-suffix{margin-left:2px;margin-right:2px}.fs-chip.size-tiny .selected-check{margin:0 1px 0 0}.fs-chip.size-tiny.round.imaged{padding-left:0}.fs-chip.size-tiny ::ng-deep mat-icon{height:13px;width:13px;font-size:13px}.fs-chip.size-small{padding:0 8px;font-size:85%;min-height:25px;line-height:normal}.fs-chip.size-small .image{height:25px;width:25px;margin-right:5px}.fs-chip.size-small.iconed:not(.imaged){padding-left:4px}.fs-chip.size-small.round.imaged{padding-left:0}.fs-chip.size-small fs-chip-suffix{margin-right:2px}.fs-chip.size-small .selected-check{margin:0 2px 0 0}.fs-chip.size-small .selected-check mat-icon{transform:scale(.7)}.fs-chip.size-small ::ng-deep mat-icon{height:22px;width:22px;font-size:22px}.fs-chip:not(.size-large).actionable,.fs-chip:not(.size-large).selected{padding-right:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.FsChipSuffixComponent, selector: "fs-chip-suffix", inputs: ["icon", "link", "linkTarget", "color", "show", "tooltip"], outputs: ["click"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
130
105
  }
131
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipComponent, decorators: [{
132
107
  type: Component,
133
- args: [{ selector: 'fs-chip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template>\n <div\n class=\"fs-chip\"\n (click)=\"click()\"\n [ngStyle]=\"styles\"\n [class.actionable]=\"chipSuffixes.length !== 0 || (removed.observed && removable)\"\n [ngClass]=\"classes\">\n <ng-container *ngIf=\"image\">\n <img\n [src]=\"image\"\n class=\"image\"\n alt=\"\">\n </ng-container>\n <ng-container *ngIf=\"icon\">\n <mat-icon class=\"icon\">\n {{ icon }}\n </mat-icon>\n </ng-container>\n <div\n class=\"fs-chip-content\"\n [ngStyle]=\"{ 'max-width': maxWidth }\">\n <ng-content></ng-content>\n </div>\n @if (selected) {\n <div class=\"selected-check\">\n <mat-icon [style.color]=\"styles.color\">\n check\n </mat-icon>\n </div>\n }\n @if (chipSuffixes.length !== 0 || (removed.observed && removable)) {\n <div class=\"actions\">\n @for (chipSuffix of chipSuffixes; track chipSuffix) {\n <fs-chip-suffix\n [ngClass]=\"{ 'clickable': chipSuffix.click.observers.length }\"\n [icon]=\"chipSuffix.icon\"\n [link]=\"chipSuffix.link\"\n [linkTarget]=\"chipSuffix.linkTarget\"\n [color]=\"styles.color\"\n (click)=\"chipSuffixClick(chipSuffix, $event)\">\n <ng-container *ngTemplateOutlet=\"chipSuffix.templateRef\"></ng-container>\n </fs-chip-suffix>\n }\n @if (removed.observed && removable) {\n <fs-chip-suffix\n [ngClass]=\"{ 'clickable': true }\"\n [icon]=\"'remove_circle_outline'\"\n [color]=\"styles.color\"\n (click)=\"remove($event)\">\n </fs-chip-suffix>\n }\n </div>\n }\n </div>\n</ng-template>\n@if (!hasChips) {\n <ng-container [ngTemplateOutlet]=\"templateRef\"></ng-container>\n}", styles: [":host{display:flex}.fs-chip{-webkit-user-select:none;user-select:none;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);display:inline-flex;padding:0 12px;border-radius:16px;align-items:center;cursor:default;min-height:30px;background-color:#e7e7e7;overflow:hidden}.fs-chip.imaged{overflow:visible;padding-left:0;vertical-align:middle}.fs-chip.imaged.outlined .image{margin-left:-2px}.fs-chip.iconed:not(.imaged){padding-left:5px}.fs-chip.actionable,.fs-chip.selected{padding-right:5px}.fs-chip.selectable{cursor:pointer}.fs-chip.outlined{background-color:transparent;border:1px solid #e0e0e0;box-sizing:border-box}.fs-chip .icon{margin-right:5px}.fs-chip ::ng-deep mat-icon{font-size:25px}.fs-chip .actions{display:flex;flex-direction:row;margin-left:5px}.fs-chip .image{height:30px;width:30px;border-radius:50%;object-fit:cover;margin-left:-1px;margin-right:8px}.fs-chip .fs-chip-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.fs-chip .selected-check{margin:0 5px;display:flex}.fs-chip fs-chip-suffix{display:flex;align-items:center}.fs-chip fs-chip-suffix+fs-chip-suffix{margin-left:3px}.fs-chip fs-chip-suffix.clickable{cursor:pointer}.fs-chip.size-micro{padding:0 5px;min-height:16px;line-height:normal}.fs-chip.size-micro .fs-chip-content{font-size:65%}.fs-chip.size-micro .image{height:100%;width:16px;margin-right:2px}.fs-chip.size-micro fs-chip-suffix{margin-left:1px}.fs-chip.size-micro .selected-check{margin:0 1px 0 0}.fs-chip.size-micro.imaged{padding-left:0}.fs-chip.size-micro.actionable,.fs-chip.size-micro.selected{padding-right:0}.fs-chip.size-micro ::ng-deep mat-icon{width:12px;height:12px;font-size:11px}.fs-chip.size-tiny{padding:0 6px;min-height:18px;line-height:normal}.fs-chip.size-tiny .fs-chip-content{font-size:75%}.fs-chip.size-tiny .image{height:18px;width:18px;margin-right:3px}.fs-chip.size-tiny.iconed:not(.imaged){padding-left:3px}.fs-chip.size-tiny fs-chip-suffix{margin-left:2px;margin-right:2px}.fs-chip.size-tiny .selected-check{margin:0 1px 0 0}.fs-chip.size-tiny.imaged{padding-left:0}.fs-chip.size-tiny.actionable,.fs-chip.size-tiny.selected{padding-right:0}.fs-chip.size-tiny ::ng-deep mat-icon{height:13px;width:13px;font-size:13px}.fs-chip.size-small{padding:0 8px;font-size:85%;min-height:25px;line-height:normal}.fs-chip.size-small .image{height:25px;width:25px;margin-right:5px}.fs-chip.size-small.iconed:not(.imaged){padding-left:4px}.fs-chip.size-small.imaged{padding-left:0}.fs-chip.size-small fs-chip-suffix{margin-right:2px}.fs-chip.size-small .selected-check{margin:0 2px 0 0}.fs-chip.size-small .selected-check mat-icon{transform:scale(.7)}.fs-chip.size-small.actionable,.fs-chip.size-small.selected{padding-right:0}.fs-chip.size-small ::ng-deep mat-icon{height:22px;width:22px;font-size:22px}\n"] }]
108
+ args: [{ selector: 'fs-chip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template>\n <div\n class=\"fs-chip\"\n (click)=\"click()\"\n [ngStyle]=\"styles\"\n [class.actionable]=\"chipSuffixes.length !== 0 || (removed.observed && removable)\"\n [class.round]=\"shape === 'round'\"\n [class.square]=\"shape === 'square'\"\n [class.size-small]=\"size === 'small'\"\n [class.size-tiny]=\"size === 'tiny'\"\n [class.size-micro]=\"size === 'micro'\"\n [class.size-large]=\"size === 'large'\"\n [class.selectable]=\"selectable\"\n [class.removable]=\"removable\"\n [class.iconed]=\"!!icon\"\n [class.imaged]=\"!!image\"\n [class.outlined]=\"outlined\"\n [class.selected]=\"selected\"\n [class.subcontented]=\"!!chipSubcontentTemplateRef\">\n @if (image) {\n <img\n [src]=\"image\"\n class=\"image\"\n alt=\"\">\n }\n @if (icon) {\n <mat-icon class=\"icon\">\n {{ icon }}\n </mat-icon>\n }\n <div\n class=\"fs-chip-content\"\n [ngStyle]=\"{ 'max-width': maxWidth }\">\n <ng-content></ng-content>\n @if (chipSubcontentTemplateRef) {\n <div class=\"fs-chip-subcontent\">\n <ng-container *ngTemplateOutlet=\"chipSubcontentTemplateRef\"></ng-container>\n </div>\n }\n </div>\n @if (selected) {\n <div class=\"selected-check\">\n <mat-icon [style.color]=\"styles.color\">\n check\n </mat-icon>\n </div>\n }\n @if (chipSuffixes.length !== 0 || (removed.observed && removable)) {\n <div class=\"actions\">\n @for (chipSuffix of chipSuffixes; track chipSuffix) {\n <fs-chip-suffix\n [ngClass]=\"{ 'clickable': chipSuffix.click.observers.length }\"\n [icon]=\"chipSuffix.icon\"\n [link]=\"chipSuffix.link\"\n [linkTarget]=\"chipSuffix.linkTarget\"\n [color]=\"chipSuffix.color || styles.color\"\n [show]=\"chipSuffix.show\"\n [tooltip]=\"chipSuffix.tooltip\"\n (click)=\"chipSuffixClick(chipSuffix, $event)\">\n <ng-container *ngTemplateOutlet=\"chipSuffix.templateRef\"></ng-container>\n </fs-chip-suffix>\n }\n @if (removed.observed && removable) {\n <fs-chip-suffix\n [ngClass]=\"{ 'clickable': true }\"\n [icon]=\"'remove_circle_outline'\"\n [color]=\"styles.color\"\n (click)=\"remove($event)\">\n </fs-chip-suffix>\n }\n </div>\n }\n </div>\n</ng-template>\n@if (!hasChips) {\n <ng-container [ngTemplateOutlet]=\"templateRef\"></ng-container>\n}", styles: [":host{display:flex}.fs-chip{-webkit-user-select:none;user-select:none;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;cursor:default;min-height:30px;background-color:#e7e7e7;overflow:hidden;padding:0 12px}.fs-chip.round{border-radius:16px}.fs-chip.round.imaged{overflow:visible;padding-left:0;vertical-align:middle}.fs-chip.round.imaged.outlined .image{margin-left:-2px}.fs-chip.subcontented{padding:3px 10px}.fs-chip.square{border-radius:5px}.fs-chip.square .image{padding:4px 0}.fs-chip.iconed:not(.imaged){padding-left:5px}.fs-chip.selectable{cursor:pointer}.fs-chip.outlined{background-color:transparent;border:1px solid #e0e0e0;box-sizing:border-box}.fs-chip .icon{margin-right:5px}.fs-chip ::ng-deep mat-icon{font-size:25px}.fs-chip .actions{display:flex;flex-direction:row;margin-left:5px}.fs-chip .image{height:30px;width:30px;border-radius:50%;object-fit:cover;margin-left:-1px;margin-right:8px}.fs-chip .fs-chip-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.fs-chip .fs-chip-content .fs-chip-subcontent{font-size:85%}.fs-chip .selected-check{margin:0 5px;display:flex}.fs-chip fs-chip-suffix{display:flex;align-items:center}.fs-chip fs-chip-suffix+fs-chip-suffix{margin-left:3px}.fs-chip fs-chip-suffix.clickable{cursor:pointer}.fs-chip.size-large.actionable,.fs-chip.size-large.selected{padding-right:5px}.fs-chip.size-micro{padding:0 5px;min-height:16px;line-height:normal}.fs-chip.size-micro .fs-chip-content{font-size:65%}.fs-chip.size-micro .image{height:100%;width:16px;margin-right:2px}.fs-chip.size-micro fs-chip-suffix{margin-left:1px}.fs-chip.size-micro .selected-check{margin:0 1px 0 0}.fs-chip.size-micro.round.imaged{padding-left:0}.fs-chip.size-micro ::ng-deep mat-icon{width:12px;height:12px;font-size:11px}.fs-chip.size-tiny{padding:0 6px;min-height:18px;line-height:normal}.fs-chip.size-tiny .fs-chip-content{font-size:75%}.fs-chip.size-tiny .image{height:18px;width:18px;margin-right:3px}.fs-chip.size-tiny.iconed:not(.imaged){padding-left:3px}.fs-chip.size-tiny fs-chip-suffix{margin-left:2px;margin-right:2px}.fs-chip.size-tiny .selected-check{margin:0 1px 0 0}.fs-chip.size-tiny.round.imaged{padding-left:0}.fs-chip.size-tiny ::ng-deep mat-icon{height:13px;width:13px;font-size:13px}.fs-chip.size-small{padding:0 8px;font-size:85%;min-height:25px;line-height:normal}.fs-chip.size-small .image{height:25px;width:25px;margin-right:5px}.fs-chip.size-small.iconed:not(.imaged){padding-left:4px}.fs-chip.size-small.round.imaged{padding-left:0}.fs-chip.size-small fs-chip-suffix{margin-right:2px}.fs-chip.size-small .selected-check{margin:0 2px 0 0}.fs-chip.size-small .selected-check mat-icon{transform:scale(.7)}.fs-chip.size-small ::ng-deep mat-icon{height:22px;width:22px;font-size:22px}.fs-chip:not(.size-large).actionable,.fs-chip:not(.size-large).selected{padding-right:0}\n"] }]
134
109
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { templateRef: [{
135
110
  type: ViewChild,
136
111
  args: [TemplateRef, { static: true }]
137
112
  }], chipSuffixes: [{
138
113
  type: ContentChildren,
139
114
  args: [FsChipSuffixDirective]
115
+ }], chipSubcontentTemplateRef: [{
116
+ type: ContentChild,
117
+ args: [FsChipSubcontentDirective, { read: TemplateRef }]
140
118
  }], selectable: [{
141
119
  type: Input
142
120
  }], removable: [{
@@ -153,21 +131,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
153
131
  type: Input
154
132
  }], color: [{
155
133
  type: Input
134
+ }], shape: [{
135
+ type: Input
156
136
  }], outlined: [{
157
137
  type: Input
158
138
  }], icon: [{
159
139
  type: Input
160
140
  }], image: [{
161
141
  type: Input
162
- }], setSelected: [{
163
- type: Input,
164
- args: ['selected']
142
+ }], selected: [{
143
+ type: Input
144
+ }], size: [{
145
+ type: Input
165
146
  }], selectedToggled: [{
166
147
  type: Output
167
148
  }], removed: [{
168
149
  type: Output
169
- }], setSize: [{
170
- type: Input,
171
- args: ['size']
172
150
  }] } });
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvY2hpcC9jaGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jaGlwL2NoaXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUFFLGlCQUFpQixFQUMxQyxTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFFVCxXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBU3pELE1BQU0sT0FBTyxlQUFlO0lBMERoQjtJQXZESCxXQUFXLENBQW9CO0lBRy9CLFlBQVksQ0FBbUM7SUFHL0MsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUduQixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBR2pCLEtBQUssQ0FBTTtJQUdYLFFBQVEsQ0FBUztJQUdqQixLQUFLLENBQVM7SUFFTCxlQUFlLENBQUM7SUFFaEIsV0FBVyxDQUFDO0lBRVosS0FBSyxDQUFDO0lBRU4sUUFBUSxDQUFDO0lBR2xCLElBQUksQ0FBUztJQUdiLEtBQUssQ0FBUztJQUVyQixJQUNXLFdBQVcsQ0FBQyxLQUFjO1FBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRWdCLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFD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QyxxQkFBcUI7Z0JBSS9CLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLO2dCQUdVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBRVUsV0FBVztzQkFBMUIsS0FBSztnQkFFVSxLQUFLO3NCQUFwQixLQUFLO2dCQUVVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBR0MsSUFBSTtzQkFEVixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJSyxXQUFXO3NCQURyQixLQUFLO3VCQUFDLFVBQVU7Z0JBVUEsZUFBZTtzQkFBL0IsTUFBTTtnQkFDVSxPQUFPO3NCQUF2QixNQUFNO2dCQWFtQixPQUFPO3NCQUFoQyxLQUFLO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZzQ2hpcFN1ZmZpeERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWNoaXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hpcC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoaXAuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzQ2hpcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcblxuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KSBcbiAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICBAQ29udGVudENoaWxkcmVuKEZzQ2hpcFN1ZmZpeERpcmVjdGl2ZSkgXG4gIHB1YmxpYyBjaGlwU3VmZml4ZXM6IFF1ZXJ5TGlzdDxGc0NoaXBTdWZmaXhEaXJlY3RpdmU+O1xuXG4gIEBJbnB1dCgpIFxuICBwdWJsaWMgc2VsZWN0YWJsZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZW1vdmFibGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpIFxuICBwdWJsaWMgdmFsdWU6IGFueTtcblxuICBASW5wdXQoKSBcbiAgcHVibGljIG1heFdpZHRoOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgXG4gIHB1YmxpYyB3aWR0aDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBiYWNrZ3JvdW5kQ29sb3I7XG5cbiAgQElucHV0KCkgcHVibGljIGJvcmRlckNvbG9yO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjb2xvcjtcblxuICBASW5wdXQoKSBwdWJsaWMgb3V0bGluZWQ7XG5cbiAgQElucHV0KCkgXG4gIHB1YmxpYyBpY29uOiBzdHJpbmc7XG4gIFxuICBASW5wdXQoKSBcbiAgcHVibGljIGltYWdlOiBzdHJpbmc7XG4gIFxuICBASW5wdXQoJ3NlbGVjdGVkJykgXG4gIHB1YmxpYyBzZXQgc2V0U2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNsYXNzZXMuc2VsZWN0ZWQgPSB2YWx1ZTtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gIH1cblxuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdGVkVG9nZ2xlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHB1YmxpYyByZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBzdHlsZXM6IGFueSA9IHt9O1xuICBwdWJsaWMgY2xhc3NlczogYW55ID0ge307XG4gIHB1YmxpYyBoYXNDaGlwczogYm9vbGVhbjtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgX3NlbGVjdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgQElucHV0KCdzaXplJykgcHVibGljIHNldCBzZXRTaXplKHZhbHVlKSB7XG4gICAgdGhpcy5jbGFzc2VzWydzaXplLXNtYWxsJ10gPSB2YWx1ZSA9PT0gJ3NtYWxsJztcbiAgICB0aGlzLmNsYXNzZXNbJ3NpemUtdGlueSddID0gdmFsdWUgPT09ICd0aW55JztcbiAgICB0aGlzLmNsYXNzZXNbJ3NpemUtbWljcm8nXSA9IHZhbHVlID09PSAnbWljcm8nO1xuICB9XG5cbiAgcHVibGljIGNsaWNrKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWQgPSAhdGhpcy5zZWxlY3RlZDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRUb2dnbGVkLmVtaXQoeyB2YWx1ZTogdGhpcy52YWx1ZSwgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdCgpIHtcbiAgICB0aGlzLnNldFNlbGVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyB1bnNlbGVjdCgpIHtcbiAgICB0aGlzLnNldFNlbGVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlc3Ryb3kkKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rlc3Ryb3kkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZihjaGFuZ2VzLnNlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMuY2xhc3Nlcy5zZWxlY3RhYmxlID0gdGhpcy5zZWxlY3RhYmxlO1xuICAgIH1cblxuICAgIGlmKGNoYW5nZXMucmVtb3ZhYmxlKSB7XG4gICAgICB0aGlzLmNsYXNzZXMucmVtb3ZhYmxlID0gdGhpcy5yZW1vdmFibGU7XG4gICAgfVxuXG4gICAgaWYoY2hhbmdlcy5pY29uKSB7XG4gICAgICB0aGlzLmNsYXNzZXMuaWNvbmVkID0gISF0aGlzLmljb247XG4gICAgfVxuXG4gICAgaWYoY2hhbmdlcy5pbWFnZSkge1xuICAgICAgdGhpcy5jbGFzc2VzLmltYWdlZCA9ICEhdGhpcy5pbWFnZTtcbiAgICB9XG5cbiAgICAvLyB0aGlzLmNsYXNzZXMuYWN0aW9uYWJsZSA9IHRoaXMuY2hpcFN1ZmZpeGVzLmxlbmd0aCAhPT0gMCB8fCBcbiAgICAvLyAodGhpcy5yZW1vdmVkLm9ic2VydmVkICYmIHRoaXMucmVtb3ZhYmxlKTtcblxuICAgIHRoaXMuX3VwZGF0ZVN0eWxlcygpO1xuICB9XG5cbiAgcHVibGljIGFjdGlvbkNsaWNrKGFjdGlvbiwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZihhY3Rpb24uY2xpY2spIHtcbiAgICAgIGFjdGlvbi5jbGljayhldmVudCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNoaXBTdWZmaXhDbGljayhjaGlwU3VmZml4OiBGc0NoaXBTdWZmaXhEaXJlY3RpdmUsIGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY2hpcFN1ZmZpeC5jbGljay5lbWl0KHsgZXZlbnQsIGRhdGE6IGNoaXBTdWZmaXguZGF0YSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5yZW1vdmVkLm5leHQoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNDb250cmFzdFlJUUJsYWNrKGhleGNvbG9yKSB7XG4gICAgaWYgKCFoZXhjb2xvcikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaGV4Y29sb3IgPSBoZXhjb2xvci5yZXBsYWNlKCcjJywgJycpO1xuICAgIGNvbnN0IHIgPSBwYXJzZUludChoZXhjb2xvci5zdWJzdHIoMCwgMiksIDE2KTtcbiAgICBjb25zdCBnID0gcGFyc2VJbnQoaGV4Y29sb3Iuc3Vic3RyKDIsIDIpLCAxNik7XG4gICAgY29uc3QgYiA9IHBhcnNlSW50KGhleGNvbG9yLnN1YnN0cig0LCAyKSwgMTYpO1xuICAgIGNvbnN0IHlpcSA9ICgociAqIDI5OSkgKyAoZyAqIDU4NykgKyAoYiAqIDExNCkpIC8gMTAwMDtcblxuICAgIHJldHVybiB5aXEgPj0gMjAwO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlU3R5bGVzKCkge1xuICAgIHRoaXMuc3R5bGVzLmJhY2tncm91bmRDb2xvciA9IHRoaXMuYmFja2dyb3VuZENvbG9yO1xuICAgIHRoaXMuc3R5bGVzLmJvcmRlckNvbG9yID0gdGhpcy5ib3JkZXJDb2xvcjtcbiAgICB0aGlzLnN0eWxlcy53aWR0aCA9IHRoaXMud2lkdGg7XG4gICAgdGhpcy5jbGFzc2VzLm91dGxpbmVkID0gdGhpcy5vdXRsaW5lZDtcblxuICAgIGlmICh0aGlzLmNvbG9yKSB7XG4gICAgICB0aGlzLnN0eWxlcy5jb2xvciA9IHRoaXMuY29sb3I7XG4gICAgfSBlbHNlIGlmICghdGhpcy5vdXRsaW5lZCkge1xuICAgICAgdGhpcy5zdHlsZXMuY29sb3IgPSB0aGlzLl9pc0NvbnRyYXN0WUlRQmxhY2sodGhpcy5iYWNrZ3JvdW5kQ29sb3IpID8gJyM0NzQ3NDcnIDogJyNmZmYnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm91dGxpbmVkKSB7XG4gICAgICB0aGlzLnN0eWxlcy5iYWNrZ3JvdW5kQ29sb3IgPSAnJztcblxuICAgICAgaWYgKHRoaXMuY29sb3IpIHtcbiAgICAgICAgdGhpcy5zdHlsZXMuYm9yZGVyQ29sb3IgPSB0aGlzLmNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGU+XG4gIDxkaXZcbiAgICAgIGNsYXNzPVwiZnMtY2hpcFwiXG4gICAgICAoY2xpY2spPVwiY2xpY2soKVwiXG4gICAgICBbbmdTdHlsZV09XCJzdHlsZXNcIlxuICAgICAgW2NsYXNzLmFjdGlvbmFibGVdPVwiY2hpcFN1ZmZpeGVzLmxlbmd0aCAhPT0gMCB8fCAocmVtb3ZlZC5vYnNlcnZlZCAmJiByZW1vdmFibGUpXCJcbiAgICAgIFtuZ0NsYXNzXT1cImNsYXNzZXNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW1hZ2VcIj5cbiAgICAgIDxpbWdcbiAgICAgICAgW3NyY109XCJpbWFnZVwiXG4gICAgICAgIGNsYXNzPVwiaW1hZ2VcIlxuICAgICAgICBhbHQ9XCJcIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaWNvblwiPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvblwiPlxuICAgICAgICB7eyBpY29uIH19XG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmcy1jaGlwLWNvbnRlbnRcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7ICdtYXgtd2lkdGgnOiBtYXhXaWR0aCB9XCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgQGlmIChzZWxlY3RlZCkge1xuICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLWNoZWNrXCI+XG4gICAgICAgIDxtYXQtaWNvbiBbc3R5bGUuY29sb3JdPVwic3R5bGVzLmNvbG9yXCI+XG4gICAgICAgICAgY2hlY2tcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAaWYgKGNoaXBTdWZmaXhlcy5sZW5ndGggIT09IDAgfHwgKHJlbW92ZWQub2JzZXJ2ZWQgJiYgcmVtb3ZhYmxlKSkge1xuICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbnNcIj5cbiAgICAgICAgQGZvciAoY2hpcFN1ZmZpeCBvZiBjaGlwU3VmZml4ZXM7IHRyYWNrIGNoaXBTdWZmaXgpIHtcbiAgICAgICAgICA8ZnMtY2hpcC1zdWZmaXhcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnY2xpY2thYmxlJzogY2hpcFN1ZmZpeC5jbGljay5vYnNlcnZlcnMubGVuZ3RoIH1cIlxuICAgICAgICAgICAgICBbaWNvbl09XCJjaGlwU3VmZml4Lmljb25cIlxuICAgICAgICAgICAgICBbbGlua109XCJjaGlwU3VmZml4LmxpbmtcIlxuICAgICAgICAgICAgICBbbGlua1RhcmdldF09XCJjaGlwU3VmZml4LmxpbmtUYXJnZXRcIlxuICAgICAgICAgICAgICBbY29sb3JdPVwic3R5bGVzLmNvbG9yXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNoaXBTdWZmaXhDbGljayhjaGlwU3VmZml4LCAkZXZlbnQpXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2hpcFN1ZmZpeC50ZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZnMtY2hpcC1zdWZmaXg+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChyZW1vdmVkLm9ic2VydmVkICYmIHJlbW92YWJsZSkge1xuICAgICAgICAgIDxmcy1jaGlwLXN1ZmZpeFxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnY2xpY2thYmxlJzogdHJ1ZSB9XCJcbiAgICAgICAgICAgIFtpY29uXT1cIidyZW1vdmVfY2lyY2xlX291dGxpbmUnXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJzdHlsZXMuY29sb3JcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZSgkZXZlbnQpXCI+XG4gICAgICAgICAgPC9mcy1jaGlwLXN1ZmZpeD5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5AaWYgKCFoYXNDaGlwcykge1xuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG59Il19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvY2hpcC9jaGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jaGlwL2NoaXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUFFLGlCQUFpQixFQUMxQyxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQVNwRixNQUFNLE9BQU8sZUFBZTtJQXVEaEI7SUFwREgsV0FBVyxDQUFvQjtJQUcvQixZQUFZLENBQW1DO0lBRy9DLHlCQUF5QixDQUFvQjtJQUc3QyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBR25CLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFHakIsS0FBSyxDQUFNO0lBR1gsUUFBUSxDQUFTO0lBR2pCLEtBQUssQ0FBUztJQUVMLGVBQWUsQ0FBQztJQUVoQixXQUFXLENBQUM7SUFFWixLQUFLLENBQUM7SUFFTixLQUFLLEdBQXVCLE9BQU8sQ0FBQztJQUVwQyxRQUFRLENBQUM7SUFHbEIsSUFBSSxDQUFTO0lBR2IsS0FBSyxDQUFTO0lBRUwsUUFBUSxDQUFVO0lBRWxCLElBQUksR0FBeUMsT0FBTyxDQUFDO0lBRXBELGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3JDLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRXZDLE1BQU0sR0FBUSxFQUFFLENBQUM7SUFD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QUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJakMsWUFBWTtzQkFEbEIsZUFBZTt1QkFBQyxxQkFBcUI7Z0JBSS9CLHlCQUF5QjtzQkFEL0IsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBSXZELFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLO2dCQUdVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBRVUsV0FBVztzQkFBMUIsS0FBSztnQkFFVSxLQUFLO3NCQUFwQixLQUFLO2dCQUVVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBRVUsUUFBUTtzQkFBdkIsS0FBSztnQkFHQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLO2dCQUdVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBRVUsSUFBSTtzQkFBbkIsS0FBSztnQkFFVyxlQUFlO3NCQUEvQixNQUFNO2dCQUNVLE9BQU87c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRnNDaGlwU3ViY29udGVudERpcmVjdGl2ZSwgRnNDaGlwU3VmZml4RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtY2hpcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGlwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hpcC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNDaGlwQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuXG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pIFxuICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRnNDaGlwU3VmZml4RGlyZWN0aXZlKSBcbiAgcHVibGljIGNoaXBTdWZmaXhlczogUXVlcnlMaXN0PEZzQ2hpcFN1ZmZpeERpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZChGc0NoaXBTdWJjb250ZW50RGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHB1YmxpYyBjaGlwU3ViY29udGVudFRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICBASW5wdXQoKSBcbiAgcHVibGljIHNlbGVjdGFibGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVtb3ZhYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKSBcbiAgcHVibGljIHZhbHVlOiBhbnk7XG5cbiAgQElucHV0KCkgXG4gIHB1YmxpYyBtYXhXaWR0aDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIFxuICBwdWJsaWMgd2lkdGg6IHN0cmluZztcblxuICBASW5wdXQoKSBwdWJsaWMgYmFja2dyb3VuZENvbG9yO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBib3JkZXJDb2xvcjtcblxuICBASW5wdXQoKSBwdWJsaWMgY29sb3I7XG5cbiAgQElucHV0KCkgcHVibGljIHNoYXBlOiAncm91bmQnIHwgJ3NxdWFyZScgPSAncm91bmQnO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBvdXRsaW5lZDtcblxuICBASW5wdXQoKSBcbiAgcHVibGljIGljb246IHN0cmluZztcbiAgXG4gIEBJbnB1dCgpIFxuICBwdWJsaWMgaW1hZ2U6IHN0cmluZztcbiAgXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZDogYm9vbGVhbjtcblxuICBASW5wdXQoKSBwdWJsaWMgc2l6ZTogJ3NtYWxsJyB8ICd0aW55JyB8ICdtaWNybycgfCAnbGFyZ2UnID0gJ2xhcmdlJztcblxuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdGVkVG9nZ2xlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHB1YmxpYyByZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBzdHlsZXM6IGFueSA9IHt9O1xuICBwdWJsaWMgaGFzQ2hpcHM6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIHB1YmxpYyBjbGljaygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RhYmxlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkID0gIXRoaXMuc2VsZWN0ZWQ7XG4gICAgICB0aGlzLnNlbGVjdGVkVG9nZ2xlZC5lbWl0KHsgdmFsdWU6IHRoaXMudmFsdWUsIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3QoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgdW5zZWxlY3QoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBkZXN0cm95JCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9kZXN0cm95JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLl91cGRhdGVTdHlsZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBhY3Rpb25DbGljayhhY3Rpb24sIGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYoYWN0aW9uLmNsaWNrKSB7XG4gICAgICBhY3Rpb24uY2xpY2soZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjaGlwU3VmZml4Q2xpY2soY2hpcFN1ZmZpeDogRnNDaGlwU3VmZml4RGlyZWN0aXZlLCBldmVudDogTW91c2VFdmVudCkge1xuICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGNoaXBTdWZmaXguY2xpY2suZW1pdCh7IGV2ZW50LCBkYXRhOiBjaGlwU3VmZml4LmRhdGEgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dChudWxsKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZShldmVudDogTW91c2VFdmVudCkge1xuICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMucmVtb3ZlZC5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzQ29udHJhc3RZSVFCbGFjayhoZXhjb2xvcikge1xuICAgIGlmICghaGV4Y29sb3IpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGhleGNvbG9yID0gaGV4Y29sb3IucmVwbGFjZSgnIycsICcnKTtcbiAgICBjb25zdCByID0gcGFyc2VJbnQoaGV4Y29sb3Iuc3Vic3RyKDAsIDIpLCAxNik7XG4gICAgY29uc3QgZyA9IHBhcnNlSW50KGhleGNvbG9yLnN1YnN0cigyLCAyKSwgMTYpO1xuICAgIGNvbnN0IGIgPSBwYXJzZUludChoZXhjb2xvci5zdWJzdHIoNCwgMiksIDE2KTtcbiAgICBjb25zdCB5aXEgPSAoKHIgKiAyOTkpICsgKGcgKiA1ODcpICsgKGIgKiAxMTQpKSAvIDEwMDA7XG5cbiAgICByZXR1cm4geWlxID49IDIwMDtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVN0eWxlcygpIHtcbiAgICB0aGlzLnN0eWxlcy5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLmJhY2tncm91bmRDb2xvcjtcbiAgICB0aGlzLnN0eWxlcy5ib3JkZXJDb2xvciA9IHRoaXMuYm9yZGVyQ29sb3I7XG4gICAgdGhpcy5zdHlsZXMud2lkdGggPSB0aGlzLndpZHRoO1xuXG4gICAgaWYgKHRoaXMuY29sb3IpIHtcbiAgICAgIHRoaXMuc3R5bGVzLmNvbG9yID0gdGhpcy5jb2xvcjtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLm91dGxpbmVkKSB7XG4gICAgICB0aGlzLnN0eWxlcy5jb2xvciA9IHRoaXMuX2lzQ29udHJhc3RZSVFCbGFjayh0aGlzLmJhY2tncm91bmRDb2xvcikgPyAnIzQ3NDc0NycgOiAnI2ZmZic7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3V0bGluZWQpIHtcbiAgICAgIHRoaXMuc3R5bGVzLmJhY2tncm91bmRDb2xvciA9ICcnO1xuXG4gICAgICBpZiAodGhpcy5jb2xvcikge1xuICAgICAgICB0aGlzLnN0eWxlcy5ib3JkZXJDb2xvciA9IHRoaXMuY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZT5cbiAgPGRpdlxuICAgICAgY2xhc3M9XCJmcy1jaGlwXCJcbiAgICAgIChjbGljayk9XCJjbGljaygpXCJcbiAgICAgIFtuZ1N0eWxlXT1cInN0eWxlc1wiXG4gICAgICBbY2xhc3MuYWN0aW9uYWJsZV09XCJjaGlwU3VmZml4ZXMubGVuZ3RoICE9PSAwIHx8IChyZW1vdmVkLm9ic2VydmVkICYmIHJlbW92YWJsZSlcIlxuICAgICAgW2NsYXNzLnJvdW5kXT1cInNoYXBlID09PSAncm91bmQnXCJcbiAgICAgIFtjbGFzcy5zcXVhcmVdPVwic2hhcGUgPT09ICdzcXVhcmUnXCJcbiAgICAgIFtjbGFzcy5zaXplLXNtYWxsXT1cInNpemUgPT09ICdzbWFsbCdcIlxuICAgICAgW2NsYXNzLnNpemUtdGlueV09XCJzaXplID09PSAndGlueSdcIlxuICAgICAgW2NsYXNzLnNpemUtbWljcm9dPVwic2l6ZSA9PT0gJ21pY3JvJ1wiXG4gICAgICBbY2xhc3Muc2l6ZS1sYXJnZV09XCJzaXplID09PSAnbGFyZ2UnXCJcbiAgICAgIFtjbGFzcy5zZWxlY3RhYmxlXT1cInNlbGVjdGFibGVcIlxuICAgICAgW2NsYXNzLnJlbW92YWJsZV09XCJyZW1vdmFibGVcIlxuICAgICAgW2NsYXNzLmljb25lZF09XCIhIWljb25cIlxuICAgICAgW2NsYXNzLmltYWdlZF09XCIhIWltYWdlXCJcbiAgICAgIFtjbGFzcy5vdXRsaW5lZF09XCJvdXRsaW5lZFwiXG4gICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWRcIlxuICAgICAgW2NsYXNzLnN1YmNvbnRlbnRlZF09XCIhIWNoaXBTdWJjb250ZW50VGVtcGxhdGVSZWZcIj5cbiAgICBAaWYgKGltYWdlKSB7XG4gICAgICA8aW1nXG4gICAgICAgIFtzcmNdPVwiaW1hZ2VcIlxuICAgICAgICBjbGFzcz1cImltYWdlXCJcbiAgICAgICAgYWx0PVwiXCI+XG4gICAgfVxuICAgIEBpZiAoaWNvbikge1xuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvblwiPlxuICAgICAgICB7eyBpY29uIH19XG4gICAgICA8L21hdC1pY29uPlxuICAgIH1cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZnMtY2hpcC1jb250ZW50XCJcbiAgICAgICAgW25nU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogbWF4V2lkdGggfVwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgQGlmIChjaGlwU3ViY29udGVudFRlbXBsYXRlUmVmKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcy1jaGlwLXN1YmNvbnRlbnRcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2hpcFN1YmNvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICBAaWYgKHNlbGVjdGVkKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtY2hlY2tcIj5cbiAgICAgICAgPG1hdC1pY29uIFtzdHlsZS5jb2xvcl09XCJzdHlsZXMuY29sb3JcIj5cbiAgICAgICAgICBjaGVja1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAoY2hpcFN1ZmZpeGVzLmxlbmd0aCAhPT0gMCB8fCAocmVtb3ZlZC5vYnNlcnZlZCAmJiByZW1vdmFibGUpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgICAgICBAZm9yIChjaGlwU3VmZml4IG9mIGNoaXBTdWZmaXhlczsgdHJhY2sgY2hpcFN1ZmZpeCkge1xuICAgICAgICAgIDxmcy1jaGlwLXN1ZmZpeFxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdjbGlja2FibGUnOiBjaGlwU3VmZml4LmNsaWNrLm9ic2VydmVycy5sZW5ndGggfVwiXG4gICAgICAgICAgICAgIFtpY29uXT1cImNoaXBTdWZmaXguaWNvblwiXG4gICAgICAgICAgICAgIFtsaW5rXT1cImNoaXBTdWZmaXgubGlua1wiXG4gICAgICAgICAgICAgIFtsaW5rVGFyZ2V0XT1cImNoaXBTdWZmaXgubGlua1RhcmdldFwiXG4gICAgICAgICAgICAgIFtjb2xvcl09XCJjaGlwU3VmZml4LmNvbG9yIHx8IHN0eWxlcy5jb2xvclwiXG4gICAgICAgICAgICAgIFtzaG93XT1cImNoaXBTdWZmaXguc2hvd1wiXG4gICAgICAgICAgICAgIFt0b29sdGlwXT1cImNoaXBTdWZmaXgudG9vbHRpcFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjaGlwU3VmZml4Q2xpY2soY2hpcFN1ZmZpeCwgJGV2ZW50KVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNoaXBTdWZmaXgudGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2ZzLWNoaXAtc3VmZml4PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAocmVtb3ZlZC5vYnNlcnZlZCAmJiByZW1vdmFibGUpIHtcbiAgICAgICAgICA8ZnMtY2hpcC1zdWZmaXhcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2NsaWNrYWJsZSc6IHRydWUgfVwiXG4gICAgICAgICAgICBbaWNvbl09XCIncmVtb3ZlX2NpcmNsZV9vdXRsaW5lJ1wiXG4gICAgICAgICAgICBbY29sb3JdPVwic3R5bGVzLmNvbG9yXCJcbiAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmUoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvZnMtY2hpcC1zdWZmaXg+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuQGlmICghaGFzQ2hpcHMpIHtcbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxufSJdfQ==
@@ -2,18 +2,21 @@ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  import * as i2 from "@angular/material/icon";
5
+ import * as i3 from "@angular/material/tooltip";
5
6
  export class FsChipSuffixComponent {
6
7
  icon;
7
8
  link;
8
9
  linkTarget;
9
10
  color;
11
+ show = true;
12
+ tooltip;
10
13
  click = new EventEmitter();
11
14
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipSuffixComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsChipSuffixComponent, selector: "fs-chip-suffix", inputs: { icon: "icon", link: "link", linkTarget: "linkTarget", color: "color" }, outputs: { click: "click" }, ngImport: i0, template: "@if (link) {\n <a\n [href]=\"link\"\n [target]=\"linkTarget || '_self'\">\n <ng-container *ngTemplateOutlet=\"actionTemplate\"></ng-container>\n </a>\n} @else {\n <ng-container *ngTemplateOutlet=\"actionTemplate\"></ng-container>\n}\n<ng-template #actionTemplate>\n <ng-content></ng-content>\n @if (icon) {\n <mat-icon\n cdkHighlight\n [style.color]=\"color\"\n class=\"action\"\n (click)=\"click.emit($event)\">\n {{ icon }}\n </mat-icon>\n }\n</ng-template>", styles: [":host{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsChipSuffixComponent, selector: "fs-chip-suffix", inputs: { icon: "icon", link: "link", linkTarget: "linkTarget", color: "color", show: "show", tooltip: "tooltip" }, outputs: { click: "click" }, ngImport: i0, template: "@if (show) {\n @if (link) {\n <a\n [href]=\"link\"\n [target]=\"linkTarget || '_self'\">\n <ng-container *ngTemplateOutlet=\"actionTemplate\"></ng-container>\n </a>\n } @else {\n <ng-container *ngTemplateOutlet=\"actionTemplate\"></ng-container>\n }\n <ng-template #actionTemplate>\n <ng-content></ng-content>\n @if (icon) {\n <mat-icon\n cdkHighlight\n [style.color]=\"color\"\n [matTooltip]=\"tooltip\"\n class=\"action\"\n (click)=\"click.emit($event)\">\n {{ icon }}\n </mat-icon>\n }\n </ng-template>\n}", styles: [":host{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
16
  }
14
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipSuffixComponent, decorators: [{
15
18
  type: Component,
16
- args: [{ selector: 'fs-chip-suffix', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (link) {\n <a\n [href]=\"link\"\n [target]=\"linkTarget || '_self'\">\n <ng-container *ngTemplateOutlet=\"actionTemplate\"></ng-container>\n </a>\n} @else {\n <ng-container *ngTemplateOutlet=\"actionTemplate\"></ng-container>\n}\n<ng-template #actionTemplate>\n <ng-content></ng-content>\n @if (icon) {\n <mat-icon\n cdkHighlight\n [style.color]=\"color\"\n class=\"action\"\n (click)=\"click.emit($event)\">\n {{ icon }}\n </mat-icon>\n }\n</ng-template>", styles: [":host{display:flex}\n"] }]
19
+ args: [{ selector: 'fs-chip-suffix', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (show) {\n @if (link) {\n <a\n [href]=\"link\"\n [target]=\"linkTarget || '_self'\">\n <ng-container *ngTemplateOutlet=\"actionTemplate\"></ng-container>\n </a>\n } @else {\n <ng-container *ngTemplateOutlet=\"actionTemplate\"></ng-container>\n }\n <ng-template #actionTemplate>\n <ng-content></ng-content>\n @if (icon) {\n <mat-icon\n cdkHighlight\n [style.color]=\"color\"\n [matTooltip]=\"tooltip\"\n class=\"action\"\n (click)=\"click.emit($event)\">\n {{ icon }}\n </mat-icon>\n }\n </ng-template>\n}", styles: [":host{display:flex}\n"] }]
17
20
  }], propDecorators: { icon: [{
18
21
  type: Input
19
22
  }], link: [{
@@ -22,7 +25,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
22
25
  type: Input
23
26
  }], color: [{
24
27
  type: Input
28
+ }], show: [{
29
+ type: Input
30
+ }], tooltip: [{
31
+ type: Input
25
32
  }], click: [{
26
33
  type: Output
27
34
  }] } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1zdWZmaXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2NoaXAtc3VmZml4L2NoaXAtc3VmZml4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jaGlwLXN1ZmZpeC9jaGlwLXN1ZmZpeC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7OztBQVN2QixNQUFNLE9BQU8scUJBQXFCO0lBRWhCLElBQUksQ0FBUztJQUViLElBQUksQ0FBUztJQUViLFVBQVUsQ0FBUztJQUVuQixLQUFLLENBQVM7SUFFYixLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQzt1R0FWN0MscUJBQXFCOzJGQUFyQixxQkFBcUIscUtDZmxDLHVnQkFvQmM7OzJGRExELHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTTs4QkFJL0IsSUFBSTtzQkFBbkIsS0FBSztnQkFFVSxJQUFJO3NCQUFuQixLQUFLO2dCQUVVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBRVUsS0FBSztzQkFBcEIsS0FBSztnQkFFVyxLQUFLO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1jaGlwLXN1ZmZpeCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGlwLXN1ZmZpeC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoaXAtc3VmZml4LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc0NoaXBTdWZmaXhDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBpY29uOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcHVibGljIGxpbms6IHN0cmluZztcblxuICBASW5wdXQoKSBwdWJsaWMgbGlua1RhcmdldDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjb2xvcjogc3RyaW5nO1xuICBcbiAgQE91dHB1dCgpIHB1YmxpYyBjbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTsgIFxuXG59XG4iLCJAaWYgKGxpbmspIHtcbiAgPGFcbiAgICAgIFtocmVmXT1cImxpbmtcIlxuICAgICAgW3RhcmdldF09XCJsaW5rVGFyZ2V0IHx8ICdfc2VsZidcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWN0aW9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9hPlxufSBAZWxzZSB7XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhY3Rpb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxufVxuPG5nLXRlbXBsYXRlICNhY3Rpb25UZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICBAaWYgKGljb24pIHtcbiAgICA8bWF0LWljb25cbiAgICAgICAgY2RrSGlnaGxpZ2h0XG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCJjb2xvclwiXG4gICAgICAgIGNsYXNzPVwiYWN0aW9uXCJcbiAgICAgICAgKGNsaWNrKT1cImNsaWNrLmVtaXQoJGV2ZW50KVwiPlxuICAgICAge3sgaWNvbiB9fVxuICAgIDwvbWF0LWljb24+XG4gIH1cbjwvbmctdGVtcGxhdGU+Il19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1zdWZmaXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2NoaXAtc3VmZml4L2NoaXAtc3VmZml4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jaGlwLXN1ZmZpeC9jaGlwLXN1ZmZpeC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTdkIsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQixJQUFJLENBQVM7SUFFYixJQUFJLENBQVM7SUFFYixVQUFVLENBQVM7SUFFbkIsS0FBSyxDQUFTO0lBRWQsSUFBSSxHQUFZLElBQUksQ0FBQztJQUVyQixPQUFPLENBQVM7SUFFZixLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQzt1R0FkN0MscUJBQXFCOzJGQUFyQixxQkFBcUIsdU1DZmxDLHNtQkF1QkM7OzJGRFJZLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTTs4QkFJL0IsSUFBSTtzQkFBbkIsS0FBSztnQkFFVSxJQUFJO3NCQUFuQixLQUFLO2dCQUVVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBRVUsS0FBSztzQkFBcEIsS0FBSztnQkFFVSxJQUFJO3NCQUFuQixLQUFLO2dCQUVVLE9BQU87c0JBQXRCLEtBQUs7Z0JBRVcsS0FBSztzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtY2hpcC1zdWZmaXgnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hpcC1zdWZmaXguY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGlwLXN1ZmZpeC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNDaGlwU3VmZml4Q29tcG9uZW50IHtcblxuICBASW5wdXQoKSBwdWJsaWMgaWNvbjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBsaW5rOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcHVibGljIGxpbmtUYXJnZXQ6IHN0cmluZztcblxuICBASW5wdXQoKSBwdWJsaWMgY29sb3I6IHN0cmluZztcblxuICBASW5wdXQoKSBwdWJsaWMgc2hvdzogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KCkgcHVibGljIHRvb2x0aXA6IHN0cmluZztcbiAgXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7ICBcblxufVxuIiwiQGlmIChzaG93KSB7XG4gIEBpZiAobGluaykge1xuICAgIDxhXG4gICAgICAgIFtocmVmXT1cImxpbmtcIlxuICAgICAgICBbdGFyZ2V0XT1cImxpbmtUYXJnZXQgfHwgJ19zZWxmJ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFjdGlvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9hPlxuICB9IEBlbHNlIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWN0aW9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgfVxuICA8bmctdGVtcGxhdGUgI2FjdGlvblRlbXBsYXRlPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICBAaWYgKGljb24pIHtcbiAgICAgIDxtYXQtaWNvblxuICAgICAgICAgIGNka0hpZ2hsaWdodFxuICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJjb2xvclwiXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcFwiXG4gICAgICAgICAgY2xhc3M9XCJhY3Rpb25cIlxuICAgICAgICAgIChjbGljayk9XCJjbGljay5lbWl0KCRldmVudClcIj5cbiAgICAgICAge3sgaWNvbiB9fVxuICAgICAgPC9tYXQtaWNvbj5cbiAgICB9XG4gIDwvbmctdGVtcGxhdGU+XG59Il19
@@ -176,7 +176,7 @@ export class FsChipsComponent {
176
176
  useExisting: forwardRef(() => FsChipsComponent),
177
177
  multi: true,
178
178
  },
179
- ], queries: [{ propertyName: "chips", predicate: FsChipComponent }], viewQueries: [{ propertyName: "dropList", first: true, predicate: CdkDropList, descendants: true, static: true }], ngImport: i0, template: "@if (sortable) {\n <div\n class=\"fs-chips chips-sortable\"\n cdkDropList\n [cdkDropListLockAxis]=\"'y'\"\n [cdkDropListSortPredicate]=\"sortPredicate\"\n (cdkDropListDropped)=\"drop($event)\">\n @for (chip of chips; track chip) {\n <div\n cdkDrag\n class=\"fs-chip-drag-container\"\n [class.chips-selectable]=\"!!selected\"\n [cdkDragPreviewClass]=\"'fs-chip-drag-preview'\">\n <a\n class=\"chip-handle\"\n mat-icon-button\n [ngClass]=\"{ 'visible': !selected || selected.includes(chip.value)}\"\n cdkDragHandle>\n <mat-icon>\n drag_indicator\n </mat-icon>\n </a>\n @if (selected) {\n @if (selected.includes(chip.value)) {\n <a\n class=\"select-button select-button-selected\"\n (click)=\"unselect(chip)\"\n mat-icon-button>\n <mat-icon>\n remove_circle_outline\n </mat-icon>\n </a>\n } @else {\n <a\n class=\"select-button select-button-unselected\"\n (click)=\"select(chip)\"\n mat-icon-button>\n <mat-icon>\n add_circle_outline\n </mat-icon>\n </a>\n }\n }\n <ng-component [ngTemplateOutlet]=\"chip.templateRef\"></ng-component>\n </div>\n }\n </div>\n} @else {\n <div class=\"fs-chips\">\n @for (chip of chips; track chip) {\n <div class=\"chip-container\">\n <ng-component [ngTemplateOutlet]=\"chip.templateRef\"></ng-component>\n </div>\n }\n </div>\n}", styles: ["@charset \"UTF-8\";@media (max-width: 599px){h1[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"]{margin-top:0}}@media (max-width: 1023px){h1[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"]{margin-top:0}}@media (max-width: 1439px){h1[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"]{margin-top:0}}.fs-delimit>*:not(:last-child):after{content:\",\\a0\"}.fs-chips{display:flex;flex-wrap:wrap}.fs-chips:not(.chips-sortable){gap:5px}.fs-chips.chips-sortable{flex-direction:column}.fs-chips.chips-sortable .fs-chip-drag-container{border-bottom:8px solid transparent}.fs-chips.chips-sortable ::ng-deep .cdk-drag-placeholder{opacity:.3}.fs-chips .fs-chip-drag-container{display:flex}::ng-deep .fs-chip-drag-container{display:flex;align-items:center}::ng-deep .fs-chip-drag-container.fs-chip-drag-preview{display:flex;overflow:visible}::ng-deep .fs-chip-drag-container.fs-chip-drag-preview .select-button{visibility:hidden}::ng-deep .fs-chip-drag-container.fs-chip-drag-preview.chip-container .fs-chip{box-shadow:3px 3px 3px #c4c4c4}::ng-deep .fs-chip-drag-container.chips-selectable .chip-handle{order:10}::ng-deep .fs-chip-drag-container .select-button,::ng-deep .fs-chip-drag-container .chip-handle{color:inherit;display:flex;align-items:center}::ng-deep .fs-chip-drag-container .select-button{margin-right:5px}::ng-deep .fs-chip-drag-container .select-button.select-button-selected mat-icon{color:#92d050}::ng-deep .fs-chip-drag-container .select-button.select-button-unselected mat-icon{color:#ea4266}::ng-deep .fs-chip-drag-container .chip-handle:not(.visible){visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
179
+ ], queries: [{ propertyName: "chips", predicate: FsChipComponent }], viewQueries: [{ propertyName: "dropList", first: true, predicate: CdkDropList, descendants: true, static: true }], ngImport: i0, template: "@if (sortable) {\n <div\n class=\"fs-chips chips-sortable\"\n cdkDropList\n [cdkDropListLockAxis]=\"'y'\"\n [cdkDropListSortPredicate]=\"sortPredicate\"\n (cdkDropListDropped)=\"drop($event)\">\n @for (chip of chips; track chip) {\n <div\n cdkDrag\n class=\"fs-chip-drag-container\"\n [class.chips-selectable]=\"!!selected\"\n [cdkDragPreviewClass]=\"'fs-chip-drag-preview'\">\n <a\n class=\"chip-handle\"\n mat-icon-button\n [ngClass]=\"{ 'visible': !selected || selected.includes(chip.value)}\"\n cdkDragHandle>\n <mat-icon>\n drag_indicator\n </mat-icon>\n </a>\n @if (selected) {\n @if (selected.includes(chip.value)) {\n <a\n class=\"select-button select-button-selected\"\n (click)=\"unselect(chip)\"\n mat-icon-button>\n <mat-icon>\n remove_circle_outline\n </mat-icon>\n </a>\n } @else {\n <a\n class=\"select-button select-button-unselected\"\n (click)=\"select(chip)\"\n mat-icon-button>\n <mat-icon>\n add_circle_outline\n </mat-icon>\n </a>\n }\n }\n <ng-component [ngTemplateOutlet]=\"chip.templateRef\"></ng-component>\n </div>\n }\n </div>\n} @else {\n <div class=\"fs-chips\">\n @for (chip of chips; track chip) {\n <div class=\"chip-container\">\n <ng-component [ngTemplateOutlet]=\"chip.templateRef\"></ng-component>\n </div>\n }\n </div>\n}", styles: ["@charset \"UTF-8\";@media (max-width: 599px){h1[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"]{margin-top:0}}@media (max-width: 1023px){h1[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"]{margin-top:0}}@media (max-width: 1439px){h1[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"]{margin-top:0}}.fs-delimit>*{display:inline-flex}.fs-delimit>*:not(:last-child):after{content:\",\\a0\"}.fs-chips{display:flex;flex-wrap:wrap}.fs-chips:not(.chips-sortable){gap:5px}.fs-chips.chips-sortable{flex-direction:column}.fs-chips.chips-sortable .fs-chip-drag-container{border-bottom:8px solid transparent}.fs-chips.chips-sortable ::ng-deep .cdk-drag-placeholder{opacity:.3}.fs-chips .fs-chip-drag-container{display:flex}::ng-deep .fs-chip-drag-container{display:flex;align-items:center}::ng-deep .fs-chip-drag-container.fs-chip-drag-preview{display:flex;overflow:visible}::ng-deep .fs-chip-drag-container.fs-chip-drag-preview .select-button{visibility:hidden}::ng-deep .fs-chip-drag-container.fs-chip-drag-preview.chip-container .fs-chip{box-shadow:3px 3px 3px #c4c4c4}::ng-deep .fs-chip-drag-container.chips-selectable .chip-handle{order:10}::ng-deep .fs-chip-drag-container .select-button,::ng-deep .fs-chip-drag-container .chip-handle{color:inherit;display:flex;align-items:center}::ng-deep .fs-chip-drag-container .select-button{margin-right:5px}::ng-deep .fs-chip-drag-container .select-button.select-button-selected mat-icon{color:#92d050}::ng-deep .fs-chip-drag-container .select-button.select-button-unselected mat-icon{color:#ea4266}::ng-deep .fs-chip-drag-container .chip-handle:not(.visible){visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
180
180
  }
181
181
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipsComponent, decorators: [{
182
182
  type: Component,
@@ -186,7 +186,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
186
186
  useExisting: forwardRef(() => FsChipsComponent),
187
187
  multi: true,
188
188
  },
189
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (sortable) {\n <div\n class=\"fs-chips chips-sortable\"\n cdkDropList\n [cdkDropListLockAxis]=\"'y'\"\n [cdkDropListSortPredicate]=\"sortPredicate\"\n (cdkDropListDropped)=\"drop($event)\">\n @for (chip of chips; track chip) {\n <div\n cdkDrag\n class=\"fs-chip-drag-container\"\n [class.chips-selectable]=\"!!selected\"\n [cdkDragPreviewClass]=\"'fs-chip-drag-preview'\">\n <a\n class=\"chip-handle\"\n mat-icon-button\n [ngClass]=\"{ 'visible': !selected || selected.includes(chip.value)}\"\n cdkDragHandle>\n <mat-icon>\n drag_indicator\n </mat-icon>\n </a>\n @if (selected) {\n @if (selected.includes(chip.value)) {\n <a\n class=\"select-button select-button-selected\"\n (click)=\"unselect(chip)\"\n mat-icon-button>\n <mat-icon>\n remove_circle_outline\n </mat-icon>\n </a>\n } @else {\n <a\n class=\"select-button select-button-unselected\"\n (click)=\"select(chip)\"\n mat-icon-button>\n <mat-icon>\n add_circle_outline\n </mat-icon>\n </a>\n }\n }\n <ng-component [ngTemplateOutlet]=\"chip.templateRef\"></ng-component>\n </div>\n }\n </div>\n} @else {\n <div class=\"fs-chips\">\n @for (chip of chips; track chip) {\n <div class=\"chip-container\">\n <ng-component [ngTemplateOutlet]=\"chip.templateRef\"></ng-component>\n </div>\n }\n </div>\n}", styles: ["@charset \"UTF-8\";@media (max-width: 599px){h1[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"]{margin-top:0}}@media (max-width: 1023px){h1[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"]{margin-top:0}}@media (max-width: 1439px){h1[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"]{margin-top:0}}.fs-delimit>*:not(:last-child):after{content:\",\\a0\"}.fs-chips{display:flex;flex-wrap:wrap}.fs-chips:not(.chips-sortable){gap:5px}.fs-chips.chips-sortable{flex-direction:column}.fs-chips.chips-sortable .fs-chip-drag-container{border-bottom:8px solid transparent}.fs-chips.chips-sortable ::ng-deep .cdk-drag-placeholder{opacity:.3}.fs-chips .fs-chip-drag-container{display:flex}::ng-deep .fs-chip-drag-container{display:flex;align-items:center}::ng-deep .fs-chip-drag-container.fs-chip-drag-preview{display:flex;overflow:visible}::ng-deep .fs-chip-drag-container.fs-chip-drag-preview .select-button{visibility:hidden}::ng-deep .fs-chip-drag-container.fs-chip-drag-preview.chip-container .fs-chip{box-shadow:3px 3px 3px #c4c4c4}::ng-deep .fs-chip-drag-container.chips-selectable .chip-handle{order:10}::ng-deep .fs-chip-drag-container .select-button,::ng-deep .fs-chip-drag-container .chip-handle{color:inherit;display:flex;align-items:center}::ng-deep .fs-chip-drag-container .select-button{margin-right:5px}::ng-deep .fs-chip-drag-container .select-button.select-button-selected mat-icon{color:#92d050}::ng-deep .fs-chip-drag-container .select-button.select-button-unselected mat-icon{color:#ea4266}::ng-deep .fs-chip-drag-container .chip-handle:not(.visible){visibility:hidden}\n"] }]
189
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (sortable) {\n <div\n class=\"fs-chips chips-sortable\"\n cdkDropList\n [cdkDropListLockAxis]=\"'y'\"\n [cdkDropListSortPredicate]=\"sortPredicate\"\n (cdkDropListDropped)=\"drop($event)\">\n @for (chip of chips; track chip) {\n <div\n cdkDrag\n class=\"fs-chip-drag-container\"\n [class.chips-selectable]=\"!!selected\"\n [cdkDragPreviewClass]=\"'fs-chip-drag-preview'\">\n <a\n class=\"chip-handle\"\n mat-icon-button\n [ngClass]=\"{ 'visible': !selected || selected.includes(chip.value)}\"\n cdkDragHandle>\n <mat-icon>\n drag_indicator\n </mat-icon>\n </a>\n @if (selected) {\n @if (selected.includes(chip.value)) {\n <a\n class=\"select-button select-button-selected\"\n (click)=\"unselect(chip)\"\n mat-icon-button>\n <mat-icon>\n remove_circle_outline\n </mat-icon>\n </a>\n } @else {\n <a\n class=\"select-button select-button-unselected\"\n (click)=\"select(chip)\"\n mat-icon-button>\n <mat-icon>\n add_circle_outline\n </mat-icon>\n </a>\n }\n }\n <ng-component [ngTemplateOutlet]=\"chip.templateRef\"></ng-component>\n </div>\n }\n </div>\n} @else {\n <div class=\"fs-chips\">\n @for (chip of chips; track chip) {\n <div class=\"chip-container\">\n <ng-component [ngTemplateOutlet]=\"chip.templateRef\"></ng-component>\n </div>\n }\n </div>\n}", styles: ["@charset \"UTF-8\";@media (max-width: 599px){h1[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"]{margin-top:0}}@media (max-width: 1023px){h1[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"]{margin-top:0}}@media (max-width: 1439px){h1[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"]{margin-top:0}}.fs-delimit>*{display:inline-flex}.fs-delimit>*:not(:last-child):after{content:\",\\a0\"}.fs-chips{display:flex;flex-wrap:wrap}.fs-chips:not(.chips-sortable){gap:5px}.fs-chips.chips-sortable{flex-direction:column}.fs-chips.chips-sortable .fs-chip-drag-container{border-bottom:8px solid transparent}.fs-chips.chips-sortable ::ng-deep .cdk-drag-placeholder{opacity:.3}.fs-chips .fs-chip-drag-container{display:flex}::ng-deep .fs-chip-drag-container{display:flex;align-items:center}::ng-deep .fs-chip-drag-container.fs-chip-drag-preview{display:flex;overflow:visible}::ng-deep .fs-chip-drag-container.fs-chip-drag-preview .select-button{visibility:hidden}::ng-deep .fs-chip-drag-container.fs-chip-drag-preview.chip-container .fs-chip{box-shadow:3px 3px 3px #c4c4c4}::ng-deep .fs-chip-drag-container.chips-selectable .chip-handle{order:10}::ng-deep .fs-chip-drag-container .select-button,::ng-deep .fs-chip-drag-container .chip-handle{color:inherit;display:flex;align-items:center}::ng-deep .fs-chip-drag-container .select-button{margin-right:5px}::ng-deep .fs-chip-drag-container .select-button.select-button-selected mat-icon{color:#92d050}::ng-deep .fs-chip-drag-container .select-button.select-button-unselected mat-icon{color:#ea4266}::ng-deep .fs-chip-drag-container .chip-handle:not(.visible){visibility:hidden}\n"] }]
190
190
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.IterableDiffers }], propDecorators: { dropList: [{
191
191
  type: ViewChild,
192
192
  args: [CdkDropList, { static: true }]
@@ -0,0 +1,13 @@
1
+ import { Directive, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FsChipSubcontentDirective {
4
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipSubcontentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsChipSubcontentDirective, selector: "[fsChipSubtemplate]", ngImport: i0 });
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipSubcontentDirective, decorators: [{
8
+ type: Directive,
9
+ args: [{
10
+ selector: '[fsChipSubtemplate]',
11
+ }]
12
+ }] });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1zdWJjb250ZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy9jaGlwLXN1YmNvbnRlbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7O0FBTXZCLE1BQU0sT0FBTyx5QkFBeUI7dUdBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZnNDaGlwU3VidGVtcGxhdGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgRnNDaGlwU3ViY29udGVudERpcmVjdGl2ZSB7XG5cbn1cbiJdfQ==
@@ -6,11 +6,13 @@ export class FsChipSuffixDirective {
6
6
  linkTarget;
7
7
  color;
8
8
  data;
9
+ show = true;
10
+ tooltip;
9
11
  // eslint-disable-next-line @angular-eslint/no-output-native
10
12
  click = new EventEmitter();
11
13
  templateRef = inject(TemplateRef);
12
14
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipSuffixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
13
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsChipSuffixDirective, selector: "[fsChipSuffix]", inputs: { icon: "icon", link: "link", linkTarget: "linkTarget", color: "color", data: "data" }, outputs: { click: "click" }, ngImport: i0 });
15
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsChipSuffixDirective, selector: "[fsChipSuffix]", inputs: { icon: "icon", link: "link", linkTarget: "linkTarget", color: "color", data: "data", show: "show", tooltip: "tooltip" }, outputs: { click: "click" }, ngImport: i0 });
14
16
  }
15
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipSuffixDirective, decorators: [{
16
18
  type: Directive,
@@ -27,7 +29,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
27
29
  type: Input
28
30
  }], data: [{
29
31
  type: Input
32
+ }], show: [{
33
+ type: Input
34
+ }], tooltip: [{
35
+ type: Input
30
36
  }], click: [{
31
37
  type: Output
32
38
  }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1zdWZmaXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9kaXJlY3RpdmVzL2NoaXAtc3VmZml4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7O0FBTXZCLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEIsSUFBSSxDQUFTO0lBRWIsSUFBSSxDQUFTO0lBRWIsVUFBVSxDQUFTO0lBRW5CLEtBQUssQ0FBUztJQUVkLElBQUksQ0FBTTtJQUUxQiw0REFBNEQ7SUFDM0MsS0FBSyxHQUFHLElBQUksWUFBWSxFQUFvQyxDQUFDO0lBRXZFLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7dUdBZjlCLHFCQUFxQjsyRkFBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCOzhCQUdpQixJQUFJO3NCQUFuQixLQUFLO2dCQUVVLElBQUk7c0JBQW5CLEtBQUs7Z0JBRVUsVUFBVTtzQkFBekIsS0FBSztnQkFFVSxLQUFLO3NCQUFwQixLQUFLO2dCQUVVLElBQUk7c0JBQW5CLEtBQUs7Z0JBR1csS0FBSztzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZnNDaGlwU3VmZml4XScsXG59KVxuZXhwb3J0IGNsYXNzIEZzQ2hpcFN1ZmZpeERpcmVjdGl2ZSB7XG5cbiAgQElucHV0KCkgcHVibGljIGljb246IHN0cmluZztcblxuICBASW5wdXQoKSBwdWJsaWMgbGluazogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBsaW5rVGFyZ2V0OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcHVibGljIGNvbG9yOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcHVibGljIGRhdGE6IGFueTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgQE91dHB1dCgpIHB1YmxpYyBjbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8eyBldmVudDogTW91c2VFdmVudCwgZGF0YTogYW55IH0+KCk7XG5cbiAgcHVibGljIHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcbn1cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1zdWZmaXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9kaXJlY3RpdmVzL2NoaXAtc3VmZml4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7O0FBTXZCLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEIsSUFBSSxDQUFTO0lBRWIsSUFBSSxDQUFTO0lBRWIsVUFBVSxDQUFTO0lBRW5CLEtBQUssQ0FBUztJQUVkLElBQUksQ0FBTTtJQUVWLElBQUksR0FBWSxJQUFJLENBQUM7SUFFckIsT0FBTyxDQUFTO0lBRWhDLDREQUE0RDtJQUMzQyxLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQW9DLENBQUM7SUFFdkUsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQzt1R0FuQjlCLHFCQUFxQjsyRkFBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCOzhCQUdpQixJQUFJO3NCQUFuQixLQUFLO2dCQUVVLElBQUk7c0JBQW5CLEtBQUs7Z0JBRVUsVUFBVTtzQkFBekIsS0FBSztnQkFFVSxLQUFLO3NCQUFwQixLQUFLO2dCQUVVLElBQUk7c0JBQW5CLEtBQUs7Z0JBRVUsSUFBSTtzQkFBbkIsS0FBSztnQkFFVSxPQUFPO3NCQUF0QixLQUFLO2dCQUdXLEtBQUs7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZzQ2hpcFN1ZmZpeF0nLFxufSlcbmV4cG9ydCBjbGFzcyBGc0NoaXBTdWZmaXhEaXJlY3RpdmUge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBpY29uOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcHVibGljIGxpbms6IHN0cmluZztcblxuICBASW5wdXQoKSBwdWJsaWMgbGlua1RhcmdldDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjb2xvcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBkYXRhOiBhbnk7XG5cbiAgQElucHV0KCkgcHVibGljIHNob3c6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwOiBzdHJpbmc7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHsgZXZlbnQ6IE1vdXNlRXZlbnQsIGRhdGE6IGFueSB9PigpO1xuXG4gIHB1YmxpYyB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZik7XG59XG4iXX0=
@@ -1,2 +1,3 @@
1
+ export * from './chip-subcontent.directive';
1
2
  export * from './chip-suffix.directive';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2hpcC1zdWZmaXguZGlyZWN0aXZlJztcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jaGlwLXN1YmNvbnRlbnQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vY2hpcC1zdWZmaXguZGlyZWN0aXZlJztcblxuIl19