@recursyve/nice-ui-kit.v2 13.2.0-beta.113 → 13.2.0-beta.115
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/esm2020/lib/directives/chip-list/chip-list-items/chip-list-items.component.mjs +21 -7
- package/esm2020/lib/directives/chip-list/chip-list.constant.mjs +3 -0
- package/esm2020/lib/directives/chip-list/chip-list.directive.mjs +1 -1
- package/esm2020/lib/directives/chip-list/chip-list.module.mjs +20 -1
- package/fesm2015/recursyve-nice-ui-kit.v2.mjs +40 -5
- package/fesm2015/recursyve-nice-ui-kit.v2.mjs.map +1 -1
- package/fesm2020/recursyve-nice-ui-kit.v2.mjs +38 -5
- package/fesm2020/recursyve-nice-ui-kit.v2.mjs.map +1 -1
- package/lib/directives/chip-list/chip-list-items/chip-list-items.component.d.ts +13 -1
- package/lib/directives/chip-list/chip-list.constant.d.ts +2 -0
- package/lib/directives/chip-list/chip-list.module.d.ts +3 -0
- package/package.json +1 -1
|
@@ -1,25 +1,39 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from "@angular/core";
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Inject, Input, Optional, Output, TemplateRef } from "@angular/core";
|
|
2
2
|
import { Observable } from "rxjs";
|
|
3
|
+
import { NICE_CHIP_LIST_OPTIONS } from "../chip-list.constant";
|
|
3
4
|
import { ChipListItemLabelDirective } from "./chip-list-item-label.directive";
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@angular/material/icon";
|
|
6
7
|
import * as i2 from "@angular/common";
|
|
7
8
|
export class NiceChipListItemsComponent {
|
|
8
|
-
constructor() {
|
|
9
|
+
constructor(options) {
|
|
10
|
+
this.options = options;
|
|
9
11
|
this.color = "primary";
|
|
10
12
|
this.removeChip = new EventEmitter();
|
|
11
13
|
this.defaultColor = "primary";
|
|
14
|
+
if (!this.options) {
|
|
15
|
+
this.options = {
|
|
16
|
+
closeButtonIcon: {
|
|
17
|
+
matIcon: "cancel"
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
12
21
|
}
|
|
13
22
|
remove(index) {
|
|
14
23
|
this.removeChip.next(index);
|
|
15
24
|
}
|
|
16
25
|
}
|
|
17
|
-
NiceChipListItemsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceChipListItemsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
-
NiceChipListItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: NiceChipListItemsComponent, selector: "nice-chip-list-items", inputs: { color: "color", items$: "items$" }, outputs: { removeChip: "removeChip" }, queries: [{ propertyName: "itemLabel", first: true, predicate: ChipListItemLabelDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"nice-items-row\" *ngIf=\"(items$ | async)?.length\">\n <div\n class=\"nice-chip\"\n *ngFor=\"let value of items$ | async; let i = index\"\n [ngClass]=\"color\"\n >\n <span *ngIf=\"!itemLabel\">{{ value }}</span>\n <ng-container *ngIf=\"itemLabel\">\n <ng-container *ngTemplateOutlet=\"itemLabel; context: { $implicit: value }\"></ng-container>\n </ng-container>\n <button (click)=\"remove(i)\">\n <mat-icon
|
|
26
|
+
NiceChipListItemsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceChipListItemsComponent, deps: [{ token: NICE_CHIP_LIST_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
NiceChipListItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: NiceChipListItemsComponent, selector: "nice-chip-list-items", inputs: { color: "color", items$: "items$" }, outputs: { removeChip: "removeChip" }, queries: [{ propertyName: "itemLabel", first: true, predicate: ChipListItemLabelDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"nice-items-row\" *ngIf=\"(items$ | async)?.length\">\n <div\n class=\"nice-chip\"\n *ngFor=\"let value of items$ | async; let i = index\"\n [ngClass]=\"color\"\n >\n <span *ngIf=\"!itemLabel\">{{ value }}</span>\n <ng-container *ngIf=\"itemLabel\">\n <ng-container *ngTemplateOutlet=\"itemLabel; context: { $implicit: value }\"></ng-container>\n </ng-container>\n <button (click)=\"remove(i)\">\n <mat-icon *ngIf=\"options.closeButtonIcon.matIcon\">\n {{ options.closeButtonIcon.matIcon }}\n </mat-icon>\n <mat-icon\n *ngIf=\"options.closeButtonIcon.svgIcon\"\n [svgIcon]=\"options.closeButtonIcon.svgIcon\"\n ></mat-icon>\n </button>\n </div>\n</div>\n", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
19
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceChipListItemsComponent, decorators: [{
|
|
20
29
|
type: Component,
|
|
21
|
-
args: [{ selector: "nice-chip-list-items", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"nice-items-row\" *ngIf=\"(items$ | async)?.length\">\n <div\n class=\"nice-chip\"\n *ngFor=\"let value of items$ | async; let i = index\"\n [ngClass]=\"color\"\n >\n <span *ngIf=\"!itemLabel\">{{ value }}</span>\n <ng-container *ngIf=\"itemLabel\">\n <ng-container *ngTemplateOutlet=\"itemLabel; context: { $implicit: value }\"></ng-container>\n </ng-container>\n <button (click)=\"remove(i)\">\n <mat-icon
|
|
22
|
-
}],
|
|
30
|
+
args: [{ selector: "nice-chip-list-items", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"nice-items-row\" *ngIf=\"(items$ | async)?.length\">\n <div\n class=\"nice-chip\"\n *ngFor=\"let value of items$ | async; let i = index\"\n [ngClass]=\"color\"\n >\n <span *ngIf=\"!itemLabel\">{{ value }}</span>\n <ng-container *ngIf=\"itemLabel\">\n <ng-container *ngTemplateOutlet=\"itemLabel; context: { $implicit: value }\"></ng-container>\n </ng-container>\n <button (click)=\"remove(i)\">\n <mat-icon *ngIf=\"options.closeButtonIcon.matIcon\">\n {{ options.closeButtonIcon.matIcon }}\n </mat-icon>\n <mat-icon\n *ngIf=\"options.closeButtonIcon.svgIcon\"\n [svgIcon]=\"options.closeButtonIcon.svgIcon\"\n ></mat-icon>\n </button>\n </div>\n</div>\n" }]
|
|
31
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
32
|
+
type: Optional
|
|
33
|
+
}, {
|
|
34
|
+
type: Inject,
|
|
35
|
+
args: [NICE_CHIP_LIST_OPTIONS]
|
|
36
|
+
}] }]; }, propDecorators: { itemLabel: [{
|
|
23
37
|
type: ContentChild,
|
|
24
38
|
args: [ChipListItemLabelDirective, { read: TemplateRef }]
|
|
25
39
|
}], color: [{
|
|
@@ -29,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
29
43
|
}], items$: [{
|
|
30
44
|
type: Input
|
|
31
45
|
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1saXN0LWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvZGlyZWN0aXZlcy9jaGlwLWxpc3QvY2hpcC1saXN0LWl0ZW1zL2NoaXAtbGlzdC1pdGVtcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXVpLWtpdC12Mi9zcmMvbGliL2RpcmVjdGl2ZXMvY2hpcC1saXN0L2NoaXAtbGlzdC1pdGVtcy9jaGlwLWxpc3QtaXRlbXMudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUFFLE1BQU0sRUFDcEIsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sV0FBVyxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7QUFhOUUsTUFBTSxPQUFPLDBCQUEwQjtJQWVuQyxZQUF3RSxPQUE0QjtRQUE1QixZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQVY3RixVQUFLLEdBQWlCLFNBQVMsQ0FBQztRQUdoQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUt4QyxpQkFBWSxHQUFpQixTQUFTLENBQUM7UUFHMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZixJQUFJLENBQUMsT0FBTyxHQUFHO2dCQUNYLGVBQWUsRUFBRTtvQkFDYixPQUFPLEVBQUUsUUFBUTtpQkFDcEI7YUFDSixDQUFDO1NBQ0w7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7dUhBM0JRLDBCQUEwQixrQkFlSCxzQkFBc0I7MkdBZjdDLDBCQUEwQix3TEFDckIsMEJBQTBCLDJCQUFVLFdBQVcsNkJDM0JqRSxpMEJBcUJBOzJGREthLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDSSxzQkFBc0IsbUJBRWYsdUJBQXVCLENBQUMsTUFBTTs7MEJBaUJsQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNCQUFzQjs0Q0FiL0MsU0FBUztzQkFEZixZQUFZO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFJeEQsS0FBSztzQkFEWCxLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLE1BQU07Z0JBSUEsTUFBTTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEV2ZW50RW1pdHRlciwgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZlxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ2FuQ29sb3IsIFRoZW1lUGFsZXR0ZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IE5JQ0VfQ0hJUF9MSVNUX09QVElPTlMgfSBmcm9tIFwiLi4vY2hpcC1saXN0LmNvbnN0YW50XCI7XG5pbXBvcnQgeyBDaGlwTGlzdEl0ZW1MYWJlbERpcmVjdGl2ZSB9IGZyb20gXCIuL2NoaXAtbGlzdC1pdGVtLWxhYmVsLmRpcmVjdGl2ZVwiO1xuXG5leHBvcnQgdHlwZSBOaWNlQ2hpcExpc3RBY3Rpb25JY29uID0geyBtYXRJY29uOiBzdHJpbmc7IHN2Z0ljb24/OiBzdHJpbmc7IH0gfCB7IG1hdEljb24/OiBzdHJpbmc7IHN2Z0ljb246IHN0cmluZzsgfTtcblxuZXhwb3J0IGludGVyZmFjZSBOaWNlQ2hpcExpc3RPcHRpb25zIHtcbiAgICBjbG9zZUJ1dHRvbkljb246IE5pY2VDaGlwTGlzdEFjdGlvbkljb247XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2UtY2hpcC1saXN0LWl0ZW1zXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9jaGlwLWxpc3QtaXRlbXMudGVtcGxhdGUuaHRtbFwiLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VDaGlwTGlzdEl0ZW1zQ29tcG9uZW50IGltcGxlbWVudHMgQ2FuQ29sb3Ige1xuICAgIEBDb250ZW50Q2hpbGQoQ2hpcExpc3RJdGVtTGFiZWxEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgICBwdWJsaWMgaXRlbUxhYmVsOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29sb3I6IFRoZW1lUGFsZXR0ZSA9IFwicHJpbWFyeVwiO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlbW92ZUNoaXAgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGl0ZW1zJDogT2JzZXJ2YWJsZTxhbnlbXT47XG5cbiAgICBwdWJsaWMgZGVmYXVsdENvbG9yOiBUaGVtZVBhbGV0dGUgPSBcInByaW1hcnlcIjtcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoTklDRV9DSElQX0xJU1RfT1BUSU9OUykgcHVibGljIHJlYWRvbmx5IG9wdGlvbnM6IE5pY2VDaGlwTGlzdE9wdGlvbnMpIHtcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICBjbG9zZUJ1dHRvbkljb246IHtcbiAgICAgICAgICAgICAgICAgICAgbWF0SWNvbjogXCJjYW5jZWxcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVDaGlwLm5leHQoaW5kZXgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJuaWNlLWl0ZW1zLXJvd1wiICpuZ0lmPVwiKGl0ZW1zJCB8IGFzeW5jKT8ubGVuZ3RoXCI+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm5pY2UtY2hpcFwiXG4gICAgICAgICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBpdGVtcyQgfCBhc3luYzsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cImNvbG9yXCJcbiAgICA+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW1MYWJlbFwiPnt7IHZhbHVlIH19PC9zcGFuPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbUxhYmVsXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbUxhYmVsOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogdmFsdWUgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicmVtb3ZlKGkpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJvcHRpb25zLmNsb3NlQnV0dG9uSWNvbi5tYXRJY29uXCI+XG4gICAgICAgICAgICAgICAge3sgb3B0aW9ucy5jbG9zZUJ1dHRvbkljb24ubWF0SWNvbiB9fVxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwib3B0aW9ucy5jbG9zZUJ1dHRvbkljb24uc3ZnSWNvblwiXG4gICAgICAgICAgICAgICAgW3N2Z0ljb25dPVwib3B0aW9ucy5jbG9zZUJ1dHRvbkljb24uc3ZnSWNvblwiXG4gICAgICAgICAgICA+PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from "@angular/core";
|
|
2
|
+
export const NICE_CHIP_LIST_OPTIONS = new InjectionToken("nice_chip_list_options");
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1saXN0LmNvbnN0YW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9kaXJlY3RpdmVzL2NoaXAtbGlzdC9jaGlwLWxpc3QuY29uc3RhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgY29uc3QgTklDRV9DSElQX0xJU1RfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbihcIm5pY2VfY2hpcF9saXN0X29wdGlvbnNcIik7XG4iXX0=
|
|
@@ -124,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
124
124
|
type: HostListener,
|
|
125
125
|
args: ["keydown", ["$event"]]
|
|
126
126
|
}] } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1saXN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvZGlyZWN0aXZlcy9jaGlwLWxpc3QvY2hpcC1saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsWUFBWSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNySSxPQUFPLEVBQXdCLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7OztBQUt6RixNQUFNLE9BQU8scUJBQXFCO0lBaUI5QixZQUN3QixjQUEyQyxFQUMzQyxTQUFvQixFQUNoQyxVQUF3QztRQUY1QixtQkFBYyxHQUFkLGNBQWMsQ0FBNkI7UUFDM0MsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNoQyxlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQWY3QyxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFdkIsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3RDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVsQyxZQUFPLEdBQVUsRUFBRSxDQUFDO1FBQ3BCLHFCQUFnQixHQUFHLENBQUMsS0FBWSxFQUFFLEVBQUUs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TSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUM7UUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEdBQUcsRUFBRSxHQUFHLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQzdGLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO1lBQzVCLGFBQWEsRUFBRSxJQUFJLFlBQVksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDO1NBQzNGLENBQUMsQ0FBQztJQUNQLENBQUM7O2tIQTdIUSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5REFBeUQ7aUJBQ3RFOzswQkFtQlEsUUFBUTs7MEJBQ1IsUUFBUTtxRUFqQk4sWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBd0JDLFNBQVM7c0JBRGYsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPcHRpb25hbCwgU2ltcGxlQ2hhbmdlLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgTmljZUFzeW5jVHlwZWFoZWFkQ29tcG9uZW50LCBOaWNlVHlwZWFoZWFkTmV3VmFsdWUgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgS2V5Ym9hcmRDb2RlcyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xuaW1wb3J0IHsgTmljZUNoaXBMaXN0SXRlbXNDb21wb25lbnQgfSBmcm9tIFwiLi9jaGlwLWxpc3QtaXRlbXMvY2hpcC1saXN0LWl0ZW1zLmNvbXBvbmVudFwiO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogXCJpbnB1dFtuaWNlQ2hpcExpc3RdLCBuaWNlLWFzeW5jLXR5cGVhaGVhZFtuaWNlQ2hpcExpc3RdXCJcbn0pXG5leHBvcnQgY2xhc3MgTmljZUNoaXBMaXN0RGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB3aXRoSXRlbUxpc3Q6IE5pY2VDaGlwTGlzdEl0ZW1zQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVsb2FkT25TZWxlY3RlZCA9IHRydWU7XG5cbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlQWxsJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSB2YWx1ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG5cbiAgICBwcml2YXRlIF92YWx1ZXM6IGFueVtdID0gW107XG4gICAgcHJpdmF0ZSBwcm9wYWdhdGVDaGFuZ2VzID0gKHZhbHVlOiBhbnlbXSkgPT4ge307XG5cbiAgICBwdWJsaWMgZ2V0IHZhbHVlcygpOiBhbnlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZXM7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgYXN5bmNUeXBlYWhlYWQ6IE5pY2VBc3luY1R5cGVhaGVhZENvbXBvbmVudCxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+XG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFwia2V5ZG93blwiLCBbXCIkZXZlbnRcIl0pXG4gICAgcHVibGljIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hc3luY1R5cGVhaGVhZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50LmNvZGUgPT09IEtleWJvYXJkQ29kZXMuRW50ZXIpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsaWRpdHkudmFsaWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuYWRkVmFsdWUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBcIlwiO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hc3luY1R5cGVhaGVhZCkge1xuICAgICAgICAgICAgdGhpcy5zZXR1cEFzeW5jVHlwZWFoZWFkKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoXCJtYXQtZm9ybS1maWVsZC1pbmZpeFwiKSkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5zdHlsZS5hbGlnbkl0ZW1zID0gXCJmbGV4LXN0YXJ0XCI7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LnN0eWxlLmZsZXhEaXJlY3Rpb24gPSBcImNvbHVtbi1yZXZlcnNlXCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoXCJ3aXRoSXRlbUxpc3RcIiBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLndpdGhJdGVtTGlzdC5pdGVtcyQgPSB0aGlzLnZhbHVlcyQ7XG4gICAgICAgICAgICB0aGlzLndpdGhJdGVtTGlzdC5yZW1vdmVDaGlwLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSkuc3Vic2NyaWJlKHggPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZhbHVlcy5zcGxpY2UoeCwgMSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVR5cGVhaGVhZFNlYXJjaE9wdGlvbnMoKTtcblxuICAgICAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlcyh0aGlzLl92YWx1ZXMpO1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzJC5uZXh0KHRoaXMuX3ZhbHVlcyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKG9iajogYW55W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmFsdWVzID0gb2JqID8/IFtdO1xuICAgICAgICB0aGlzLnVwZGF0ZVR5cGVhaGVhZFNlYXJjaE9wdGlvbnMoKTtcbiAgICAgICAgdGhpcy52YWx1ZXMkLm5leHQodGhpcy5fdmFsdWVzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlcyA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7fVxuXG4gICAgcHJpdmF0ZSBzZXR1cEFzeW5jVHlwZWFoZWFkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFzeW5jVHlwZWFoZWFkLnNlbGVjdGVkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpLFxuICAgICAgICAgICAgICAgIGZpbHRlcigoc2VsZWN0ZWQpID0+IHNlbGVjdGVkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBOaWNlVHlwZWFoZWFkTmV3VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRWYWx1ZSh0aGlzLmFzeW5jVHlwZWFoZWFkLmdldEFjdGl2ZSgpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmFzeW5jVHlwZWFoZWFkLnNlYXJjaE9wdGlvbnMgPSB7IC4uLih0aGlzLmFzeW5jVHlwZWFoZWFkLnNlYXJjaE9wdGlvbnMgPz8ge30pLCBpZ25vcmU6IHRoaXMuX3ZhbHVlcyA/PyBbXSB9O1xuICAgICAgICAgICAgICAgIHRoaXMuYXN5bmNUeXBlYWhlYWQub25SZW1vdmUobnVsbCwgdGhpcy5yZWxvYWRPblNlbGVjdGVkKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fdmFsdWVzLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTmljZVR5cGVhaGVhZE5ld1ZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fdmFsdWVzLnNvbWUoeCA9PiB4IGluc3RhbmNlb2YgTmljZVR5cGVhaGVhZE5ld1ZhbHVlICYmIHguJG5ldyA9PT0gdmFsdWUuJG5ldykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl92YWx1ZXMucHVzaCh2YWx1ZSk7XG4gICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlcyh0aGlzLl92YWx1ZXMpO1xuICAgICAgICB0aGlzLnZhbHVlcyQubmV4dCh0aGlzLl92YWx1ZXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVHlwZWFoZWFkU2VhcmNoT3B0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmFzeW5jVHlwZWFoZWFkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZWFyY2hPcHRpb25zID0gdGhpcy5hc3luY1R5cGVhaGVhZC5zZWFyY2hPcHRpb25zO1xuICAgICAgICB0aGlzLmFzeW5jVHlwZWFoZWFkLnNlYXJjaE9wdGlvbnMgPSB7IC4uLihzZWFyY2hPcHRpb25zID8/IHt9KSwgaWdub3JlOiB0aGlzLl92YWx1ZXMgPz8gW10gfTtcbiAgICAgICAgdGhpcy5hc3luY1R5cGVhaGVhZC5uZ09uQ2hhbmdlcyh7XG4gICAgICAgICAgICBzZWFyY2hPcHRpb25zOiBuZXcgU2ltcGxlQ2hhbmdlKHNlYXJjaE9wdGlvbnMsIHRoaXMuYXN5bmNUeXBlYWhlYWQuc2VhcmNoT3B0aW9ucywgZmFsc2UpXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1saXN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvZGlyZWN0aXZlcy9jaGlwLWxpc3QvY2hpcC1saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBRVosS0FBSyxFQUdMLFFBQVEsRUFDUixZQUFZLEVBRWYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFDSCwyQkFBMkIsRUFDM0IscUJBQXFCLEVBQ3hCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7OztBQUt6RixNQUFNLE9BQU8scUJBQXFCO0lBaUI5QixZQUN3QixjQUEyQyxFQUMzQyxTQUFvQixFQUNoQyxVQUF3QztRQUY1QixtQkFBYyxHQUFkLGNBQWMsQ0FBNkI7UUFDM0MsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNoQyxlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQWY3QyxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFdkIsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3RDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVsQyxZQUFPLEdBQVUsRUFBRSxDQUFDO1FBQ3BCLHFCQUFnQixHQUFHLENBQUMsS0FBWSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFXNUMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUN2QztJQUNMLENBQUM7SUFaRCxJQUFXLE1BQU07UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQWFNLFNBQVMsQ0FBQyxLQUFvQjtRQUNqQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsT0FBTztTQUNWO1FBRUQsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7Z0JBQy9DLE9BQU87YUFDVjtZQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUN6QyxPQUFPO1NBQ1Y7SUFDTCxDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM5QjtRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsRUFBRTtZQUN4RixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUM7WUFDNUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7U0FDdEY7SUFDTCxDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXNCO1FBQ3JDLElBQUksY0FBYyxJQUFJLE9BQU8sRUFBRTtZQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUM3RSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBRTFCLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO2dCQUVwQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTSxVQUFVLENBQUMsR0FBVTtRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUFPO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEVBQU8sSUFBUyxDQUFDO0lBRWxDLG1CQUFtQjtRQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVE7YUFDdkIsSUFBSSxDQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQy9CLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQ2pDO2FBQ0EsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakIsSUFBSSxLQUFLLFlBQVkscUJBQXFCLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDeEI7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7YUFDbEQ7WUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNqSCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU8sUUFBUSxDQUFDLEtBQVU7UUFDdkIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM5QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLEtBQUssWUFBWSxxQkFBcUIsRUFBRTtZQUN4QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLHFCQUFxQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNyRixPQUFPO2FBQ1Y7U0FDSjtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyw0QkFBNEI7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdEIsT0FBTztTQUNWO1FBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUM7UUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEdBQUcsRUFBRSxHQUFHLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQzdGLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO1lBQzVCLGFBQWEsRUFBRSxJQUFJLFlBQVksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDO1NBQzNGLENBQUMsQ0FBQztJQUNQLENBQUM7O2tIQTdIUSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5REFBeUQ7aUJBQ3RFOzswQkFtQlEsUUFBUTs7MEJBQ1IsUUFBUTtxRUFqQk4sWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBd0JDLFNBQVM7c0JBRGYsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBTaW1wbGVDaGFuZ2UsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQge1xuICAgIE5pY2VBc3luY1R5cGVhaGVhZENvbXBvbmVudCxcbiAgICBOaWNlVHlwZWFoZWFkTmV3VmFsdWVcbn0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHNcIjtcbmltcG9ydCB7IEtleWJvYXJkQ29kZXMgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCB7IE5pY2VDaGlwTGlzdEl0ZW1zQ29tcG9uZW50IH0gZnJvbSBcIi4vY2hpcC1saXN0LWl0ZW1zL2NoaXAtbGlzdC1pdGVtcy5jb21wb25lbnRcIjtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IFwiaW5wdXRbbmljZUNoaXBMaXN0XSwgbmljZS1hc3luYy10eXBlYWhlYWRbbmljZUNoaXBMaXN0XVwiXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VDaGlwTGlzdERpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgd2l0aEl0ZW1MaXN0OiBOaWNlQ2hpcExpc3RJdGVtc0NvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJlbG9hZE9uU2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSB1bnN1YnNjcmliZUFsbCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgdmFsdWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuXG4gICAgcHJpdmF0ZSBfdmFsdWVzOiBhbnlbXSA9IFtdO1xuICAgIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlcyA9ICh2YWx1ZTogYW55W10pID0+IHt9O1xuXG4gICAgcHVibGljIGdldCB2YWx1ZXMoKTogYW55W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWVzO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGFzeW5jVHlwZWFoZWFkOiBOaWNlQXN5bmNUeXBlYWhlYWRDb21wb25lbnQsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PlxuICAgICkge1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihcImtleWRvd25cIiwgW1wiJGV2ZW50XCJdKVxuICAgIHB1YmxpYyBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYXN5bmNUeXBlYWhlYWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudC5jb2RlID09PSBLZXlib2FyZENvZGVzLkVudGVyKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbGlkaXR5LnZhbGlkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmFkZFZhbHVlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gXCJcIjtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYXN5bmNUeXBlYWhlYWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0dXBBc3luY1R5cGVhaGVhZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFwibWF0LWZvcm0tZmllbGQtaW5maXhcIikpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQuc3R5bGUuYWxpZ25JdGVtcyA9IFwiZmxleC1zdGFydFwiO1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5zdHlsZS5mbGV4RGlyZWN0aW9uID0gXCJjb2x1bW4tcmV2ZXJzZVwiO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKFwid2l0aEl0ZW1MaXN0XCIgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy53aXRoSXRlbUxpc3QuaXRlbXMkID0gdGhpcy52YWx1ZXMkO1xuICAgICAgICAgICAgdGhpcy53aXRoSXRlbUxpc3QucmVtb3ZlQ2hpcC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCkpLnN1YnNjcmliZSh4ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZXMuc3BsaWNlKHgsIDEpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUeXBlYWhlYWRTZWFyY2hPcHRpb25zKCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZXModGhpcy5fdmFsdWVzKTtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlcyQubmV4dCh0aGlzLl92YWx1ZXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZShvYmo6IGFueVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZhbHVlcyA9IG9iaiA/PyBbXTtcbiAgICAgICAgdGhpcy51cGRhdGVUeXBlYWhlYWRTZWFyY2hPcHRpb25zKCk7XG4gICAgICAgIHRoaXMudmFsdWVzJC5uZXh0KHRoaXMuX3ZhbHVlcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZXMgPSBmbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge31cblxuICAgIHByaXZhdGUgc2V0dXBBc3luY1R5cGVhaGVhZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hc3luY1R5cGVhaGVhZC5zZWxlY3RlZFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKHNlbGVjdGVkKSA9PiBzZWxlY3RlZClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTmljZVR5cGVhaGVhZE5ld1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkVmFsdWUodGhpcy5hc3luY1R5cGVhaGVhZC5nZXRBY3RpdmUoKSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5hc3luY1R5cGVhaGVhZC5zZWFyY2hPcHRpb25zID0geyAuLi4odGhpcy5hc3luY1R5cGVhaGVhZC5zZWFyY2hPcHRpb25zID8/IHt9KSwgaWdub3JlOiB0aGlzLl92YWx1ZXMgPz8gW10gfTtcbiAgICAgICAgICAgICAgICB0aGlzLmFzeW5jVHlwZWFoZWFkLm9uUmVtb3ZlKG51bGwsIHRoaXMucmVsb2FkT25TZWxlY3RlZCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3ZhbHVlcy5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE5pY2VUeXBlYWhlYWROZXdWYWx1ZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3ZhbHVlcy5zb21lKHggPT4geCBpbnN0YW5jZW9mIE5pY2VUeXBlYWhlYWROZXdWYWx1ZSAmJiB4LiRuZXcgPT09IHZhbHVlLiRuZXcpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fdmFsdWVzLnB1c2godmFsdWUpO1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZXModGhpcy5fdmFsdWVzKTtcbiAgICAgICAgdGhpcy52YWx1ZXMkLm5leHQodGhpcy5fdmFsdWVzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVR5cGVhaGVhZFNlYXJjaE9wdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hc3luY1R5cGVhaGVhZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2VhcmNoT3B0aW9ucyA9IHRoaXMuYXN5bmNUeXBlYWhlYWQuc2VhcmNoT3B0aW9ucztcbiAgICAgICAgdGhpcy5hc3luY1R5cGVhaGVhZC5zZWFyY2hPcHRpb25zID0geyAuLi4oc2VhcmNoT3B0aW9ucyA/PyB7fSksIGlnbm9yZTogdGhpcy5fdmFsdWVzID8/IFtdIH07XG4gICAgICAgIHRoaXMuYXN5bmNUeXBlYWhlYWQubmdPbkNoYW5nZXMoe1xuICAgICAgICAgICAgc2VhcmNoT3B0aW9uczogbmV3IFNpbXBsZUNoYW5nZShzZWFyY2hPcHRpb25zLCB0aGlzLmFzeW5jVHlwZWFoZWFkLnNlYXJjaE9wdGlvbnMsIGZhbHNlKVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -3,9 +3,28 @@ import { NgModule } from "@angular/core";
|
|
|
3
3
|
import { MatIconModule } from "@angular/material/icon";
|
|
4
4
|
import { ChipListItemLabelDirective } from "./chip-list-items/chip-list-item-label.directive";
|
|
5
5
|
import { NiceChipListItemsComponent } from "./chip-list-items/chip-list-items.component";
|
|
6
|
+
import { NICE_CHIP_LIST_OPTIONS } from "./chip-list.constant";
|
|
6
7
|
import { NiceChipListDirective } from "./chip-list.directive";
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
export class NiceChipListDirectiveModule {
|
|
10
|
+
static forRoot(options) {
|
|
11
|
+
if (!options) {
|
|
12
|
+
options = {
|
|
13
|
+
closeButtonIcon: {
|
|
14
|
+
matIcon: "cancel"
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
ngModule: NiceChipListDirectiveModule,
|
|
20
|
+
providers: [
|
|
21
|
+
{
|
|
22
|
+
provide: NICE_CHIP_LIST_OPTIONS,
|
|
23
|
+
useValue: options
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
};
|
|
27
|
+
}
|
|
9
28
|
}
|
|
10
29
|
NiceChipListDirectiveModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceChipListDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
30
|
NiceChipListDirectiveModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceChipListDirectiveModule, declarations: [NiceChipListDirective, NiceChipListItemsComponent, ChipListItemLabelDirective], imports: [CommonModule, MatIconModule], exports: [NiceChipListDirective, NiceChipListItemsComponent, ChipListItemLabelDirective] });
|
|
@@ -18,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
18
37
|
exports: [NiceChipListDirective, NiceChipListItemsComponent, ChipListItemLabelDirective]
|
|
19
38
|
}]
|
|
20
39
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvZGlyZWN0aXZlcy9jaGlwLWxpc3QvY2hpcC1saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBdUIsTUFBTSw2Q0FBNkMsQ0FBQztBQUM5RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFPOUQsTUFBTSxPQUFPLDJCQUEyQjtJQUM3QixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQTZCO1FBQy9DLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDVixPQUFPLEdBQUc7Z0JBQ04sZUFBZSxFQUFFO29CQUNiLE9BQU8sRUFBRSxRQUFRO2lCQUNwQjthQUNKLENBQUM7U0FDTDtRQUNELE9BQU87WUFDSCxRQUFRLEVBQUUsMkJBQTJCO1lBQ3JDLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsc0JBQXNCO29CQUMvQixRQUFRLEVBQUUsT0FBTztpQkFDcEI7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDOzt3SEFsQlEsMkJBQTJCO3lIQUEzQiwyQkFBMkIsaUJBSHJCLHFCQUFxQixFQUFFLDBCQUEwQixFQUFFLDBCQUEwQixhQURsRixZQUFZLEVBQUUsYUFBYSxhQUUzQixxQkFBcUIsRUFBRSwwQkFBMEIsRUFBRSwwQkFBMEI7eUhBRTlFLDJCQUEyQixZQUozQixDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7MkZBSTdCLDJCQUEyQjtrQkFMdkMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO29CQUN0QyxZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSwwQkFBMEIsRUFBRSwwQkFBMEIsQ0FBQztvQkFDN0YsT0FBTyxFQUFFLENBQUMscUJBQXFCLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCLENBQUM7aUJBQzNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XG5pbXBvcnQgeyBDaGlwTGlzdEl0ZW1MYWJlbERpcmVjdGl2ZSB9IGZyb20gXCIuL2NoaXAtbGlzdC1pdGVtcy9jaGlwLWxpc3QtaXRlbS1sYWJlbC5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IE5pY2VDaGlwTGlzdEl0ZW1zQ29tcG9uZW50LCBOaWNlQ2hpcExpc3RPcHRpb25zIH0gZnJvbSBcIi4vY2hpcC1saXN0LWl0ZW1zL2NoaXAtbGlzdC1pdGVtcy5jb21wb25lbnRcIjtcbmltcG9ydCB7IE5JQ0VfQ0hJUF9MSVNUX09QVElPTlMgfSBmcm9tIFwiLi9jaGlwLWxpc3QuY29uc3RhbnRcIjtcblxuaW1wb3J0IHsgTmljZUNoaXBMaXN0RGlyZWN0aXZlIH0gZnJvbSBcIi4vY2hpcC1saXN0LmRpcmVjdGl2ZVwiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW05pY2VDaGlwTGlzdERpcmVjdGl2ZSwgTmljZUNoaXBMaXN0SXRlbXNDb21wb25lbnQsIENoaXBMaXN0SXRlbUxhYmVsRGlyZWN0aXZlXSxcbiAgICBleHBvcnRzOiBbTmljZUNoaXBMaXN0RGlyZWN0aXZlLCBOaWNlQ2hpcExpc3RJdGVtc0NvbXBvbmVudCwgQ2hpcExpc3RJdGVtTGFiZWxEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VDaGlwTGlzdERpcmVjdGl2ZU1vZHVsZSB7XG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KG9wdGlvbnM/OiBOaWNlQ2hpcExpc3RPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOaWNlQ2hpcExpc3REaXJlY3RpdmVNb2R1bGU+IHtcbiAgICAgICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIGNsb3NlQnV0dG9uSWNvbjoge1xuICAgICAgICAgICAgICAgICAgICBtYXRJY29uOiBcImNhbmNlbFwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IE5pY2VDaGlwTGlzdERpcmVjdGl2ZU1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogTklDRV9DSElQX0xJU1RfT1BUSU9OUyxcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|
|
@@ -9943,22 +9943,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
9943
9943
|
args: [{ selector: "[niceChipListItemLabel]" }]
|
|
9944
9944
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
9945
9945
|
|
|
9946
|
+
const NICE_CHIP_LIST_OPTIONS = new InjectionToken("nice_chip_list_options");
|
|
9947
|
+
|
|
9946
9948
|
class NiceChipListItemsComponent {
|
|
9947
|
-
constructor() {
|
|
9949
|
+
constructor(options) {
|
|
9950
|
+
this.options = options;
|
|
9948
9951
|
this.color = "primary";
|
|
9949
9952
|
this.removeChip = new EventEmitter();
|
|
9950
9953
|
this.defaultColor = "primary";
|
|
9954
|
+
if (!this.options) {
|
|
9955
|
+
this.options = {
|
|
9956
|
+
closeButtonIcon: {
|
|
9957
|
+
matIcon: "cancel"
|
|
9958
|
+
}
|
|
9959
|
+
};
|
|
9960
|
+
}
|
|
9951
9961
|
}
|
|
9952
9962
|
remove(index) {
|
|
9953
9963
|
this.removeChip.next(index);
|
|
9954
9964
|
}
|
|
9955
9965
|
}
|
|
9956
|
-
NiceChipListItemsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceChipListItemsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9957
|
-
NiceChipListItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: NiceChipListItemsComponent, selector: "nice-chip-list-items", inputs: { color: "color", items$: "items$" }, outputs: { removeChip: "removeChip" }, queries: [{ propertyName: "itemLabel", first: true, predicate: ChipListItemLabelDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"nice-items-row\" *ngIf=\"(items$ | async)?.length\">\n <div\n class=\"nice-chip\"\n *ngFor=\"let value of items$ | async; let i = index\"\n [ngClass]=\"color\"\n >\n <span *ngIf=\"!itemLabel\">{{ value }}</span>\n <ng-container *ngIf=\"itemLabel\">\n <ng-container *ngTemplateOutlet=\"itemLabel; context: { $implicit: value }\"></ng-container>\n </ng-container>\n <button (click)=\"remove(i)\">\n <mat-icon
|
|
9966
|
+
NiceChipListItemsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceChipListItemsComponent, deps: [{ token: NICE_CHIP_LIST_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
9967
|
+
NiceChipListItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: NiceChipListItemsComponent, selector: "nice-chip-list-items", inputs: { color: "color", items$: "items$" }, outputs: { removeChip: "removeChip" }, queries: [{ propertyName: "itemLabel", first: true, predicate: ChipListItemLabelDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"nice-items-row\" *ngIf=\"(items$ | async)?.length\">\n <div\n class=\"nice-chip\"\n *ngFor=\"let value of items$ | async; let i = index\"\n [ngClass]=\"color\"\n >\n <span *ngIf=\"!itemLabel\">{{ value }}</span>\n <ng-container *ngIf=\"itemLabel\">\n <ng-container *ngTemplateOutlet=\"itemLabel; context: { $implicit: value }\"></ng-container>\n </ng-container>\n <button (click)=\"remove(i)\">\n <mat-icon *ngIf=\"options.closeButtonIcon.matIcon\">\n {{ options.closeButtonIcon.matIcon }}\n </mat-icon>\n <mat-icon\n *ngIf=\"options.closeButtonIcon.svgIcon\"\n [svgIcon]=\"options.closeButtonIcon.svgIcon\"\n ></mat-icon>\n </button>\n </div>\n</div>\n", components: [{ type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9958
9968
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceChipListItemsComponent, decorators: [{
|
|
9959
9969
|
type: Component,
|
|
9960
|
-
args: [{ selector: "nice-chip-list-items", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"nice-items-row\" *ngIf=\"(items$ | async)?.length\">\n <div\n class=\"nice-chip\"\n *ngFor=\"let value of items$ | async; let i = index\"\n [ngClass]=\"color\"\n >\n <span *ngIf=\"!itemLabel\">{{ value }}</span>\n <ng-container *ngIf=\"itemLabel\">\n <ng-container *ngTemplateOutlet=\"itemLabel; context: { $implicit: value }\"></ng-container>\n </ng-container>\n <button (click)=\"remove(i)\">\n <mat-icon
|
|
9961
|
-
}],
|
|
9970
|
+
args: [{ selector: "nice-chip-list-items", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"nice-items-row\" *ngIf=\"(items$ | async)?.length\">\n <div\n class=\"nice-chip\"\n *ngFor=\"let value of items$ | async; let i = index\"\n [ngClass]=\"color\"\n >\n <span *ngIf=\"!itemLabel\">{{ value }}</span>\n <ng-container *ngIf=\"itemLabel\">\n <ng-container *ngTemplateOutlet=\"itemLabel; context: { $implicit: value }\"></ng-container>\n </ng-container>\n <button (click)=\"remove(i)\">\n <mat-icon *ngIf=\"options.closeButtonIcon.matIcon\">\n {{ options.closeButtonIcon.matIcon }}\n </mat-icon>\n <mat-icon\n *ngIf=\"options.closeButtonIcon.svgIcon\"\n [svgIcon]=\"options.closeButtonIcon.svgIcon\"\n ></mat-icon>\n </button>\n </div>\n</div>\n" }]
|
|
9971
|
+
}], ctorParameters: function () {
|
|
9972
|
+
return [{ type: undefined, decorators: [{
|
|
9973
|
+
type: Optional
|
|
9974
|
+
}, {
|
|
9975
|
+
type: Inject,
|
|
9976
|
+
args: [NICE_CHIP_LIST_OPTIONS]
|
|
9977
|
+
}] }];
|
|
9978
|
+
}, propDecorators: { itemLabel: [{
|
|
9962
9979
|
type: ContentChild,
|
|
9963
9980
|
args: [ChipListItemLabelDirective, { read: TemplateRef }]
|
|
9964
9981
|
}], color: [{
|
|
@@ -10091,6 +10108,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
10091
10108
|
}] } });
|
|
10092
10109
|
|
|
10093
10110
|
class NiceChipListDirectiveModule {
|
|
10111
|
+
static forRoot(options) {
|
|
10112
|
+
if (!options) {
|
|
10113
|
+
options = {
|
|
10114
|
+
closeButtonIcon: {
|
|
10115
|
+
matIcon: "cancel"
|
|
10116
|
+
}
|
|
10117
|
+
};
|
|
10118
|
+
}
|
|
10119
|
+
return {
|
|
10120
|
+
ngModule: NiceChipListDirectiveModule,
|
|
10121
|
+
providers: [
|
|
10122
|
+
{
|
|
10123
|
+
provide: NICE_CHIP_LIST_OPTIONS,
|
|
10124
|
+
useValue: options
|
|
10125
|
+
}
|
|
10126
|
+
]
|
|
10127
|
+
};
|
|
10128
|
+
}
|
|
10094
10129
|
}
|
|
10095
10130
|
NiceChipListDirectiveModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceChipListDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10096
10131
|
NiceChipListDirectiveModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceChipListDirectiveModule, declarations: [NiceChipListDirective, NiceChipListItemsComponent, ChipListItemLabelDirective], imports: [CommonModule, MatIconModule], exports: [NiceChipListDirective, NiceChipListItemsComponent, ChipListItemLabelDirective] });
|