@firestitch/chip 18.0.2 → 18.0.4
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 +21 -24
- package/app/components/chip-action/chip-action.component.d.ts +11 -0
- package/app/components/chips/chips.component.d.ts +8 -10
- package/app/fs-chip.module.d.ts +6 -4
- package/esm2022/app/components/chip/chip.component.mjs +83 -113
- package/esm2022/app/components/chip-action/chip-action.component.mjs +28 -0
- package/esm2022/app/components/chips/chips.component.mjs +60 -55
- package/esm2022/app/fs-chip.module.mjs +14 -7
- package/esm2022/public_api.mjs +2 -5
- package/fesm2022/firestitch-chip.mjs +254 -259
- package/fesm2022/firestitch-chip.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -1
- package/app/components/chip/index.d.ts +0 -1
- package/esm2022/app/components/chip/index.mjs +0 -2
|
@@ -1,20 +1,25 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, forwardRef,
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, forwardRef, Input, IterableDiffers, QueryList, ViewChild, } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';
|
|
3
4
|
import { Subject } from 'rxjs';
|
|
4
5
|
import { takeUntil } from 'rxjs/operators';
|
|
5
|
-
import { FsChipComponent } from '../chip';
|
|
6
|
+
import { FsChipComponent } from '../chip/chip.component';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "@angular/cdk/drag-drop";
|
|
10
|
+
import * as i3 from "@angular/material/icon";
|
|
7
11
|
export class FsChipsComponent {
|
|
8
12
|
_cdRef;
|
|
9
13
|
_iterable;
|
|
10
|
-
|
|
11
|
-
classHasChips = false;
|
|
14
|
+
dropList;
|
|
12
15
|
chips;
|
|
13
16
|
compare;
|
|
14
17
|
multiple = true;
|
|
18
|
+
sortable = false;
|
|
15
19
|
onChange;
|
|
16
20
|
onTouch;
|
|
17
21
|
_value = [];
|
|
22
|
+
_selectable = false;
|
|
18
23
|
_destroy$ = new Subject();
|
|
19
24
|
_chipDiffer;
|
|
20
25
|
constructor(_cdRef, _iterable) {
|
|
@@ -22,12 +27,13 @@ export class FsChipsComponent {
|
|
|
22
27
|
this._iterable = _iterable;
|
|
23
28
|
this._chipDiffer = this._iterable.find([]).create();
|
|
24
29
|
}
|
|
25
|
-
|
|
26
|
-
|
|
30
|
+
drop(event) {
|
|
31
|
+
moveItemInArray(this._value, event.previousIndex, event.currentIndex);
|
|
32
|
+
this.onChange(this._value);
|
|
27
33
|
}
|
|
28
34
|
ngAfterContentInit() {
|
|
29
|
-
this.
|
|
30
|
-
this.
|
|
35
|
+
this._subscribeToSelectionChange();
|
|
36
|
+
this._subscribeChanges();
|
|
31
37
|
}
|
|
32
38
|
set value(value) {
|
|
33
39
|
if (this._value !== value) {
|
|
@@ -58,50 +64,48 @@ export class FsChipsComponent {
|
|
|
58
64
|
_subscribeToSelectionChange() {
|
|
59
65
|
const changed = this._chipDiffer.diff(this.chips);
|
|
60
66
|
changed?.forEachAddedItem((change) => {
|
|
67
|
+
this._selectable = this.chips.some((chip) => chip.selectable);
|
|
61
68
|
change.item.selectedToggled
|
|
62
69
|
.pipe(takeUntil(change.item.destroy$), takeUntil(this._destroy$))
|
|
63
70
|
.subscribe(({ selected, value }) => {
|
|
64
|
-
if (
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
this.value.
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
if (this.multiple) {
|
|
72
|
+
if (selected) {
|
|
73
|
+
this.value.push(value);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
const valueIndex = this.value.findIndex((item) => {
|
|
77
|
+
return this._compareFn(item, value);
|
|
78
|
+
});
|
|
79
|
+
if (valueIndex > -1) {
|
|
80
|
+
this.value.splice(valueIndex, 1);
|
|
81
|
+
}
|
|
72
82
|
}
|
|
73
83
|
}
|
|
74
84
|
else {
|
|
75
|
-
this.
|
|
76
|
-
|
|
77
|
-
|
|
85
|
+
this.chips
|
|
86
|
+
.forEach((chip) => {
|
|
87
|
+
if (!this._compareFn(chip.value, value)) {
|
|
88
|
+
chip.unselect();
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
this.value = selected ? value : null;
|
|
78
92
|
}
|
|
93
|
+
this.onChange(this._value);
|
|
94
|
+
this.onTouch(this._value);
|
|
79
95
|
});
|
|
80
96
|
});
|
|
81
97
|
}
|
|
82
|
-
/**
|
|
83
|
-
* Update ngModel value when selection changed
|
|
84
|
-
*/
|
|
85
|
-
_subscribeToSelectionChanges() {
|
|
86
|
-
this._subscribeToSelectionChange();
|
|
87
|
-
this.chips.changes
|
|
88
|
-
.pipe(takeUntil(this._destroy$))
|
|
89
|
-
.subscribe(() => {
|
|
90
|
-
this._subscribeToSelectionChange();
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
98
|
/**
|
|
94
99
|
* Update selection if item was added or removed
|
|
95
100
|
*/
|
|
96
|
-
|
|
101
|
+
_subscribeChanges() {
|
|
97
102
|
this.chips.changes
|
|
98
103
|
.pipe(takeUntil(this._destroy$))
|
|
99
104
|
.subscribe(() => {
|
|
100
|
-
this.
|
|
105
|
+
this._subscribeToSelectionChange();
|
|
101
106
|
this._cdRef.markForCheck();
|
|
102
107
|
this._updateChips();
|
|
103
108
|
});
|
|
104
|
-
this.classHasChips = this.chips.length !== 0;
|
|
105
109
|
this._cdRef.markForCheck();
|
|
106
110
|
}
|
|
107
111
|
_compareFn(o1, o2) {
|
|
@@ -111,29 +115,31 @@ export class FsChipsComponent {
|
|
|
111
115
|
return o1 === o2;
|
|
112
116
|
}
|
|
113
117
|
_updateChips() {
|
|
114
|
-
if (this.multiple &&
|
|
115
|
-
this.
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
118
|
+
if (this.multiple && this._selectable) {
|
|
119
|
+
if (Array.isArray(this.value)) {
|
|
120
|
+
this.chips.forEach((chip) => {
|
|
121
|
+
const selected = this.value
|
|
122
|
+
.some((item) => {
|
|
123
|
+
return this._compareFn(item, chip.value);
|
|
124
|
+
});
|
|
125
|
+
if (selected) {
|
|
126
|
+
chip.select();
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
chip.unselect();
|
|
130
|
+
}
|
|
119
131
|
});
|
|
120
|
-
|
|
121
|
-
chip.select();
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
chip.unselect();
|
|
125
|
-
}
|
|
126
|
-
});
|
|
132
|
+
}
|
|
127
133
|
}
|
|
128
134
|
}
|
|
129
135
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component });
|
|
130
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
136
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsChipsComponent, selector: "fs-chips", inputs: { compare: "compare", multiple: "multiple", sortable: "sortable" }, providers: [
|
|
131
137
|
{
|
|
132
138
|
provide: NG_VALUE_ACCESSOR,
|
|
133
139
|
useExisting: forwardRef(() => FsChipsComponent),
|
|
134
140
|
multi: true,
|
|
135
141
|
},
|
|
136
|
-
], queries: [{ propertyName: "chips", predicate: FsChipComponent }], ngImport: i0, template: "<ng-
|
|
142
|
+
], queries: [{ propertyName: "chips", predicate: FsChipComponent }], viewQueries: [{ propertyName: "dropList", first: true, predicate: CdkDropList, descendants: true, static: true }], ngImport: i0, template: "@if (sortable) {\n <div\n class=\"fs-chips chips-sortable\"\n cdkDropList\n [cdkDropListLockAxis]=\"'y'\"\n (cdkDropListDropped)=\"drop($event)\">\n @for (chip of chips; track chip) {\n <div\n class=\"chip-container\"\n cdkDrag\n [cdkDragPreviewClass]=\"'fs-chip-drag-preview'\">\n <a\n class=\"chip-handle\"\n mat-icon-button\n cdkDragHandle>\n <mat-icon>\n drag_indicator\n </mat-icon>\n </a>\n <ng-component [ngTemplateOutlet]=\"chip.templateRef\"></ng-component>\n </div>\n }\n </div>\n} @else {\n <div class=\"fs-chips\">\n @for (chip of chips; track chip) {\n <div class=\"chip-container\">\n <ng-component [ngTemplateOutlet]=\"chip.templateRef\"></ng-component>\n </div>\n }\n </div>\n}", styles: [".fs-chips{display:flex}.fs-chips:not(.chips-sortable){gap:5px}.fs-chips.chips-sortable{flex-direction:column}.fs-chips.chips-sortable .chip-container{display:flex;align-items:center}.fs-chips.chips-sortable .chip-container+.chip-container{border-top:7px solid transparent}.fs-chips.chips-sortable .chip-container .chip-handle{color:inherit;display:flex;align-items:center}.fs-chips.chips-sortable ::ng-deep .cdk-drag-placeholder{opacity:.3}.fs-chips .fs-chip-container{display:flex}::ng-deep .fs-chip-drag-preview{display:flex;overflow:visible}::ng-deep .fs-chip-drag-preview .chip-handle{color:inherit;display:flex;align-items:center}::ng-deep .fs-chip-drag-preview.chip-container .fs-chip{box-shadow:3px 3px 3px #c4c4c4}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
137
143
|
}
|
|
138
144
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipsComponent, decorators: [{
|
|
139
145
|
type: Component,
|
|
@@ -143,13 +149,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
143
149
|
useExisting: forwardRef(() => FsChipsComponent),
|
|
144
150
|
multi: true,
|
|
145
151
|
},
|
|
146
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-
|
|
147
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.IterableDiffers }], propDecorators: {
|
|
148
|
-
type:
|
|
149
|
-
args: [
|
|
150
|
-
}], classHasChips: [{
|
|
151
|
-
type: HostBinding,
|
|
152
|
-
args: ['class.has-chips']
|
|
152
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (sortable) {\n <div\n class=\"fs-chips chips-sortable\"\n cdkDropList\n [cdkDropListLockAxis]=\"'y'\"\n (cdkDropListDropped)=\"drop($event)\">\n @for (chip of chips; track chip) {\n <div\n class=\"chip-container\"\n cdkDrag\n [cdkDragPreviewClass]=\"'fs-chip-drag-preview'\">\n <a\n class=\"chip-handle\"\n mat-icon-button\n cdkDragHandle>\n <mat-icon>\n drag_indicator\n </mat-icon>\n </a>\n <ng-component [ngTemplateOutlet]=\"chip.templateRef\"></ng-component>\n </div>\n }\n </div>\n} @else {\n <div class=\"fs-chips\">\n @for (chip of chips; track chip) {\n <div class=\"chip-container\">\n <ng-component [ngTemplateOutlet]=\"chip.templateRef\"></ng-component>\n </div>\n }\n </div>\n}", styles: [".fs-chips{display:flex}.fs-chips:not(.chips-sortable){gap:5px}.fs-chips.chips-sortable{flex-direction:column}.fs-chips.chips-sortable .chip-container{display:flex;align-items:center}.fs-chips.chips-sortable .chip-container+.chip-container{border-top:7px solid transparent}.fs-chips.chips-sortable .chip-container .chip-handle{color:inherit;display:flex;align-items:center}.fs-chips.chips-sortable ::ng-deep .cdk-drag-placeholder{opacity:.3}.fs-chips .fs-chip-container{display:flex}::ng-deep .fs-chip-drag-preview{display:flex;overflow:visible}::ng-deep .fs-chip-drag-preview .chip-handle{color:inherit;display:flex;align-items:center}::ng-deep .fs-chip-drag-preview.chip-container .fs-chip{box-shadow:3px 3px 3px #c4c4c4}\n"] }]
|
|
153
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.IterableDiffers }], propDecorators: { dropList: [{
|
|
154
|
+
type: ViewChild,
|
|
155
|
+
args: [CdkDropList, { static: true }]
|
|
153
156
|
}], chips: [{
|
|
154
157
|
type: ContentChildren,
|
|
155
158
|
args: [FsChipComponent]
|
|
@@ -157,5 +160,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
157
160
|
type: Input
|
|
158
161
|
}], multiple: [{
|
|
159
162
|
type: Input
|
|
163
|
+
}], sortable: [{
|
|
164
|
+
type: Input
|
|
160
165
|
}] } });
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2NoaXBzL2NoaXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jaGlwcy9jaGlwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQzFDLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBRUwsZUFBZSxFQUVmLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFnQjFDLE1BQU0sT0FBTyxnQkFBZ0I7SUF1QmpCO0lBQ0E7SUFyQkgsWUFBWSxHQUFHLElBQUksQ0FBQztJQUdwQixhQUFhLEdBQUcsS0FBSyxDQUFDO0lBR3RCLEtBQUssQ0FBNkI7SUFFekIsT0FBTyxDQUFDO0lBRVIsUUFBUSxHQUFHLElBQUksQ0FBQztJQUV6QixRQUFRLENBQWtCO0lBQzFCLE9BQU8sQ0FBa0I7SUFFeEIsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNaLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFCLFdBQVcsQ0FBa0M7SUFFckQsWUFDVSxNQUF5QixFQUN6QixTQUEwQjtRQUQxQixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN6QixjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUVsQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMs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aEIsT0FBTztzQkFBdEIsS0FBSztnQkFFVSxRQUFRO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBJdGVyYWJsZURpZmZlcixcbiAgSXRlcmFibGVEaWZmZXJzLFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRnNDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hpcCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtY2hpcHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hpcHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGlwcy5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZzQ2hpcHNDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzQ2hpcHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlckNvbnRlbnRJbml0IHtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZzLWNoaXBzJykgXG4gIHB1YmxpYyBjbGFzc0ZzQ2hpcHMgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLWNoaXBzJykgXG4gIHB1YmxpYyBjbGFzc0hhc0NoaXBzID0gZmFsc2U7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGc0NoaXBDb21wb25lbnQpXG4gIHB1YmxpYyBjaGlwczogUXVlcnlMaXN0PEZzQ2hpcENvbXBvbmVudD47XG5cbiAgQElucHV0KCkgcHVibGljIGNvbXBhcmU7XG5cbiAgQElucHV0KCkgcHVibGljIG11bHRpcGxlID0gdHJ1ZTtcblxuICBwdWJsaWMgb25DaGFuZ2U6ICh2YWx1ZSkgPT4gdm9pZDtcbiAgcHVibGljIG9uVG91Y2g6ICh2YWx1ZSkgPT4gdm9pZDtcblxuICBwcml2YXRlIF92YWx1ZSA9IFtdO1xuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgX2NoaXBEaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPEZzQ2hpcENvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgX2l0ZXJhYmxlOiBJdGVyYWJsZURpZmZlcnMsXG4gICkge1xuICAgIHRoaXMuX2NoaXBEaWZmZXIgPSB0aGlzLl9pdGVyYWJsZS5maW5kKFtdKS5jcmVhdGUoKTtcbiAgfVxuICBcbiAgcHVibGljIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvL1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpYmVUb1NlbGVjdGlvbkNoYW5nZXMoKTtcbiAgICB0aGlzLl9zdWJzY3JpYmVUb0l0ZW1zQ2hhbmdlKCk7XG4gIH1cbiBcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZSkge1xuICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG5cbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWUpO1xuICAgICAgdGhpcy5vblRvdWNoKHRoaXMuX3ZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHRoaXMuX3VwZGF0ZUNoaXBzKCk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbikge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm4pIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIHByaXZhdGUgX3N1YnNjcmliZVRvU2VsZWN0aW9uQ2hhbmdlKCkge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLl9jaGlwRGlmZmVyLmRpZmYodGhpcy5jaGlwcyk7XG4gICAgY2hhbmdlZD8uZm9yRWFjaEFkZGVkSXRlbSgoY2hhbmdlKSA9PiB7XG4gICAgICBjaGFuZ2UuaXRlbS5zZWxlY3RlZFRvZ2dsZWRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKGNoYW5nZS5pdGVtLmRlc3Ryb3kkKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHsgc2VsZWN0ZWQsIHZhbHVlIH0pID0+IHtcbiAgICAgICAgICBpZiAoIXNlbGVjdGVkKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZUluZGV4ID0gdGhpcy52YWx1ZS5maW5kSW5kZXgoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBhcmVGbihpdGVtLCB2YWx1ZSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHZhbHVlSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICB0aGlzLnZhbHVlLnNwbGljZSh2YWx1ZUluZGV4LCAxKTtcblxuICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcbiAgICAgICAgICAgICAgdGhpcy5vblRvdWNoKHRoaXMuX3ZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZS5wdXNoKHZhbHVlKTtcblxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLl92YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLm9uVG91Y2godGhpcy5fdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIG5nTW9kZWwgdmFsdWUgd2hlbiBzZWxlY3Rpb24gY2hhbmdlZFxuICAgKi9cbiAgcHJpdmF0ZSBfc3Vic2NyaWJlVG9TZWxlY3Rpb25DaGFuZ2VzKCkge1xuICAgIHRoaXMuX3N1YnNjcmliZVRvU2VsZWN0aW9uQ2hhbmdlKCk7XG4gICAgdGhpcy5jaGlwcy5jaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9zdWJzY3JpYmVUb1NlbGVjdGlvbkNoYW5nZSgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHNlbGVjdGlvbiBpZiBpdGVtIHdhcyBhZGRlZCBvciByZW1vdmVkXG4gICAqL1xuICBwcml2YXRlIF9zdWJzY3JpYmVUb0l0ZW1zQ2hhbmdlKCkge1xuICAgIHRoaXMuY2hpcHMuY2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jbGFzc0hhc0NoaXBzID0gdGhpcy5jaGlwcy5sZW5ndGggIT09IDA7XG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB0aGlzLl91cGRhdGVDaGlwcygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmNsYXNzSGFzQ2hpcHMgPSB0aGlzLmNoaXBzLmxlbmd0aCAhPT0gMDtcbiAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbXBhcmVGbihvMSwgbzIpIHtcbiAgICBpZiAodGhpcy5jb21wYXJlKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb21wYXJlKG8xLCBvMik7XG4gICAgfVxuXG4gICAgcmV0dXJuIG8xID09PSBvMjtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUNoaXBzKCkge1xuICAgIGlmICh0aGlzLm11bHRpcGxlICYmIEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkgJiYgdGhpcy5jaGlwcykge1xuICAgICAgdGhpcy5jaGlwcy5mb3JFYWNoKChjaGlwKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy52YWx1ZVxuICAgICAgICAgIC5zb21lKChvKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY29tcGFyZUZuKG8sIGNoaXAudmFsdWUpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgIGlmKHNlbGVjdGVkKSB7XG4gICAgICAgICAgY2hpcC5zZWxlY3QoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjaGlwLnVuc2VsZWN0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gICAgXG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2NoaXBzL2NoaXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jaGlwcy9jaGlwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQzFDLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLEtBQUssRUFFTCxlQUFlLEVBRWYsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFlLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBZ0J6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBdUJqQjtJQUNBO0lBckJILFFBQVEsQ0FBYztJQUd0QixLQUFLLENBQTZCO0lBRXpCLE9BQU8sQ0FBQztJQUVSLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFFaEIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUUxQixRQUFRLENBQWtCO0lBQzFCLE9BQU8sQ0FBa0I7SUFFeEIsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNaLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDMUIsV0FBVyxDQUFrQztJQUVyRCxZQUNVLE1BQXlCLEVBQ3pCLFNBQTBCO1FBRDFCLFdBQU0sR0FBTixNQUFNLENBQW1C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YUFHVDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQzs0QkFDL0MsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07b0hBS3hDLFFBQVE7c0JBRGQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlqQyxLQUFLO3NCQURYLGVBQWU7dUJBQUMsZUFBZTtnQkFHaEIsT0FBTztzQkFBdEIsS0FBSztnQkFFVSxRQUFRO3NCQUF2QixLQUFLO2dCQUVVLFFBQVE7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgSXRlcmFibGVEaWZmZXIsXG4gIEl0ZXJhYmxlRGlmZmVycyxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IENka0RyYWdEcm9wLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRnNDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hpcC9jaGlwLmNvbXBvbmVudCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtY2hpcHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hpcHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGlwcy5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZzQ2hpcHNDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzQ2hpcHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlckNvbnRlbnRJbml0IHtcblxuICBAVmlld0NoaWxkKENka0Ryb3BMaXN0LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZHJvcExpc3Q6IENka0Ryb3BMaXN0O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRnNDaGlwQ29tcG9uZW50KVxuICBwdWJsaWMgY2hpcHM6IFF1ZXJ5TGlzdDxGc0NoaXBDb21wb25lbnQ+O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjb21wYXJlO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBtdWx0aXBsZSA9IHRydWU7XG5cbiAgQElucHV0KCkgcHVibGljIHNvcnRhYmxlID0gZmFsc2U7XG5cbiAgcHVibGljIG9uQ2hhbmdlOiAodmFsdWUpID0+IHZvaWQ7XG4gIHB1YmxpYyBvblRvdWNoOiAodmFsdWUpID0+IHZvaWQ7XG5cbiAgcHJpdmF0ZSBfdmFsdWUgPSBbXTtcbiAgcHJpdmF0ZSBfc2VsZWN0YWJsZSA9IGZhbHNlO1xuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgX2NoaXBEaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPEZzQ2hpcENvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgX2l0ZXJhYmxlOiBJdGVyYWJsZURpZmZlcnMsXG4gICkge1xuICAgIHRoaXMuX2NoaXBEaWZmZXIgPSB0aGlzLl9pdGVyYWJsZS5maW5kKFtdKS5jcmVhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5fdmFsdWUsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLl92YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmliZVRvU2VsZWN0aW9uQ2hhbmdlKCk7XG4gICAgdGhpcy5fc3Vic2NyaWJlQ2hhbmdlcygpO1xuICB9XG4gXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWUpIHtcbiAgICBpZiAodGhpcy5fdmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuXG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcbiAgICAgIHRoaXMub25Ub3VjaCh0aGlzLl92YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dChudWxsKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLl91cGRhdGVDaGlwcygpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm4pIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuKSB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cblxuICBwcml2YXRlIF9zdWJzY3JpYmVUb1NlbGVjdGlvbkNoYW5nZSgpIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdGhpcy5fY2hpcERpZmZlci5kaWZmKHRoaXMuY2hpcHMpO1xuICAgIGNoYW5nZWQ/LmZvckVhY2hBZGRlZEl0ZW0oKGNoYW5nZSkgPT4ge1xuICAgICAgdGhpcy5fc2VsZWN0YWJsZSA9IHRoaXMuY2hpcHMuc29tZSgoY2hpcCkgPT4gY2hpcC5zZWxlY3RhYmxlKTtcbiAgICAgIGNoYW5nZS5pdGVtLnNlbGVjdGVkVG9nZ2xlZFxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlVW50aWwoY2hhbmdlLml0ZW0uZGVzdHJveSQpLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoeyBzZWxlY3RlZCwgdmFsdWUgfSkgPT4ge1xuICAgICAgICAgIGlmKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgICAgICAgICB0aGlzLnZhbHVlLnB1c2godmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWVJbmRleCA9IHRoaXMudmFsdWUuZmluZEluZGV4KChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBhcmVGbihpdGVtLCB2YWx1ZSk7XG4gICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgIGlmICh2YWx1ZUluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlLnNwbGljZSh2YWx1ZUluZGV4LCAxKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNoaXBzXG4gICAgICAgICAgICAgIC5mb3JFYWNoKChjaGlwKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYoIXRoaXMuX2NvbXBhcmVGbihjaGlwLnZhbHVlLCB2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgIGNoaXAudW5zZWxlY3QoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gc2VsZWN0ZWQgPyB2YWx1ZSA6IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLl92YWx1ZSk7XG4gICAgICAgICAgdGhpcy5vblRvdWNoKHRoaXMuX3ZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHNlbGVjdGlvbiBpZiBpdGVtIHdhcyBhZGRlZCBvciByZW1vdmVkXG4gICAqL1xuICBwcml2YXRlIF9zdWJzY3JpYmVDaGFuZ2VzKCkge1xuICAgIHRoaXMuY2hpcHMuY2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaWJlVG9TZWxlY3Rpb25DaGFuZ2UoKTtcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUNoaXBzKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29tcGFyZUZuKG8xLCBvMikge1xuICAgIGlmICh0aGlzLmNvbXBhcmUpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUobzEsIG8yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbzEgPT09IG8yO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQ2hpcHMoKSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgdGhpcy5fc2VsZWN0YWJsZSkge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgdGhpcy5jaGlwcy5mb3JFYWNoKChjaGlwKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnZhbHVlXG4gICAgICAgICAgICAuc29tZSgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fY29tcGFyZUZuKGl0ZW0sIGNoaXAudmFsdWUpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZihzZWxlY3RlZCkge1xuICAgICAgICAgICAgY2hpcC5zZWxlY3QoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2hpcC51bnNlbGVjdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgKHNvcnRhYmxlKSB7XG4gIDxkaXZcbiAgICAgIGNsYXNzPVwiZnMtY2hpcHMgY2hpcHMtc29ydGFibGVcIlxuICAgICAgY2RrRHJvcExpc3RcbiAgICAgIFtjZGtEcm9wTGlzdExvY2tBeGlzXT1cIid5J1wiXG4gICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiPlxuICAgIEBmb3IgKGNoaXAgb2YgY2hpcHM7IHRyYWNrIGNoaXApIHtcbiAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImNoaXAtY29udGFpbmVyXCJcbiAgICAgICAgICBjZGtEcmFnXG4gICAgICAgICAgW2Nka0RyYWdQcmV2aWV3Q2xhc3NdPVwiJ2ZzLWNoaXAtZHJhZy1wcmV2aWV3J1wiPlxuICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJjaGlwLWhhbmRsZVwiXG4gICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIGNka0RyYWdIYW5kbGU+XG4gICAgICAgICAgPG1hdC1pY29uPlxuICAgICAgICAgICAgZHJhZ19pbmRpY2F0b3JcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxuZy1jb21wb25lbnQgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2hpcC50ZW1wbGF0ZVJlZlwiPjwvbmctY29tcG9uZW50PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbn0gQGVsc2Uge1xuICA8ZGl2IGNsYXNzPVwiZnMtY2hpcHNcIj5cbiAgICBAZm9yIChjaGlwIG9mIGNoaXBzOyB0cmFjayBjaGlwKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hpcC1jb250YWluZXJcIj5cbiAgICAgICAgPG5nLWNvbXBvbmVudCBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGlwLnRlbXBsYXRlUmVmXCI+PC9uZy1jb21wb25lbnQ+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxufSJdfQ==
|
|
@@ -1,23 +1,28 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
3
4
|
import { MatIconModule } from '@angular/material/icon';
|
|
4
5
|
import { FsLabelModule } from '@firestitch/label';
|
|
5
|
-
import {
|
|
6
|
+
import { FsChipActionComponent } from './components/chip-action/chip-action.component';
|
|
6
7
|
import { FsChipComponent } from './components/chip/chip.component';
|
|
8
|
+
import { FsChipsComponent } from './components/chips/chips.component';
|
|
7
9
|
import * as i0 from "@angular/core";
|
|
8
10
|
export class FsChipModule {
|
|
9
11
|
static forRoot() {
|
|
10
12
|
return {
|
|
11
|
-
ngModule: FsChipModule
|
|
13
|
+
ngModule: FsChipModule,
|
|
12
14
|
};
|
|
13
15
|
}
|
|
14
16
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
17
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsChipModule, declarations: [FsChipsComponent,
|
|
16
|
-
FsChipComponent
|
|
18
|
+
FsChipComponent,
|
|
19
|
+
FsChipActionComponent], imports: [CommonModule,
|
|
20
|
+
DragDropModule,
|
|
17
21
|
MatIconModule,
|
|
18
22
|
FsLabelModule], exports: [FsChipsComponent,
|
|
19
23
|
FsChipComponent] });
|
|
20
24
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsChipModule, imports: [CommonModule,
|
|
25
|
+
DragDropModule,
|
|
21
26
|
MatIconModule,
|
|
22
27
|
FsLabelModule] });
|
|
23
28
|
}
|
|
@@ -26,8 +31,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
26
31
|
args: [{
|
|
27
32
|
imports: [
|
|
28
33
|
CommonModule,
|
|
34
|
+
DragDropModule,
|
|
29
35
|
MatIconModule,
|
|
30
|
-
FsLabelModule
|
|
36
|
+
FsLabelModule,
|
|
31
37
|
],
|
|
32
38
|
exports: [
|
|
33
39
|
FsChipsComponent,
|
|
@@ -36,7 +42,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
36
42
|
declarations: [
|
|
37
43
|
FsChipsComponent,
|
|
38
44
|
FsChipComponent,
|
|
39
|
-
|
|
45
|
+
FsChipActionComponent,
|
|
46
|
+
],
|
|
40
47
|
}]
|
|
41
48
|
}] });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtY2hpcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2ZzLWNoaXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBcUJ0RSxNQUFNLE9BQU8sWUFBWTtJQUNoQixNQUFNLENBQUMsT0FBTztRQUNuQixPQUFPO1lBQ0wsUUFBUSxFQUFFLFlBQVk7U0FDdkIsQ0FBQztJQUNKLENBQUM7dUdBTFUsWUFBWTt3R0FBWixZQUFZLGlCQUxyQixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLHFCQUFxQixhQWRyQixZQUFZO1lBRVosY0FBYztZQUNkLGFBQWE7WUFFYixhQUFhLGFBR2IsZ0JBQWdCO1lBQ2hCLGVBQWU7d0dBUU4sWUFBWSxZQWpCckIsWUFBWTtZQUVaLGNBQWM7WUFDZCxhQUFhO1lBRWIsYUFBYTs7MkZBWUosWUFBWTtrQkFuQnhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBRVosY0FBYzt3QkFDZCxhQUFhO3dCQUViLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIsZUFBZTtxQkFDaEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixxQkFBcUI7cUJBQ3RCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbmltcG9ydCB7IEZzTGFiZWxNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9sYWJlbCc7XG5cbmltcG9ydCB7IEZzQ2hpcEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGlwLWFjdGlvbi9jaGlwLWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnNDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoaXAvY2hpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnNDaGlwc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcblxuICAgIEZzTGFiZWxNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGc0NoaXBzQ29tcG9uZW50LFxuICAgIEZzQ2hpcENvbXBvbmVudCxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRnNDaGlwc0NvbXBvbmVudCxcbiAgICBGc0NoaXBDb21wb25lbnQsXG4gICAgRnNDaGlwQWN0aW9uQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGc0NoaXBNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxGc0NoaXBNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEZzQ2hpcE1vZHVsZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
package/esm2022/public_api.mjs
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of fs-menu
|
|
3
|
-
*/
|
|
4
1
|
export { FsChipModule } from './app/fs-chip.module';
|
|
5
|
-
export { FsChipsComponent } from './app/components/chips/chips.component';
|
|
6
2
|
export { FsChipComponent } from './app/components/chip/chip.component';
|
|
7
|
-
|
|
3
|
+
export { FsChipsComponent } from './app/components/chips/chips.component';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGc0NoaXBNb2R1bGUgfSBmcm9tICcuL2FwcC9mcy1jaGlwLm1vZHVsZSc7XG5cbmV4cG9ydCB7IEZzQ2hpcENvbXBvbmVudCB9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvY2hpcC9jaGlwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBGc0NoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xuXG4iXX0=
|