@firestitch/chip 18.0.33 → 18.0.34
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 +3 -1
- package/app/components/chip-prefix/chip-prefix.component.d.ts +12 -0
- package/app/directives/chip-prefix.directive.d.ts +14 -0
- package/app/directives/chip-suffix.directive.d.ts +1 -2
- package/app/fs-chip.module.d.ts +10 -8
- package/esm2022/app/components/chip/chip.component.mjs +9 -3
- package/esm2022/app/components/chip-prefix/chip-prefix.component.mjs +32 -0
- package/esm2022/app/directives/chip-prefix.directive.mjs +27 -0
- package/esm2022/app/directives/chip-suffix.directive.mjs +2 -5
- package/esm2022/app/fs-chip.module.mjs +9 -1
- package/esm2022/public_api.mjs +2 -1
- package/fesm2022/firestitch-chip.mjs +72 -12
- package/fesm2022/firestitch-chip.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, QueryList, SimpleChanges, TemplateRef } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
+
import { FsChipPrefixDirective } from '../../directives/chip-prefix.directive';
|
|
3
4
|
import { FsChipSuffixDirective } from '../../directives/chip-suffix.directive';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export declare class FsChipComponent implements OnDestroy, OnChanges {
|
|
6
7
|
private _cdRef;
|
|
7
8
|
templateRef: TemplateRef<void>;
|
|
8
9
|
chipSuffixes: QueryList<FsChipSuffixDirective>;
|
|
10
|
+
chipPrefixes: QueryList<FsChipPrefixDirective>;
|
|
9
11
|
chipSubcontentTemplateRef: TemplateRef<void>;
|
|
10
12
|
selectable: boolean;
|
|
11
13
|
removable: boolean;
|
|
@@ -41,5 +43,5 @@ export declare class FsChipComponent implements OnDestroy, OnChanges {
|
|
|
41
43
|
remove(event: MouseEvent): void;
|
|
42
44
|
private _isContrastYIQBlack;
|
|
43
45
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsChipComponent, never>;
|
|
44
|
-
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; }; "padding": { "alias": "padding"; "required": false; }; "contrastColor": { "alias": "contrastColor"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "selectedToggled": "selectedToggled"; "removed": "removed"; }, ["chipSubcontentTemplateRef", "chipSuffixes"], ["*"], false, never>;
|
|
46
|
+
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; }; "padding": { "alias": "padding"; "required": false; }; "contrastColor": { "alias": "contrastColor"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "selectedToggled": "selectedToggled"; "removed": "removed"; }, ["chipSubcontentTemplateRef", "chipSuffixes", "chipPrefixes"], ["*"], false, never>;
|
|
45
47
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class FsChipPrefixComponent {
|
|
4
|
+
icon: string;
|
|
5
|
+
color: string;
|
|
6
|
+
show: boolean;
|
|
7
|
+
tooltip: string;
|
|
8
|
+
click: EventEmitter<MouseEvent>;
|
|
9
|
+
get clickable(): boolean;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FsChipPrefixComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FsChipPrefixComponent, "fs-chip-prefix", never, { "icon": { "alias": "icon"; "required": false; }; "color": { "alias": "color"; "required": false; }; "show": { "alias": "show"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, { "click": "click"; }, never, ["*"], false, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EventEmitter, TemplateRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class FsChipPrefixDirective {
|
|
4
|
+
icon: string;
|
|
5
|
+
color: string;
|
|
6
|
+
data: any;
|
|
7
|
+
click: EventEmitter<{
|
|
8
|
+
event: MouseEvent;
|
|
9
|
+
data: any;
|
|
10
|
+
}>;
|
|
11
|
+
templateRef: TemplateRef<any>;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FsChipPrefixDirective, never>;
|
|
13
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsChipPrefixDirective, "[fsChipPrefix]", never, { "icon": { "alias": "icon"; "required": false; }; "color": { "alias": "color"; "required": false; }; "data": { "alias": "data"; "required": false; }; }, { "click": "click"; }, never, never, false, never>;
|
|
14
|
+
}
|
|
@@ -6,7 +6,6 @@ export declare class FsChipSuffixDirective {
|
|
|
6
6
|
linkTarget: string;
|
|
7
7
|
color: string;
|
|
8
8
|
data: any;
|
|
9
|
-
show: boolean;
|
|
10
9
|
tooltip: string;
|
|
11
10
|
click: EventEmitter<{
|
|
12
11
|
event: MouseEvent;
|
|
@@ -14,5 +13,5 @@ export declare class FsChipSuffixDirective {
|
|
|
14
13
|
}>;
|
|
15
14
|
templateRef: TemplateRef<any>;
|
|
16
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsChipSuffixDirective, 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; }; "
|
|
16
|
+
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; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, { "click": "click"; }, never, never, false, never>;
|
|
18
17
|
}
|
package/app/fs-chip.module.d.ts
CHANGED
|
@@ -3,16 +3,18 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
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
|
-
import * as i4 from "./
|
|
7
|
-
import * as i5 from "./directives/chip-
|
|
8
|
-
import * as i6 from "
|
|
9
|
-
import * as i7 from "
|
|
10
|
-
import * as i8 from "@angular/
|
|
11
|
-
import * as i9 from "@angular/
|
|
12
|
-
import * as i10 from "@
|
|
6
|
+
import * as i4 from "./components/chip-prefix/chip-prefix.component";
|
|
7
|
+
import * as i5 from "./directives/chip-prefix.directive";
|
|
8
|
+
import * as i6 from "./directives/chip-suffix.directive";
|
|
9
|
+
import * as i7 from "./directives/chip-subcontent.directive";
|
|
10
|
+
import * as i8 from "@angular/common";
|
|
11
|
+
import * as i9 from "@angular/cdk/drag-drop";
|
|
12
|
+
import * as i10 from "@angular/material/icon";
|
|
13
|
+
import * as i11 from "@angular/material/tooltip";
|
|
14
|
+
import * as i12 from "@firestitch/label";
|
|
13
15
|
export declare class FsChipModule {
|
|
14
16
|
static forRoot(): ModuleWithProviders<FsChipModule>;
|
|
15
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsChipModule, never>;
|
|
16
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<FsChipModule, [typeof i1.FsChipsComponent, typeof i2.FsChipComponent, typeof i3.FsChipSuffixComponent, typeof i4.
|
|
18
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<FsChipModule, [typeof i1.FsChipsComponent, typeof i2.FsChipComponent, typeof i3.FsChipSuffixComponent, typeof i4.FsChipPrefixComponent, typeof i5.FsChipPrefixDirective, typeof i6.FsChipSuffixDirective, typeof i7.FsChipSubcontentDirective], [typeof i8.CommonModule, typeof i9.DragDropModule, typeof i10.MatIconModule, typeof i11.MatTooltipModule, typeof i12.FsLabelModule], [typeof i1.FsChipsComponent, typeof i2.FsChipComponent, typeof i6.FsChipSuffixDirective, typeof i5.FsChipPrefixDirective, typeof i7.FsChipSubcontentDirective]>;
|
|
17
19
|
static ɵinj: i0.ɵɵInjectorDeclaration<FsChipModule>;
|
|
18
20
|
}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, EventEmitter, Input, Output, QueryList, TemplateRef, ViewChild, } from '@angular/core';
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
|
+
import { FsChipPrefixDirective } from '../../directives/chip-prefix.directive';
|
|
3
4
|
import { FsChipSubcontentDirective } from '../../directives/chip-subcontent.directive';
|
|
4
5
|
import { FsChipSuffixDirective } from '../../directives/chip-suffix.directive';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@angular/common";
|
|
7
8
|
import * as i2 from "@angular/material/icon";
|
|
8
9
|
import * as i3 from "../chip-suffix/chip-suffix.component";
|
|
10
|
+
import * as i4 from "../chip-prefix/chip-prefix.component";
|
|
9
11
|
export class FsChipComponent {
|
|
10
12
|
_cdRef;
|
|
11
13
|
templateRef;
|
|
12
14
|
chipSuffixes;
|
|
15
|
+
chipPrefixes;
|
|
13
16
|
chipSubcontentTemplateRef;
|
|
14
17
|
selectable = false;
|
|
15
18
|
removable = true;
|
|
@@ -93,17 +96,20 @@ export class FsChipComponent {
|
|
|
93
96
|
return yiq >= 200;
|
|
94
97
|
}
|
|
95
98
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
-
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", padding: "padding", contrastColor: "contrastColor", 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 [style.backgroundColor]=\"outlined ? 'transparent' : backgroundColor || defaultBackgroundColor\"\n [style.padding]=\"padding\"\n [style.borderColor]=\"borderColor || (outlined && color ? color : null)\"\n [style.width]=\"width\"\n [style.color]=\"color || contrastColor || defaultColor\"\n [class.actionable]=\"chipSuffixes.length !== 0 || (removed.observed && removable)\"\n [class.shape-round]=\"shape === 'round'\"\n [class.shape-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.sub-content]=\"!!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]=\"color || contrastColor || defaultColor\">\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 || color || contrastColor || defaultColor\"\n [
|
|
99
|
+
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", padding: "padding", contrastColor: "contrastColor", size: "size" }, outputs: { selectedToggled: "selectedToggled", removed: "removed" }, queries: [{ propertyName: "chipSubcontentTemplateRef", first: true, predicate: FsChipSubcontentDirective, descendants: true, read: TemplateRef }, { propertyName: "chipSuffixes", predicate: FsChipSuffixDirective }, { propertyName: "chipPrefixes", predicate: FsChipPrefixDirective }], 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 [style.backgroundColor]=\"outlined ? 'transparent' : backgroundColor || defaultBackgroundColor\"\n [style.padding]=\"padding\"\n [style.borderColor]=\"borderColor || (outlined && color ? color : null)\"\n [style.width]=\"width\"\n [style.color]=\"color || contrastColor || defaultColor\"\n [class.actionable]=\"chipSuffixes.length !== 0 || (removed.observed && removable)\"\n [class.prefixable]=\"chipPrefixes.length !== 0\"\n [class.shape-round]=\"shape === 'round'\"\n [class.shape-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.sub-content]=\"!!chipSubcontentTemplateRef\">\n @if (image) {\n <img\n [src]=\"image\"\n class=\"image\"\n alt=\"\">\n }\n @if (chipPrefixes.length !== 0) {\n <div class=\"prefixes\">\n @for (chipPrefix of chipPrefixes; track chipPrefix) {\n <fs-chip-prefix\n [icon]=\"chipPrefix.icon\"\n [color]=\"chipPrefix.color || color || contrastColor || defaultColor\"\n (click)=\"chipPrefix.click.emit({ event: $event, data: value })\">\n <ng-container *ngTemplateOutlet=\"chipPrefix.templateRef\"></ng-container>\n </fs-chip-prefix>\n }\n </div>\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]=\"color || contrastColor || defaultColor\">\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 || color || contrastColor || defaultColor\"\n [tooltip]=\"chipSuffix.tooltip\"\n (click)=\"chipSuffixClick(chipSuffix, $event, value)\">\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]=\"color || contrastColor || defaultColor\"\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;min-height:30px;overflow:hidden;padding:0 10px;min-width:0}.fs-chip.shape-round{border-radius:16px}.fs-chip.shape-round.imaged{overflow:visible;padding-left:0;vertical-align:middle}.fs-chip.shape-round.imaged.outlined .image{margin-left:-2px}.fs-chip.shape-square{border-radius:5px;padding:4px 8px}.fs-chip.shape-square .image{padding:4px 0}.fs-chip.iconed:not(.imaged){padding-left:5px}.fs-chip.selectable{cursor:pointer}.fs-chip.outlined{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 .prefixes{display:flex;flex-direction:row;margin-right:3px}.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;line-height:normal}.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-large.sub-content{padding:4px 8px}.fs-chip.size-large.prefixable:not(.imaged){padding-left:4px}.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.prefixable:not(.imaged){padding-left:3px}.fs-chip.size-small.iconed:not(.imaged){padding-left:4px}.fs-chip.size-small.shape-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.sub-content{padding:3px 6px}.fs-chip.size-small ::ng-deep mat-icon{height:22px;width:22px;font-size:22px}.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.prefixable:not(.imaged){padding-left:2px}.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.sub-content{padding:2px 4px}.fs-chip.size-tiny.shape-round.imaged{padding-left:0}.fs-chip.size-tiny ::ng-deep mat-icon{height:13px;width:13px;font-size:13px}.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.prefixable:not(.imaged){padding-left:2px}.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.sub-content{padding:1px 2px}.fs-chip.size-micro.shape-round.imaged{padding-left:0}.fs-chip.size-micro ::ng-deep mat-icon{width:12px;height:12px;font-size:11px}.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"] }, { kind: "component", type: i4.FsChipPrefixComponent, selector: "fs-chip-prefix", inputs: ["icon", "color", "show", "tooltip"], outputs: ["click"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
97
100
|
}
|
|
98
101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipComponent, decorators: [{
|
|
99
102
|
type: Component,
|
|
100
|
-
args: [{ selector: 'fs-chip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template>\n <div\n class=\"fs-chip\"\n (click)=\"click()\"\n [style.backgroundColor]=\"outlined ? 'transparent' : backgroundColor || defaultBackgroundColor\"\n [style.padding]=\"padding\"\n [style.borderColor]=\"borderColor || (outlined && color ? color : null)\"\n [style.width]=\"width\"\n [style.color]=\"color || contrastColor || defaultColor\"\n [class.actionable]=\"chipSuffixes.length !== 0 || (removed.observed && removable)\"\n [class.shape-round]=\"shape === 'round'\"\n [class.shape-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.sub-content]=\"!!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]=\"color || contrastColor || defaultColor\">\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 || color || contrastColor || defaultColor\"\n [
|
|
103
|
+
args: [{ selector: 'fs-chip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template>\n <div\n class=\"fs-chip\"\n (click)=\"click()\"\n [style.backgroundColor]=\"outlined ? 'transparent' : backgroundColor || defaultBackgroundColor\"\n [style.padding]=\"padding\"\n [style.borderColor]=\"borderColor || (outlined && color ? color : null)\"\n [style.width]=\"width\"\n [style.color]=\"color || contrastColor || defaultColor\"\n [class.actionable]=\"chipSuffixes.length !== 0 || (removed.observed && removable)\"\n [class.prefixable]=\"chipPrefixes.length !== 0\"\n [class.shape-round]=\"shape === 'round'\"\n [class.shape-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.sub-content]=\"!!chipSubcontentTemplateRef\">\n @if (image) {\n <img\n [src]=\"image\"\n class=\"image\"\n alt=\"\">\n }\n @if (chipPrefixes.length !== 0) {\n <div class=\"prefixes\">\n @for (chipPrefix of chipPrefixes; track chipPrefix) {\n <fs-chip-prefix\n [icon]=\"chipPrefix.icon\"\n [color]=\"chipPrefix.color || color || contrastColor || defaultColor\"\n (click)=\"chipPrefix.click.emit({ event: $event, data: value })\">\n <ng-container *ngTemplateOutlet=\"chipPrefix.templateRef\"></ng-container>\n </fs-chip-prefix>\n }\n </div>\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]=\"color || contrastColor || defaultColor\">\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 || color || contrastColor || defaultColor\"\n [tooltip]=\"chipSuffix.tooltip\"\n (click)=\"chipSuffixClick(chipSuffix, $event, value)\">\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]=\"color || contrastColor || defaultColor\"\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;min-height:30px;overflow:hidden;padding:0 10px;min-width:0}.fs-chip.shape-round{border-radius:16px}.fs-chip.shape-round.imaged{overflow:visible;padding-left:0;vertical-align:middle}.fs-chip.shape-round.imaged.outlined .image{margin-left:-2px}.fs-chip.shape-square{border-radius:5px;padding:4px 8px}.fs-chip.shape-square .image{padding:4px 0}.fs-chip.iconed:not(.imaged){padding-left:5px}.fs-chip.selectable{cursor:pointer}.fs-chip.outlined{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 .prefixes{display:flex;flex-direction:row;margin-right:3px}.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;line-height:normal}.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-large.sub-content{padding:4px 8px}.fs-chip.size-large.prefixable:not(.imaged){padding-left:4px}.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.prefixable:not(.imaged){padding-left:3px}.fs-chip.size-small.iconed:not(.imaged){padding-left:4px}.fs-chip.size-small.shape-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.sub-content{padding:3px 6px}.fs-chip.size-small ::ng-deep mat-icon{height:22px;width:22px;font-size:22px}.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.prefixable:not(.imaged){padding-left:2px}.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.sub-content{padding:2px 4px}.fs-chip.size-tiny.shape-round.imaged{padding-left:0}.fs-chip.size-tiny ::ng-deep mat-icon{height:13px;width:13px;font-size:13px}.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.prefixable:not(.imaged){padding-left:2px}.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.sub-content{padding:1px 2px}.fs-chip.size-micro.shape-round.imaged{padding-left:0}.fs-chip.size-micro ::ng-deep mat-icon{width:12px;height:12px;font-size:11px}.fs-chip:not(.size-large).actionable,.fs-chip:not(.size-large).selected{padding-right:0}\n"] }]
|
|
101
104
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { templateRef: [{
|
|
102
105
|
type: ViewChild,
|
|
103
106
|
args: [TemplateRef, { static: true }]
|
|
104
107
|
}], chipSuffixes: [{
|
|
105
108
|
type: ContentChildren,
|
|
106
109
|
args: [FsChipSuffixDirective]
|
|
110
|
+
}], chipPrefixes: [{
|
|
111
|
+
type: ContentChildren,
|
|
112
|
+
args: [FsChipPrefixDirective]
|
|
107
113
|
}], chipSubcontentTemplateRef: [{
|
|
108
114
|
type: ContentChild,
|
|
109
115
|
args: [FsChipSubcontentDirective, { read: TemplateRef }]
|
|
@@ -144,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
144
150
|
}], removed: [{
|
|
145
151
|
type: Output
|
|
146
152
|
}] } });
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvY2hpcC9jaGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jaGlwL2NoaXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUFFLGlCQUFpQixFQUMxQyxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBRVQsV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7OztBQVMvRSxNQUFNLE9BQU8sZUFBZTtJQTBEaEI7SUF2REgsV0FBVyxDQUFvQjtJQUcvQixZQUFZLENBQW1DO0lBRy9DLHlCQUF5QixDQUFvQjtJQUc3QyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBR25CLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFHakIsS0FBSyxDQUFNO0lBR1gsUUFBUSxDQUFTO0lBR2pCLEtBQUssQ0FBUztJQUVMLGVBQWUsQ0FBQztJQUVoQixXQUFXLENBQUM7SUFFWixLQUFLLENBQUM7SUFFTixLQUFLLEdBQXVCLE9BQU8sQ0FBQztJQUVwQyxRQUFRLENBQUM7SUFFVCxJQUFJLENBQVM7SUFFYixLQUFLLENBQVM7SUFFZCxRQUFRLENBQVU7SUFFbEIsT0FBTyxDQUFTO0lBRWhCLGFBQWEsQ0FBUztJQUV0QixJQUFJLEdBQXlDLE9BQU8sQ0FBQztJQUVwRCxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJ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O3NCQUFwQixLQUFLO2dCQUVVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBRVUsUUFBUTtzQkFBdkIsS0FBSztnQkFFVSxJQUFJO3NCQUFuQixLQUFLO2dCQUVVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBRVUsUUFBUTtzQkFBdkIsS0FBSztnQkFFVSxPQUFPO3NCQUF0QixLQUFLO2dCQUVVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBRVUsSUFBSTtzQkFBbkIsS0FBSztnQkFFVyxlQUFlO3NCQUEvQixNQUFNO2dCQUNVLE9BQU87c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRnNDaGlwU3ViY29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvY2hpcC1zdWJjb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0NoaXBTdWZmaXhEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2NoaXAtc3VmZml4LmRpcmVjdGl2ZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtY2hpcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGlwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hpcC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNDaGlwQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuXG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pIFxuICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRnNDaGlwU3VmZml4RGlyZWN0aXZlKSBcbiAgcHVibGljIGNoaXBTdWZmaXhlczogUXVlcnlMaXN0PEZzQ2hpcFN1ZmZpeERpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZChGc0NoaXBTdWJjb250ZW50RGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHB1YmxpYyBjaGlwU3ViY29udGVudFRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICBASW5wdXQoKSBcbiAgcHVibGljIHNlbGVjdGFibGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVtb3ZhYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKSBcbiAgcHVibGljIHZhbHVlOiBhbnk7XG5cbiAgQElucHV0KCkgXG4gIHB1YmxpYyBtYXhXaWR0aDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIFxuICBwdWJsaWMgd2lkdGg6IHN0cmluZztcblxuICBASW5wdXQoKSBwdWJsaWMgYmFja2dyb3VuZENvbG9yO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBib3JkZXJDb2xvcjtcblxuICBASW5wdXQoKSBwdWJsaWMgY29sb3I7XG5cbiAgQElucHV0KCkgcHVibGljIHNoYXBlOiAncm91bmQnIHwgJ3NxdWFyZScgPSAncm91bmQnO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBvdXRsaW5lZDtcblxuICBASW5wdXQoKSBwdWJsaWMgaWNvbjogc3RyaW5nO1xuICBcbiAgQElucHV0KCkgcHVibGljIGltYWdlOiBzdHJpbmc7XG4gIFxuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWQ6IGJvb2xlYW47XG4gIFxuICBASW5wdXQoKSBwdWJsaWMgcGFkZGluZzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjb250cmFzdENvbG9yOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcHVibGljIHNpemU6ICdzbWFsbCcgfCAndGlueScgfCAnbWljcm8nIHwgJ2xhcmdlJyA9ICdsYXJnZSc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RlZFRvZ2dsZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgaGFzQ2hpcHM6IGJvb2xlYW47XG4gIHB1YmxpYyBkZWZhdWx0Q29sb3IgPSAnIzQ3NDc0Nyc7XG4gIHB1YmxpYyBkZWZhdWx0QmFja2dyb3VuZENvbG9yID0gJyNlN2U3ZTcnO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBwdWJsaWMgY2xpY2soKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0YWJsZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9ICF0aGlzLnNlbGVjdGVkO1xuICAgICAgdGhpcy5zZWxlY3RlZFRvZ2dsZWQuZW1pdCh7IHZhbHVlOiB0aGlzLnZhbHVlLCBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB0cnVlO1xuICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHVuc2VsZWN0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVzdHJveSQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVzdHJveSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLmJhY2tncm91bmRDb2xvcikge1xuICAgICAgdGhpcy5jb250cmFzdENvbG9yID0gdGhpcy5kZWZhdWx0Q29sb3I7XG5cbiAgICAgIGlmKHRoaXMuYmFja2dyb3VuZENvbG9yICYmIHRoaXMuYmFja2dyb3VuZENvbG9yICE9PSAndHJhbnNwYXJlbnQnKSB7XG4gICAgICAgIHRoaXMuY29udHJhc3RDb2xvciA9IHRoaXMuX2lzQ29udHJhc3RZSVFCbGFjayh0aGlzLmJhY2tncm91bmRDb2xvcikgP1xuICAgICAgICAgIHRoaXMuZGVmYXVsdENvbG9yIDogJyNmZmYnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhY3Rpb25DbGljayhhY3Rpb24sIGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYoYWN0aW9uLmNsaWNrKSB7XG4gICAgICBhY3Rpb24uY2xpY2soZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjaGlwU3VmZml4Q2xpY2soY2hpcFN1ZmZpeDogRnNDaGlwU3VmZml4RGlyZWN0aXZlLCBldmVudDogTW91c2VFdmVudCwgdmFsdWU6IGFueSkge1xuICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGNoaXBTdWZmaXguY2xpY2suZW1pdCh7IGV2ZW50LCBkYXRhOiB2YWx1ZSA/PyBjaGlwU3VmZml4LmRhdGEgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dChudWxsKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZShldmVudDogTW91c2VFdmVudCkge1xuICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMucmVtb3ZlZC5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzQ29udHJhc3RZSVFCbGFjayhoZXhjb2xvcikge1xuICAgIGlmICghaGV4Y29sb3IpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGhleGNvbG9yID0gaGV4Y29sb3IucmVwbGFjZSgnIycsICcnKTtcbiAgICBjb25zdCByID0gcGFyc2VJbnQoaGV4Y29sb3Iuc3Vic3RyKDAsIDIpLCAxNik7XG4gICAgY29uc3QgZyA9IHBhcnNlSW50KGhleGNvbG9yLnN1YnN0cigyLCAyKSwgMTYpO1xuICAgIGNvbnN0IGIgPSBwYXJzZUludChoZXhjb2xvci5zdWJzdHIoNCwgMiksIDE2KTtcbiAgICBjb25zdCB5aXEgPSAoKHIgKiAyOTkpICsgKGcgKiA1ODcpICsgKGIgKiAxMTQpKSAvIDEwMDA7XG5cbiAgICByZXR1cm4geWlxID49IDIwMDtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlPlxuICA8ZGl2XG4gICAgICBjbGFzcz1cImZzLWNoaXBcIlxuICAgICAgKGNsaWNrKT1cImNsaWNrKClcIlxuICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJvdXRsaW5lZCA/ICd0cmFuc3BhcmVudCcgOiBiYWNrZ3JvdW5kQ29sb3IgfHwgZGVmYXVsdEJhY2tncm91bmRDb2xvclwiXG4gICAgICBbc3R5bGUucGFkZGluZ109XCJwYWRkaW5nXCJcbiAgICAgIFtzdHlsZS5ib3JkZXJDb2xvcl09XCJib3JkZXJDb2xvciB8fCAob3V0bGluZWQgJiYgY29sb3IgPyBjb2xvciA6IG51bGwpXCJcbiAgICAgIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiXG4gICAgICBbc3R5bGUuY29sb3JdPVwiY29sb3IgfHwgY29udHJhc3RDb2xvciB8fCBkZWZhdWx0Q29sb3JcIlxuICAgICAgW2NsYXNzLmFjdGlvbmFibGVdPVwiY2hpcFN1ZmZpeGVzLmxlbmd0aCAhPT0gMCB8fCAocmVtb3ZlZC5vYnNlcnZlZCAmJiByZW1vdmFibGUpXCJcbiAgICAgIFtjbGFzcy5zaGFwZS1yb3VuZF09XCJzaGFwZSA9PT0gJ3JvdW5kJ1wiXG4gICAgICBbY2xhc3Muc2hhcGUtc3F1YXJlXT1cInNoYXBlID09PSAnc3F1YXJlJ1wiXG4gICAgICBbY2xhc3Muc2l6ZS1zbWFsbF09XCJzaXplID09PSAnc21hbGwnXCJcbiAgICAgIFtjbGFzcy5zaXplLXRpbnldPVwic2l6ZSA9PT0gJ3RpbnknXCJcbiAgICAgIFtjbGFzcy5zaXplLW1pY3JvXT1cInNpemUgPT09ICdtaWNybydcIlxuICAgICAgW2NsYXNzLnNpemUtbGFyZ2VdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXG4gICAgICBbY2xhc3Muc2VsZWN0YWJsZV09XCJzZWxlY3RhYmxlXCJcbiAgICAgIFtjbGFzcy5yZW1vdmFibGVdPVwicmVtb3ZhYmxlXCJcbiAgICAgIFtjbGFzcy5pY29uZWRdPVwiISFpY29uXCJcbiAgICAgIFtjbGFzcy5pbWFnZWRdPVwiISFpbWFnZVwiXG4gICAgICBbY2xhc3Mub3V0bGluZWRdPVwib3V0bGluZWRcIlxuICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkXCJcbiAgICAgIFtjbGFzcy5zdWItY29udGVudF09XCIhIWNoaXBTdWJjb250ZW50VGVtcGxhdGVSZWZcIj5cbiAgICBAaWYgKGltYWdlKSB7XG4gICAgICA8aW1nXG4gICAgICAgIFtzcmNdPVwiaW1hZ2VcIlxuICAgICAgICBjbGFzcz1cImltYWdlXCJcbiAgICAgICAgYWx0PVwiXCI+XG4gICAgfVxuICAgIEBpZiAoaWNvbikge1xuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvblwiPlxuICAgICAgICB7eyBpY29uIH19XG4gICAgICA8L21hdC1pY29uPlxuICAgIH1cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZnMtY2hpcC1jb250ZW50XCJcbiAgICAgICAgW25nU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogbWF4V2lkdGggfVwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgQGlmIChjaGlwU3ViY29udGVudFRlbXBsYXRlUmVmKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcy1jaGlwLXN1YmNvbnRlbnRcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2hpcFN1YmNvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICBAaWYgKHNlbGVjdGVkKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtY2hlY2tcIj5cbiAgICAgICAgPG1hdC1pY29uIFtzdHlsZS5jb2xvcl09XCJjb2xvciB8fCBjb250cmFzdENvbG9yIHx8IGRlZmF1bHRDb2xvclwiPlxuICAgICAgICAgIGNoZWNrXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmIChjaGlwU3VmZml4ZXMubGVuZ3RoICE9PSAwIHx8IChyZW1vdmVkLm9ic2VydmVkICYmIHJlbW92YWJsZSkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICAgIEBmb3IgKGNoaXBTdWZmaXggb2YgY2hpcFN1ZmZpeGVzOyB0cmFjayBjaGlwU3VmZml4KSB7XG4gICAgICAgICAgPGZzLWNoaXAtc3VmZml4XG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2NsaWNrYWJsZSc6IGNoaXBTdWZmaXguY2xpY2sub2JzZXJ2ZXJzLmxlbmd0aCB9XCJcbiAgICAgICAgICAgICAgW2ljb25dPVwiY2hpcFN1ZmZpeC5pY29uXCJcbiAgICAgICAgICAgICAgW2xpbmtdPVwiY2hpcFN1ZmZpeC5saW5rXCJcbiAgICAgICAgICAgICAgW2xpbmtUYXJnZXRdPVwiY2hpcFN1ZmZpeC5saW5rVGFyZ2V0XCJcbiAgICAgICAgICAgICAgW2NvbG9yXT1cImNoaXBTdWZmaXguY29sb3IgfHwgY29sb3IgfHwgY29udHJhc3RDb2xvciB8fCBkZWZhdWx0Q29sb3JcIlxuICAgICAgICAgICAgICBbc2hvd109XCJjaGlwU3VmZml4LnNob3dcIlxuICAgICAgICAgICAgICBbdG9vbHRpcF09XCJjaGlwU3VmZml4LnRvb2x0aXBcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2hpcFN1ZmZpeENsaWNrKGNoaXBTdWZmaXgsICRldmVudCwgdmFsdWUpXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2hpcFN1ZmZpeC50ZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZnMtY2hpcC1zdWZmaXg+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChyZW1vdmVkLm9ic2VydmVkICYmIHJlbW92YWJsZSkge1xuICAgICAgICAgIDxmcy1jaGlwLXN1ZmZpeFxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnY2xpY2thYmxlJzogdHJ1ZSB9XCJcbiAgICAgICAgICAgIFtpY29uXT1cIidyZW1vdmVfY2lyY2xlX291dGxpbmUnXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJjb2xvciB8fCBjb250cmFzdENvbG9yIHx8IGRlZmF1bHRDb2xvclwiXG4gICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlKCRldmVudClcIj5cbiAgICAgICAgICA8L2ZzLWNoaXAtc3VmZml4PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbkBpZiAoIWhhc0NoaXBzKSB7XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbn0iXX0=
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvY2hpcC9jaGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jaGlwL2NoaXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUFFLGlCQUFpQixFQUMxQyxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBRVQsV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7QUFTL0UsTUFBTSxPQUFPLGVBQWU7SUE2RGhCO0lBMURILFdBQVcsQ0FBb0I7SUFHL0IsWUFBWSxDQUFtQztJQUcvQyxZQUFZLENBQW1DO0lBRy9DLHlCQUF5QixDQUFvQjtJQUc3QyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBR25CLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFHakIsS0FBSyxDQUFNO0lBR1gsUUFBUSxDQUFTO0lBR2pCLEtBQUssQ0FBUztJQUVMLGVBQWUsQ0FBQztJQUVoQixXQUFXLENBQUM7SUFFWixLQUFLLENBQUM7SUFFTixLQUFLLEdBQXVCLE9BQU8sQ0FBQztJQUVwQyxRQUFRLENBQUM7SUFFVCxJQUFJLENBQVM7SUFFYixLQUFLLENBQVM7SUFFZCxRQUFRLENBQVU7SUFFbEIsT0FBTyxDQUFTO0lBRWhCLGFBQWEsQ0FBUztJ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QUs7c0JBRFgsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLO2dCQUdVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBRVUsV0FBVztzQkFBMUIsS0FBSztnQkFFVSxLQUFLO3NCQUFwQixLQUFLO2dCQUVVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBRVUsUUFBUTtzQkFBdkIsS0FBSztnQkFFVSxJQUFJO3NCQUFuQixLQUFLO2dCQUVVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBRVUsUUFBUTtzQkFBdkIsS0FBSztnQkFFVSxPQUFPO3NCQUF0QixLQUFLO2dCQUVVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBRVUsSUFBSTtzQkFBbkIsS0FBSztnQkFFVyxlQUFlO3NCQUEvQixNQUFNO2dCQUNVLE9BQU87c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRnNDaGlwUHJlZml4RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9jaGlwLXByZWZpeC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNDaGlwU3ViY29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvY2hpcC1zdWJjb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0NoaXBTdWZmaXhEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2NoaXAtc3VmZml4LmRpcmVjdGl2ZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtY2hpcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGlwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hpcC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNDaGlwQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuXG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pIFxuICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRnNDaGlwU3VmZml4RGlyZWN0aXZlKSBcbiAgcHVibGljIGNoaXBTdWZmaXhlczogUXVlcnlMaXN0PEZzQ2hpcFN1ZmZpeERpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGc0NoaXBQcmVmaXhEaXJlY3RpdmUpXG4gIHB1YmxpYyBjaGlwUHJlZml4ZXM6IFF1ZXJ5TGlzdDxGc0NoaXBQcmVmaXhEaXJlY3RpdmU+O1xuXG4gIEBDb250ZW50Q2hpbGQoRnNDaGlwU3ViY29udGVudERpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBwdWJsaWMgY2hpcFN1YmNvbnRlbnRUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgQElucHV0KCkgXG4gIHB1YmxpYyBzZWxlY3RhYmxlID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJlbW92YWJsZSA9IHRydWU7XG5cbiAgQElucHV0KCkgXG4gIHB1YmxpYyB2YWx1ZTogYW55O1xuXG4gIEBJbnB1dCgpIFxuICBwdWJsaWMgbWF4V2lkdGg6IHN0cmluZztcblxuICBASW5wdXQoKSBcbiAgcHVibGljIHdpZHRoOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcHVibGljIGJhY2tncm91bmRDb2xvcjtcblxuICBASW5wdXQoKSBwdWJsaWMgYm9yZGVyQ29sb3I7XG5cbiAgQElucHV0KCkgcHVibGljIGNvbG9yO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaGFwZTogJ3JvdW5kJyB8ICdzcXVhcmUnID0gJ3JvdW5kJztcblxuICBASW5wdXQoKSBwdWJsaWMgb3V0bGluZWQ7XG5cbiAgQElucHV0KCkgcHVibGljIGljb246IHN0cmluZztcbiAgXG4gIEBJbnB1dCgpIHB1YmxpYyBpbWFnZTogc3RyaW5nO1xuICBcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkOiBib29sZWFuO1xuICBcbiAgQElucHV0KCkgcHVibGljIHBhZGRpbmc6IHN0cmluZztcblxuICBASW5wdXQoKSBwdWJsaWMgY29udHJhc3RDb2xvcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaXplOiAnc21hbGwnIHwgJ3RpbnknIHwgJ21pY3JvJyB8ICdsYXJnZScgPSAnbGFyZ2UnO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VsZWN0ZWRUb2dnbGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIHJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGhhc0NoaXBzOiBib29sZWFuO1xuICBwdWJsaWMgZGVmYXVsdENvbG9yID0gJyM0NzQ3NDcnO1xuICBwdWJsaWMgZGVmYXVsdEJhY2tncm91bmRDb2xvciA9ICcjZTdlN2U3JztcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgcHVibGljIGNsaWNrKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSAhdGhpcy5zZWxlY3RlZDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRUb2dnbGVkLmVtaXQoeyB2YWx1ZTogdGhpcy52YWx1ZSwgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyB1bnNlbGVjdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlc3Ryb3kkKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rlc3Ryb3kkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5iYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgIHRoaXMuY29udHJhc3RDb2xvciA9IHRoaXMuZGVmYXVsdENvbG9yO1xuXG4gICAgICBpZih0aGlzLmJhY2tncm91bmRDb2xvciAmJiB0aGlzLmJhY2tncm91bmRDb2xvciAhPT0gJ3RyYW5zcGFyZW50Jykge1xuICAgICAgICB0aGlzLmNvbnRyYXN0Q29sb3IgPSB0aGlzLl9pc0NvbnRyYXN0WUlRQmxhY2sodGhpcy5iYWNrZ3JvdW5kQ29sb3IpID9cbiAgICAgICAgICB0aGlzLmRlZmF1bHRDb2xvciA6ICcjZmZmJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWN0aW9uQ2xpY2soYWN0aW9uLCBldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmKGFjdGlvbi5jbGljaykge1xuICAgICAgYWN0aW9uLmNsaWNrKGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2hpcFN1ZmZpeENsaWNrKGNoaXBTdWZmaXg6IEZzQ2hpcFN1ZmZpeERpcmVjdGl2ZSwgZXZlbnQ6IE1vdXNlRXZlbnQsIHZhbHVlOiBhbnkpIHtcbiAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBjaGlwU3VmZml4LmNsaWNrLmVtaXQoeyBldmVudCwgZGF0YTogdmFsdWUgPz8gY2hpcFN1ZmZpeC5kYXRhIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnJlbW92ZWQubmV4dChldmVudCk7XG4gIH1cblxuICBwcml2YXRlIF9pc0NvbnRyYXN0WUlRQmxhY2soaGV4Y29sb3IpIHtcbiAgICBpZiAoIWhleGNvbG9yKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBoZXhjb2xvciA9IGhleGNvbG9yLnJlcGxhY2UoJyMnLCAnJyk7XG4gICAgY29uc3QgciA9IHBhcnNlSW50KGhleGNvbG9yLnN1YnN0cigwLCAyKSwgMTYpO1xuICAgIGNvbnN0IGcgPSBwYXJzZUludChoZXhjb2xvci5zdWJzdHIoMiwgMiksIDE2KTtcbiAgICBjb25zdCBiID0gcGFyc2VJbnQoaGV4Y29sb3Iuc3Vic3RyKDQsIDIpLCAxNik7XG4gICAgY29uc3QgeWlxID0gKChyICogMjk5KSArIChnICogNTg3KSArIChiICogMTE0KSkgLyAxMDAwO1xuXG4gICAgcmV0dXJuIHlpcSA+PSAyMDA7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZT5cbiAgPGRpdlxuICAgICAgY2xhc3M9XCJmcy1jaGlwXCJcbiAgICAgIChjbGljayk9XCJjbGljaygpXCJcbiAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwib3V0bGluZWQgPyAndHJhbnNwYXJlbnQnIDogYmFja2dyb3VuZENvbG9yIHx8IGRlZmF1bHRCYWNrZ3JvdW5kQ29sb3JcIlxuICAgICAgW3N0eWxlLnBhZGRpbmddPVwicGFkZGluZ1wiXG4gICAgICBbc3R5bGUuYm9yZGVyQ29sb3JdPVwiYm9yZGVyQ29sb3IgfHwgKG91dGxpbmVkICYmIGNvbG9yID8gY29sb3IgOiBudWxsKVwiXG4gICAgICBbc3R5bGUud2lkdGhdPVwid2lkdGhcIlxuICAgICAgW3N0eWxlLmNvbG9yXT1cImNvbG9yIHx8IGNvbnRyYXN0Q29sb3IgfHwgZGVmYXVsdENvbG9yXCJcbiAgICAgIFtjbGFzcy5hY3Rpb25hYmxlXT1cImNoaXBTdWZmaXhlcy5sZW5ndGggIT09IDAgfHwgKHJlbW92ZWQub2JzZXJ2ZWQgJiYgcmVtb3ZhYmxlKVwiXG4gICAgICBbY2xhc3MucHJlZml4YWJsZV09XCJjaGlwUHJlZml4ZXMubGVuZ3RoICE9PSAwXCJcbiAgICAgIFtjbGFzcy5zaGFwZS1yb3VuZF09XCJzaGFwZSA9PT0gJ3JvdW5kJ1wiXG4gICAgICBbY2xhc3Muc2hhcGUtc3F1YXJlXT1cInNoYXBlID09PSAnc3F1YXJlJ1wiXG4gICAgICBbY2xhc3Muc2l6ZS1zbWFsbF09XCJzaXplID09PSAnc21hbGwnXCJcbiAgICAgIFtjbGFzcy5zaXplLXRpbnldPVwic2l6ZSA9PT0gJ3RpbnknXCJcbiAgICAgIFtjbGFzcy5zaXplLW1pY3JvXT1cInNpemUgPT09ICdtaWNybydcIlxuICAgICAgW2NsYXNzLnNpemUtbGFyZ2VdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXG4gICAgICBbY2xhc3Muc2VsZWN0YWJsZV09XCJzZWxlY3RhYmxlXCJcbiAgICAgIFtjbGFzcy5yZW1vdmFibGVdPVwicmVtb3ZhYmxlXCJcbiAgICAgIFtjbGFzcy5pY29uZWRdPVwiISFpY29uXCJcbiAgICAgIFtjbGFzcy5pbWFnZWRdPVwiISFpbWFnZVwiXG4gICAgICBbY2xhc3Mub3V0bGluZWRdPVwib3V0bGluZWRcIlxuICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkXCJcbiAgICAgIFtjbGFzcy5zdWItY29udGVudF09XCIhIWNoaXBTdWJjb250ZW50VGVtcGxhdGVSZWZcIj5cbiAgICBAaWYgKGltYWdlKSB7XG4gICAgICA8aW1nXG4gICAgICAgIFtzcmNdPVwiaW1hZ2VcIlxuICAgICAgICBjbGFzcz1cImltYWdlXCJcbiAgICAgICAgYWx0PVwiXCI+XG4gICAgfVxuICAgIEBpZiAoY2hpcFByZWZpeGVzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgPGRpdiBjbGFzcz1cInByZWZpeGVzXCI+XG4gICAgICAgIEBmb3IgKGNoaXBQcmVmaXggb2YgY2hpcFByZWZpeGVzOyB0cmFjayBjaGlwUHJlZml4KSB7XG4gICAgICAgICAgPGZzLWNoaXAtcHJlZml4XG4gICAgICAgICAgICAgIFtpY29uXT1cImNoaXBQcmVmaXguaWNvblwiXG4gICAgICAgICAgICAgIFtjb2xvcl09XCJjaGlwUHJlZml4LmNvbG9yIHx8IGNvbG9yIHx8IGNvbnRyYXN0Q29sb3IgfHwgZGVmYXVsdENvbG9yXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNoaXBQcmVmaXguY2xpY2suZW1pdCh7IGV2ZW50OiAkZXZlbnQsIGRhdGE6IHZhbHVlIH0pXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2hpcFByZWZpeC50ZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZnMtY2hpcC1wcmVmaXg+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAaWYgKGljb24pIHtcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb25cIj5cbiAgICAgICAge3sgaWNvbiB9fVxuICAgICAgPC9tYXQtaWNvbj5cbiAgICB9XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImZzLWNoaXAtY29udGVudFwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgJ21heC13aWR0aCc6IG1heFdpZHRoIH1cIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIEBpZiAoY2hpcFN1YmNvbnRlbnRUZW1wbGF0ZVJlZikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZnMtY2hpcC1zdWJjb250ZW50XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNoaXBTdWJjb250ZW50VGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgQGlmIChzZWxlY3RlZCkge1xuICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLWNoZWNrXCI+XG4gICAgICAgIDxtYXQtaWNvbiBbc3R5bGUuY29sb3JdPVwiY29sb3IgfHwgY29udHJhc3RDb2xvciB8fCBkZWZhdWx0Q29sb3JcIj5cbiAgICAgICAgICBjaGVja1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAoY2hpcFN1ZmZpeGVzLmxlbmd0aCAhPT0gMCB8fCAocmVtb3ZlZC5vYnNlcnZlZCAmJiByZW1vdmFibGUpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgICAgICBAZm9yIChjaGlwU3VmZml4IG9mIGNoaXBTdWZmaXhlczsgdHJhY2sgY2hpcFN1ZmZpeCkge1xuICAgICAgICAgIDxmcy1jaGlwLXN1ZmZpeFxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdjbGlja2FibGUnOiBjaGlwU3VmZml4LmNsaWNrLm9ic2VydmVycy5sZW5ndGggfVwiXG4gICAgICAgICAgICAgIFtpY29uXT1cImNoaXBTdWZmaXguaWNvblwiXG4gICAgICAgICAgICAgIFtsaW5rXT1cImNoaXBTdWZmaXgubGlua1wiXG4gICAgICAgICAgICAgIFtsaW5rVGFyZ2V0XT1cImNoaXBTdWZmaXgubGlua1RhcmdldFwiXG4gICAgICAgICAgICAgIFtjb2xvcl09XCJjaGlwU3VmZml4LmNvbG9yIHx8IGNvbG9yIHx8IGNvbnRyYXN0Q29sb3IgfHwgZGVmYXVsdENvbG9yXCJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwiY2hpcFN1ZmZpeC50b29sdGlwXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNoaXBTdWZmaXhDbGljayhjaGlwU3VmZml4LCAkZXZlbnQsIHZhbHVlKVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNoaXBTdWZmaXgudGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2ZzLWNoaXAtc3VmZml4PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAocmVtb3ZlZC5vYnNlcnZlZCAmJiByZW1vdmFibGUpIHtcbiAgICAgICAgICA8ZnMtY2hpcC1zdWZmaXhcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2NsaWNrYWJsZSc6IHRydWUgfVwiXG4gICAgICAgICAgICBbaWNvbl09XCIncmVtb3ZlX2NpcmNsZV9vdXRsaW5lJ1wiXG4gICAgICAgICAgICBbY29sb3JdPVwiY29sb3IgfHwgY29udHJhc3RDb2xvciB8fCBkZWZhdWx0Q29sb3JcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZSgkZXZlbnQpXCI+XG4gICAgICAgICAgPC9mcy1jaGlwLXN1ZmZpeD5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5AaWYgKCFoYXNDaGlwcykge1xuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG59Il19
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/material/icon";
|
|
4
|
+
import * as i2 from "@angular/material/tooltip";
|
|
5
|
+
export class FsChipPrefixComponent {
|
|
6
|
+
icon;
|
|
7
|
+
color;
|
|
8
|
+
show = true;
|
|
9
|
+
tooltip;
|
|
10
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
11
|
+
click = new EventEmitter();
|
|
12
|
+
get clickable() {
|
|
13
|
+
return this.click.observers.length !== 0;
|
|
14
|
+
}
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipPrefixComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsChipPrefixComponent, selector: "fs-chip-prefix", inputs: { icon: "icon", color: "color", show: "show", tooltip: "tooltip" }, outputs: { click: "click" }, ngImport: i0, template: "<ng-content></ng-content>\n@if (icon) {\n <mat-icon\n [class.clickable]=\"clickable\"\n cdkHighlight\n [style.color]=\"color\"\n [matTooltip]=\"tooltip\"\n class=\"action\"\n (click)=\"click.emit($event)\">\n {{ icon }}\n </mat-icon>\n}", styles: [":host{display:flex}.clickable{cursor:pointer}\n"], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipPrefixComponent, decorators: [{
|
|
19
|
+
type: Component,
|
|
20
|
+
args: [{ selector: 'fs-chip-prefix', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n@if (icon) {\n <mat-icon\n [class.clickable]=\"clickable\"\n cdkHighlight\n [style.color]=\"color\"\n [matTooltip]=\"tooltip\"\n class=\"action\"\n (click)=\"click.emit($event)\">\n {{ icon }}\n </mat-icon>\n}", styles: [":host{display:flex}.clickable{cursor:pointer}\n"] }]
|
|
21
|
+
}], propDecorators: { icon: [{
|
|
22
|
+
type: Input
|
|
23
|
+
}], color: [{
|
|
24
|
+
type: Input
|
|
25
|
+
}], show: [{
|
|
26
|
+
type: Input
|
|
27
|
+
}], tooltip: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}], click: [{
|
|
30
|
+
type: Output
|
|
31
|
+
}] } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1wcmVmaXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2NoaXAtcHJlZml4L2NoaXAtcHJlZml4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jaGlwLXByZWZpeC9jaGlwLXByZWZpeC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7OztBQVN2QixNQUFNLE9BQU8scUJBQXFCO0lBRWhCLElBQUksQ0FBUztJQUViLEtBQUssQ0FBUztJQUVkLElBQUksR0FBWSxJQUFJLENBQUM7SUFFckIsT0FBTyxDQUFTO0lBRWhDLDREQUE0RDtJQUMzQyxLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQUV4RCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7dUdBZlUscUJBQXFCOzJGQUFyQixxQkFBcUIsK0pDZmxDLGlSQVdDOzsyRkRJWSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU07OEJBSS9CLElBQUk7c0JBQW5CLEtBQUs7Z0JBRVUsS0FBSztzQkFBcEIsS0FBSztnQkFFVSxJQUFJO3NCQUFuQixLQUFLO2dCQUVVLE9BQU87c0JBQXRCLEtBQUs7Z0JBR1csS0FBSztzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtY2hpcC1wcmVmaXgnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hpcC1wcmVmaXguY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGlwLXByZWZpeC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNDaGlwUHJlZml4Q29tcG9uZW50IHtcblxuICBASW5wdXQoKSBwdWJsaWMgaWNvbjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjb2xvcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93OiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKSBwdWJsaWMgdG9vbHRpcDogc3RyaW5nO1xuICBcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7ICBcbiAgXG4gIHB1YmxpYyBnZXQgY2xpY2thYmxlKCkge1xuICAgIHJldHVybiB0aGlzLmNsaWNrLm9ic2VydmVycy5sZW5ndGggIT09IDA7XG4gIH1cblxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuQGlmIChpY29uKSB7XG4gIDxtYXQtaWNvblxuICAgICAgW2NsYXNzLmNsaWNrYWJsZV09XCJjbGlja2FibGVcIlxuICAgICAgY2RrSGlnaGxpZ2h0XG4gICAgICBbc3R5bGUuY29sb3JdPVwiY29sb3JcIlxuICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcFwiXG4gICAgICBjbGFzcz1cImFjdGlvblwiXG4gICAgICAoY2xpY2spPVwiY2xpY2suZW1pdCgkZXZlbnQpXCI+XG4gICAge3sgaWNvbiB9fVxuICA8L21hdC1pY29uPlxufSJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Directive, EventEmitter, inject, Input, Output, TemplateRef, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FsChipPrefixDirective {
|
|
4
|
+
icon;
|
|
5
|
+
color;
|
|
6
|
+
data;
|
|
7
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
8
|
+
click = new EventEmitter();
|
|
9
|
+
templateRef = inject(TemplateRef);
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipPrefixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
11
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsChipPrefixDirective, selector: "[fsChipPrefix]", inputs: { icon: "icon", color: "color", data: "data" }, outputs: { click: "click" }, ngImport: i0 });
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipPrefixDirective, decorators: [{
|
|
14
|
+
type: Directive,
|
|
15
|
+
args: [{
|
|
16
|
+
selector: '[fsChipPrefix]',
|
|
17
|
+
}]
|
|
18
|
+
}], propDecorators: { icon: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}], color: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}], data: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}], click: [{
|
|
25
|
+
type: Output
|
|
26
|
+
}] } });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1wcmVmaXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9kaXJlY3RpdmVzL2NoaXAtcHJlZml4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7O0FBTXZCLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEIsSUFBSSxDQUFTO0lBRWIsS0FBSyxDQUFTO0lBRWQsSUFBSSxDQUFNO0lBRTFCLDREQUE0RDtJQUMzQyxLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQW9DLENBQUM7SUFFdkUsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQzt1R0FYOUIscUJBQXFCOzJGQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBSGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0I7OEJBR2lCLElBQUk7c0JBQW5CLEtBQUs7Z0JBRVUsS0FBSztzQkFBcEIsS0FBSztnQkFFVSxJQUFJO3NCQUFuQixLQUFLO2dCQUdXLEtBQUs7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZzQ2hpcFByZWZpeF0nLFxufSlcbmV4cG9ydCBjbGFzcyBGc0NoaXBQcmVmaXhEaXJlY3RpdmUge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBpY29uOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcHVibGljIGNvbG9yOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcHVibGljIGRhdGE6IGFueTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgQE91dHB1dCgpIHB1YmxpYyBjbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8eyBldmVudDogTW91c2VFdmVudCwgZGF0YTogYW55IH0+KCk7XG5cbiAgcHVibGljIHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcbn1cbiJdfQ==
|
|
@@ -6,13 +6,12 @@ export class FsChipSuffixDirective {
|
|
|
6
6
|
linkTarget;
|
|
7
7
|
color;
|
|
8
8
|
data;
|
|
9
|
-
show = true;
|
|
10
9
|
tooltip;
|
|
11
10
|
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
12
11
|
click = new EventEmitter();
|
|
13
12
|
templateRef = inject(TemplateRef);
|
|
14
13
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipSuffixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
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",
|
|
14
|
+
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", tooltip: "tooltip" }, outputs: { click: "click" }, ngImport: i0 });
|
|
16
15
|
}
|
|
17
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipSuffixDirective, decorators: [{
|
|
18
17
|
type: Directive,
|
|
@@ -29,11 +28,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
29
28
|
type: Input
|
|
30
29
|
}], data: [{
|
|
31
30
|
type: Input
|
|
32
|
-
}], show: [{
|
|
33
|
-
type: Input
|
|
34
31
|
}], tooltip: [{
|
|
35
32
|
type: Input
|
|
36
33
|
}], click: [{
|
|
37
34
|
type: Output
|
|
38
35
|
}] } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1zdWZmaXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9kaXJlY3RpdmVzL2NoaXAtc3VmZml4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7O0FBTXZCLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEIsSUFBSSxDQUFTO0lBRWIsSUFBSSxDQUFTO0lBRWIsVUFBVSxDQUFTO0lBRW5CLEtBQUssQ0FBUztJQUVkLElBQUksQ0FBTTtJQUVWLE9BQU8sQ0FBUztJQUVoQyw0REFBNEQ7SUFDM0MsS0FBSyxHQUFHLElBQUksWUFBWSxFQUFvQyxDQUFDO0lBRXZFLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7dUdBakI5QixxQkFBcUI7MkZBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUMzQjs4QkFHaUIsSUFBSTtzQkFBbkIsS0FBSztnQkFFVSxJQUFJO3NCQUFuQixLQUFLO2dCQUVVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBRVUsS0FBSztzQkFBcEIsS0FBSztnQkFFVSxJQUFJO3NCQUFuQixLQUFLO2dCQUVVLE9BQU87c0JBQXRCLEtBQUs7Z0JBR1csS0FBSztzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZnNDaGlwU3VmZml4XScsXG59KVxuZXhwb3J0IGNsYXNzIEZzQ2hpcFN1ZmZpeERpcmVjdGl2ZSB7XG5cbiAgQElucHV0KCkgcHVibGljIGljb246IHN0cmluZztcblxuICBASW5wdXQoKSBwdWJsaWMgbGluazogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBsaW5rVGFyZ2V0OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcHVibGljIGNvbG9yOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcHVibGljIGRhdGE6IGFueTtcblxuICBASW5wdXQoKSBwdWJsaWMgdG9vbHRpcDogc3RyaW5nO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgcHVibGljIGNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IGV2ZW50OiBNb3VzZUV2ZW50LCBkYXRhOiBhbnkgfT4oKTtcblxuICBwdWJsaWMgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xufVxuIl19
|
|
@@ -4,9 +4,11 @@ import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
|
4
4
|
import { MatIconModule } from '@angular/material/icon';
|
|
5
5
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
6
6
|
import { FsLabelModule } from '@firestitch/label';
|
|
7
|
+
import { FsChipPrefixComponent } from './components/chip-prefix/chip-prefix.component';
|
|
7
8
|
import { FsChipSuffixComponent } from './components/chip-suffix/chip-suffix.component';
|
|
8
9
|
import { FsChipComponent } from './components/chip/chip.component';
|
|
9
10
|
import { FsChipsComponent } from './components/chips/chips.component';
|
|
11
|
+
import { FsChipPrefixDirective } from './directives/chip-prefix.directive';
|
|
10
12
|
import { FsChipSubcontentDirective } from './directives/chip-subcontent.directive';
|
|
11
13
|
import { FsChipSuffixDirective } from './directives/chip-suffix.directive';
|
|
12
14
|
import * as i0 from "@angular/core";
|
|
@@ -20,6 +22,8 @@ export class FsChipModule {
|
|
|
20
22
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsChipModule, declarations: [FsChipsComponent,
|
|
21
23
|
FsChipComponent,
|
|
22
24
|
FsChipSuffixComponent,
|
|
25
|
+
FsChipPrefixComponent,
|
|
26
|
+
FsChipPrefixDirective,
|
|
23
27
|
FsChipSuffixDirective,
|
|
24
28
|
FsChipSubcontentDirective], imports: [CommonModule,
|
|
25
29
|
DragDropModule,
|
|
@@ -28,6 +32,7 @@ export class FsChipModule {
|
|
|
28
32
|
FsLabelModule], exports: [FsChipsComponent,
|
|
29
33
|
FsChipComponent,
|
|
30
34
|
FsChipSuffixDirective,
|
|
35
|
+
FsChipPrefixDirective,
|
|
31
36
|
FsChipSubcontentDirective] });
|
|
32
37
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipModule, imports: [CommonModule,
|
|
33
38
|
DragDropModule,
|
|
@@ -49,15 +54,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
49
54
|
FsChipsComponent,
|
|
50
55
|
FsChipComponent,
|
|
51
56
|
FsChipSuffixDirective,
|
|
57
|
+
FsChipPrefixDirective,
|
|
52
58
|
FsChipSubcontentDirective,
|
|
53
59
|
],
|
|
54
60
|
declarations: [
|
|
55
61
|
FsChipsComponent,
|
|
56
62
|
FsChipComponent,
|
|
57
63
|
FsChipSuffixComponent,
|
|
64
|
+
FsChipPrefixComponent,
|
|
65
|
+
FsChipPrefixDirective,
|
|
58
66
|
FsChipSuffixDirective,
|
|
59
67
|
FsChipSubcontentDirective,
|
|
60
68
|
],
|
|
61
69
|
}]
|
|
62
70
|
}] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtY2hpcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2ZzLWNoaXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN2RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBNkIzRSxNQUFNLE9BQU8sWUFBWTtJQUNoQixNQUFNLENBQUMsT0FBTztRQUNuQixPQUFPO1lBQ0wsUUFBUSxFQUFFLFlBQVk7U0FDdkIsQ0FBQztJQUNKLENBQUM7dUdBTFUsWUFBWTt3R0FBWixZQUFZLGlCQVRyQixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIscUJBQXFCO1lBQ3JCLHFCQUFxQjtZQUNyQix5QkFBeUIsYUF0QnpCLFlBQVk7WUFFWixjQUFjO1lBQ2QsYUFBYTtZQUNiLGdCQUFnQjtZQUVoQixhQUFhLGFBR2IsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixxQkFBcUI7WUFDckIscUJBQXFCO1lBQ3JCLHlCQUF5Qjt3R0FZaEIsWUFBWSxZQXpCckIsWUFBWTtZQUVaLGNBQWM7WUFDZCxhQUFhO1lBQ2IsZ0JBQWdCO1lBRWhCLGFBQWE7OzJGQW1CSixZQUFZO2tCQTNCeEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFFWixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUVoQixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLHlCQUF5QjtxQkFDMUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuaW1wb3J0IHsgRnNMYWJlbE1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2xhYmVsJztcblxuaW1wb3J0IHsgRnNDaGlwUHJlZml4Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoaXAtcHJlZml4L2NoaXAtcHJlZml4LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGc0NoaXBTdWZmaXhDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hpcC1zdWZmaXgvY2hpcC1zdWZmaXguY29tcG9uZW50JztcbmltcG9ydCB7IEZzQ2hpcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGlwL2NoaXAuY29tcG9uZW50JztcbmltcG9ydCB7IEZzQ2hpcHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hpcHMvY2hpcHMuY29tcG9uZW50JztcbmltcG9ydCB7IEZzQ2hpcFByZWZpeERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9jaGlwLXByZWZpeC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNDaGlwU3ViY29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9jaGlwLXN1YmNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzQ2hpcFN1ZmZpeERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9jaGlwLXN1ZmZpeC5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuXG4gICAgRnNMYWJlbE1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEZzQ2hpcHNDb21wb25lbnQsXG4gICAgRnNDaGlwQ29tcG9uZW50LFxuICAgIEZzQ2hpcFN1ZmZpeERpcmVjdGl2ZSxcbiAgICBGc0NoaXBQcmVmaXhEaXJlY3RpdmUsXG4gICAgRnNDaGlwU3ViY29udGVudERpcmVjdGl2ZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRnNDaGlwc0NvbXBvbmVudCxcbiAgICBGc0NoaXBDb21wb25lbnQsXG4gICAgRnNDaGlwU3VmZml4Q29tcG9uZW50LFxuICAgIEZzQ2hpcFByZWZpeENvbXBvbmVudCxcbiAgICBGc0NoaXBQcmVmaXhEaXJlY3RpdmUsXG4gICAgRnNDaGlwU3VmZml4RGlyZWN0aXZlLFxuICAgIEZzQ2hpcFN1YmNvbnRlbnREaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzQ2hpcE1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEZzQ2hpcE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRnNDaGlwTW9kdWxlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/public_api.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { FsChipModule } from './app/fs-chip.module';
|
|
2
2
|
export { FsChipComponent } from './app/components/chip/chip.component';
|
|
3
3
|
export { FsChipsComponent } from './app/components/chips/chips.component';
|
|
4
|
+
export { FsChipPrefixDirective } from './app/directives/chip-prefix.directive';
|
|
4
5
|
export { FsChipSubcontentDirective } from './app/directives/chip-subcontent.directive';
|
|
5
6
|
export { FsChipSuffixDirective } from './app/directives/chip-suffix.directive';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGc0NoaXBNb2R1bGUgfSBmcm9tICcuL2FwcC9mcy1jaGlwLm1vZHVsZSc7XG5cbmV4cG9ydCB7IEZzQ2hpcENvbXBvbmVudCB9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvY2hpcC9jaGlwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBGc0NoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xuXG5leHBvcnQgeyBGc0NoaXBQcmVmaXhEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL2NoaXAtcHJlZml4LmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0NoaXBTdWJjb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy9jaGlwLXN1YmNvbnRlbnQuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzQ2hpcFN1ZmZpeERpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvY2hpcC1zdWZmaXguZGlyZWN0aXZlJztcblxuIl19
|
|
@@ -1,18 +1,46 @@
|
|
|
1
1
|
import * as i1 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output,
|
|
5
|
-
import * as i2$
|
|
4
|
+
import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, inject, TemplateRef, Directive, ViewChild, ContentChildren, ContentChild, forwardRef, NgModule } from '@angular/core';
|
|
5
|
+
import * as i2$2 from '@angular/cdk/drag-drop';
|
|
6
6
|
import { moveItemInArray, CdkDropList, DragDropModule } from '@angular/cdk/drag-drop';
|
|
7
7
|
import * as i2 from '@angular/material/icon';
|
|
8
8
|
import { MatIconModule } from '@angular/material/icon';
|
|
9
|
-
import * as
|
|
9
|
+
import * as i2$1 from '@angular/material/tooltip';
|
|
10
10
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
11
11
|
import { FsLabelModule } from '@firestitch/label';
|
|
12
12
|
import { Subject } from 'rxjs';
|
|
13
13
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
14
14
|
import { takeUntil } from 'rxjs/operators';
|
|
15
15
|
|
|
16
|
+
class FsChipPrefixComponent {
|
|
17
|
+
icon;
|
|
18
|
+
color;
|
|
19
|
+
show = true;
|
|
20
|
+
tooltip;
|
|
21
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
22
|
+
click = new EventEmitter();
|
|
23
|
+
get clickable() {
|
|
24
|
+
return this.click.observers.length !== 0;
|
|
25
|
+
}
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipPrefixComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsChipPrefixComponent, selector: "fs-chip-prefix", inputs: { icon: "icon", color: "color", show: "show", tooltip: "tooltip" }, outputs: { click: "click" }, ngImport: i0, template: "<ng-content></ng-content>\n@if (icon) {\n <mat-icon\n [class.clickable]=\"clickable\"\n cdkHighlight\n [style.color]=\"color\"\n [matTooltip]=\"tooltip\"\n class=\"action\"\n (click)=\"click.emit($event)\">\n {{ icon }}\n </mat-icon>\n}", styles: [":host{display:flex}.clickable{cursor:pointer}\n"], dependencies: [{ kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
28
|
+
}
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipPrefixComponent, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{ selector: 'fs-chip-prefix', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n@if (icon) {\n <mat-icon\n [class.clickable]=\"clickable\"\n cdkHighlight\n [style.color]=\"color\"\n [matTooltip]=\"tooltip\"\n class=\"action\"\n (click)=\"click.emit($event)\">\n {{ icon }}\n </mat-icon>\n}", styles: [":host{display:flex}.clickable{cursor:pointer}\n"] }]
|
|
32
|
+
}], propDecorators: { icon: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}], color: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}], show: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}], tooltip: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], click: [{
|
|
41
|
+
type: Output
|
|
42
|
+
}] } });
|
|
43
|
+
|
|
16
44
|
class FsChipSuffixComponent {
|
|
17
45
|
icon;
|
|
18
46
|
link;
|
|
@@ -22,7 +50,7 @@ class FsChipSuffixComponent {
|
|
|
22
50
|
tooltip;
|
|
23
51
|
click = new EventEmitter();
|
|
24
52
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipSuffixComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
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:
|
|
53
|
+
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: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
26
54
|
}
|
|
27
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipSuffixComponent, decorators: [{
|
|
28
56
|
type: Component,
|
|
@@ -43,6 +71,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
43
71
|
type: Output
|
|
44
72
|
}] } });
|
|
45
73
|
|
|
74
|
+
class FsChipPrefixDirective {
|
|
75
|
+
icon;
|
|
76
|
+
color;
|
|
77
|
+
data;
|
|
78
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
79
|
+
click = new EventEmitter();
|
|
80
|
+
templateRef = inject(TemplateRef);
|
|
81
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipPrefixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
82
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsChipPrefixDirective, selector: "[fsChipPrefix]", inputs: { icon: "icon", color: "color", data: "data" }, outputs: { click: "click" }, ngImport: i0 });
|
|
83
|
+
}
|
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipPrefixDirective, decorators: [{
|
|
85
|
+
type: Directive,
|
|
86
|
+
args: [{
|
|
87
|
+
selector: '[fsChipPrefix]',
|
|
88
|
+
}]
|
|
89
|
+
}], propDecorators: { icon: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}], color: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], data: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}], click: [{
|
|
96
|
+
type: Output
|
|
97
|
+
}] } });
|
|
98
|
+
|
|
46
99
|
class FsChipSubcontentDirective {
|
|
47
100
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipSubcontentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
48
101
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsChipSubcontentDirective, selector: "[fsChipSubcontent]", ngImport: i0 });
|
|
@@ -60,13 +113,12 @@ class FsChipSuffixDirective {
|
|
|
60
113
|
linkTarget;
|
|
61
114
|
color;
|
|
62
115
|
data;
|
|
63
|
-
show = true;
|
|
64
116
|
tooltip;
|
|
65
117
|
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
66
118
|
click = new EventEmitter();
|
|
67
119
|
templateRef = inject(TemplateRef);
|
|
68
120
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipSuffixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
69
|
-
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",
|
|
121
|
+
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", tooltip: "tooltip" }, outputs: { click: "click" }, ngImport: i0 });
|
|
70
122
|
}
|
|
71
123
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipSuffixDirective, decorators: [{
|
|
72
124
|
type: Directive,
|
|
@@ -83,8 +135,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
83
135
|
type: Input
|
|
84
136
|
}], data: [{
|
|
85
137
|
type: Input
|
|
86
|
-
}], show: [{
|
|
87
|
-
type: Input
|
|
88
138
|
}], tooltip: [{
|
|
89
139
|
type: Input
|
|
90
140
|
}], click: [{
|
|
@@ -95,6 +145,7 @@ class FsChipComponent {
|
|
|
95
145
|
_cdRef;
|
|
96
146
|
templateRef;
|
|
97
147
|
chipSuffixes;
|
|
148
|
+
chipPrefixes;
|
|
98
149
|
chipSubcontentTemplateRef;
|
|
99
150
|
selectable = false;
|
|
100
151
|
removable = true;
|
|
@@ -178,17 +229,20 @@ class FsChipComponent {
|
|
|
178
229
|
return yiq >= 200;
|
|
179
230
|
}
|
|
180
231
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
181
|
-
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", padding: "padding", contrastColor: "contrastColor", 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 [style.backgroundColor]=\"outlined ? 'transparent' : backgroundColor || defaultBackgroundColor\"\n [style.padding]=\"padding\"\n [style.borderColor]=\"borderColor || (outlined && color ? color : null)\"\n [style.width]=\"width\"\n [style.color]=\"color || contrastColor || defaultColor\"\n [class.actionable]=\"chipSuffixes.length !== 0 || (removed.observed && removable)\"\n [class.shape-round]=\"shape === 'round'\"\n [class.shape-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.sub-content]=\"!!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]=\"color || contrastColor || defaultColor\">\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 || color || contrastColor || defaultColor\"\n [
|
|
232
|
+
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", padding: "padding", contrastColor: "contrastColor", size: "size" }, outputs: { selectedToggled: "selectedToggled", removed: "removed" }, queries: [{ propertyName: "chipSubcontentTemplateRef", first: true, predicate: FsChipSubcontentDirective, descendants: true, read: TemplateRef }, { propertyName: "chipSuffixes", predicate: FsChipSuffixDirective }, { propertyName: "chipPrefixes", predicate: FsChipPrefixDirective }], 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 [style.backgroundColor]=\"outlined ? 'transparent' : backgroundColor || defaultBackgroundColor\"\n [style.padding]=\"padding\"\n [style.borderColor]=\"borderColor || (outlined && color ? color : null)\"\n [style.width]=\"width\"\n [style.color]=\"color || contrastColor || defaultColor\"\n [class.actionable]=\"chipSuffixes.length !== 0 || (removed.observed && removable)\"\n [class.prefixable]=\"chipPrefixes.length !== 0\"\n [class.shape-round]=\"shape === 'round'\"\n [class.shape-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.sub-content]=\"!!chipSubcontentTemplateRef\">\n @if (image) {\n <img\n [src]=\"image\"\n class=\"image\"\n alt=\"\">\n }\n @if (chipPrefixes.length !== 0) {\n <div class=\"prefixes\">\n @for (chipPrefix of chipPrefixes; track chipPrefix) {\n <fs-chip-prefix\n [icon]=\"chipPrefix.icon\"\n [color]=\"chipPrefix.color || color || contrastColor || defaultColor\"\n (click)=\"chipPrefix.click.emit({ event: $event, data: value })\">\n <ng-container *ngTemplateOutlet=\"chipPrefix.templateRef\"></ng-container>\n </fs-chip-prefix>\n }\n </div>\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]=\"color || contrastColor || defaultColor\">\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 || color || contrastColor || defaultColor\"\n [tooltip]=\"chipSuffix.tooltip\"\n (click)=\"chipSuffixClick(chipSuffix, $event, value)\">\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]=\"color || contrastColor || defaultColor\"\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;min-height:30px;overflow:hidden;padding:0 10px;min-width:0}.fs-chip.shape-round{border-radius:16px}.fs-chip.shape-round.imaged{overflow:visible;padding-left:0;vertical-align:middle}.fs-chip.shape-round.imaged.outlined .image{margin-left:-2px}.fs-chip.shape-square{border-radius:5px;padding:4px 8px}.fs-chip.shape-square .image{padding:4px 0}.fs-chip.iconed:not(.imaged){padding-left:5px}.fs-chip.selectable{cursor:pointer}.fs-chip.outlined{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 .prefixes{display:flex;flex-direction:row;margin-right:3px}.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;line-height:normal}.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-large.sub-content{padding:4px 8px}.fs-chip.size-large.prefixable:not(.imaged){padding-left:4px}.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.prefixable:not(.imaged){padding-left:3px}.fs-chip.size-small.iconed:not(.imaged){padding-left:4px}.fs-chip.size-small.shape-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.sub-content{padding:3px 6px}.fs-chip.size-small ::ng-deep mat-icon{height:22px;width:22px;font-size:22px}.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.prefixable:not(.imaged){padding-left:2px}.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.sub-content{padding:2px 4px}.fs-chip.size-tiny.shape-round.imaged{padding-left:0}.fs-chip.size-tiny ::ng-deep mat-icon{height:13px;width:13px;font-size:13px}.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.prefixable:not(.imaged){padding-left:2px}.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.sub-content{padding:1px 2px}.fs-chip.size-micro.shape-round.imaged{padding-left:0}.fs-chip.size-micro ::ng-deep mat-icon{width:12px;height:12px;font-size:11px}.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: FsChipSuffixComponent, selector: "fs-chip-suffix", inputs: ["icon", "link", "linkTarget", "color", "show", "tooltip"], outputs: ["click"] }, { kind: "component", type: FsChipPrefixComponent, selector: "fs-chip-prefix", inputs: ["icon", "color", "show", "tooltip"], outputs: ["click"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
182
233
|
}
|
|
183
234
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipComponent, decorators: [{
|
|
184
235
|
type: Component,
|
|
185
|
-
args: [{ selector: 'fs-chip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template>\n <div\n class=\"fs-chip\"\n (click)=\"click()\"\n [style.backgroundColor]=\"outlined ? 'transparent' : backgroundColor || defaultBackgroundColor\"\n [style.padding]=\"padding\"\n [style.borderColor]=\"borderColor || (outlined && color ? color : null)\"\n [style.width]=\"width\"\n [style.color]=\"color || contrastColor || defaultColor\"\n [class.actionable]=\"chipSuffixes.length !== 0 || (removed.observed && removable)\"\n [class.shape-round]=\"shape === 'round'\"\n [class.shape-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.sub-content]=\"!!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]=\"color || contrastColor || defaultColor\">\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 || color || contrastColor || defaultColor\"\n [
|
|
236
|
+
args: [{ selector: 'fs-chip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template>\n <div\n class=\"fs-chip\"\n (click)=\"click()\"\n [style.backgroundColor]=\"outlined ? 'transparent' : backgroundColor || defaultBackgroundColor\"\n [style.padding]=\"padding\"\n [style.borderColor]=\"borderColor || (outlined && color ? color : null)\"\n [style.width]=\"width\"\n [style.color]=\"color || contrastColor || defaultColor\"\n [class.actionable]=\"chipSuffixes.length !== 0 || (removed.observed && removable)\"\n [class.prefixable]=\"chipPrefixes.length !== 0\"\n [class.shape-round]=\"shape === 'round'\"\n [class.shape-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.sub-content]=\"!!chipSubcontentTemplateRef\">\n @if (image) {\n <img\n [src]=\"image\"\n class=\"image\"\n alt=\"\">\n }\n @if (chipPrefixes.length !== 0) {\n <div class=\"prefixes\">\n @for (chipPrefix of chipPrefixes; track chipPrefix) {\n <fs-chip-prefix\n [icon]=\"chipPrefix.icon\"\n [color]=\"chipPrefix.color || color || contrastColor || defaultColor\"\n (click)=\"chipPrefix.click.emit({ event: $event, data: value })\">\n <ng-container *ngTemplateOutlet=\"chipPrefix.templateRef\"></ng-container>\n </fs-chip-prefix>\n }\n </div>\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]=\"color || contrastColor || defaultColor\">\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 || color || contrastColor || defaultColor\"\n [tooltip]=\"chipSuffix.tooltip\"\n (click)=\"chipSuffixClick(chipSuffix, $event, value)\">\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]=\"color || contrastColor || defaultColor\"\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;min-height:30px;overflow:hidden;padding:0 10px;min-width:0}.fs-chip.shape-round{border-radius:16px}.fs-chip.shape-round.imaged{overflow:visible;padding-left:0;vertical-align:middle}.fs-chip.shape-round.imaged.outlined .image{margin-left:-2px}.fs-chip.shape-square{border-radius:5px;padding:4px 8px}.fs-chip.shape-square .image{padding:4px 0}.fs-chip.iconed:not(.imaged){padding-left:5px}.fs-chip.selectable{cursor:pointer}.fs-chip.outlined{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 .prefixes{display:flex;flex-direction:row;margin-right:3px}.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;line-height:normal}.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-large.sub-content{padding:4px 8px}.fs-chip.size-large.prefixable:not(.imaged){padding-left:4px}.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.prefixable:not(.imaged){padding-left:3px}.fs-chip.size-small.iconed:not(.imaged){padding-left:4px}.fs-chip.size-small.shape-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.sub-content{padding:3px 6px}.fs-chip.size-small ::ng-deep mat-icon{height:22px;width:22px;font-size:22px}.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.prefixable:not(.imaged){padding-left:2px}.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.sub-content{padding:2px 4px}.fs-chip.size-tiny.shape-round.imaged{padding-left:0}.fs-chip.size-tiny ::ng-deep mat-icon{height:13px;width:13px;font-size:13px}.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.prefixable:not(.imaged){padding-left:2px}.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.sub-content{padding:1px 2px}.fs-chip.size-micro.shape-round.imaged{padding-left:0}.fs-chip.size-micro ::ng-deep mat-icon{width:12px;height:12px;font-size:11px}.fs-chip:not(.size-large).actionable,.fs-chip:not(.size-large).selected{padding-right:0}\n"] }]
|
|
186
237
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { templateRef: [{
|
|
187
238
|
type: ViewChild,
|
|
188
239
|
args: [TemplateRef, { static: true }]
|
|
189
240
|
}], chipSuffixes: [{
|
|
190
241
|
type: ContentChildren,
|
|
191
242
|
args: [FsChipSuffixDirective]
|
|
243
|
+
}], chipPrefixes: [{
|
|
244
|
+
type: ContentChildren,
|
|
245
|
+
args: [FsChipPrefixDirective]
|
|
192
246
|
}], chipSubcontentTemplateRef: [{
|
|
193
247
|
type: ContentChild,
|
|
194
248
|
args: [FsChipSubcontentDirective, { read: TemplateRef }]
|
|
@@ -410,7 +464,7 @@ class FsChipsComponent {
|
|
|
410
464
|
useExisting: forwardRef(() => FsChipsComponent),
|
|
411
465
|
multi: true,
|
|
412
466
|
},
|
|
413
|
-
], 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 [style.width]=\"width\"\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]=\"!!selectable\"\n [cdkDragPreviewClass]=\"'fs-chip-drag-preview'\">\n <a\n class=\"chip-handle\"\n mat-icon-button\n [ngClass]=\"{ 'visible': (selectable && chip.selected) || (!selectable && sortable) }\"\n cdkDragHandle>\n <mat-icon>\n drag_indicator\n </mat-icon>\n </a>\n @if (selectable) {\n @if (chip.selected) {\n <a\n class=\"select-button select-button-selected\"\n (click)=\"unselect(chip)\"\n mat-icon-button>\n <mat-icon>\n check_box\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 check_box_outline_blank\n </mat-icon>\n </a>\n }\n }\n <ng-component [ngTemplateOutlet]=\"chip.templateRef\"></ng-component>\n </div>\n }\n </div>\n} @else {\n <div\n class=\"fs-chips\"\n [style.width]=\"width\">\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;gap:5px}.fs-chips.chips-sortable{gap:8px;flex-direction:column}.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.chips-selectable .selected-check{display:none!important}::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:#ddd}::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$
|
|
467
|
+
], 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 [style.width]=\"width\"\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]=\"!!selectable\"\n [cdkDragPreviewClass]=\"'fs-chip-drag-preview'\">\n <a\n class=\"chip-handle\"\n mat-icon-button\n [ngClass]=\"{ 'visible': (selectable && chip.selected) || (!selectable && sortable) }\"\n cdkDragHandle>\n <mat-icon>\n drag_indicator\n </mat-icon>\n </a>\n @if (selectable) {\n @if (chip.selected) {\n <a\n class=\"select-button select-button-selected\"\n (click)=\"unselect(chip)\"\n mat-icon-button>\n <mat-icon>\n check_box\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 check_box_outline_blank\n </mat-icon>\n </a>\n }\n }\n <ng-component [ngTemplateOutlet]=\"chip.templateRef\"></ng-component>\n </div>\n }\n </div>\n} @else {\n <div\n class=\"fs-chips\"\n [style.width]=\"width\">\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;gap:5px}.fs-chips.chips-sortable{gap:8px;flex-direction:column}.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.chips-selectable .selected-check{display:none!important}::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:#ddd}::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$2.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$2.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$2.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
414
468
|
}
|
|
415
469
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipsComponent, decorators: [{
|
|
416
470
|
type: Component,
|
|
@@ -449,6 +503,8 @@ class FsChipModule {
|
|
|
449
503
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsChipModule, declarations: [FsChipsComponent,
|
|
450
504
|
FsChipComponent,
|
|
451
505
|
FsChipSuffixComponent,
|
|
506
|
+
FsChipPrefixComponent,
|
|
507
|
+
FsChipPrefixDirective,
|
|
452
508
|
FsChipSuffixDirective,
|
|
453
509
|
FsChipSubcontentDirective], imports: [CommonModule,
|
|
454
510
|
DragDropModule,
|
|
@@ -457,6 +513,7 @@ class FsChipModule {
|
|
|
457
513
|
FsLabelModule], exports: [FsChipsComponent,
|
|
458
514
|
FsChipComponent,
|
|
459
515
|
FsChipSuffixDirective,
|
|
516
|
+
FsChipPrefixDirective,
|
|
460
517
|
FsChipSubcontentDirective] });
|
|
461
518
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipModule, imports: [CommonModule,
|
|
462
519
|
DragDropModule,
|
|
@@ -478,12 +535,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
478
535
|
FsChipsComponent,
|
|
479
536
|
FsChipComponent,
|
|
480
537
|
FsChipSuffixDirective,
|
|
538
|
+
FsChipPrefixDirective,
|
|
481
539
|
FsChipSubcontentDirective,
|
|
482
540
|
],
|
|
483
541
|
declarations: [
|
|
484
542
|
FsChipsComponent,
|
|
485
543
|
FsChipComponent,
|
|
486
544
|
FsChipSuffixComponent,
|
|
545
|
+
FsChipPrefixComponent,
|
|
546
|
+
FsChipPrefixDirective,
|
|
487
547
|
FsChipSuffixDirective,
|
|
488
548
|
FsChipSubcontentDirective,
|
|
489
549
|
],
|
|
@@ -494,5 +554,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
494
554
|
* Generated bundle index. Do not edit.
|
|
495
555
|
*/
|
|
496
556
|
|
|
497
|
-
export { FsChipComponent, FsChipModule, FsChipSubcontentDirective, FsChipSuffixDirective, FsChipsComponent };
|
|
557
|
+
export { FsChipComponent, FsChipModule, FsChipPrefixDirective, FsChipSubcontentDirective, FsChipSuffixDirective, FsChipsComponent };
|
|
498
558
|
//# sourceMappingURL=firestitch-chip.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firestitch-chip.mjs","sources":["../../src/app/components/chip-suffix/chip-suffix.component.ts","../../src/app/components/chip-suffix/chip-suffix.component.html","../../src/app/directives/chip-subcontent.directive.ts","../../src/app/directives/chip-suffix.directive.ts","../../src/app/components/chip/chip.component.ts","../../src/app/components/chip/chip.component.html","../../src/app/components/chips/chips.component.ts","../../src/app/components/chips/chips.component.html","../../src/app/fs-chip.module.ts","../../src/firestitch-chip.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\n\n@Component({\n selector: 'fs-chip-suffix',\n templateUrl: './chip-suffix.component.html',\n styleUrls: ['./chip-suffix.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsChipSuffixComponent {\n\n @Input() public icon: string;\n\n @Input() public link: string;\n\n @Input() public linkTarget: string;\n\n @Input() public color: string;\n\n @Input() public show: boolean = true;\n\n @Input() public tooltip: string;\n \n @Output() public click = new EventEmitter<MouseEvent>(); \n\n}\n","@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}","import {\n Directive,\n} from '@angular/core';\n\n\n@Directive({\n selector: '[fsChipSubcontent]',\n})\nexport class FsChipSubcontentDirective {\n\n}\n","import {\n Directive,\n EventEmitter,\n inject,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\n\n\n@Directive({\n selector: '[fsChipSuffix]',\n})\nexport class FsChipSuffixDirective {\n\n @Input() public icon: string;\n\n @Input() public link: string;\n\n @Input() public linkTarget: string;\n\n @Input() public color: string;\n\n @Input() public data: any;\n\n @Input() public show: boolean = true;\n\n @Input() public tooltip: string;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() public click = new EventEmitter<{ event: MouseEvent, data: any }>();\n\n public templateRef = inject(TemplateRef);\n}\n","import {\n ChangeDetectionStrategy, ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\nimport { Observable, Subject } from 'rxjs';\n\nimport { FsChipSubcontentDirective } from '../../directives/chip-subcontent.directive';\nimport { FsChipSuffixDirective } from '../../directives/chip-suffix.directive';\n\n\n@Component({\n selector: 'fs-chip',\n templateUrl: './chip.component.html',\n styleUrls: ['./chip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsChipComponent implements OnDestroy, OnChanges {\n\n @ViewChild(TemplateRef, { static: true }) \n public templateRef: TemplateRef<void>;\n\n @ContentChildren(FsChipSuffixDirective) \n public chipSuffixes: QueryList<FsChipSuffixDirective>;\n\n @ContentChild(FsChipSubcontentDirective, { read: TemplateRef })\n public chipSubcontentTemplateRef: TemplateRef<void>;\n\n @Input() \n public selectable = false;\n\n @Input()\n public removable = true;\n\n @Input() \n public value: any;\n\n @Input() \n public maxWidth: string;\n\n @Input() \n public width: string;\n\n @Input() public backgroundColor;\n\n @Input() public borderColor;\n\n @Input() public color;\n\n @Input() public shape: 'round' | 'square' = 'round';\n\n @Input() public outlined;\n\n @Input() public icon: string;\n \n @Input() public image: string;\n \n @Input() public selected: boolean;\n \n @Input() public padding: string;\n\n @Input() public contrastColor: string;\n\n @Input() public size: 'small' | 'tiny' | 'micro' | 'large' = 'large';\n\n @Output() public selectedToggled = new EventEmitter();\n @Output() public removed = new EventEmitter();\n\n public hasChips: boolean;\n public defaultColor = '#474747';\n public defaultBackgroundColor = '#e7e7e7';\n\n private _destroy$ = new Subject();\n\n constructor(\n private _cdRef: ChangeDetectorRef,\n ) {}\n\n public click() {\n if (this.selectable) {\n this.selected = !this.selected;\n this.selectedToggled.emit({ value: this.value, selected: this.selected });\n }\n }\n\n public select() {\n this.selected = true;\n this._cdRef.markForCheck();\n }\n\n public unselect() {\n this.selected = false;\n this._cdRef.markForCheck();\n }\n\n public get destroy$(): Observable<any> {\n return this._destroy$.asObservable();\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (changes.backgroundColor) {\n this.contrastColor = this.defaultColor;\n\n if(this.backgroundColor && this.backgroundColor !== 'transparent') {\n this.contrastColor = this._isContrastYIQBlack(this.backgroundColor) ?\n this.defaultColor : '#fff';\n }\n }\n }\n\n public actionClick(action, event: MouseEvent) {\n if(action.click) {\n action.click(event);\n }\n }\n\n public chipSuffixClick(chipSuffix: FsChipSuffixDirective, event: MouseEvent, value: any) {\n event.stopImmediatePropagation();\n event.stopPropagation();\n chipSuffix.click.emit({ event, data: value ?? chipSuffix.data });\n }\n\n public ngOnDestroy() {\n this._destroy$.next(null);\n this._destroy$.complete();\n }\n\n public remove(event: MouseEvent) {\n event.stopImmediatePropagation();\n event.stopPropagation();\n this.removed.next(event);\n }\n\n private _isContrastYIQBlack(hexcolor) {\n if (!hexcolor) {\n return true;\n }\n\n hexcolor = hexcolor.replace('#', '');\n const r = parseInt(hexcolor.substr(0, 2), 16);\n const g = parseInt(hexcolor.substr(2, 2), 16);\n const b = parseInt(hexcolor.substr(4, 2), 16);\n const yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;\n\n return yiq >= 200;\n }\n}\n","<ng-template>\n <div\n class=\"fs-chip\"\n (click)=\"click()\"\n [style.backgroundColor]=\"outlined ? 'transparent' : backgroundColor || defaultBackgroundColor\"\n [style.padding]=\"padding\"\n [style.borderColor]=\"borderColor || (outlined && color ? color : null)\"\n [style.width]=\"width\"\n [style.color]=\"color || contrastColor || defaultColor\"\n [class.actionable]=\"chipSuffixes.length !== 0 || (removed.observed && removable)\"\n [class.shape-round]=\"shape === 'round'\"\n [class.shape-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.sub-content]=\"!!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]=\"color || contrastColor || defaultColor\">\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 || color || contrastColor || defaultColor\"\n [show]=\"chipSuffix.show\"\n [tooltip]=\"chipSuffix.tooltip\"\n (click)=\"chipSuffixClick(chipSuffix, $event, value)\">\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]=\"color || contrastColor || defaultColor\"\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}","import {\n AfterContentInit,\n ChangeDetectionStrategy, ChangeDetectorRef,\n Component,\n ContentChildren,\n forwardRef,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CdkDragDrop, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { FsChipComponent } from '../chip/chip.component';\n\n\n@Component({\n selector: 'fs-chips',\n templateUrl: './chips.component.html',\n styleUrls: ['./chips.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FsChipsComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsChipsComponent implements OnDestroy, ControlValueAccessor, AfterContentInit {\n\n @ViewChild(CdkDropList, { static: true })\n public dropList: CdkDropList;\n\n @ContentChildren(FsChipComponent)\n public chips: QueryList<FsChipComponent>;\n\n @Input() public compare: (item: any, value: any) => boolean;\n\n @Input() public multiple = true;\n\n @Input() public sortable = false;\n\n @Input() public selectable = false;\n\n @Input() public width;\n\n public onChange: (value) => void;\n public onTouch: (value) => void;\n\n private _value = [];\n private _destroy$ = new Subject();\n private _chipDiffer: IterableDiffer<FsChipComponent>;\n\n constructor(\n private _cdRef: ChangeDetectorRef,\n private _iterable: IterableDiffers,\n ) {\n this._chipDiffer = this._iterable.find([]).create();\n }\n\n public drop(event: CdkDragDrop<string[]>) {\n const chipArray = this.chips.toArray();\n moveItemInArray(chipArray, event.previousIndex, event.currentIndex);\n this.chips.reset(chipArray);\n\n this._value = this.chips\n .map((chip) => {\n return this._value.find((item) => this._compareFn(item, chip.value));\n })\n .filter((item) => !!item);\n\n this.onChange(this._value);\n }\n\n public ngAfterContentInit(): void {\n this._subscribeToSelectionChange();\n this._subscribeChanges();\n }\n\n public sortPredicate = (index: number) => {\n return !this._value || index <= this._value.length - 1;\n };\n \n public set value(value) {\n if (this._value !== value) {\n this._value = value;\n\n this.onChange(this._value);\n this.onTouch(this._value);\n }\n }\n\n public get value() {\n return this._value;\n }\n\n public ngOnDestroy() {\n this._destroy$.next(null);\n this._destroy$.complete();\n }\n\n public select(chip: FsChipComponent) {\n this._value = [\n ...this._value, \n chip.value,\n ];\n \n chip.select();\n this.onChange(this._value);\n }\n \n public unselect(chip: FsChipComponent) {\n chip.unselect();\n this._value = this._value\n .filter((item) => !this._compareFn(item, chip.value));\n\n this.onChange(this._value);\n }\n \n public updateChipOrder() {\n const chipArray = this.chips.toArray()\n .sort((a, b) => {\n const aSelected = this._value.find((item) => this._compareFn(item, a.value));\n const bSelected = this._value.find((item) => this._compareFn(item, b.value));\n \n if (aSelected === bSelected) return 0;\n\n return aSelected ? -1 : 1;\n });\n\n this.chips.reset(chipArray);\n }\n\n public writeValue(value: any) {\n this._value = value || [];\n this._updateChips();\n }\n\n public registerOnChange(fn) {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn) {\n this.onTouch = fn;\n }\n\n private _subscribeToSelectionChange() {\n const changed = this._chipDiffer.diff(this.chips);\n changed?.forEachAddedItem((change) => {\n change.item.hasChips = true;\n change.item.selectedToggled\n .pipe(\n takeUntil(change.item.destroy$),\n takeUntil(this._destroy$),\n )\n .subscribe(({ selected, value }) => {\n if(this.multiple) {\n if (selected) {\n this.value.push(value);\n } else {\n const valueIndex = this.value.findIndex((item) => {\n return this._compareFn(item, value);\n });\n\n if (valueIndex > -1) {\n this.value.splice(valueIndex, 1);\n }\n }\n }\n // } else {\n // this.chips\n // .forEach((chip) => {\n // if(!this._compareFn(chip.value, value)) {\n // chip.unselect();\n // }\n // });\n\n // this.value = selected ? value : null;\n // }\n\n this.onChange(this._value);\n this.onTouch(this._value);\n });\n });\n }\n\n /**\n * Update selection if item was added or removed\n */\n private _subscribeChanges() {\n this.chips.changes\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe(() => {\n this._subscribeToSelectionChange();\n this._cdRef.markForCheck();\n this._updateChips();\n });\n\n this._cdRef.markForCheck();\n }\n\n private _compareFn(item, chipValue) {\n if (this.compare) {\n return this.compare(item, chipValue);\n }\n\n return item === chipValue;\n }\n\n private _updateChips() {\n if (this.multiple && this.chips) {\n const chips = this.chips.toArray()\n .sort((c1, c2) => {\n const aIndex = this._value.findIndex((item) => this._compareFn(item, c1.value));\n const bIndex = this._value.findIndex((item) => this._compareFn(item, c2.value));\n \n // If both are in _value, sort by their position in _value\n if (aIndex !== -1 && bIndex !== -1) {\n return aIndex - bIndex;\n }\n \n // If only one is in _value, it comes first\n if (aIndex !== -1) return -1;\n if (bIndex !== -1) return 1;\n \n // If neither is in _value, maintain original order\n return 0;\n });\n\n this.chips.reset(chips);\n\n this.chips.forEach((chip) => {\n const selected = this.value\n .some((item) => {\n return this._compareFn(item, chip.value);\n });\n\n if(selected) {\n chip.select();\n } else {\n chip.unselect();\n }\n });\n }\n }\n}\n","@if (sortable) {\n <div\n class=\"fs-chips chips-sortable\"\n [style.width]=\"width\"\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]=\"!!selectable\"\n [cdkDragPreviewClass]=\"'fs-chip-drag-preview'\">\n <a\n class=\"chip-handle\"\n mat-icon-button\n [ngClass]=\"{ 'visible': (selectable && chip.selected) || (!selectable && sortable) }\"\n cdkDragHandle>\n <mat-icon>\n drag_indicator\n </mat-icon>\n </a>\n @if (selectable) {\n @if (chip.selected) {\n <a\n class=\"select-button select-button-selected\"\n (click)=\"unselect(chip)\"\n mat-icon-button>\n <mat-icon>\n check_box\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 check_box_outline_blank\n </mat-icon>\n </a>\n }\n }\n <ng-component [ngTemplateOutlet]=\"chip.templateRef\"></ng-component>\n </div>\n }\n </div>\n} @else {\n <div\n class=\"fs-chips\"\n [style.width]=\"width\">\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}","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { FsLabelModule } from '@firestitch/label';\n\nimport { FsChipSuffixComponent } from './components/chip-suffix/chip-suffix.component';\nimport { FsChipComponent } from './components/chip/chip.component';\nimport { FsChipsComponent } from './components/chips/chips.component';\nimport { FsChipSubcontentDirective } from './directives/chip-subcontent.directive';\nimport { FsChipSuffixDirective } from './directives/chip-suffix.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n\n DragDropModule,\n MatIconModule,\n MatTooltipModule,\n\n FsLabelModule,\n ],\n exports: [\n FsChipsComponent,\n FsChipComponent,\n FsChipSuffixDirective,\n FsChipSubcontentDirective,\n ],\n declarations: [\n FsChipsComponent,\n FsChipComponent,\n FsChipSuffixComponent,\n FsChipSuffixDirective,\n FsChipSubcontentDirective,\n ],\n})\nexport class FsChipModule {\n public static forRoot(): ModuleWithProviders<FsChipModule> {\n return {\n ngModule: FsChipModule,\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i3.FsChipSuffixComponent","i2","i3"],"mappings":";;;;;;;;;;;;;;;MAea,qBAAqB,CAAA;AAEhB,IAAA,IAAI,CAAS;AAEb,IAAA,IAAI,CAAS;AAEb,IAAA,UAAU,CAAS;AAEnB,IAAA,KAAK,CAAS;IAEd,IAAI,GAAY,IAAI,CAAC;AAErB,IAAA,OAAO,CAAS;AAEf,IAAA,KAAK,GAAG,IAAI,YAAY,EAAc,CAAC;uGAd7C,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,uMCflC,smBAuBC,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDRY,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACE,gBAAgB,EAAA,eAAA,EAGT,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,smBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,CAAA;8BAI/B,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBAEU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBAEU,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBAEU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBAEU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBAEU,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBAEW,KAAK,EAAA,CAAA;sBAArB,MAAM;;;MErBI,yBAAyB,CAAA;uGAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAzB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC/B,iBAAA,CAAA;;;MCMY,qBAAqB,CAAA;AAEhB,IAAA,IAAI,CAAS;AAEb,IAAA,IAAI,CAAS;AAEb,IAAA,UAAU,CAAS;AAEnB,IAAA,KAAK,CAAS;AAEd,IAAA,IAAI,CAAM;IAEV,IAAI,GAAY,IAAI,CAAC;AAErB,IAAA,OAAO,CAAS;;AAGf,IAAA,KAAK,GAAG,IAAI,YAAY,EAAoC,CAAC;AAEvE,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;uGAnB9B,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAArB,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC3B,iBAAA,CAAA;8BAGiB,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBAEU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBAEU,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBAEU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBAEU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBAEU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBAEU,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBAGW,KAAK,EAAA,CAAA;sBAArB,MAAM;;;MCFI,eAAe,CAAA;AA0DhB,IAAA,MAAA,CAAA;AAvDH,IAAA,WAAW,CAAoB;AAG/B,IAAA,YAAY,CAAmC;AAG/C,IAAA,yBAAyB,CAAoB;IAG7C,UAAU,GAAG,KAAK,CAAC;IAGnB,SAAS,GAAG,IAAI,CAAC;AAGjB,IAAA,KAAK,CAAM;AAGX,IAAA,QAAQ,CAAS;AAGjB,IAAA,KAAK,CAAS;AAEL,IAAA,eAAe,CAAC;AAEhB,IAAA,WAAW,CAAC;AAEZ,IAAA,KAAK,CAAC;IAEN,KAAK,GAAuB,OAAO,CAAC;AAEpC,IAAA,QAAQ,CAAC;AAET,IAAA,IAAI,CAAS;AAEb,IAAA,KAAK,CAAS;AAEd,IAAA,QAAQ,CAAU;AAElB,IAAA,OAAO,CAAS;AAEhB,IAAA,aAAa,CAAS;IAEtB,IAAI,GAAyC,OAAO,CAAC;AAEpD,IAAA,eAAe,GAAG,IAAI,YAAY,EAAE,CAAC;AACrC,IAAA,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;AAEvC,IAAA,QAAQ,CAAU;IAClB,YAAY,GAAG,SAAS,CAAC;IACzB,sBAAsB,GAAG,SAAS,CAAC;AAElC,IAAA,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;AAElC,IAAA,WAAA,CACU,MAAyB,EAAA;QAAzB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAmB;KAC/B;IAEG,KAAK,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC/B,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3E;KACF;IAEM,MAAM,GAAA;AACX,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;KAC5B;IAEM,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;KAC5B;AAED,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KACtC;AAEM,IAAA,WAAW,CAAC,OAAsB,EAAA;AACvC,QAAA,IAAI,OAAO,CAAC,eAAe,EAAE;AAC3B,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;YAEvC,IAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,KAAK,aAAa,EAAE;AACjE,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC;AACjE,oBAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;aAC9B;SACF;KACF;IAEM,WAAW,CAAC,MAAM,EAAE,KAAiB,EAAA;AAC1C,QAAA,IAAG,MAAM,CAAC,KAAK,EAAE;AACf,YAAA,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACrB;KACF;AAEM,IAAA,eAAe,CAAC,UAAiC,EAAE,KAAiB,EAAE,KAAU,EAAA;QACrF,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACjC,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;KAClE;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;AAEM,IAAA,MAAM,CAAC,KAAiB,EAAA;QAC7B,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACjC,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1B;AAEO,IAAA,mBAAmB,CAAC,QAAQ,EAAA;QAClC,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,OAAO,IAAI,CAAC;SACb;QAED,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACrC,QAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9C,QAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9C,QAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC;QAEvD,OAAO,GAAG,IAAI,GAAG,CAAC;KACnB;uGAhIU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,2BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAQZ,yBAAyB,EAAU,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,WAAW,+CAH3C,qBAAqB,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAH3B,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9BxB,o9FAgFC,EAAA,MAAA,EAAA,CAAA,g/FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,OAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDpDY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;+BACE,SAAS,EAAA,eAAA,EAGF,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,o9FAAA,EAAA,MAAA,EAAA,CAAA,g/FAAA,CAAA,EAAA,CAAA;sFAKxC,WAAW,EAAA,CAAA;sBADjB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAIjC,YAAY,EAAA,CAAA;sBADlB,eAAe;uBAAC,qBAAqB,CAAA;gBAI/B,yBAAyB,EAAA,CAAA;sBAD/B,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,yBAAyB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;gBAIvD,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAIC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAIC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAGU,eAAe,EAAA,CAAA;sBAA9B,KAAK;gBAEU,WAAW,EAAA,CAAA;sBAA1B,KAAK;gBAEU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBAEU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBAEU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBAEU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBAEU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBAEU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBAEU,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBAEU,aAAa,EAAA,CAAA;sBAA5B,KAAK;gBAEU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBAEW,eAAe,EAAA,CAAA;sBAA/B,MAAM;gBACU,OAAO,EAAA,CAAA;sBAAvB,MAAM;;;MEzCI,gBAAgB,CAAA;AA0BjB,IAAA,MAAA,CAAA;AACA,IAAA,SAAA,CAAA;AAxBH,IAAA,QAAQ,CAAc;AAGtB,IAAA,KAAK,CAA6B;AAEzB,IAAA,OAAO,CAAqC;IAE5C,QAAQ,GAAG,IAAI,CAAC;IAEhB,QAAQ,GAAG,KAAK,CAAC;IAEjB,UAAU,GAAG,KAAK,CAAC;AAEnB,IAAA,KAAK,CAAC;AAEf,IAAA,QAAQ,CAAkB;AAC1B,IAAA,OAAO,CAAkB;IAExB,MAAM,GAAG,EAAE,CAAC;AACZ,IAAA,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;AAC1B,IAAA,WAAW,CAAkC;IAErD,WACU,CAAA,MAAyB,EACzB,SAA0B,EAAA;QAD1B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAmB;QACzB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAiB;AAElC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KACrD;AAEM,IAAA,IAAI,CAAC,KAA4B,EAAA;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACvC,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;AACpE,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAE5B,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK;AACrB,aAAA,GAAG,CAAC,CAAC,IAAI,KAAI;YACZ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACvE,SAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AAE5B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC5B;IAEM,kBAAkB,GAAA;QACvB,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;AAEM,IAAA,aAAa,GAAG,CAAC,KAAa,KAAI;AACvC,QAAA,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACzD,KAAC,CAAC;IAEF,IAAW,KAAK,CAAC,KAAK,EAAA;AACpB,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE;AACzB,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AAEpB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3B,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC3B;KACF;AAED,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;AAEM,IAAA,MAAM,CAAC,IAAqB,EAAA;QACjC,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,IAAI,CAAC,MAAM;AACd,YAAA,IAAI,CAAC,KAAK;SACX,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;AACd,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC5B;AAEM,IAAA,QAAQ,CAAC,IAAqB,EAAA;QACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;AACtB,aAAA,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAExD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC5B;IAEM,eAAe,GAAA;AACpB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACnC,aAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;YACb,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAE7E,IAAI,SAAS,KAAK,SAAS;AAAE,gBAAA,OAAO,CAAC,CAAC;YAEtC,OAAO,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC5B,SAAC,CAAC,CAAC;AAEL,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KAC7B;AAEM,IAAA,UAAU,CAAC,KAAU,EAAA;AAC1B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;AAEM,IAAA,gBAAgB,CAAC,EAAE,EAAA;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAEM,IAAA,iBAAiB,CAAC,EAAE,EAAA;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;IAEO,2BAA2B,GAAA;AACjC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClD,QAAA,OAAO,EAAE,gBAAgB,CAAC,CAAC,MAAM,KAAI;AACnC,YAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,eAAe;AACxB,iBAAA,IAAI,CACH,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC/B,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;iBACA,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAI;AACjC,gBAAA,IAAG,IAAI,CAAC,QAAQ,EAAE;oBAChB,IAAI,QAAQ,EAAE;AACZ,wBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBACxB;yBAAM;wBACL,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;4BAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACtC,yBAAC,CAAC,CAAC;AAEH,wBAAA,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE;4BACnB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;yBAClC;qBACF;iBACF;;;;;;;;;;AAYD,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3B,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;AAED;;AAEG;IACK,iBAAiB,GAAA;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO;AACf,aAAA,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;aACA,SAAS,CAAC,MAAK;YACd,IAAI,CAAC,2BAA2B,EAAE,CAAC;AACnC,YAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;AACtB,SAAC,CAAC,CAAC;AAEL,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;KAC5B;IAEO,UAAU,CAAC,IAAI,EAAE,SAAS,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SACtC;QAED,OAAO,IAAI,KAAK,SAAS,CAAC;KAC3B;IAEO,YAAY,GAAA;QAClB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;AAC/B,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AAC/B,iBAAA,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,KAAI;gBACf,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;;gBAGhF,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE;oBAClC,OAAO,MAAM,GAAG,MAAM,CAAC;iBACxB;;gBAGD,IAAI,MAAM,KAAK,CAAC,CAAC;oBAAE,OAAO,CAAC,CAAC,CAAC;gBAC7B,IAAI,MAAM,KAAK,CAAC,CAAC;AAAE,oBAAA,OAAO,CAAC,CAAC;;AAG5B,gBAAA,OAAO,CAAC,CAAC;AACX,aAAC,CAAC,CAAC;AAEL,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAExB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC1B,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK;AACxB,qBAAA,IAAI,CAAC,CAAC,IAAI,KAAI;oBACb,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,iBAAC,CAAC,CAAC;gBAEL,IAAG,QAAQ,EAAE;oBACX,IAAI,CAAC,MAAM,EAAE,CAAC;iBACf;qBAAM;oBACL,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACjB;AACH,aAAC,CAAC,CAAC;SACJ;KACF;uGA1NU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAThB,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,gBAAgB,CAAC;AAC/C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAQgB,eAAe,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAHrB,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtCxB,uvDA0DC,EAAA,MAAA,EAAA,CAAA,6hEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,2BAAA,EAAA,6BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDtBY,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAb5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAGT,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,sBAAsB,CAAC;AAC/C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;qBACF,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,uvDAAA,EAAA,MAAA,EAAA,CAAA,6hEAAA,CAAA,EAAA,CAAA;oHAKxC,QAAQ,EAAA,CAAA;sBADd,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAIjC,KAAK,EAAA,CAAA;sBADX,eAAe;uBAAC,eAAe,CAAA;gBAGhB,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBAEU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBAEU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBAEU,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBAEU,KAAK,EAAA,CAAA;sBAApB,KAAK;;;MEbK,YAAY,CAAA;AAChB,IAAA,OAAO,OAAO,GAAA;QACnB,OAAO;AACL,YAAA,QAAQ,EAAE,YAAY;SACvB,CAAC;KACH;uGALU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,iBAPrB,gBAAgB;YAChB,eAAe;YACf,qBAAqB;YACrB,qBAAqB;AACrB,YAAA,yBAAyB,aAnBzB,YAAY;YAEZ,cAAc;YACd,aAAa;YACb,gBAAgB;AAEhB,YAAA,aAAa,aAGb,gBAAgB;YAChB,eAAe;YACf,qBAAqB;YACrB,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAUhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAtBrB,YAAY;YAEZ,cAAc;YACd,aAAa;YACb,gBAAgB;YAEhB,aAAa,CAAA,EAAA,CAAA,CAAA;;2FAgBJ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAxBxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBAEZ,cAAc;wBACd,aAAa;wBACb,gBAAgB;wBAEhB,aAAa;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,gBAAgB;wBAChB,eAAe;wBACf,qBAAqB;wBACrB,yBAAyB;AAC1B,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,gBAAgB;wBAChB,eAAe;wBACf,qBAAqB;wBACrB,qBAAqB;wBACrB,yBAAyB;AAC1B,qBAAA;AACF,iBAAA,CAAA;;;ACtCD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"firestitch-chip.mjs","sources":["../../src/app/components/chip-prefix/chip-prefix.component.ts","../../src/app/components/chip-prefix/chip-prefix.component.html","../../src/app/components/chip-suffix/chip-suffix.component.ts","../../src/app/components/chip-suffix/chip-suffix.component.html","../../src/app/directives/chip-prefix.directive.ts","../../src/app/directives/chip-subcontent.directive.ts","../../src/app/directives/chip-suffix.directive.ts","../../src/app/components/chip/chip.component.ts","../../src/app/components/chip/chip.component.html","../../src/app/components/chips/chips.component.ts","../../src/app/components/chips/chips.component.html","../../src/app/fs-chip.module.ts","../../src/firestitch-chip.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\n\n@Component({\n selector: 'fs-chip-prefix',\n templateUrl: './chip-prefix.component.html',\n styleUrls: ['./chip-prefix.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsChipPrefixComponent {\n\n @Input() public icon: string;\n\n @Input() public color: string;\n\n @Input() public show: boolean = true;\n\n @Input() public tooltip: string;\n \n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() public click = new EventEmitter<MouseEvent>(); \n \n public get clickable() {\n return this.click.observers.length !== 0;\n }\n\n}\n","<ng-content></ng-content>\n@if (icon) {\n <mat-icon\n [class.clickable]=\"clickable\"\n cdkHighlight\n [style.color]=\"color\"\n [matTooltip]=\"tooltip\"\n class=\"action\"\n (click)=\"click.emit($event)\">\n {{ icon }}\n </mat-icon>\n}","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\n\n@Component({\n selector: 'fs-chip-suffix',\n templateUrl: './chip-suffix.component.html',\n styleUrls: ['./chip-suffix.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsChipSuffixComponent {\n\n @Input() public icon: string;\n\n @Input() public link: string;\n\n @Input() public linkTarget: string;\n\n @Input() public color: string;\n\n @Input() public show: boolean = true;\n\n @Input() public tooltip: string;\n \n @Output() public click = new EventEmitter<MouseEvent>(); \n\n}\n","@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}","import {\n Directive,\n EventEmitter,\n inject,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\n\n\n@Directive({\n selector: '[fsChipPrefix]',\n})\nexport class FsChipPrefixDirective {\n\n @Input() public icon: string;\n\n @Input() public color: string;\n\n @Input() public data: any;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() public click = new EventEmitter<{ event: MouseEvent, data: any }>();\n\n public templateRef = inject(TemplateRef);\n}\n","import {\n Directive,\n} from '@angular/core';\n\n\n@Directive({\n selector: '[fsChipSubcontent]',\n})\nexport class FsChipSubcontentDirective {\n\n}\n","import {\n Directive,\n EventEmitter,\n inject,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\n\n\n@Directive({\n selector: '[fsChipSuffix]',\n})\nexport class FsChipSuffixDirective {\n\n @Input() public icon: string;\n\n @Input() public link: string;\n\n @Input() public linkTarget: string;\n\n @Input() public color: string;\n\n @Input() public data: any;\n\n @Input() public tooltip: string;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() public click = new EventEmitter<{ event: MouseEvent, data: any }>();\n\n public templateRef = inject(TemplateRef);\n}\n","import {\n ChangeDetectionStrategy, ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\nimport { Observable, Subject } from 'rxjs';\n\nimport { FsChipPrefixDirective } from '../../directives/chip-prefix.directive';\nimport { FsChipSubcontentDirective } from '../../directives/chip-subcontent.directive';\nimport { FsChipSuffixDirective } from '../../directives/chip-suffix.directive';\n\n\n@Component({\n selector: 'fs-chip',\n templateUrl: './chip.component.html',\n styleUrls: ['./chip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsChipComponent implements OnDestroy, OnChanges {\n\n @ViewChild(TemplateRef, { static: true }) \n public templateRef: TemplateRef<void>;\n\n @ContentChildren(FsChipSuffixDirective) \n public chipSuffixes: QueryList<FsChipSuffixDirective>;\n\n @ContentChildren(FsChipPrefixDirective)\n public chipPrefixes: QueryList<FsChipPrefixDirective>;\n\n @ContentChild(FsChipSubcontentDirective, { read: TemplateRef })\n public chipSubcontentTemplateRef: TemplateRef<void>;\n\n @Input() \n public selectable = false;\n\n @Input()\n public removable = true;\n\n @Input() \n public value: any;\n\n @Input() \n public maxWidth: string;\n\n @Input() \n public width: string;\n\n @Input() public backgroundColor;\n\n @Input() public borderColor;\n\n @Input() public color;\n\n @Input() public shape: 'round' | 'square' = 'round';\n\n @Input() public outlined;\n\n @Input() public icon: string;\n \n @Input() public image: string;\n \n @Input() public selected: boolean;\n \n @Input() public padding: string;\n\n @Input() public contrastColor: string;\n\n @Input() public size: 'small' | 'tiny' | 'micro' | 'large' = 'large';\n\n @Output() public selectedToggled = new EventEmitter();\n @Output() public removed = new EventEmitter();\n\n public hasChips: boolean;\n public defaultColor = '#474747';\n public defaultBackgroundColor = '#e7e7e7';\n\n private _destroy$ = new Subject();\n\n constructor(\n private _cdRef: ChangeDetectorRef,\n ) {}\n\n public click() {\n if (this.selectable) {\n this.selected = !this.selected;\n this.selectedToggled.emit({ value: this.value, selected: this.selected });\n }\n }\n\n public select() {\n this.selected = true;\n this._cdRef.markForCheck();\n }\n\n public unselect() {\n this.selected = false;\n this._cdRef.markForCheck();\n }\n\n public get destroy$(): Observable<any> {\n return this._destroy$.asObservable();\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (changes.backgroundColor) {\n this.contrastColor = this.defaultColor;\n\n if(this.backgroundColor && this.backgroundColor !== 'transparent') {\n this.contrastColor = this._isContrastYIQBlack(this.backgroundColor) ?\n this.defaultColor : '#fff';\n }\n }\n }\n\n public actionClick(action, event: MouseEvent) {\n if(action.click) {\n action.click(event);\n }\n }\n\n public chipSuffixClick(chipSuffix: FsChipSuffixDirective, event: MouseEvent, value: any) {\n event.stopImmediatePropagation();\n event.stopPropagation();\n chipSuffix.click.emit({ event, data: value ?? chipSuffix.data });\n }\n\n public ngOnDestroy() {\n this._destroy$.next(null);\n this._destroy$.complete();\n }\n\n public remove(event: MouseEvent) {\n event.stopImmediatePropagation();\n event.stopPropagation();\n this.removed.next(event);\n }\n\n private _isContrastYIQBlack(hexcolor) {\n if (!hexcolor) {\n return true;\n }\n\n hexcolor = hexcolor.replace('#', '');\n const r = parseInt(hexcolor.substr(0, 2), 16);\n const g = parseInt(hexcolor.substr(2, 2), 16);\n const b = parseInt(hexcolor.substr(4, 2), 16);\n const yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;\n\n return yiq >= 200;\n }\n}\n","<ng-template>\n <div\n class=\"fs-chip\"\n (click)=\"click()\"\n [style.backgroundColor]=\"outlined ? 'transparent' : backgroundColor || defaultBackgroundColor\"\n [style.padding]=\"padding\"\n [style.borderColor]=\"borderColor || (outlined && color ? color : null)\"\n [style.width]=\"width\"\n [style.color]=\"color || contrastColor || defaultColor\"\n [class.actionable]=\"chipSuffixes.length !== 0 || (removed.observed && removable)\"\n [class.prefixable]=\"chipPrefixes.length !== 0\"\n [class.shape-round]=\"shape === 'round'\"\n [class.shape-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.sub-content]=\"!!chipSubcontentTemplateRef\">\n @if (image) {\n <img\n [src]=\"image\"\n class=\"image\"\n alt=\"\">\n }\n @if (chipPrefixes.length !== 0) {\n <div class=\"prefixes\">\n @for (chipPrefix of chipPrefixes; track chipPrefix) {\n <fs-chip-prefix\n [icon]=\"chipPrefix.icon\"\n [color]=\"chipPrefix.color || color || contrastColor || defaultColor\"\n (click)=\"chipPrefix.click.emit({ event: $event, data: value })\">\n <ng-container *ngTemplateOutlet=\"chipPrefix.templateRef\"></ng-container>\n </fs-chip-prefix>\n }\n </div>\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]=\"color || contrastColor || defaultColor\">\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 || color || contrastColor || defaultColor\"\n [tooltip]=\"chipSuffix.tooltip\"\n (click)=\"chipSuffixClick(chipSuffix, $event, value)\">\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]=\"color || contrastColor || defaultColor\"\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}","import {\n AfterContentInit,\n ChangeDetectionStrategy, ChangeDetectorRef,\n Component,\n ContentChildren,\n forwardRef,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CdkDragDrop, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { FsChipComponent } from '../chip/chip.component';\n\n\n@Component({\n selector: 'fs-chips',\n templateUrl: './chips.component.html',\n styleUrls: ['./chips.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FsChipsComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsChipsComponent implements OnDestroy, ControlValueAccessor, AfterContentInit {\n\n @ViewChild(CdkDropList, { static: true })\n public dropList: CdkDropList;\n\n @ContentChildren(FsChipComponent)\n public chips: QueryList<FsChipComponent>;\n\n @Input() public compare: (item: any, value: any) => boolean;\n\n @Input() public multiple = true;\n\n @Input() public sortable = false;\n\n @Input() public selectable = false;\n\n @Input() public width;\n\n public onChange: (value) => void;\n public onTouch: (value) => void;\n\n private _value = [];\n private _destroy$ = new Subject();\n private _chipDiffer: IterableDiffer<FsChipComponent>;\n\n constructor(\n private _cdRef: ChangeDetectorRef,\n private _iterable: IterableDiffers,\n ) {\n this._chipDiffer = this._iterable.find([]).create();\n }\n\n public drop(event: CdkDragDrop<string[]>) {\n const chipArray = this.chips.toArray();\n moveItemInArray(chipArray, event.previousIndex, event.currentIndex);\n this.chips.reset(chipArray);\n\n this._value = this.chips\n .map((chip) => {\n return this._value.find((item) => this._compareFn(item, chip.value));\n })\n .filter((item) => !!item);\n\n this.onChange(this._value);\n }\n\n public ngAfterContentInit(): void {\n this._subscribeToSelectionChange();\n this._subscribeChanges();\n }\n\n public sortPredicate = (index: number) => {\n return !this._value || index <= this._value.length - 1;\n };\n \n public set value(value) {\n if (this._value !== value) {\n this._value = value;\n\n this.onChange(this._value);\n this.onTouch(this._value);\n }\n }\n\n public get value() {\n return this._value;\n }\n\n public ngOnDestroy() {\n this._destroy$.next(null);\n this._destroy$.complete();\n }\n\n public select(chip: FsChipComponent) {\n this._value = [\n ...this._value, \n chip.value,\n ];\n \n chip.select();\n this.onChange(this._value);\n }\n \n public unselect(chip: FsChipComponent) {\n chip.unselect();\n this._value = this._value\n .filter((item) => !this._compareFn(item, chip.value));\n\n this.onChange(this._value);\n }\n \n public updateChipOrder() {\n const chipArray = this.chips.toArray()\n .sort((a, b) => {\n const aSelected = this._value.find((item) => this._compareFn(item, a.value));\n const bSelected = this._value.find((item) => this._compareFn(item, b.value));\n \n if (aSelected === bSelected) return 0;\n\n return aSelected ? -1 : 1;\n });\n\n this.chips.reset(chipArray);\n }\n\n public writeValue(value: any) {\n this._value = value || [];\n this._updateChips();\n }\n\n public registerOnChange(fn) {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn) {\n this.onTouch = fn;\n }\n\n private _subscribeToSelectionChange() {\n const changed = this._chipDiffer.diff(this.chips);\n changed?.forEachAddedItem((change) => {\n change.item.hasChips = true;\n change.item.selectedToggled\n .pipe(\n takeUntil(change.item.destroy$),\n takeUntil(this._destroy$),\n )\n .subscribe(({ selected, value }) => {\n if(this.multiple) {\n if (selected) {\n this.value.push(value);\n } else {\n const valueIndex = this.value.findIndex((item) => {\n return this._compareFn(item, value);\n });\n\n if (valueIndex > -1) {\n this.value.splice(valueIndex, 1);\n }\n }\n }\n // } else {\n // this.chips\n // .forEach((chip) => {\n // if(!this._compareFn(chip.value, value)) {\n // chip.unselect();\n // }\n // });\n\n // this.value = selected ? value : null;\n // }\n\n this.onChange(this._value);\n this.onTouch(this._value);\n });\n });\n }\n\n /**\n * Update selection if item was added or removed\n */\n private _subscribeChanges() {\n this.chips.changes\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe(() => {\n this._subscribeToSelectionChange();\n this._cdRef.markForCheck();\n this._updateChips();\n });\n\n this._cdRef.markForCheck();\n }\n\n private _compareFn(item, chipValue) {\n if (this.compare) {\n return this.compare(item, chipValue);\n }\n\n return item === chipValue;\n }\n\n private _updateChips() {\n if (this.multiple && this.chips) {\n const chips = this.chips.toArray()\n .sort((c1, c2) => {\n const aIndex = this._value.findIndex((item) => this._compareFn(item, c1.value));\n const bIndex = this._value.findIndex((item) => this._compareFn(item, c2.value));\n \n // If both are in _value, sort by their position in _value\n if (aIndex !== -1 && bIndex !== -1) {\n return aIndex - bIndex;\n }\n \n // If only one is in _value, it comes first\n if (aIndex !== -1) return -1;\n if (bIndex !== -1) return 1;\n \n // If neither is in _value, maintain original order\n return 0;\n });\n\n this.chips.reset(chips);\n\n this.chips.forEach((chip) => {\n const selected = this.value\n .some((item) => {\n return this._compareFn(item, chip.value);\n });\n\n if(selected) {\n chip.select();\n } else {\n chip.unselect();\n }\n });\n }\n }\n}\n","@if (sortable) {\n <div\n class=\"fs-chips chips-sortable\"\n [style.width]=\"width\"\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]=\"!!selectable\"\n [cdkDragPreviewClass]=\"'fs-chip-drag-preview'\">\n <a\n class=\"chip-handle\"\n mat-icon-button\n [ngClass]=\"{ 'visible': (selectable && chip.selected) || (!selectable && sortable) }\"\n cdkDragHandle>\n <mat-icon>\n drag_indicator\n </mat-icon>\n </a>\n @if (selectable) {\n @if (chip.selected) {\n <a\n class=\"select-button select-button-selected\"\n (click)=\"unselect(chip)\"\n mat-icon-button>\n <mat-icon>\n check_box\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 check_box_outline_blank\n </mat-icon>\n </a>\n }\n }\n <ng-component [ngTemplateOutlet]=\"chip.templateRef\"></ng-component>\n </div>\n }\n </div>\n} @else {\n <div\n class=\"fs-chips\"\n [style.width]=\"width\">\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}","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { FsLabelModule } from '@firestitch/label';\n\nimport { FsChipPrefixComponent } from './components/chip-prefix/chip-prefix.component';\nimport { FsChipSuffixComponent } from './components/chip-suffix/chip-suffix.component';\nimport { FsChipComponent } from './components/chip/chip.component';\nimport { FsChipsComponent } from './components/chips/chips.component';\nimport { FsChipPrefixDirective } from './directives/chip-prefix.directive';\nimport { FsChipSubcontentDirective } from './directives/chip-subcontent.directive';\nimport { FsChipSuffixDirective } from './directives/chip-suffix.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n\n DragDropModule,\n MatIconModule,\n MatTooltipModule,\n\n FsLabelModule,\n ],\n exports: [\n FsChipsComponent,\n FsChipComponent,\n FsChipSuffixDirective,\n FsChipPrefixDirective,\n FsChipSubcontentDirective,\n ],\n declarations: [\n FsChipsComponent,\n FsChipComponent,\n FsChipSuffixComponent,\n FsChipPrefixComponent,\n FsChipPrefixDirective,\n FsChipSuffixDirective,\n FsChipSubcontentDirective,\n ],\n})\nexport class FsChipModule {\n public static forRoot(): ModuleWithProviders<FsChipModule> {\n return {\n ngModule: FsChipModule,\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i3","i3.FsChipSuffixComponent","i4.FsChipPrefixComponent"],"mappings":"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"}
|
package/package.json
CHANGED
package/public_api.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { FsChipModule } from './app/fs-chip.module';
|
|
2
2
|
export { FsChipComponent } from './app/components/chip/chip.component';
|
|
3
3
|
export { FsChipsComponent } from './app/components/chips/chips.component';
|
|
4
|
+
export { FsChipPrefixDirective } from './app/directives/chip-prefix.directive';
|
|
4
5
|
export { FsChipSubcontentDirective } from './app/directives/chip-subcontent.directive';
|
|
5
6
|
export { FsChipSuffixDirective } from './app/directives/chip-suffix.directive';
|