@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.
- package/app/components/chip/chip.component.d.ts +7 -8
- package/app/components/chip-suffix/chip-suffix.component.d.ts +3 -1
- package/app/directives/chip-subcontent.directive.d.ts +5 -0
- package/app/directives/chip-suffix.directive.d.ts +3 -1
- package/app/directives/index.d.ts +1 -0
- package/app/fs-chip.module.d.ts +7 -5
- package/esm2022/app/components/chip/chip.component.mjs +22 -44
- package/esm2022/app/components/chip-suffix/chip-suffix.component.mjs +10 -3
- package/esm2022/app/components/chips/chips.component.mjs +2 -2
- package/esm2022/app/directives/chip-subcontent.directive.mjs +13 -0
- package/esm2022/app/directives/chip-suffix.directive.mjs +8 -2
- package/esm2022/app/directives/index.mjs +2 -1
- package/esm2022/app/fs-chip.module.mjs +12 -4
- package/esm2022/public_api.mjs +2 -1
- package/fesm2022/firestitch-chip.mjs +60 -50
- package/fesm2022/firestitch-chip.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, QueryList,
|
|
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
|
-
|
|
21
|
-
|
|
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(
|
|
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; }; "
|
|
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
|
}
|
package/app/fs-chip.module.d.ts
CHANGED
|
@@ -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 "
|
|
8
|
-
import * as i6 from "@angular/
|
|
9
|
-
import * as i7 from "@angular/
|
|
10
|
-
import * as i8 from "@
|
|
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
|
|
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
|
-
|
|
24
|
-
|
|
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.
|
|
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.
|
|
42
|
+
this.selected = true;
|
|
53
43
|
this._cdRef.markForCheck();
|
|
54
44
|
}
|
|
55
45
|
unselect() {
|
|
56
|
-
this.
|
|
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(
|
|
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",
|
|
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 [
|
|
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
|
-
}],
|
|
163
|
-
type: Input
|
|
164
|
-
|
|
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
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jaGlwLXN1YmNvbnRlbnQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vY2hpcC1zdWZmaXguZGlyZWN0aXZlJztcblxuIl19
|