@piserve-tech/drop-down 1.2.87 → 1.2.88
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.
|
@@ -130,15 +130,12 @@ export class DropdownComponent {
|
|
|
130
130
|
action();
|
|
131
131
|
this.buttonClick.emit();
|
|
132
132
|
}
|
|
133
|
-
removeHtmlTags(value) {
|
|
134
|
-
return value ? value.replace(/<\/?[^>]+(>|$)/g, "") : "";
|
|
135
|
-
}
|
|
136
133
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
137
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropdownComponent, selector: "lib-dropdown", inputs: { multiple: "multiple", selectedItems: "selectedItems", placeholder: "placeholder", items: "items", showCreateNew: "showCreateNew", selectedValues: "selectedValues", customButtons: "customButtons", showBorder: "showBorder", showSubLabel: "showSubLabel" }, outputs: { buttonClick: "buttonClick", selectedItemsChange: "selectedItemsChange", onDropdownScroll: "onDropdownScroll", onCreateNew: "onCreateNew", onSearch: "onSearch" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, viewQueries: [{ propertyName: "dropdownitems", first: true, predicate: ["dropdownItems"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #dropdown\n class=\"dropdown\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n>\n <div\n class=\"dropdown-field\"\n id=\"division\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n (click)=\"openDropdown()\"\n >\n <!-- <div *ngIf=\"selectedValues !== '' && !selectedItemName\" class=\"selected\">\n {{ selectedValues }}\n </div> -->\n <div *ngIf=\"!selectedItem && multiple\" class=\"flexSection\">\n <div class=\"dataSection\">\n <div *ngIf=\"!selectedItem && multiple\" class=\"selected selectedList\">\n <div\n *ngFor=\"let selectedItem of selectedItems.slice(0, 3)\"\n class=\"selected-item\"\n >\n <img\n *ngIf=\"selectedItem?.image\"\n class=\"multiSelected-icon-size\"\n [src]=\"selectedItem?.image\"\n alt=\"image\"\n />\n <span>{{ selectedItem.label }}</span\n > \n <span (click)=\"unselectItem(selectedItem)\" class=\"close-icon\"\n >×</span\n >\n </div>\n <div class=\"remaining-items\" *ngIf=\"selectedItems.length > 3\">\n +{{ selectedItems.length - 3 }} more\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div>\n <span\n (click)=\"unselectAll()\"\n *ngIf=\"selectedItems.length > 0 && multiple\"\n class=\"deselect\"\n >×\n </span>\n </div>\n </div>\n </div>\n <div class=\"flexSection\">\n <div class=\"dataSection\">\n <div class=\"input-field\">\n <div *ngIf=\"multiple\">\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n (input)=\"search($event)\"\n />\n </div>\n <div *ngIf=\"!multiple\">\n <img\n *ngIf=\"selectedItemImage\"\n class=\"selected-icon-size\"\n [src]=\"selectedItemImage\"\n alt=\"image\"\n />\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"selectedItemName\"\n (input)=\"search($event)\"\n />\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div\n class=\"down-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"down-arrow-img\"\n >\n <g id=\"Down Arrow\">\n <g id=\"Group\">\n <path\n id=\"Path\"\n d=\"M6 9.13741L12 15.229L18 9.13741\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n </g>\n </svg>\n </div>\n <div\n class=\"up-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"up-arrow-img\"\n >\n <path\n d=\"M18 15.229L12 9.1374L6 15.229\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n </div>\n </div>\n\n <div\n #dropdownItems\n class=\"dropdown-items\"\n *ngIf=\"dropdownOpened\"\n (scroll)=\"dropdownScroll($event)\"\n >\n <div (click)=\"createNew()\">\n <a class=\"create_button\" *ngIf=\"showCreateNew\">Create new</a>\n </div>\n <ng-container *ngIf=\"items.length > 0; else noDataAvailable\">\n <ng-container *ngIf=\"multiple; else singleSelection\">\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <div>\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span> <br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n </div>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-container>\n\n <ng-template #singleSelection>\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span\n ><br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- \"No data available\" message if the drop down is empty -->\n <ng-template #noDataAvailable>\n <div class=\"items\">No data available</div>\n </ng-template>\n </div>\n</div>\n", styles: [".dropdown{background:#fff;border-radius:6px}.dropdown .dropdown-field{background:#fff;border-radius:6px;position:relative;cursor:pointer}.dropdown .dropdown-field .selected{margin:5px}.dropdown .dropdown-field .selected.selectedList{display:flex;flex-wrap:wrap}.dropdown .dropdown-field .selected .selected-item{background:#cdd0d1;display:inline;margin:5px;padding:2px;border-radius:5px;font-size:small}.dropdown .dropdown-field .selected .remaining-items{margin:5px;padding:2px;font-size:smaller;display:block}.dropdown .dropdown-field .input-field .dropdown_text{width:100%;border:none;padding:2px;margin-left:3px;margin-right:3px;outline:none;box-sizing:border-box;font-weight:500;font-family:Poppins;font-size:14px;font-style:normal}@media (max-width: 576px){.dropdown .dropdown-field .input-field .dropdown_text{width:53%;font-size:12px;margin-left:3px;padding-left:2px}}@media (max-width: 420px){.dropdown .dropdown-field .input-field .dropdown_text{width:53%;font-size:12px;margin-left:3px;padding-left:2px}}@media only screen and (min-width: 576px){.dropdown .dropdown-field .input-field .dropdown_text{height:25px}}@media only screen and (min-width: 992px){.dropdown .dropdown-field .input-field .dropdown_text{height:30px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-field .input-field .dropdown_text{height:35px}}.dropdown .dropdown-field.closed{border:1px solid #d8d8d8}.dropdown .dropdown-field.opened{border-bottom:1px solid #d8d8d8}.dropdown .dropdown-items{overflow-y:auto;overflow-x:hidden;position:absolute;top:100%;left:0;width:100%;background:#fff;z-index:9999999;border:solid 1px #dbdbdb;box-shadow:0 4px 4px -5px #00000040;transition:transform .3s ease-out;scroll-behavior:smooth;cursor:pointer}@media only screen and (min-width: 276px){.dropdown .dropdown-items{max-height:150px;padding:3px}}@media only screen and (min-width: 576px){.dropdown .dropdown-items{max-height:150px;padding:3px}}@media only screen and (min-width: 992px){.dropdown .dropdown-items{max-height:150px;padding:5px}}@media only screen and (min-width: 1441px){.dropdown .dropdown-items{max-height:200px;padding:7px}}.dropdown .dropdown-items .create_button{text-decoration:none;cursor:pointer}@media only screen and (min-width: 576px){.dropdown .dropdown-items .create_button{padding-left:8px}}@media only screen and (min-width: 992px){.dropdown .dropdown-items .create_button{padding-left:8px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-items .create_button{padding-left:8px}}.dropdown .dropdown-items .items{text-decoration:none;color:inherit;line-height:41px;position:relative;cursor:pointer}@media only screen and (min-width: 576px){.dropdown .dropdown-items .items{padding-left:8px;font-size:small}}@media only screen and (min-width: 992px){.dropdown .dropdown-items .items{padding-left:8px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-items .items{padding-left:8px;font-size:small}}.dropdown .dropdown-items .items:hover{background:#ebedef;border-radius:6px}.dropdown .dropdown-items .items:hover button{visibility:visible}.dropdown .dropdown-items .items .dropdown_buttons{display:inline}.dropdown .dropdown-items .items button{border:0;background:transparent;visibility:hidden}.dropdown.opened{border:1px #d8d8d8 solid}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{background-color:#b2b2b2;border-radius:6px}.space{width:10px}.item-details{display:flex;align-items:center;justify-content:space-between}.icon-size{width:25px;height:20px;margin-right:7px}.smallSpace{width:3px}.selected-icon-size{width:25px;height:20px;margin-left:10px}@media (max-width: 576px){.selected-icon-size{width:21px;height:15px;margin-right:7px;margin-bottom:1px}}.multiSelected-icon-size{width:25px;height:20px;margin-left:1px;margin-bottom:1px;margin-right:3px}.flexSection{display:flex}.dataSection{width:calc(100% - 20px)}.iconSection{width:20px;padding:1px}.down-arrow,.up-arrow,.deselect{width:20px;height:20px;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer}.down-arrow{cursor:pointer;padding-top:.5em}.down-arrow.opened{display:none}.down-arrow.closed{display:block}.up-arrow{cursor:pointer}.up-arrow.closed{display:none}.iconSection{display:flex;flex-direction:row-reverse}span p{margin-bottom:0!important;display:inline}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
134
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropdownComponent, selector: "lib-dropdown", inputs: { multiple: "multiple", selectedItems: "selectedItems", placeholder: "placeholder", items: "items", showCreateNew: "showCreateNew", selectedValues: "selectedValues", customButtons: "customButtons", showBorder: "showBorder", showSubLabel: "showSubLabel" }, outputs: { buttonClick: "buttonClick", selectedItemsChange: "selectedItemsChange", onDropdownScroll: "onDropdownScroll", onCreateNew: "onCreateNew", onSearch: "onSearch" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, viewQueries: [{ propertyName: "dropdownitems", first: true, predicate: ["dropdownItems"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #dropdown\n class=\"dropdown\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n>\n <div\n class=\"dropdown-field\"\n id=\"division\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n (click)=\"openDropdown()\"\n >\n <!-- <div *ngIf=\"selectedValues !== '' && !selectedItemName\" class=\"selected\">\n {{ selectedValues }}\n </div> -->\n <div *ngIf=\"!selectedItem && multiple\" class=\"flexSection\">\n <div class=\"dataSection\">\n <div *ngIf=\"!selectedItem && multiple\" class=\"selected selectedList\">\n <div\n *ngFor=\"let selectedItem of selectedItems.slice(0, 3)\"\n class=\"selected-item\"\n >\n <img\n *ngIf=\"selectedItem?.image\"\n class=\"multiSelected-icon-size\"\n [src]=\"selectedItem?.image\"\n alt=\"image\"\n />\n <span>{{ selectedItem.label }}</span\n > \n <span (click)=\"unselectItem(selectedItem)\" class=\"close-icon\"\n >×</span\n >\n </div>\n <div class=\"remaining-items\" *ngIf=\"selectedItems.length > 3\">\n +{{ selectedItems.length - 3 }} more\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div>\n <span\n (click)=\"unselectAll()\"\n *ngIf=\"selectedItems.length > 0 && multiple\"\n class=\"deselect\"\n >×\n </span>\n </div>\n </div>\n </div>\n <div class=\"flexSection\">\n <div class=\"dataSection\">\n <div class=\"input-field\">\n <div *ngIf=\"multiple\">\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n (input)=\"search($event)\"\n />\n </div>\n <div *ngIf=\"!multiple\">\n <img\n *ngIf=\"selectedItemImage\"\n class=\"selected-icon-size\"\n [src]=\"selectedItemImage\"\n alt=\"image\"\n />\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"selectedItemName\"\n (input)=\"search($event)\"\n />\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div\n class=\"down-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"down-arrow-img\"\n >\n <g id=\"Down Arrow\">\n <g id=\"Group\">\n <path\n id=\"Path\"\n d=\"M6 9.13741L12 15.229L18 9.13741\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n </g>\n </svg>\n </div>\n <div\n class=\"up-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"up-arrow-img\"\n >\n <path\n d=\"M18 15.229L12 9.1374L6 15.229\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n </div>\n </div>\n\n <div\n #dropdownItems\n class=\"dropdown-items\"\n *ngIf=\"dropdownOpened\"\n (scroll)=\"dropdownScroll($event)\"\n >\n <div (click)=\"createNew()\">\n <a class=\"create_button\" *ngIf=\"showCreateNew\">Create new</a>\n </div>\n <ng-container *ngIf=\"items.length > 0; else noDataAvailable\">\n <ng-container *ngIf=\"multiple; else singleSelection\">\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <div>\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span> <br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n </div>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-container>\n\n <ng-template #singleSelection>\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span\n ><br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- \"No data available\" message if the drop down is empty -->\n <ng-template #noDataAvailable>\n <div class=\"items\">No data available</div>\n </ng-template>\n </div>\n</div>\n", styles: [".dropdown{background:#fff;border-radius:6px}.dropdown .dropdown-field{background:#fff;border-radius:6px;position:relative;cursor:pointer}.dropdown .dropdown-field .selected{margin:5px}.dropdown .dropdown-field .selected.selectedList{display:flex;flex-wrap:wrap}.dropdown .dropdown-field .selected .selected-item{background:#cdd0d1;display:inline;margin:5px;padding:2px;border-radius:5px;font-size:small}.dropdown .dropdown-field .selected .remaining-items{margin:5px;padding:2px;font-size:smaller;display:block}.dropdown .dropdown-field .input-field .dropdown_text{width:100%;border:none;padding:2px;margin-left:3px;margin-right:3px;outline:none;box-sizing:border-box;font-weight:500;font-family:Poppins;font-size:14px;font-style:normal}@media (max-width: 576px){.dropdown .dropdown-field .input-field .dropdown_text{width:53%;font-size:12px;margin-left:3px;padding-left:2px}}@media (max-width: 420px){.dropdown .dropdown-field .input-field .dropdown_text{width:53%;font-size:12px;margin-left:3px;padding-left:2px}}@media only screen and (min-width: 576px){.dropdown .dropdown-field .input-field .dropdown_text{height:25px}}@media only screen and (min-width: 992px){.dropdown .dropdown-field .input-field .dropdown_text{height:30px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-field .input-field .dropdown_text{height:35px}}.dropdown .dropdown-field.closed{border:1px solid #d8d8d8}.dropdown .dropdown-field.opened{border-bottom:1px solid #d8d8d8}.dropdown .dropdown-items{overflow-y:auto;overflow-x:auto;position:absolute;top:100%;left:0;width:100%;background:#fff;z-index:9999999;border:solid 1px #dbdbdb;box-shadow:0 4px 4px -5px #00000040;transition:transform .3s ease-out;scroll-behavior:smooth;cursor:pointer}@media only screen and (min-width: 276px){.dropdown .dropdown-items{max-height:150px;padding:3px}}@media only screen and (min-width: 576px){.dropdown .dropdown-items{max-height:150px;padding:3px}}@media only screen and (min-width: 992px){.dropdown .dropdown-items{max-height:150px;padding:5px}}@media only screen and (min-width: 1441px){.dropdown .dropdown-items{max-height:200px;padding:7px}}.dropdown .dropdown-items .create_button{text-decoration:none;cursor:pointer}@media only screen and (min-width: 576px){.dropdown .dropdown-items .create_button{padding-left:8px}}@media only screen and (min-width: 992px){.dropdown .dropdown-items .create_button{padding-left:8px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-items .create_button{padding-left:8px}}.dropdown .dropdown-items .items{text-decoration:none;color:inherit;line-height:41px;position:relative;cursor:pointer}@media only screen and (min-width: 576px){.dropdown .dropdown-items .items{padding-left:8px;font-size:small}}@media only screen and (min-width: 992px){.dropdown .dropdown-items .items{padding-left:8px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-items .items{padding-left:8px;font-size:small}}.dropdown .dropdown-items .items:hover{background:#ebedef;border-radius:6px}.dropdown .dropdown-items .items:hover button{visibility:visible}.dropdown .dropdown-items .items .dropdown_buttons{display:inline}.dropdown .dropdown-items .items button{border:0;background:transparent;visibility:hidden}.dropdown.opened{border:1px #d8d8d8 solid}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{background-color:#b2b2b2;border-radius:6px}.space{width:10px}.item-details{display:flex;align-items:center;justify-content:space-between}.icon-size{width:25px;height:20px;margin-right:7px}.smallSpace{width:3px}.selected-icon-size{width:25px;height:20px;margin-left:10px}@media (max-width: 576px){.selected-icon-size{width:21px;height:15px;margin-right:7px;margin-bottom:1px}}.multiSelected-icon-size{width:25px;height:20px;margin-left:1px;margin-bottom:1px;margin-right:3px}.flexSection{display:flex}.dataSection{width:calc(100% - 20px)}.iconSection{width:20px;padding:1px}.down-arrow,.up-arrow,.deselect{width:20px;height:20px;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer}.down-arrow{cursor:pointer;padding-top:.5em}.down-arrow.opened{display:none}.down-arrow.closed{display:block}.up-arrow{cursor:pointer}.up-arrow.closed{display:none}.iconSection{display:flex;flex-direction:row-reverse}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
138
135
|
}
|
|
139
136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
140
137
|
type: Component,
|
|
141
|
-
args: [{ selector: "lib-dropdown", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n #dropdown\n class=\"dropdown\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n>\n <div\n class=\"dropdown-field\"\n id=\"division\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n (click)=\"openDropdown()\"\n >\n <!-- <div *ngIf=\"selectedValues !== '' && !selectedItemName\" class=\"selected\">\n {{ selectedValues }}\n </div> -->\n <div *ngIf=\"!selectedItem && multiple\" class=\"flexSection\">\n <div class=\"dataSection\">\n <div *ngIf=\"!selectedItem && multiple\" class=\"selected selectedList\">\n <div\n *ngFor=\"let selectedItem of selectedItems.slice(0, 3)\"\n class=\"selected-item\"\n >\n <img\n *ngIf=\"selectedItem?.image\"\n class=\"multiSelected-icon-size\"\n [src]=\"selectedItem?.image\"\n alt=\"image\"\n />\n <span>{{ selectedItem.label }}</span\n > \n <span (click)=\"unselectItem(selectedItem)\" class=\"close-icon\"\n >×</span\n >\n </div>\n <div class=\"remaining-items\" *ngIf=\"selectedItems.length > 3\">\n +{{ selectedItems.length - 3 }} more\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div>\n <span\n (click)=\"unselectAll()\"\n *ngIf=\"selectedItems.length > 0 && multiple\"\n class=\"deselect\"\n >×\n </span>\n </div>\n </div>\n </div>\n <div class=\"flexSection\">\n <div class=\"dataSection\">\n <div class=\"input-field\">\n <div *ngIf=\"multiple\">\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n (input)=\"search($event)\"\n />\n </div>\n <div *ngIf=\"!multiple\">\n <img\n *ngIf=\"selectedItemImage\"\n class=\"selected-icon-size\"\n [src]=\"selectedItemImage\"\n alt=\"image\"\n />\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"selectedItemName\"\n (input)=\"search($event)\"\n />\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div\n class=\"down-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"down-arrow-img\"\n >\n <g id=\"Down Arrow\">\n <g id=\"Group\">\n <path\n id=\"Path\"\n d=\"M6 9.13741L12 15.229L18 9.13741\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n </g>\n </svg>\n </div>\n <div\n class=\"up-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"up-arrow-img\"\n >\n <path\n d=\"M18 15.229L12 9.1374L6 15.229\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n </div>\n </div>\n\n <div\n #dropdownItems\n class=\"dropdown-items\"\n *ngIf=\"dropdownOpened\"\n (scroll)=\"dropdownScroll($event)\"\n >\n <div (click)=\"createNew()\">\n <a class=\"create_button\" *ngIf=\"showCreateNew\">Create new</a>\n </div>\n <ng-container *ngIf=\"items.length > 0; else noDataAvailable\">\n <ng-container *ngIf=\"multiple; else singleSelection\">\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <div>\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span> <br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n </div>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-container>\n\n <ng-template #singleSelection>\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span\n ><br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- \"No data available\" message if the drop down is empty -->\n <ng-template #noDataAvailable>\n <div class=\"items\">No data available</div>\n </ng-template>\n </div>\n</div>\n", styles: [".dropdown{background:#fff;border-radius:6px}.dropdown .dropdown-field{background:#fff;border-radius:6px;position:relative;cursor:pointer}.dropdown .dropdown-field .selected{margin:5px}.dropdown .dropdown-field .selected.selectedList{display:flex;flex-wrap:wrap}.dropdown .dropdown-field .selected .selected-item{background:#cdd0d1;display:inline;margin:5px;padding:2px;border-radius:5px;font-size:small}.dropdown .dropdown-field .selected .remaining-items{margin:5px;padding:2px;font-size:smaller;display:block}.dropdown .dropdown-field .input-field .dropdown_text{width:100%;border:none;padding:2px;margin-left:3px;margin-right:3px;outline:none;box-sizing:border-box;font-weight:500;font-family:Poppins;font-size:14px;font-style:normal}@media (max-width: 576px){.dropdown .dropdown-field .input-field .dropdown_text{width:53%;font-size:12px;margin-left:3px;padding-left:2px}}@media (max-width: 420px){.dropdown .dropdown-field .input-field .dropdown_text{width:53%;font-size:12px;margin-left:3px;padding-left:2px}}@media only screen and (min-width: 576px){.dropdown .dropdown-field .input-field .dropdown_text{height:25px}}@media only screen and (min-width: 992px){.dropdown .dropdown-field .input-field .dropdown_text{height:30px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-field .input-field .dropdown_text{height:35px}}.dropdown .dropdown-field.closed{border:1px solid #d8d8d8}.dropdown .dropdown-field.opened{border-bottom:1px solid #d8d8d8}.dropdown .dropdown-items{overflow-y:auto;overflow-x:hidden;position:absolute;top:100%;left:0;width:100%;background:#fff;z-index:9999999;border:solid 1px #dbdbdb;box-shadow:0 4px 4px -5px #00000040;transition:transform .3s ease-out;scroll-behavior:smooth;cursor:pointer}@media only screen and (min-width: 276px){.dropdown .dropdown-items{max-height:150px;padding:3px}}@media only screen and (min-width: 576px){.dropdown .dropdown-items{max-height:150px;padding:3px}}@media only screen and (min-width: 992px){.dropdown .dropdown-items{max-height:150px;padding:5px}}@media only screen and (min-width: 1441px){.dropdown .dropdown-items{max-height:200px;padding:7px}}.dropdown .dropdown-items .create_button{text-decoration:none;cursor:pointer}@media only screen and (min-width: 576px){.dropdown .dropdown-items .create_button{padding-left:8px}}@media only screen and (min-width: 992px){.dropdown .dropdown-items .create_button{padding-left:8px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-items .create_button{padding-left:8px}}.dropdown .dropdown-items .items{text-decoration:none;color:inherit;line-height:41px;position:relative;cursor:pointer}@media only screen and (min-width: 576px){.dropdown .dropdown-items .items{padding-left:8px;font-size:small}}@media only screen and (min-width: 992px){.dropdown .dropdown-items .items{padding-left:8px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-items .items{padding-left:8px;font-size:small}}.dropdown .dropdown-items .items:hover{background:#ebedef;border-radius:6px}.dropdown .dropdown-items .items:hover button{visibility:visible}.dropdown .dropdown-items .items .dropdown_buttons{display:inline}.dropdown .dropdown-items .items button{border:0;background:transparent;visibility:hidden}.dropdown.opened{border:1px #d8d8d8 solid}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{background-color:#b2b2b2;border-radius:6px}.space{width:10px}.item-details{display:flex;align-items:center;justify-content:space-between}.icon-size{width:25px;height:20px;margin-right:7px}.smallSpace{width:3px}.selected-icon-size{width:25px;height:20px;margin-left:10px}@media (max-width: 576px){.selected-icon-size{width:21px;height:15px;margin-right:7px;margin-bottom:1px}}.multiSelected-icon-size{width:25px;height:20px;margin-left:1px;margin-bottom:1px;margin-right:3px}.flexSection{display:flex}.dataSection{width:calc(100% - 20px)}.iconSection{width:20px;padding:1px}.down-arrow,.up-arrow,.deselect{width:20px;height:20px;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer}.down-arrow{cursor:pointer;padding-top:.5em}.down-arrow.opened{display:none}.down-arrow.closed{display:block}.up-arrow{cursor:pointer}.up-arrow.closed{display:none}.iconSection{display:flex;flex-direction:row-reverse}span p{margin-bottom:0!important;display:inline}\n"] }]
|
|
138
|
+
args: [{ selector: "lib-dropdown", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n #dropdown\n class=\"dropdown\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n>\n <div\n class=\"dropdown-field\"\n id=\"division\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n (click)=\"openDropdown()\"\n >\n <!-- <div *ngIf=\"selectedValues !== '' && !selectedItemName\" class=\"selected\">\n {{ selectedValues }}\n </div> -->\n <div *ngIf=\"!selectedItem && multiple\" class=\"flexSection\">\n <div class=\"dataSection\">\n <div *ngIf=\"!selectedItem && multiple\" class=\"selected selectedList\">\n <div\n *ngFor=\"let selectedItem of selectedItems.slice(0, 3)\"\n class=\"selected-item\"\n >\n <img\n *ngIf=\"selectedItem?.image\"\n class=\"multiSelected-icon-size\"\n [src]=\"selectedItem?.image\"\n alt=\"image\"\n />\n <span>{{ selectedItem.label }}</span\n > \n <span (click)=\"unselectItem(selectedItem)\" class=\"close-icon\"\n >×</span\n >\n </div>\n <div class=\"remaining-items\" *ngIf=\"selectedItems.length > 3\">\n +{{ selectedItems.length - 3 }} more\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div>\n <span\n (click)=\"unselectAll()\"\n *ngIf=\"selectedItems.length > 0 && multiple\"\n class=\"deselect\"\n >×\n </span>\n </div>\n </div>\n </div>\n <div class=\"flexSection\">\n <div class=\"dataSection\">\n <div class=\"input-field\">\n <div *ngIf=\"multiple\">\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n (input)=\"search($event)\"\n />\n </div>\n <div *ngIf=\"!multiple\">\n <img\n *ngIf=\"selectedItemImage\"\n class=\"selected-icon-size\"\n [src]=\"selectedItemImage\"\n alt=\"image\"\n />\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"selectedItemName\"\n (input)=\"search($event)\"\n />\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div\n class=\"down-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"down-arrow-img\"\n >\n <g id=\"Down Arrow\">\n <g id=\"Group\">\n <path\n id=\"Path\"\n d=\"M6 9.13741L12 15.229L18 9.13741\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n </g>\n </svg>\n </div>\n <div\n class=\"up-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"up-arrow-img\"\n >\n <path\n d=\"M18 15.229L12 9.1374L6 15.229\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n </div>\n </div>\n\n <div\n #dropdownItems\n class=\"dropdown-items\"\n *ngIf=\"dropdownOpened\"\n (scroll)=\"dropdownScroll($event)\"\n >\n <div (click)=\"createNew()\">\n <a class=\"create_button\" *ngIf=\"showCreateNew\">Create new</a>\n </div>\n <ng-container *ngIf=\"items.length > 0; else noDataAvailable\">\n <ng-container *ngIf=\"multiple; else singleSelection\">\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <div>\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span> <br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n </div>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-container>\n\n <ng-template #singleSelection>\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span\n ><br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- \"No data available\" message if the drop down is empty -->\n <ng-template #noDataAvailable>\n <div class=\"items\">No data available</div>\n </ng-template>\n </div>\n</div>\n", styles: [".dropdown{background:#fff;border-radius:6px}.dropdown .dropdown-field{background:#fff;border-radius:6px;position:relative;cursor:pointer}.dropdown .dropdown-field .selected{margin:5px}.dropdown .dropdown-field .selected.selectedList{display:flex;flex-wrap:wrap}.dropdown .dropdown-field .selected .selected-item{background:#cdd0d1;display:inline;margin:5px;padding:2px;border-radius:5px;font-size:small}.dropdown .dropdown-field .selected .remaining-items{margin:5px;padding:2px;font-size:smaller;display:block}.dropdown .dropdown-field .input-field .dropdown_text{width:100%;border:none;padding:2px;margin-left:3px;margin-right:3px;outline:none;box-sizing:border-box;font-weight:500;font-family:Poppins;font-size:14px;font-style:normal}@media (max-width: 576px){.dropdown .dropdown-field .input-field .dropdown_text{width:53%;font-size:12px;margin-left:3px;padding-left:2px}}@media (max-width: 420px){.dropdown .dropdown-field .input-field .dropdown_text{width:53%;font-size:12px;margin-left:3px;padding-left:2px}}@media only screen and (min-width: 576px){.dropdown .dropdown-field .input-field .dropdown_text{height:25px}}@media only screen and (min-width: 992px){.dropdown .dropdown-field .input-field .dropdown_text{height:30px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-field .input-field .dropdown_text{height:35px}}.dropdown .dropdown-field.closed{border:1px solid #d8d8d8}.dropdown .dropdown-field.opened{border-bottom:1px solid #d8d8d8}.dropdown .dropdown-items{overflow-y:auto;overflow-x:auto;position:absolute;top:100%;left:0;width:100%;background:#fff;z-index:9999999;border:solid 1px #dbdbdb;box-shadow:0 4px 4px -5px #00000040;transition:transform .3s ease-out;scroll-behavior:smooth;cursor:pointer}@media only screen and (min-width: 276px){.dropdown .dropdown-items{max-height:150px;padding:3px}}@media only screen and (min-width: 576px){.dropdown .dropdown-items{max-height:150px;padding:3px}}@media only screen and (min-width: 992px){.dropdown .dropdown-items{max-height:150px;padding:5px}}@media only screen and (min-width: 1441px){.dropdown .dropdown-items{max-height:200px;padding:7px}}.dropdown .dropdown-items .create_button{text-decoration:none;cursor:pointer}@media only screen and (min-width: 576px){.dropdown .dropdown-items .create_button{padding-left:8px}}@media only screen and (min-width: 992px){.dropdown .dropdown-items .create_button{padding-left:8px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-items .create_button{padding-left:8px}}.dropdown .dropdown-items .items{text-decoration:none;color:inherit;line-height:41px;position:relative;cursor:pointer}@media only screen and (min-width: 576px){.dropdown .dropdown-items .items{padding-left:8px;font-size:small}}@media only screen and (min-width: 992px){.dropdown .dropdown-items .items{padding-left:8px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-items .items{padding-left:8px;font-size:small}}.dropdown .dropdown-items .items:hover{background:#ebedef;border-radius:6px}.dropdown .dropdown-items .items:hover button{visibility:visible}.dropdown .dropdown-items .items .dropdown_buttons{display:inline}.dropdown .dropdown-items .items button{border:0;background:transparent;visibility:hidden}.dropdown.opened{border:1px #d8d8d8 solid}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{background-color:#b2b2b2;border-radius:6px}.space{width:10px}.item-details{display:flex;align-items:center;justify-content:space-between}.icon-size{width:25px;height:20px;margin-right:7px}.smallSpace{width:3px}.selected-icon-size{width:25px;height:20px;margin-left:10px}@media (max-width: 576px){.selected-icon-size{width:21px;height:15px;margin-right:7px;margin-bottom:1px}}.multiSelected-icon-size{width:25px;height:20px;margin-left:1px;margin-bottom:1px;margin-right:3px}.flexSection{display:flex}.dataSection{width:calc(100% - 20px)}.iconSection{width:20px;padding:1px}.down-arrow,.up-arrow,.deselect{width:20px;height:20px;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer}.down-arrow{cursor:pointer;padding-top:.5em}.down-arrow.opened{display:none}.down-arrow.closed{display:block}.up-arrow{cursor:pointer}.up-arrow.closed{display:none}.iconSection{display:flex;flex-direction:row-reverse}\n"] }]
|
|
142
139
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { multiple: [{
|
|
143
140
|
type: Input
|
|
144
141
|
}], selectedItems: [{
|
|
@@ -177,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
177
174
|
type: HostListener,
|
|
178
175
|
args: ["document:click", ["$event"]]
|
|
179
176
|
}] } });
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZHJvcGRvd24vc3JjL2xpYi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9kcm9wZG93bi9zcmMvbGliL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7O0FBVXZCLE1BQU0sT0FBTyxpQkFBaUI7SUFpQzVCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBL0JqQyxrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUMxQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQUUzQixtQkFBYyxHQUFXLEVBQUUsQ0FBQztRQUM1QixrQkFBYSxHQUtoQixFQUFFLENBQUM7UUFDQSxlQUFVLEdBQVksSUFBSSxDQUFDO1FBQzFCLGdCQUFXLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7UUFDN0Qsd0JBQW1CLEdBQXdCLElBQUksWUFBWSxFQUVsRSxDQUFDO1FBQ00scUJBQWdCLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7UUFDbEUsZ0JBQVcsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUM3RCxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdEUsVUFBVTtRQUNELGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRXZDLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRWhDLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUM5QixzQkFBaUIsR0FBVyxFQUFFLENBQUM7UUFDL0Isa0JBQWEsR0FBbUIs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U0FBUzt1QkFBQyxVQUFVO2dCQUVyQixlQUFlO3NCQURkLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERyb3Bkb3duSXRlbSB9IGZyb20gXCIuL2Ryb3Bkb3duLm1vZGVsXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJsaWItZHJvcGRvd25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZHJvcGRvd24uY29tcG9uZW50LnNjc3NcIl0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG11bHRpcGxlITogYm9vbGVhbjtcbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVtczogYW55W10gPSBbXTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IFN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGl0ZW1zOiBEcm9wZG93bkl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBzaG93Q3JlYXRlTmV3ITogYm9vbGVhbjtcbiAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZXM6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGN1c3RvbUJ1dHRvbnM6IHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGljb246IHN0cmluZztcbiAgICBjb2xvcjogc3RyaW5nO1xuICAgIGFjdGlvbjogKCkgPT4gdm9pZDtcbiAgfVtdID0gW107XG4gIEBJbnB1dCgpIHNob3dCb3JkZXI6IGJvb2xlYW4gPSB0cnVlO1xuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtc0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgYW55W11cbiAgPigpO1xuICBAT3V0cHV0KCkgb25Ecm9wZG93blNjcm9sbDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvbkNyZWF0ZU5ldzogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvblNlYXJjaDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgLy9zdWJMYWJlbFxuICBASW5wdXQoKSBzaG93U3ViTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBkcm9wZG93bk9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZEl0ZW06IGFueTtcbiAgc2VsZWN0ZWRJdGVtTmFtZTogc3RyaW5nID0gXCJcIjtcbiAgc2VsZWN0ZWRJdGVtSW1hZ2U6IHN0cmluZyA9IFwiXCI7XG4gIG9yaWdpbmFsSXRlbXM6IERyb3Bkb3duSXRlbVtdID0gW107XG4gIHNlYXJjaFRlcm06IHN0cmluZyA9IFwiXCI7XG4gIGluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XG4gIHNlYXJjaFRleHQ6IHN0cmluZyA9IFwiXCI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzW1wic2VsZWN0ZWRJdGVtc1wiXSkge1xuICAgICAgY29uc3QgaXRlbSA9IGNoYW5nZXNbXCJzZWxlY3RlZEl0ZW1zXCJdW1wiY3VycmVudFZhbHVlXCJdO1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gaXRlbTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtTmFtZSA9IHRoaXMuc2VsZWN0ZWRJdGVtc1swXT8ubGFiZWw7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbUltYWdlID0gdGhpcy5zZWxlY3RlZEl0ZW1zWzBdPy5pbWFnZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc0NoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzW1wiaXRlbXNcIl0pIHtcbiAgICAgIHRoaXMub3JpZ2luYWxJdGVtcyA9IHRoaXMuaXRlbXMuc2xpY2UoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbXCJzZWxlY3RlZFZhbHVlc1wiXSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1OYW1lID0gdGhpcy5zZWxlY3RlZFZhbHVlcztcbiAgICB9XG4gIH1cblxuICBpbml0aWFsaXplKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcyAmJiB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHRoaXMuc2VsZWN0SXRlbSh0aGlzLnNlbGVjdGVkSXRlbXNbMF0pO1xuICAgICAgfVxuICAgIH0sIDEwMDApO1xuICAgIGNvbnN0IHVuaXF1ZUl0ZW1zID0gdGhpcy5pdGVtcy5maWx0ZXIoXG4gICAgICAoc2VsZWN0ZWQsIGluZGV4LCBzZWxmKSA9PlxuICAgICAgICBpbmRleCA9PT0gc2VsZi5maW5kSW5kZXgoKHQpID0+IHQudmFsdWUgPT09IHNlbGVjdGVkLnZhbHVlKVxuICAgICk7XG5cbiAgICB0aGlzLml0ZW1zID0gdW5pcXVlSXRlbXM7XG4gIH1cblxuICBvcGVuRHJvcGRvd24oKSB7XG4gICAgdGhpcy5kcm9wZG93bk9wZW5lZCA9ICF0aGlzLmRyb3Bkb3duT3BlbmVkO1xuICB9XG5cbiAgQFZpZXdDaGlsZChcImRyb3Bkb3duSXRlbXNcIikgZHJvcGRvd25pdGVtcyE6IEVsZW1lbnRSZWY8YW55PjtcbiAgZHJvcGRvd25TY3JvbGwoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9uRHJvcGRvd25TY3JvbGwub2JzZXJ2ZWQpIHtcbiAgICAgIHRoaXMub25Ecm9wZG93blNjcm9sbC5lbWl0KGV2ZW50KTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEl0ZW0oaXRlbTogYW55KSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGlmICghdGhpcy5zZWxlY3RlZEl0ZW1zLmluY2x1ZGVzKGl0ZW0pKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXNDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcihcbiAgICAgICAgICAoc2VsZWN0ZWQ6IGFueSkgPT4gc2VsZWN0ZWQgIT09IGl0ZW1cbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gXCJcIjtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1swXSA9IGl0ZW07XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbU5hbWUgPSB0aGlzLnNlbGVjdGVkSXRlbXNbMF0/LmxhYmVsO1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1JbWFnZSA9IHRoaXMuc2VsZWN0ZWRJdGVtc1swXT8uaW1hZ2U7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbmVkID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXNDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgIH1cbiAgfVxuXG4gIHVuc2VsZWN0SXRlbShpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnNlbGVjdGVkSXRlbXMuZmlsdGVyKFxuICAgICAgKHNlbGVjdGVkOiBhbnkpID0+IHNlbGVjdGVkICE9PSBpdGVtXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXNDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICB9XG5cbiAgdW5zZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1OYW1lID0gXCJcIjtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbUltYWdlID0gXCJcIjtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXNDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgQFZpZXdDaGlsZChcImRyb3Bkb3duXCIpIGRyb3Bkb3duITogRWxlbWVudFJlZjtcbiAgQEhvc3RMaXN0ZW5lcihcImRvY3VtZW50OmNsaWNrXCIsIFtcIiRldmVudFwiXSlcbiAgb25Eb2N1bWVudENsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlzQ2xpY2tJbnNpZGVEcm9wZG93biA9IHRoaXMuZHJvcGRvd24ubmF0aXZlRWxlbWVudC5jb250YWlucyhcbiAgICAgIGV2ZW50LnRhcmdldFxuICAgICk7XG4gICAgaWYgKCFpc0NsaWNrSW5zaWRlRHJvcGRvd24pIHtcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjcmVhdGVOZXcoKSB7XG4gICAgdGhpcy5vbkNyZWF0ZU5ldy5lbWl0KCk7XG4gICAgdGhpcy5kcm9wZG93bk9wZW5lZCA9IGZhbHNlO1xuICB9XG5cbiAgc2VhcmNoKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbmVkID0gdHJ1ZTtcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSBldmVudC50YXJnZXQudmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoIXRoaXMub25TZWFyY2gub2JzZXJ2ZWQpIHtcbiAgICAgIGlmICh0aGlzLnNlYXJjaFRlcm0udHJpbSgpID09PSBcIlwiKSB7XG4gICAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgIHRoaXMudW5zZWxlY3RBbGwoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5vcmlnaW5hbEl0ZW1zLnNsaWNlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBsb3dlckNhc2VTZWFyY2hUZXJtID0gdGhpcy5zZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLm9yaWdpbmFsSXRlbXMuZmlsdGVyKFxuICAgICAgICAgIChpdGVtKSA9PlxuICAgICAgICAgICAgaXRlbS5sYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyQ2FzZVNlYXJjaFRlcm0pIHx8XG4gICAgICAgICAgICAoaXRlbS52YWx1ZSAmJlxuICAgICAgICAgICAgICBpdGVtLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJDYXNlU2VhcmNoVGVybSkpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25TZWFyY2guZW1pdCh0aGlzLnNlYXJjaFRlcm0pO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUJ1dHRvbkNsaWNrKGFjdGlvbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIGFjdGlvbigpO1xuICAgIHRoaXMuYnV0dG9uQ2xpY2suZW1pdCgpO1xuICB9XG5cbiAgcmVtb3ZlSHRtbFRhZ3ModmFsdWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZSA/IHZhbHVlLnJlcGxhY2UoLzxcXC8/W14+XSsoPnwkKS9nLCBcIlwiKSA6IFwiXCI7IFxuICB9XG59XG4iLCI8ZGl2XG4gICNkcm9wZG93blxuICBjbGFzcz1cImRyb3Bkb3duXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgIG9wZW5lZDogc2hvd0JvcmRlciAmJiBkcm9wZG93bk9wZW5lZCxcbiAgICBjbG9zZWQ6IHNob3dCb3JkZXIgJiYgIWRyb3Bkb3duT3BlbmVkLFxuICB9XCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZHJvcGRvd24tZmllbGRcIlxuICAgIGlkPVwiZGl2aXNpb25cIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgIG9wZW5lZDogc2hvd0JvcmRlciAmJiBkcm9wZG93bk9wZW5lZCxcbiAgICAgIGNsb3NlZDogc2hvd0JvcmRlciAmJiAhZHJvcGRvd25PcGVuZWQsXG4gICAgfVwiXG4gICAgKGNsaWNrKT1cIm9wZW5Ecm9wZG93bigpXCJcbiAgPlxuICAgIDwhLS0gPGRpdiAqbmdJZj1cInNlbGVjdGVkVmFsdWVzICE9PSAnJyAmJiAhc2VsZWN0ZWRJdGVtTmFtZVwiIGNsYXNzPVwic2VsZWN0ZWRcIj5cbiAgICAgIHt7IHNlbGVjdGVkVmFsdWVzIH19XG4gICAgPC9kaXY+IC0tPlxuICAgIDxkaXYgKm5nSWY9XCIhc2VsZWN0ZWRJdGVtICYmIG11bHRpcGxlXCIgY2xhc3M9XCJmbGV4U2VjdGlvblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImRhdGFTZWN0aW9uXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhc2VsZWN0ZWRJdGVtICYmIG11bHRpcGxlXCIgY2xhc3M9XCJzZWxlY3RlZCBzZWxlY3RlZExpc3RcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2VsZWN0ZWRJdGVtIG9mIHNlbGVjdGVkSXRlbXMuc2xpY2UoMCwgMylcIlxuICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3RlZC1pdGVtXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRJdGVtPy5pbWFnZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibXVsdGlTZWxlY3RlZC1pY29uLXNpemVcIlxuICAgICAgICAgICAgICBbc3JjXT1cInNlbGVjdGVkSXRlbT8uaW1hZ2VcIlxuICAgICAgICAgICAgICBhbHQ9XCJpbWFnZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHNwYW4+e3sgc2VsZWN0ZWRJdGVtLmxhYmVsIH19PC9zcGFuXG4gICAgICAgICAgICA+Jm5ic3A7XG4gICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwidW5zZWxlY3RJdGVtKHNlbGVjdGVkSXRlbSlcIiBjbGFzcz1cImNsb3NlLWljb25cIlxuICAgICAgICAgICAgICA+JnRpbWVzOzwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZW1haW5pbmctaXRlbXNcIiAqbmdJZj1cInNlbGVjdGVkSXRlbXMubGVuZ3RoID4gM1wiPlxuICAgICAgICAgICAgK3t7IHNlbGVjdGVkSXRlbXMubGVuZ3RoIC0gMyB9fSBtb3JlXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaWNvblNlY3Rpb25cIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKGNsaWNrKT1cInVuc2VsZWN0QWxsKClcIlxuICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDAgJiYgbXVsdGlwbGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJkZXNlbGVjdFwiXG4gICAgICAgICAgICA+JnRpbWVzO1xuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleFNlY3Rpb25cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRhU2VjdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZmllbGRcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwibXVsdGlwbGVcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duX3RleHRcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAoaW5wdXQpPVwic2VhcmNoKCRldmVudClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW11bHRpcGxlXCI+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRJdGVtSW1hZ2VcIlxuICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdGVkLWljb24tc2l6ZVwiXG4gICAgICAgICAgICAgIFtzcmNdPVwic2VsZWN0ZWRJdGVtSW1hZ2VcIlxuICAgICAgICAgICAgICBhbHQ9XCJpbWFnZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd25fdGV4dFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRJdGVtTmFtZVwiXG4gICAgICAgICAgICAgIChpbnB1dCk9XCJzZWFyY2goJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImljb25TZWN0aW9uXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImRvd24tYXJyb3dcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgb3BlbmVkOiBkcm9wZG93bk9wZW5lZCwgY2xvc2VkOiAhZHJvcGRvd25PcGVuZWQgfVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICB3aWR0aD1cIjFlbVwiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI1XCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgY2xhc3M9XCJkb3duLWFycm93LWltZ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgaWQ9XCJEb3duIEFycm93XCI+XG4gICAgICAgICAgICAgIDxnIGlkPVwiR3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgaWQ9XCJQYXRoXCJcbiAgICAgICAgICAgICAgICAgIGQ9XCJNNiA5LjEzNzQxTDEyIDE1LjIyOUwxOCA5LjEzNzQxXCJcbiAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM4RTlBQTBcIlxuICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInVwLWFycm93XCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7IG9wZW5lZDogZHJvcGRvd25PcGVuZWQsIGNsb3NlZDogIWRyb3Bkb3duT3BlbmVkIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgd2lkdGg9XCIxZW1cIlxuICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNVwiXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIGNsYXNzPVwidXAtYXJyb3ctaW1nXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBkPVwiTTE4IDE1LjIyOUwxMiA5LjEzNzRMNiAxNS4yMjlcIlxuICAgICAgICAgICAgICBzdHJva2U9XCIjOEU5QUEwXCJcbiAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICAjZHJvcGRvd25JdGVtc1xuICAgIGNsYXNzPVwiZHJvcGRvd24taXRlbXNcIlxuICAgICpuZ0lmPVwiZHJvcGRvd25PcGVuZWRcIlxuICAgIChzY3JvbGwpPVwiZHJvcGRvd25TY3JvbGwoJGV2ZW50KVwiXG4gID5cbiAgICA8ZGl2IChjbGljayk9XCJjcmVhdGVOZXcoKVwiPlxuICAgICAgPGEgY2xhc3M9XCJjcmVhdGVfYnV0dG9uXCIgKm5nSWY9XCJzaG93Q3JlYXRlTmV3XCI+Q3JlYXRlIG5ldzwvYT5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbXMubGVuZ3RoID4gMDsgZWxzZSBub0RhdGFBdmFpbGFibGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtdWx0aXBsZTsgZWxzZSBzaW5nbGVTZWxlY3Rpb25cIj5cbiAgICAgICAgPGFcbiAgICAgICAgICBjbGFzcz1cIml0ZW1zIGQtYmxvY2tcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbShpdGVtKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tZGV0YWlsc1wiPlxuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbT8uaW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtPy5pbWFnZVwiXG4gICAgICAgICAgICAgICAgICBhbHQ9XCJJdGVtIEltYWdlXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaXRlbS1pbWFnZSBpY29uLXNpemVcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtLWxhYmVsXCI+e3sgaXRlbT8ubGFiZWwgfX08L3NwYW4+IDxiciAvPlxuICAgICAgICAgICAgICAgIDxzbWFsbCAqbmdJZj1cInNob3dTdWJMYWJlbFwiPnt7IGl0ZW0/LnN1YkxhYmVsIH19PC9zbWFsbD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGFjZVwiICpuZ0lmPVwiaXRlbT8ubGFiZWxcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duX2J1dHRvbnNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGN1c3RvbUJ1dHRvbnNcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkNsaWNrKGJ1dHRvbi5hY3Rpb24pXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiYnV0dG9uLmljb25cIiBbc3R5bGUuY29sb3JdPVwiYnV0dG9uLmNvbG9yXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2E+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNzaW5nbGVTZWxlY3Rpb24+XG4gICAgICAgIDxhXG4gICAgICAgICAgY2xhc3M9XCJpdGVtcyBkLWJsb2NrXCJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaXRlbSlcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWRldGFpbHNcIj5cbiAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbT8uaW1hZ2VcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbT8uaW1hZ2VcIlxuICAgICAgICAgICAgICAgIGFsdD1cIkl0ZW0gSW1hZ2VcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaXRlbS1pbWFnZSBpY29uLXNpemVcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIml0ZW0tbGFiZWxcIj57eyBpdGVtPy5sYWJlbCB9fTwvc3BhblxuICAgICAgICAgICAgICA+PGJyIC8+XG4gICAgICAgICAgICAgIDxzbWFsbCAqbmdJZj1cInNob3dTdWJMYWJlbFwiPnt7IGl0ZW0/LnN1YkxhYmVsIH19PC9zbWFsbD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwYWNlXCIgKm5nSWY9XCJpdGVtPy5sYWJlbFwiPjwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25fYnV0dG9uc1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBidXR0b24gb2YgY3VzdG9tQnV0dG9uc1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQnV0dG9uQ2xpY2soYnV0dG9uLmFjdGlvbilcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJidXR0b24uaWNvblwiIFtzdHlsZS5jb2xvcl09XCJidXR0b24uY29sb3JcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIFwiTm8gZGF0YSBhdmFpbGFibGVcIiBtZXNzYWdlIGlmIHRoZSBkcm9wIGRvd24gaXMgZW1wdHkgLS0+XG4gICAgPG5nLXRlbXBsYXRlICNub0RhdGFBdmFpbGFibGU+XG4gICAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIj5ObyBkYXRhIGF2YWlsYWJsZTwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZHJvcGRvd24vc3JjL2xpYi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9kcm9wZG93bi9zcmMvbGliL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7O0FBVXZCLE1BQU0sT0FBTyxpQkFBaUI7SUFpQzVCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBL0JqQyxrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUMxQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQUUzQixtQkFBYyxHQUFXLEVBQUUsQ0FBQztRQUM1QixrQkFBYSxHQUtoQixFQUFFLENBQUM7UUFDQSxlQUFVLEdBQVksSUFBSSxDQUFDO1FBQzFCLGdCQUFXLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7UUFDN0Qsd0JBQW1CLEdBQXdCLElBQUksWUFBWSxFQUVsRSxDQUFDO1FBQ00scUJBQWdCLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7UUFDbEUsZ0JBQVcsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUM3RCxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdEUsVUFBVTtRQUNELGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRXZDLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRWhDLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUM5QixzQkFBaUIsR0FBVyxFQUFFLENBQUM7UUFDL0Isa0JBQWEsR0FBbUIs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biAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERyb3Bkb3duSXRlbSB9IGZyb20gXCIuL2Ryb3Bkb3duLm1vZGVsXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJsaWItZHJvcGRvd25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZHJvcGRvd24uY29tcG9uZW50LnNjc3NcIl0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG11bHRpcGxlITogYm9vbGVhbjtcbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVtczogYW55W10gPSBbXTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IFN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGl0ZW1zOiBEcm9wZG93bkl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBzaG93Q3JlYXRlTmV3ITogYm9vbGVhbjtcbiAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZXM6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGN1c3RvbUJ1dHRvbnM6IHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGljb246IHN0cmluZztcbiAgICBjb2xvcjogc3RyaW5nO1xuICAgIGFjdGlvbjogKCkgPT4gdm9pZDtcbiAgfVtdID0gW107XG4gIEBJbnB1dCgpIHNob3dCb3JkZXI6IGJvb2xlYW4gPSB0cnVlO1xuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtc0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgYW55W11cbiAgPigpO1xuICBAT3V0cHV0KCkgb25Ecm9wZG93blNjcm9sbDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvbkNyZWF0ZU5ldzogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvblNlYXJjaDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgLy9zdWJMYWJlbFxuICBASW5wdXQoKSBzaG93U3ViTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBkcm9wZG93bk9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZEl0ZW06IGFueTtcbiAgc2VsZWN0ZWRJdGVtTmFtZTogc3RyaW5nID0gXCJcIjtcbiAgc2VsZWN0ZWRJdGVtSW1hZ2U6IHN0cmluZyA9IFwiXCI7XG4gIG9yaWdpbmFsSXRlbXM6IERyb3Bkb3duSXRlbVtdID0gW107XG4gIHNlYXJjaFRlcm06IHN0cmluZyA9IFwiXCI7XG4gIGluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XG4gIHNlYXJjaFRleHQ6IHN0cmluZyA9IFwiXCI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzW1wic2VsZWN0ZWRJdGVtc1wiXSkge1xuICAgICAgY29uc3QgaXRlbSA9IGNoYW5nZXNbXCJzZWxlY3RlZEl0ZW1zXCJdW1wiY3VycmVudFZhbHVlXCJdO1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gaXRlbTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtTmFtZSA9IHRoaXMuc2VsZWN0ZWRJdGVtc1swXT8ubGFiZWw7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbUltYWdlID0gdGhpcy5zZWxlY3RlZEl0ZW1zWzBdPy5pbWFnZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc0NoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzW1wiaXRlbXNcIl0pIHtcbiAgICAgIHRoaXMub3JpZ2luYWxJdGVtcyA9IHRoaXMuaXRlbXMuc2xpY2UoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbXCJzZWxlY3RlZFZhbHVlc1wiXSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1OYW1lID0gdGhpcy5zZWxlY3RlZFZhbHVlcztcbiAgICB9XG4gIH1cblxuICBpbml0aWFsaXplKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcyAmJiB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHRoaXMuc2VsZWN0SXRlbSh0aGlzLnNlbGVjdGVkSXRlbXNbMF0pO1xuICAgICAgfVxuICAgIH0sIDEwMDApO1xuICAgIGNvbnN0IHVuaXF1ZUl0ZW1zID0gdGhpcy5pdGVtcy5maWx0ZXIoXG4gICAgICAoc2VsZWN0ZWQsIGluZGV4LCBzZWxmKSA9PlxuICAgICAgICBpbmRleCA9PT0gc2VsZi5maW5kSW5kZXgoKHQpID0+IHQudmFsdWUgPT09IHNlbGVjdGVkLnZhbHVlKVxuICAgICk7XG5cbiAgICB0aGlzLml0ZW1zID0gdW5pcXVlSXRlbXM7XG4gIH1cblxuICBvcGVuRHJvcGRvd24oKSB7XG4gICAgdGhpcy5kcm9wZG93bk9wZW5lZCA9ICF0aGlzLmRyb3Bkb3duT3BlbmVkO1xuICB9XG5cbiAgQFZpZXdDaGlsZChcImRyb3Bkb3duSXRlbXNcIikgZHJvcGRvd25pdGVtcyE6IEVsZW1lbnRSZWY8YW55PjtcbiAgZHJvcGRvd25TY3JvbGwoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9uRHJvcGRvd25TY3JvbGwub2JzZXJ2ZWQpIHtcbiAgICAgIHRoaXMub25Ecm9wZG93blNjcm9sbC5lbWl0KGV2ZW50KTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEl0ZW0oaXRlbTogYW55KSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGlmICghdGhpcy5zZWxlY3RlZEl0ZW1zLmluY2x1ZGVzKGl0ZW0pKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXNDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcihcbiAgICAgICAgICAoc2VsZWN0ZWQ6IGFueSkgPT4gc2VsZWN0ZWQgIT09IGl0ZW1cbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gXCJcIjtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1swXSA9IGl0ZW07XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbU5hbWUgPSB0aGlzLnNlbGVjdGVkSXRlbXNbMF0/LmxhYmVsO1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1JbWFnZSA9IHRoaXMuc2VsZWN0ZWRJdGVtc1swXT8uaW1hZ2U7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbmVkID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXNDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgIH1cbiAgfVxuXG4gIHVuc2VsZWN0SXRlbShpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnNlbGVjdGVkSXRlbXMuZmlsdGVyKFxuICAgICAgKHNlbGVjdGVkOiBhbnkpID0+IHNlbGVjdGVkICE9PSBpdGVtXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXNDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICB9XG5cbiAgdW5zZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1OYW1lID0gXCJcIjtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbUltYWdlID0gXCJcIjtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXNDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgQFZpZXdDaGlsZChcImRyb3Bkb3duXCIpIGRyb3Bkb3duITogRWxlbWVudFJlZjtcbiAgQEhvc3RMaXN0ZW5lcihcImRvY3VtZW50OmNsaWNrXCIsIFtcIiRldmVudFwiXSlcbiAgb25Eb2N1bWVudENsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlzQ2xpY2tJbnNpZGVEcm9wZG93biA9IHRoaXMuZHJvcGRvd24ubmF0aXZlRWxlbWVudC5jb250YWlucyhcbiAgICAgIGV2ZW50LnRhcmdldFxuICAgICk7XG4gICAgaWYgKCFpc0NsaWNrSW5zaWRlRHJvcGRvd24pIHtcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjcmVhdGVOZXcoKSB7XG4gICAgdGhpcy5vbkNyZWF0ZU5ldy5lbWl0KCk7XG4gICAgdGhpcy5kcm9wZG93bk9wZW5lZCA9IGZhbHNlO1xuICB9XG5cbiAgc2VhcmNoKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbmVkID0gdHJ1ZTtcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSBldmVudC50YXJnZXQudmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoIXRoaXMub25TZWFyY2gub2JzZXJ2ZWQpIHtcbiAgICAgIGlmICh0aGlzLnNlYXJjaFRlcm0udHJpbSgpID09PSBcIlwiKSB7XG4gICAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgIHRoaXMudW5zZWxlY3RBbGwoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5vcmlnaW5hbEl0ZW1zLnNsaWNlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBsb3dlckNhc2VTZWFyY2hUZXJtID0gdGhpcy5zZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLm9yaWdpbmFsSXRlbXMuZmlsdGVyKFxuICAgICAgICAgIChpdGVtKSA9PlxuICAgICAgICAgICAgaXRlbS5sYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyQ2FzZVNlYXJjaFRlcm0pIHx8XG4gICAgICAgICAgICAoaXRlbS52YWx1ZSAmJlxuICAgICAgICAgICAgICBpdGVtLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJDYXNlU2VhcmNoVGVybSkpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25TZWFyY2guZW1pdCh0aGlzLnNlYXJjaFRlcm0pO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUJ1dHRvbkNsaWNrKGFjdGlvbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIGFjdGlvbigpO1xuICAgIHRoaXMuYnV0dG9uQ2xpY2suZW1pdCgpO1xuICB9XG59XG4iLCI8ZGl2XG4gICNkcm9wZG93blxuICBjbGFzcz1cImRyb3Bkb3duXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgIG9wZW5lZDogc2hvd0JvcmRlciAmJiBkcm9wZG93bk9wZW5lZCxcbiAgICBjbG9zZWQ6IHNob3dCb3JkZXIgJiYgIWRyb3Bkb3duT3BlbmVkLFxuICB9XCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZHJvcGRvd24tZmllbGRcIlxuICAgIGlkPVwiZGl2aXNpb25cIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgIG9wZW5lZDogc2hvd0JvcmRlciAmJiBkcm9wZG93bk9wZW5lZCxcbiAgICAgIGNsb3NlZDogc2hvd0JvcmRlciAmJiAhZHJvcGRvd25PcGVuZWQsXG4gICAgfVwiXG4gICAgKGNsaWNrKT1cIm9wZW5Ecm9wZG93bigpXCJcbiAgPlxuICAgIDwhLS0gPGRpdiAqbmdJZj1cInNlbGVjdGVkVmFsdWVzICE9PSAnJyAmJiAhc2VsZWN0ZWRJdGVtTmFtZVwiIGNsYXNzPVwic2VsZWN0ZWRcIj5cbiAgICAgIHt7IHNlbGVjdGVkVmFsdWVzIH19XG4gICAgPC9kaXY+IC0tPlxuICAgIDxkaXYgKm5nSWY9XCIhc2VsZWN0ZWRJdGVtICYmIG11bHRpcGxlXCIgY2xhc3M9XCJmbGV4U2VjdGlvblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImRhdGFTZWN0aW9uXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhc2VsZWN0ZWRJdGVtICYmIG11bHRpcGxlXCIgY2xhc3M9XCJzZWxlY3RlZCBzZWxlY3RlZExpc3RcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2VsZWN0ZWRJdGVtIG9mIHNlbGVjdGVkSXRlbXMuc2xpY2UoMCwgMylcIlxuICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3RlZC1pdGVtXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRJdGVtPy5pbWFnZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibXVsdGlTZWxlY3RlZC1pY29uLXNpemVcIlxuICAgICAgICAgICAgICBbc3JjXT1cInNlbGVjdGVkSXRlbT8uaW1hZ2VcIlxuICAgICAgICAgICAgICBhbHQ9XCJpbWFnZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHNwYW4+e3sgc2VsZWN0ZWRJdGVtLmxhYmVsIH19PC9zcGFuXG4gICAgICAgICAgICA+Jm5ic3A7XG4gICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwidW5zZWxlY3RJdGVtKHNlbGVjdGVkSXRlbSlcIiBjbGFzcz1cImNsb3NlLWljb25cIlxuICAgICAgICAgICAgICA+JnRpbWVzOzwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZW1haW5pbmctaXRlbXNcIiAqbmdJZj1cInNlbGVjdGVkSXRlbXMubGVuZ3RoID4gM1wiPlxuICAgICAgICAgICAgK3t7IHNlbGVjdGVkSXRlbXMubGVuZ3RoIC0gMyB9fSBtb3JlXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaWNvblNlY3Rpb25cIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKGNsaWNrKT1cInVuc2VsZWN0QWxsKClcIlxuICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDAgJiYgbXVsdGlwbGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJkZXNlbGVjdFwiXG4gICAgICAgICAgICA+JnRpbWVzO1xuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleFNlY3Rpb25cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRhU2VjdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZmllbGRcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwibXVsdGlwbGVcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duX3RleHRcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAoaW5wdXQpPVwic2VhcmNoKCRldmVudClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW11bHRpcGxlXCI+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRJdGVtSW1hZ2VcIlxuICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdGVkLWljb24tc2l6ZVwiXG4gICAgICAgICAgICAgIFtzcmNdPVwic2VsZWN0ZWRJdGVtSW1hZ2VcIlxuICAgICAgICAgICAgICBhbHQ9XCJpbWFnZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd25fdGV4dFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRJdGVtTmFtZVwiXG4gICAgICAgICAgICAgIChpbnB1dCk9XCJzZWFyY2goJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImljb25TZWN0aW9uXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImRvd24tYXJyb3dcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgb3BlbmVkOiBkcm9wZG93bk9wZW5lZCwgY2xvc2VkOiAhZHJvcGRvd25PcGVuZWQgfVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICB3aWR0aD1cIjFlbVwiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI1XCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgY2xhc3M9XCJkb3duLWFycm93LWltZ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgaWQ9XCJEb3duIEFycm93XCI+XG4gICAgICAgICAgICAgIDxnIGlkPVwiR3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgaWQ9XCJQYXRoXCJcbiAgICAgICAgICAgICAgICAgIGQ9XCJNNiA5LjEzNzQxTDEyIDE1LjIyOUwxOCA5LjEzNzQxXCJcbiAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM4RTlBQTBcIlxuICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInVwLWFycm93XCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7IG9wZW5lZDogZHJvcGRvd25PcGVuZWQsIGNsb3NlZDogIWRyb3Bkb3duT3BlbmVkIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgd2lkdGg9XCIxZW1cIlxuICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNVwiXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIGNsYXNzPVwidXAtYXJyb3ctaW1nXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBkPVwiTTE4IDE1LjIyOUwxMiA5LjEzNzRMNiAxNS4yMjlcIlxuICAgICAgICAgICAgICBzdHJva2U9XCIjOEU5QUEwXCJcbiAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICAjZHJvcGRvd25JdGVtc1xuICAgIGNsYXNzPVwiZHJvcGRvd24taXRlbXNcIlxuICAgICpuZ0lmPVwiZHJvcGRvd25PcGVuZWRcIlxuICAgIChzY3JvbGwpPVwiZHJvcGRvd25TY3JvbGwoJGV2ZW50KVwiXG4gID5cbiAgICA8ZGl2IChjbGljayk9XCJjcmVhdGVOZXcoKVwiPlxuICAgICAgPGEgY2xhc3M9XCJjcmVhdGVfYnV0dG9uXCIgKm5nSWY9XCJzaG93Q3JlYXRlTmV3XCI+Q3JlYXRlIG5ldzwvYT5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbXMubGVuZ3RoID4gMDsgZWxzZSBub0RhdGFBdmFpbGFibGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtdWx0aXBsZTsgZWxzZSBzaW5nbGVTZWxlY3Rpb25cIj5cbiAgICAgICAgPGFcbiAgICAgICAgICBjbGFzcz1cIml0ZW1zIGQtYmxvY2tcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbShpdGVtKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tZGV0YWlsc1wiPlxuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbT8uaW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtPy5pbWFnZVwiXG4gICAgICAgICAgICAgICAgICBhbHQ9XCJJdGVtIEltYWdlXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaXRlbS1pbWFnZSBpY29uLXNpemVcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtLWxhYmVsXCI+e3sgaXRlbT8ubGFiZWwgfX08L3NwYW4+IDxiciAvPlxuICAgICAgICAgICAgICAgIDxzbWFsbCAqbmdJZj1cInNob3dTdWJMYWJlbFwiPnt7IGl0ZW0/LnN1YkxhYmVsIH19PC9zbWFsbD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGFjZVwiICpuZ0lmPVwiaXRlbT8ubGFiZWxcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duX2J1dHRvbnNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGN1c3RvbUJ1dHRvbnNcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkNsaWNrKGJ1dHRvbi5hY3Rpb24pXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiYnV0dG9uLmljb25cIiBbc3R5bGUuY29sb3JdPVwiYnV0dG9uLmNvbG9yXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2E+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNzaW5nbGVTZWxlY3Rpb24+XG4gICAgICAgIDxhXG4gICAgICAgICAgY2xhc3M9XCJpdGVtcyBkLWJsb2NrXCJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaXRlbSlcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWRldGFpbHNcIj5cbiAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbT8uaW1hZ2VcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbT8uaW1hZ2VcIlxuICAgICAgICAgICAgICAgIGFsdD1cIkl0ZW0gSW1hZ2VcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaXRlbS1pbWFnZSBpY29uLXNpemVcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIml0ZW0tbGFiZWxcIj57eyBpdGVtPy5sYWJlbCB9fTwvc3BhblxuICAgICAgICAgICAgICA+PGJyIC8+XG4gICAgICAgICAgICAgIDxzbWFsbCAqbmdJZj1cInNob3dTdWJMYWJlbFwiPnt7IGl0ZW0/LnN1YkxhYmVsIH19PC9zbWFsbD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwYWNlXCIgKm5nSWY9XCJpdGVtPy5sYWJlbFwiPjwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25fYnV0dG9uc1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBidXR0b24gb2YgY3VzdG9tQnV0dG9uc1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQnV0dG9uQ2xpY2soYnV0dG9uLmFjdGlvbilcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJidXR0b24uaWNvblwiIFtzdHlsZS5jb2xvcl09XCJidXR0b24uY29sb3JcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIFwiTm8gZGF0YSBhdmFpbGFibGVcIiBtZXNzYWdlIGlmIHRoZSBkcm9wIGRvd24gaXMgZW1wdHkgLS0+XG4gICAgPG5nLXRlbXBsYXRlICNub0RhdGFBdmFpbGFibGU+XG4gICAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIj5ObyBkYXRhIGF2YWlsYWJsZTwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -145,15 +145,12 @@ class DropdownComponent {
|
|
|
145
145
|
action();
|
|
146
146
|
this.buttonClick.emit();
|
|
147
147
|
}
|
|
148
|
-
removeHtmlTags(value) {
|
|
149
|
-
return value ? value.replace(/<\/?[^>]+(>|$)/g, "") : "";
|
|
150
|
-
}
|
|
151
148
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
152
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropdownComponent, selector: "lib-dropdown", inputs: { multiple: "multiple", selectedItems: "selectedItems", placeholder: "placeholder", items: "items", showCreateNew: "showCreateNew", selectedValues: "selectedValues", customButtons: "customButtons", showBorder: "showBorder", showSubLabel: "showSubLabel" }, outputs: { buttonClick: "buttonClick", selectedItemsChange: "selectedItemsChange", onDropdownScroll: "onDropdownScroll", onCreateNew: "onCreateNew", onSearch: "onSearch" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, viewQueries: [{ propertyName: "dropdownitems", first: true, predicate: ["dropdownItems"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #dropdown\n class=\"dropdown\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n>\n <div\n class=\"dropdown-field\"\n id=\"division\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n (click)=\"openDropdown()\"\n >\n <!-- <div *ngIf=\"selectedValues !== '' && !selectedItemName\" class=\"selected\">\n {{ selectedValues }}\n </div> -->\n <div *ngIf=\"!selectedItem && multiple\" class=\"flexSection\">\n <div class=\"dataSection\">\n <div *ngIf=\"!selectedItem && multiple\" class=\"selected selectedList\">\n <div\n *ngFor=\"let selectedItem of selectedItems.slice(0, 3)\"\n class=\"selected-item\"\n >\n <img\n *ngIf=\"selectedItem?.image\"\n class=\"multiSelected-icon-size\"\n [src]=\"selectedItem?.image\"\n alt=\"image\"\n />\n <span>{{ selectedItem.label }}</span\n > \n <span (click)=\"unselectItem(selectedItem)\" class=\"close-icon\"\n >×</span\n >\n </div>\n <div class=\"remaining-items\" *ngIf=\"selectedItems.length > 3\">\n +{{ selectedItems.length - 3 }} more\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div>\n <span\n (click)=\"unselectAll()\"\n *ngIf=\"selectedItems.length > 0 && multiple\"\n class=\"deselect\"\n >×\n </span>\n </div>\n </div>\n </div>\n <div class=\"flexSection\">\n <div class=\"dataSection\">\n <div class=\"input-field\">\n <div *ngIf=\"multiple\">\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n (input)=\"search($event)\"\n />\n </div>\n <div *ngIf=\"!multiple\">\n <img\n *ngIf=\"selectedItemImage\"\n class=\"selected-icon-size\"\n [src]=\"selectedItemImage\"\n alt=\"image\"\n />\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"selectedItemName\"\n (input)=\"search($event)\"\n />\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div\n class=\"down-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"down-arrow-img\"\n >\n <g id=\"Down Arrow\">\n <g id=\"Group\">\n <path\n id=\"Path\"\n d=\"M6 9.13741L12 15.229L18 9.13741\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n </g>\n </svg>\n </div>\n <div\n class=\"up-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"up-arrow-img\"\n >\n <path\n d=\"M18 15.229L12 9.1374L6 15.229\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n </div>\n </div>\n\n <div\n #dropdownItems\n class=\"dropdown-items\"\n *ngIf=\"dropdownOpened\"\n (scroll)=\"dropdownScroll($event)\"\n >\n <div (click)=\"createNew()\">\n <a class=\"create_button\" *ngIf=\"showCreateNew\">Create new</a>\n </div>\n <ng-container *ngIf=\"items.length > 0; else noDataAvailable\">\n <ng-container *ngIf=\"multiple; else singleSelection\">\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <div>\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span> <br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n </div>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-container>\n\n <ng-template #singleSelection>\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span\n ><br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- \"No data available\" message if the drop down is empty -->\n <ng-template #noDataAvailable>\n <div class=\"items\">No data available</div>\n </ng-template>\n </div>\n</div>\n", styles: [".dropdown{background:#fff;border-radius:6px}.dropdown .dropdown-field{background:#fff;border-radius:6px;position:relative;cursor:pointer}.dropdown .dropdown-field .selected{margin:5px}.dropdown .dropdown-field .selected.selectedList{display:flex;flex-wrap:wrap}.dropdown .dropdown-field .selected .selected-item{background:#cdd0d1;display:inline;margin:5px;padding:2px;border-radius:5px;font-size:small}.dropdown .dropdown-field .selected .remaining-items{margin:5px;padding:2px;font-size:smaller;display:block}.dropdown .dropdown-field .input-field .dropdown_text{width:100%;border:none;padding:2px;margin-left:3px;margin-right:3px;outline:none;box-sizing:border-box;font-weight:500;font-family:Poppins;font-size:14px;font-style:normal}@media (max-width: 576px){.dropdown .dropdown-field .input-field .dropdown_text{width:53%;font-size:12px;margin-left:3px;padding-left:2px}}@media (max-width: 420px){.dropdown .dropdown-field .input-field .dropdown_text{width:53%;font-size:12px;margin-left:3px;padding-left:2px}}@media only screen and (min-width: 576px){.dropdown .dropdown-field .input-field .dropdown_text{height:25px}}@media only screen and (min-width: 992px){.dropdown .dropdown-field .input-field .dropdown_text{height:30px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-field .input-field .dropdown_text{height:35px}}.dropdown .dropdown-field.closed{border:1px solid #d8d8d8}.dropdown .dropdown-field.opened{border-bottom:1px solid #d8d8d8}.dropdown .dropdown-items{overflow-y:auto;overflow-x:hidden;position:absolute;top:100%;left:0;width:100%;background:#fff;z-index:9999999;border:solid 1px #dbdbdb;box-shadow:0 4px 4px -5px #00000040;transition:transform .3s ease-out;scroll-behavior:smooth;cursor:pointer}@media only screen and (min-width: 276px){.dropdown .dropdown-items{max-height:150px;padding:3px}}@media only screen and (min-width: 576px){.dropdown .dropdown-items{max-height:150px;padding:3px}}@media only screen and (min-width: 992px){.dropdown .dropdown-items{max-height:150px;padding:5px}}@media only screen and (min-width: 1441px){.dropdown .dropdown-items{max-height:200px;padding:7px}}.dropdown .dropdown-items .create_button{text-decoration:none;cursor:pointer}@media only screen and (min-width: 576px){.dropdown .dropdown-items .create_button{padding-left:8px}}@media only screen and (min-width: 992px){.dropdown .dropdown-items .create_button{padding-left:8px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-items .create_button{padding-left:8px}}.dropdown .dropdown-items .items{text-decoration:none;color:inherit;line-height:41px;position:relative;cursor:pointer}@media only screen and (min-width: 576px){.dropdown .dropdown-items .items{padding-left:8px;font-size:small}}@media only screen and (min-width: 992px){.dropdown .dropdown-items .items{padding-left:8px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-items .items{padding-left:8px;font-size:small}}.dropdown .dropdown-items .items:hover{background:#ebedef;border-radius:6px}.dropdown .dropdown-items .items:hover button{visibility:visible}.dropdown .dropdown-items .items .dropdown_buttons{display:inline}.dropdown .dropdown-items .items button{border:0;background:transparent;visibility:hidden}.dropdown.opened{border:1px #d8d8d8 solid}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{background-color:#b2b2b2;border-radius:6px}.space{width:10px}.item-details{display:flex;align-items:center;justify-content:space-between}.icon-size{width:25px;height:20px;margin-right:7px}.smallSpace{width:3px}.selected-icon-size{width:25px;height:20px;margin-left:10px}@media (max-width: 576px){.selected-icon-size{width:21px;height:15px;margin-right:7px;margin-bottom:1px}}.multiSelected-icon-size{width:25px;height:20px;margin-left:1px;margin-bottom:1px;margin-right:3px}.flexSection{display:flex}.dataSection{width:calc(100% - 20px)}.iconSection{width:20px;padding:1px}.down-arrow,.up-arrow,.deselect{width:20px;height:20px;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer}.down-arrow{cursor:pointer;padding-top:.5em}.down-arrow.opened{display:none}.down-arrow.closed{display:block}.up-arrow{cursor:pointer}.up-arrow.closed{display:none}.iconSection{display:flex;flex-direction:row-reverse}span p{margin-bottom:0!important;display:inline}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
149
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropdownComponent, selector: "lib-dropdown", inputs: { multiple: "multiple", selectedItems: "selectedItems", placeholder: "placeholder", items: "items", showCreateNew: "showCreateNew", selectedValues: "selectedValues", customButtons: "customButtons", showBorder: "showBorder", showSubLabel: "showSubLabel" }, outputs: { buttonClick: "buttonClick", selectedItemsChange: "selectedItemsChange", onDropdownScroll: "onDropdownScroll", onCreateNew: "onCreateNew", onSearch: "onSearch" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, viewQueries: [{ propertyName: "dropdownitems", first: true, predicate: ["dropdownItems"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #dropdown\n class=\"dropdown\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n>\n <div\n class=\"dropdown-field\"\n id=\"division\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n (click)=\"openDropdown()\"\n >\n <!-- <div *ngIf=\"selectedValues !== '' && !selectedItemName\" class=\"selected\">\n {{ selectedValues }}\n </div> -->\n <div *ngIf=\"!selectedItem && multiple\" class=\"flexSection\">\n <div class=\"dataSection\">\n <div *ngIf=\"!selectedItem && multiple\" class=\"selected selectedList\">\n <div\n *ngFor=\"let selectedItem of selectedItems.slice(0, 3)\"\n class=\"selected-item\"\n >\n <img\n *ngIf=\"selectedItem?.image\"\n class=\"multiSelected-icon-size\"\n [src]=\"selectedItem?.image\"\n alt=\"image\"\n />\n <span>{{ selectedItem.label }}</span\n > \n <span (click)=\"unselectItem(selectedItem)\" class=\"close-icon\"\n >×</span\n >\n </div>\n <div class=\"remaining-items\" *ngIf=\"selectedItems.length > 3\">\n +{{ selectedItems.length - 3 }} more\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div>\n <span\n (click)=\"unselectAll()\"\n *ngIf=\"selectedItems.length > 0 && multiple\"\n class=\"deselect\"\n >×\n </span>\n </div>\n </div>\n </div>\n <div class=\"flexSection\">\n <div class=\"dataSection\">\n <div class=\"input-field\">\n <div *ngIf=\"multiple\">\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n (input)=\"search($event)\"\n />\n </div>\n <div *ngIf=\"!multiple\">\n <img\n *ngIf=\"selectedItemImage\"\n class=\"selected-icon-size\"\n [src]=\"selectedItemImage\"\n alt=\"image\"\n />\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"selectedItemName\"\n (input)=\"search($event)\"\n />\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div\n class=\"down-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"down-arrow-img\"\n >\n <g id=\"Down Arrow\">\n <g id=\"Group\">\n <path\n id=\"Path\"\n d=\"M6 9.13741L12 15.229L18 9.13741\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n </g>\n </svg>\n </div>\n <div\n class=\"up-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"up-arrow-img\"\n >\n <path\n d=\"M18 15.229L12 9.1374L6 15.229\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n </div>\n </div>\n\n <div\n #dropdownItems\n class=\"dropdown-items\"\n *ngIf=\"dropdownOpened\"\n (scroll)=\"dropdownScroll($event)\"\n >\n <div (click)=\"createNew()\">\n <a class=\"create_button\" *ngIf=\"showCreateNew\">Create new</a>\n </div>\n <ng-container *ngIf=\"items.length > 0; else noDataAvailable\">\n <ng-container *ngIf=\"multiple; else singleSelection\">\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <div>\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span> <br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n </div>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-container>\n\n <ng-template #singleSelection>\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span\n ><br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- \"No data available\" message if the drop down is empty -->\n <ng-template #noDataAvailable>\n <div class=\"items\">No data available</div>\n </ng-template>\n </div>\n</div>\n", styles: [".dropdown{background:#fff;border-radius:6px}.dropdown .dropdown-field{background:#fff;border-radius:6px;position:relative;cursor:pointer}.dropdown .dropdown-field .selected{margin:5px}.dropdown .dropdown-field .selected.selectedList{display:flex;flex-wrap:wrap}.dropdown .dropdown-field .selected .selected-item{background:#cdd0d1;display:inline;margin:5px;padding:2px;border-radius:5px;font-size:small}.dropdown .dropdown-field .selected .remaining-items{margin:5px;padding:2px;font-size:smaller;display:block}.dropdown .dropdown-field .input-field .dropdown_text{width:100%;border:none;padding:2px;margin-left:3px;margin-right:3px;outline:none;box-sizing:border-box;font-weight:500;font-family:Poppins;font-size:14px;font-style:normal}@media (max-width: 576px){.dropdown .dropdown-field .input-field .dropdown_text{width:53%;font-size:12px;margin-left:3px;padding-left:2px}}@media (max-width: 420px){.dropdown .dropdown-field .input-field .dropdown_text{width:53%;font-size:12px;margin-left:3px;padding-left:2px}}@media only screen and (min-width: 576px){.dropdown .dropdown-field .input-field .dropdown_text{height:25px}}@media only screen and (min-width: 992px){.dropdown .dropdown-field .input-field .dropdown_text{height:30px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-field .input-field .dropdown_text{height:35px}}.dropdown .dropdown-field.closed{border:1px solid #d8d8d8}.dropdown .dropdown-field.opened{border-bottom:1px solid #d8d8d8}.dropdown .dropdown-items{overflow-y:auto;overflow-x:auto;position:absolute;top:100%;left:0;width:100%;background:#fff;z-index:9999999;border:solid 1px #dbdbdb;box-shadow:0 4px 4px -5px #00000040;transition:transform .3s ease-out;scroll-behavior:smooth;cursor:pointer}@media only screen and (min-width: 276px){.dropdown .dropdown-items{max-height:150px;padding:3px}}@media only screen and (min-width: 576px){.dropdown .dropdown-items{max-height:150px;padding:3px}}@media only screen and (min-width: 992px){.dropdown .dropdown-items{max-height:150px;padding:5px}}@media only screen and (min-width: 1441px){.dropdown .dropdown-items{max-height:200px;padding:7px}}.dropdown .dropdown-items .create_button{text-decoration:none;cursor:pointer}@media only screen and (min-width: 576px){.dropdown .dropdown-items .create_button{padding-left:8px}}@media only screen and (min-width: 992px){.dropdown .dropdown-items .create_button{padding-left:8px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-items .create_button{padding-left:8px}}.dropdown .dropdown-items .items{text-decoration:none;color:inherit;line-height:41px;position:relative;cursor:pointer}@media only screen and (min-width: 576px){.dropdown .dropdown-items .items{padding-left:8px;font-size:small}}@media only screen and (min-width: 992px){.dropdown .dropdown-items .items{padding-left:8px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-items .items{padding-left:8px;font-size:small}}.dropdown .dropdown-items .items:hover{background:#ebedef;border-radius:6px}.dropdown .dropdown-items .items:hover button{visibility:visible}.dropdown .dropdown-items .items .dropdown_buttons{display:inline}.dropdown .dropdown-items .items button{border:0;background:transparent;visibility:hidden}.dropdown.opened{border:1px #d8d8d8 solid}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{background-color:#b2b2b2;border-radius:6px}.space{width:10px}.item-details{display:flex;align-items:center;justify-content:space-between}.icon-size{width:25px;height:20px;margin-right:7px}.smallSpace{width:3px}.selected-icon-size{width:25px;height:20px;margin-left:10px}@media (max-width: 576px){.selected-icon-size{width:21px;height:15px;margin-right:7px;margin-bottom:1px}}.multiSelected-icon-size{width:25px;height:20px;margin-left:1px;margin-bottom:1px;margin-right:3px}.flexSection{display:flex}.dataSection{width:calc(100% - 20px)}.iconSection{width:20px;padding:1px}.down-arrow,.up-arrow,.deselect{width:20px;height:20px;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer}.down-arrow{cursor:pointer;padding-top:.5em}.down-arrow.opened{display:none}.down-arrow.closed{display:block}.up-arrow{cursor:pointer}.up-arrow.closed{display:none}.iconSection{display:flex;flex-direction:row-reverse}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
153
150
|
}
|
|
154
151
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
155
152
|
type: Component,
|
|
156
|
-
args: [{ selector: "lib-dropdown", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n #dropdown\n class=\"dropdown\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n>\n <div\n class=\"dropdown-field\"\n id=\"division\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n (click)=\"openDropdown()\"\n >\n <!-- <div *ngIf=\"selectedValues !== '' && !selectedItemName\" class=\"selected\">\n {{ selectedValues }}\n </div> -->\n <div *ngIf=\"!selectedItem && multiple\" class=\"flexSection\">\n <div class=\"dataSection\">\n <div *ngIf=\"!selectedItem && multiple\" class=\"selected selectedList\">\n <div\n *ngFor=\"let selectedItem of selectedItems.slice(0, 3)\"\n class=\"selected-item\"\n >\n <img\n *ngIf=\"selectedItem?.image\"\n class=\"multiSelected-icon-size\"\n [src]=\"selectedItem?.image\"\n alt=\"image\"\n />\n <span>{{ selectedItem.label }}</span\n > \n <span (click)=\"unselectItem(selectedItem)\" class=\"close-icon\"\n >×</span\n >\n </div>\n <div class=\"remaining-items\" *ngIf=\"selectedItems.length > 3\">\n +{{ selectedItems.length - 3 }} more\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div>\n <span\n (click)=\"unselectAll()\"\n *ngIf=\"selectedItems.length > 0 && multiple\"\n class=\"deselect\"\n >×\n </span>\n </div>\n </div>\n </div>\n <div class=\"flexSection\">\n <div class=\"dataSection\">\n <div class=\"input-field\">\n <div *ngIf=\"multiple\">\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n (input)=\"search($event)\"\n />\n </div>\n <div *ngIf=\"!multiple\">\n <img\n *ngIf=\"selectedItemImage\"\n class=\"selected-icon-size\"\n [src]=\"selectedItemImage\"\n alt=\"image\"\n />\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"selectedItemName\"\n (input)=\"search($event)\"\n />\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div\n class=\"down-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"down-arrow-img\"\n >\n <g id=\"Down Arrow\">\n <g id=\"Group\">\n <path\n id=\"Path\"\n d=\"M6 9.13741L12 15.229L18 9.13741\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n </g>\n </svg>\n </div>\n <div\n class=\"up-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"up-arrow-img\"\n >\n <path\n d=\"M18 15.229L12 9.1374L6 15.229\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n </div>\n </div>\n\n <div\n #dropdownItems\n class=\"dropdown-items\"\n *ngIf=\"dropdownOpened\"\n (scroll)=\"dropdownScroll($event)\"\n >\n <div (click)=\"createNew()\">\n <a class=\"create_button\" *ngIf=\"showCreateNew\">Create new</a>\n </div>\n <ng-container *ngIf=\"items.length > 0; else noDataAvailable\">\n <ng-container *ngIf=\"multiple; else singleSelection\">\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <div>\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span> <br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n </div>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-container>\n\n <ng-template #singleSelection>\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span\n ><br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- \"No data available\" message if the drop down is empty -->\n <ng-template #noDataAvailable>\n <div class=\"items\">No data available</div>\n </ng-template>\n </div>\n</div>\n", styles: [".dropdown{background:#fff;border-radius:6px}.dropdown .dropdown-field{background:#fff;border-radius:6px;position:relative;cursor:pointer}.dropdown .dropdown-field .selected{margin:5px}.dropdown .dropdown-field .selected.selectedList{display:flex;flex-wrap:wrap}.dropdown .dropdown-field .selected .selected-item{background:#cdd0d1;display:inline;margin:5px;padding:2px;border-radius:5px;font-size:small}.dropdown .dropdown-field .selected .remaining-items{margin:5px;padding:2px;font-size:smaller;display:block}.dropdown .dropdown-field .input-field .dropdown_text{width:100%;border:none;padding:2px;margin-left:3px;margin-right:3px;outline:none;box-sizing:border-box;font-weight:500;font-family:Poppins;font-size:14px;font-style:normal}@media (max-width: 576px){.dropdown .dropdown-field .input-field .dropdown_text{width:53%;font-size:12px;margin-left:3px;padding-left:2px}}@media (max-width: 420px){.dropdown .dropdown-field .input-field .dropdown_text{width:53%;font-size:12px;margin-left:3px;padding-left:2px}}@media only screen and (min-width: 576px){.dropdown .dropdown-field .input-field .dropdown_text{height:25px}}@media only screen and (min-width: 992px){.dropdown .dropdown-field .input-field .dropdown_text{height:30px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-field .input-field .dropdown_text{height:35px}}.dropdown .dropdown-field.closed{border:1px solid #d8d8d8}.dropdown .dropdown-field.opened{border-bottom:1px solid #d8d8d8}.dropdown .dropdown-items{overflow-y:auto;overflow-x:hidden;position:absolute;top:100%;left:0;width:100%;background:#fff;z-index:9999999;border:solid 1px #dbdbdb;box-shadow:0 4px 4px -5px #00000040;transition:transform .3s ease-out;scroll-behavior:smooth;cursor:pointer}@media only screen and (min-width: 276px){.dropdown .dropdown-items{max-height:150px;padding:3px}}@media only screen and (min-width: 576px){.dropdown .dropdown-items{max-height:150px;padding:3px}}@media only screen and (min-width: 992px){.dropdown .dropdown-items{max-height:150px;padding:5px}}@media only screen and (min-width: 1441px){.dropdown .dropdown-items{max-height:200px;padding:7px}}.dropdown .dropdown-items .create_button{text-decoration:none;cursor:pointer}@media only screen and (min-width: 576px){.dropdown .dropdown-items .create_button{padding-left:8px}}@media only screen and (min-width: 992px){.dropdown .dropdown-items .create_button{padding-left:8px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-items .create_button{padding-left:8px}}.dropdown .dropdown-items .items{text-decoration:none;color:inherit;line-height:41px;position:relative;cursor:pointer}@media only screen and (min-width: 576px){.dropdown .dropdown-items .items{padding-left:8px;font-size:small}}@media only screen and (min-width: 992px){.dropdown .dropdown-items .items{padding-left:8px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-items .items{padding-left:8px;font-size:small}}.dropdown .dropdown-items .items:hover{background:#ebedef;border-radius:6px}.dropdown .dropdown-items .items:hover button{visibility:visible}.dropdown .dropdown-items .items .dropdown_buttons{display:inline}.dropdown .dropdown-items .items button{border:0;background:transparent;visibility:hidden}.dropdown.opened{border:1px #d8d8d8 solid}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{background-color:#b2b2b2;border-radius:6px}.space{width:10px}.item-details{display:flex;align-items:center;justify-content:space-between}.icon-size{width:25px;height:20px;margin-right:7px}.smallSpace{width:3px}.selected-icon-size{width:25px;height:20px;margin-left:10px}@media (max-width: 576px){.selected-icon-size{width:21px;height:15px;margin-right:7px;margin-bottom:1px}}.multiSelected-icon-size{width:25px;height:20px;margin-left:1px;margin-bottom:1px;margin-right:3px}.flexSection{display:flex}.dataSection{width:calc(100% - 20px)}.iconSection{width:20px;padding:1px}.down-arrow,.up-arrow,.deselect{width:20px;height:20px;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer}.down-arrow{cursor:pointer;padding-top:.5em}.down-arrow.opened{display:none}.down-arrow.closed{display:block}.up-arrow{cursor:pointer}.up-arrow.closed{display:none}.iconSection{display:flex;flex-direction:row-reverse}span p{margin-bottom:0!important;display:inline}\n"] }]
|
|
153
|
+
args: [{ selector: "lib-dropdown", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n #dropdown\n class=\"dropdown\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n>\n <div\n class=\"dropdown-field\"\n id=\"division\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n (click)=\"openDropdown()\"\n >\n <!-- <div *ngIf=\"selectedValues !== '' && !selectedItemName\" class=\"selected\">\n {{ selectedValues }}\n </div> -->\n <div *ngIf=\"!selectedItem && multiple\" class=\"flexSection\">\n <div class=\"dataSection\">\n <div *ngIf=\"!selectedItem && multiple\" class=\"selected selectedList\">\n <div\n *ngFor=\"let selectedItem of selectedItems.slice(0, 3)\"\n class=\"selected-item\"\n >\n <img\n *ngIf=\"selectedItem?.image\"\n class=\"multiSelected-icon-size\"\n [src]=\"selectedItem?.image\"\n alt=\"image\"\n />\n <span>{{ selectedItem.label }}</span\n > \n <span (click)=\"unselectItem(selectedItem)\" class=\"close-icon\"\n >×</span\n >\n </div>\n <div class=\"remaining-items\" *ngIf=\"selectedItems.length > 3\">\n +{{ selectedItems.length - 3 }} more\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div>\n <span\n (click)=\"unselectAll()\"\n *ngIf=\"selectedItems.length > 0 && multiple\"\n class=\"deselect\"\n >×\n </span>\n </div>\n </div>\n </div>\n <div class=\"flexSection\">\n <div class=\"dataSection\">\n <div class=\"input-field\">\n <div *ngIf=\"multiple\">\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n (input)=\"search($event)\"\n />\n </div>\n <div *ngIf=\"!multiple\">\n <img\n *ngIf=\"selectedItemImage\"\n class=\"selected-icon-size\"\n [src]=\"selectedItemImage\"\n alt=\"image\"\n />\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"selectedItemName\"\n (input)=\"search($event)\"\n />\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div\n class=\"down-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"down-arrow-img\"\n >\n <g id=\"Down Arrow\">\n <g id=\"Group\">\n <path\n id=\"Path\"\n d=\"M6 9.13741L12 15.229L18 9.13741\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n </g>\n </svg>\n </div>\n <div\n class=\"up-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"up-arrow-img\"\n >\n <path\n d=\"M18 15.229L12 9.1374L6 15.229\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n </div>\n </div>\n\n <div\n #dropdownItems\n class=\"dropdown-items\"\n *ngIf=\"dropdownOpened\"\n (scroll)=\"dropdownScroll($event)\"\n >\n <div (click)=\"createNew()\">\n <a class=\"create_button\" *ngIf=\"showCreateNew\">Create new</a>\n </div>\n <ng-container *ngIf=\"items.length > 0; else noDataAvailable\">\n <ng-container *ngIf=\"multiple; else singleSelection\">\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <div>\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span> <br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n </div>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-container>\n\n <ng-template #singleSelection>\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span\n ><br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- \"No data available\" message if the drop down is empty -->\n <ng-template #noDataAvailable>\n <div class=\"items\">No data available</div>\n </ng-template>\n </div>\n</div>\n", styles: [".dropdown{background:#fff;border-radius:6px}.dropdown .dropdown-field{background:#fff;border-radius:6px;position:relative;cursor:pointer}.dropdown .dropdown-field .selected{margin:5px}.dropdown .dropdown-field .selected.selectedList{display:flex;flex-wrap:wrap}.dropdown .dropdown-field .selected .selected-item{background:#cdd0d1;display:inline;margin:5px;padding:2px;border-radius:5px;font-size:small}.dropdown .dropdown-field .selected .remaining-items{margin:5px;padding:2px;font-size:smaller;display:block}.dropdown .dropdown-field .input-field .dropdown_text{width:100%;border:none;padding:2px;margin-left:3px;margin-right:3px;outline:none;box-sizing:border-box;font-weight:500;font-family:Poppins;font-size:14px;font-style:normal}@media (max-width: 576px){.dropdown .dropdown-field .input-field .dropdown_text{width:53%;font-size:12px;margin-left:3px;padding-left:2px}}@media (max-width: 420px){.dropdown .dropdown-field .input-field .dropdown_text{width:53%;font-size:12px;margin-left:3px;padding-left:2px}}@media only screen and (min-width: 576px){.dropdown .dropdown-field .input-field .dropdown_text{height:25px}}@media only screen and (min-width: 992px){.dropdown .dropdown-field .input-field .dropdown_text{height:30px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-field .input-field .dropdown_text{height:35px}}.dropdown .dropdown-field.closed{border:1px solid #d8d8d8}.dropdown .dropdown-field.opened{border-bottom:1px solid #d8d8d8}.dropdown .dropdown-items{overflow-y:auto;overflow-x:auto;position:absolute;top:100%;left:0;width:100%;background:#fff;z-index:9999999;border:solid 1px #dbdbdb;box-shadow:0 4px 4px -5px #00000040;transition:transform .3s ease-out;scroll-behavior:smooth;cursor:pointer}@media only screen and (min-width: 276px){.dropdown .dropdown-items{max-height:150px;padding:3px}}@media only screen and (min-width: 576px){.dropdown .dropdown-items{max-height:150px;padding:3px}}@media only screen and (min-width: 992px){.dropdown .dropdown-items{max-height:150px;padding:5px}}@media only screen and (min-width: 1441px){.dropdown .dropdown-items{max-height:200px;padding:7px}}.dropdown .dropdown-items .create_button{text-decoration:none;cursor:pointer}@media only screen and (min-width: 576px){.dropdown .dropdown-items .create_button{padding-left:8px}}@media only screen and (min-width: 992px){.dropdown .dropdown-items .create_button{padding-left:8px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-items .create_button{padding-left:8px}}.dropdown .dropdown-items .items{text-decoration:none;color:inherit;line-height:41px;position:relative;cursor:pointer}@media only screen and (min-width: 576px){.dropdown .dropdown-items .items{padding-left:8px;font-size:small}}@media only screen and (min-width: 992px){.dropdown .dropdown-items .items{padding-left:8px}}@media only screen and (min-width: 1200px){.dropdown .dropdown-items .items{padding-left:8px;font-size:small}}.dropdown .dropdown-items .items:hover{background:#ebedef;border-radius:6px}.dropdown .dropdown-items .items:hover button{visibility:visible}.dropdown .dropdown-items .items .dropdown_buttons{display:inline}.dropdown .dropdown-items .items button{border:0;background:transparent;visibility:hidden}.dropdown.opened{border:1px #d8d8d8 solid}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{background-color:#b2b2b2;border-radius:6px}.space{width:10px}.item-details{display:flex;align-items:center;justify-content:space-between}.icon-size{width:25px;height:20px;margin-right:7px}.smallSpace{width:3px}.selected-icon-size{width:25px;height:20px;margin-left:10px}@media (max-width: 576px){.selected-icon-size{width:21px;height:15px;margin-right:7px;margin-bottom:1px}}.multiSelected-icon-size{width:25px;height:20px;margin-left:1px;margin-bottom:1px;margin-right:3px}.flexSection{display:flex}.dataSection{width:calc(100% - 20px)}.iconSection{width:20px;padding:1px}.down-arrow,.up-arrow,.deselect{width:20px;height:20px;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer}.down-arrow{cursor:pointer;padding-top:.5em}.down-arrow.opened{display:none}.down-arrow.closed{display:block}.up-arrow{cursor:pointer}.up-arrow.closed{display:none}.iconSection{display:flex;flex-direction:row-reverse}\n"] }]
|
|
157
154
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { multiple: [{
|
|
158
155
|
type: Input
|
|
159
156
|
}], selectedItems: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"piserve-tech-drop-down.mjs","sources":["../../../projects/dropdown/src/lib/dropdown.service.ts","../../../projects/dropdown/src/lib/dropdown.component.ts","../../../projects/dropdown/src/lib/dropdown.component.html","../../../projects/dropdown/src/lib/dropdown.module.ts","../../../projects/dropdown/src/public-api.ts","../../../projects/dropdown/src/piserve-tech-drop-down.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DropdownService {\n\n constructor() { }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { DropdownItem } from \"./dropdown.model\";\n\n@Component({\n selector: \"lib-dropdown\",\n templateUrl: \"./dropdown.component.html\",\n styleUrls: [\"./dropdown.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownComponent implements OnInit {\n @Input() multiple!: boolean;\n @Input() selectedItems: any[] = [];\n @Input() placeholder: String = \"\";\n @Input() items: DropdownItem[] = [];\n @Input() showCreateNew!: boolean;\n @Input() selectedValues: string = \"\";\n @Input() customButtons: {\n label: string;\n icon: string;\n color: string;\n action: () => void;\n }[] = [];\n @Input() showBorder: boolean = true;\n @Output() buttonClick: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() selectedItemsChange: EventEmitter<any[]> = new EventEmitter<\n any[]\n >();\n @Output() onDropdownScroll: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() onCreateNew: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() onSearch: EventEmitter<string> = new EventEmitter<string>();\n //subLabel\n @Input() showSubLabel: boolean = false;\n\n dropdownOpened: boolean = false;\n selectedItem: any;\n selectedItemName: string = \"\";\n selectedItemImage: string = \"\";\n originalItems: DropdownItem[] = [];\n searchTerm: string = \"\";\n initialized: boolean = false;\n searchText: string = \"\";\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.initialize();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes[\"selectedItems\"]) {\n const item = changes[\"selectedItems\"][\"currentValue\"];\n this.selectedItems = item;\n this.selectedItemName = this.selectedItems[0]?.label;\n this.selectedItemImage = this.selectedItems[0]?.image;\n this.selectedItemsChange.emit(this.selectedItems);\n }\n if (changes[\"items\"]) {\n this.originalItems = this.items.slice();\n }\n if (changes[\"selectedValues\"]) {\n this.selectedItemName = this.selectedValues;\n }\n }\n\n initialize() {\n setTimeout(() => {\n if (this.selectedItems && this.selectedItems.length > 0) {\n if (!this.multiple) this.selectItem(this.selectedItems[0]);\n }\n }, 1000);\n const uniqueItems = this.items.filter(\n (selected, index, self) =>\n index === self.findIndex((t) => t.value === selected.value)\n );\n\n this.items = uniqueItems;\n }\n\n openDropdown() {\n this.dropdownOpened = !this.dropdownOpened;\n }\n\n @ViewChild(\"dropdownItems\") dropdownitems!: ElementRef<any>;\n dropdownScroll(event: any): void {\n if (this.onDropdownScroll.observed) {\n this.onDropdownScroll.emit(event);\n this.cdr.markForCheck();\n }\n }\n\n selectItem(item: any) {\n if (this.multiple) {\n if (!this.selectedItems.includes(item)) {\n this.selectedItems.push(item);\n this.selectedItemsChange.emit(this.selectedItems);\n } else {\n this.selectedItems = this.selectedItems.filter(\n (selected: any) => selected !== item\n );\n this.selectedItemsChange.emit(this.selectedItems);\n }\n } else {\n this.searchText = \"\";\n this.selectedItems[0] = item;\n this.selectedItemName = this.selectedItems[0]?.label;\n this.selectedItemImage = this.selectedItems[0]?.image;\n this.dropdownOpened = false;\n this.selectedItemsChange.emit(this.selectedItems);\n }\n }\n\n unselectItem(item: any): void {\n this.selectedItems = this.selectedItems.filter(\n (selected: any) => selected !== item\n );\n this.selectedItemsChange.emit(this.selectedItems);\n }\n\n unselectAll() {\n this.selectedItems = [];\n this.selectedItemName = \"\";\n this.selectedItemImage = \"\";\n this.selectedItemsChange.emit(this.selectedItems);\n this.cdr.markForCheck();\n }\n\n @ViewChild(\"dropdown\") dropdown!: ElementRef;\n @HostListener(\"document:click\", [\"$event\"])\n onDocumentClick(event: Event): void {\n const isClickInsideDropdown = this.dropdown.nativeElement.contains(\n event.target\n );\n if (!isClickInsideDropdown) {\n this.dropdownOpened = false;\n }\n }\n\n createNew() {\n this.onCreateNew.emit();\n this.dropdownOpened = false;\n }\n\n search(event: any): void {\n const keyCode = event.keyCode;\n this.dropdownOpened = true;\n this.searchTerm = event.target.value.toLowerCase();\n if (!this.onSearch.observed) {\n if (this.searchTerm.trim() === \"\") {\n if (!this.multiple) {\n this.unselectAll();\n }\n this.items = this.originalItems.slice();\n } else {\n const lowerCaseSearchTerm = this.searchTerm.toLowerCase();\n this.items = this.originalItems.filter(\n (item) =>\n item.label.toLowerCase().includes(lowerCaseSearchTerm) ||\n (item.value &&\n item.value.toLowerCase().includes(lowerCaseSearchTerm))\n );\n }\n } else {\n this.onSearch.emit(this.searchTerm);\n }\n }\n\n handleButtonClick(action: () => void): void {\n action();\n this.buttonClick.emit();\n }\n\n removeHtmlTags(value?: string): string {\n return value ? value.replace(/<\\/?[^>]+(>|$)/g, \"\") : \"\"; \n }\n}\n","<div\n #dropdown\n class=\"dropdown\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n>\n <div\n class=\"dropdown-field\"\n id=\"division\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n (click)=\"openDropdown()\"\n >\n <!-- <div *ngIf=\"selectedValues !== '' && !selectedItemName\" class=\"selected\">\n {{ selectedValues }}\n </div> -->\n <div *ngIf=\"!selectedItem && multiple\" class=\"flexSection\">\n <div class=\"dataSection\">\n <div *ngIf=\"!selectedItem && multiple\" class=\"selected selectedList\">\n <div\n *ngFor=\"let selectedItem of selectedItems.slice(0, 3)\"\n class=\"selected-item\"\n >\n <img\n *ngIf=\"selectedItem?.image\"\n class=\"multiSelected-icon-size\"\n [src]=\"selectedItem?.image\"\n alt=\"image\"\n />\n <span>{{ selectedItem.label }}</span\n > \n <span (click)=\"unselectItem(selectedItem)\" class=\"close-icon\"\n >×</span\n >\n </div>\n <div class=\"remaining-items\" *ngIf=\"selectedItems.length > 3\">\n +{{ selectedItems.length - 3 }} more\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div>\n <span\n (click)=\"unselectAll()\"\n *ngIf=\"selectedItems.length > 0 && multiple\"\n class=\"deselect\"\n >×\n </span>\n </div>\n </div>\n </div>\n <div class=\"flexSection\">\n <div class=\"dataSection\">\n <div class=\"input-field\">\n <div *ngIf=\"multiple\">\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n (input)=\"search($event)\"\n />\n </div>\n <div *ngIf=\"!multiple\">\n <img\n *ngIf=\"selectedItemImage\"\n class=\"selected-icon-size\"\n [src]=\"selectedItemImage\"\n alt=\"image\"\n />\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"selectedItemName\"\n (input)=\"search($event)\"\n />\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div\n class=\"down-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"down-arrow-img\"\n >\n <g id=\"Down Arrow\">\n <g id=\"Group\">\n <path\n id=\"Path\"\n d=\"M6 9.13741L12 15.229L18 9.13741\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n </g>\n </svg>\n </div>\n <div\n class=\"up-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"up-arrow-img\"\n >\n <path\n d=\"M18 15.229L12 9.1374L6 15.229\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n </div>\n </div>\n\n <div\n #dropdownItems\n class=\"dropdown-items\"\n *ngIf=\"dropdownOpened\"\n (scroll)=\"dropdownScroll($event)\"\n >\n <div (click)=\"createNew()\">\n <a class=\"create_button\" *ngIf=\"showCreateNew\">Create new</a>\n </div>\n <ng-container *ngIf=\"items.length > 0; else noDataAvailable\">\n <ng-container *ngIf=\"multiple; else singleSelection\">\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <div>\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span> <br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n </div>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-container>\n\n <ng-template #singleSelection>\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span\n ><br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- \"No data available\" message if the drop down is empty -->\n <ng-template #noDataAvailable>\n <div class=\"items\">No data available</div>\n </ng-template>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { DropdownComponent } from './dropdown.component';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n\n\n@NgModule({\n declarations: [\n DropdownComponent\n ],\n imports: [\n FormsModule,\n CommonModule,\n ],\n exports: [\n DropdownComponent\n ]\n})\nexport class DropdownModule { }\n","/*\n * Public API Surface of dropdown\n */\n\nexport * from './lib/dropdown.service';\nexport * from './lib/dropdown.component';\nexport * from './lib/dropdown.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"piserve-tech-drop-down.mjs","sources":["../../../projects/dropdown/src/lib/dropdown.service.ts","../../../projects/dropdown/src/lib/dropdown.component.ts","../../../projects/dropdown/src/lib/dropdown.component.html","../../../projects/dropdown/src/lib/dropdown.module.ts","../../../projects/dropdown/src/public-api.ts","../../../projects/dropdown/src/piserve-tech-drop-down.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DropdownService {\n\n constructor() { }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { DropdownItem } from \"./dropdown.model\";\n\n@Component({\n selector: \"lib-dropdown\",\n templateUrl: \"./dropdown.component.html\",\n styleUrls: [\"./dropdown.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownComponent implements OnInit {\n @Input() multiple!: boolean;\n @Input() selectedItems: any[] = [];\n @Input() placeholder: String = \"\";\n @Input() items: DropdownItem[] = [];\n @Input() showCreateNew!: boolean;\n @Input() selectedValues: string = \"\";\n @Input() customButtons: {\n label: string;\n icon: string;\n color: string;\n action: () => void;\n }[] = [];\n @Input() showBorder: boolean = true;\n @Output() buttonClick: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() selectedItemsChange: EventEmitter<any[]> = new EventEmitter<\n any[]\n >();\n @Output() onDropdownScroll: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() onCreateNew: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() onSearch: EventEmitter<string> = new EventEmitter<string>();\n //subLabel\n @Input() showSubLabel: boolean = false;\n\n dropdownOpened: boolean = false;\n selectedItem: any;\n selectedItemName: string = \"\";\n selectedItemImage: string = \"\";\n originalItems: DropdownItem[] = [];\n searchTerm: string = \"\";\n initialized: boolean = false;\n searchText: string = \"\";\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.initialize();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes[\"selectedItems\"]) {\n const item = changes[\"selectedItems\"][\"currentValue\"];\n this.selectedItems = item;\n this.selectedItemName = this.selectedItems[0]?.label;\n this.selectedItemImage = this.selectedItems[0]?.image;\n this.selectedItemsChange.emit(this.selectedItems);\n }\n if (changes[\"items\"]) {\n this.originalItems = this.items.slice();\n }\n if (changes[\"selectedValues\"]) {\n this.selectedItemName = this.selectedValues;\n }\n }\n\n initialize() {\n setTimeout(() => {\n if (this.selectedItems && this.selectedItems.length > 0) {\n if (!this.multiple) this.selectItem(this.selectedItems[0]);\n }\n }, 1000);\n const uniqueItems = this.items.filter(\n (selected, index, self) =>\n index === self.findIndex((t) => t.value === selected.value)\n );\n\n this.items = uniqueItems;\n }\n\n openDropdown() {\n this.dropdownOpened = !this.dropdownOpened;\n }\n\n @ViewChild(\"dropdownItems\") dropdownitems!: ElementRef<any>;\n dropdownScroll(event: any): void {\n if (this.onDropdownScroll.observed) {\n this.onDropdownScroll.emit(event);\n this.cdr.markForCheck();\n }\n }\n\n selectItem(item: any) {\n if (this.multiple) {\n if (!this.selectedItems.includes(item)) {\n this.selectedItems.push(item);\n this.selectedItemsChange.emit(this.selectedItems);\n } else {\n this.selectedItems = this.selectedItems.filter(\n (selected: any) => selected !== item\n );\n this.selectedItemsChange.emit(this.selectedItems);\n }\n } else {\n this.searchText = \"\";\n this.selectedItems[0] = item;\n this.selectedItemName = this.selectedItems[0]?.label;\n this.selectedItemImage = this.selectedItems[0]?.image;\n this.dropdownOpened = false;\n this.selectedItemsChange.emit(this.selectedItems);\n }\n }\n\n unselectItem(item: any): void {\n this.selectedItems = this.selectedItems.filter(\n (selected: any) => selected !== item\n );\n this.selectedItemsChange.emit(this.selectedItems);\n }\n\n unselectAll() {\n this.selectedItems = [];\n this.selectedItemName = \"\";\n this.selectedItemImage = \"\";\n this.selectedItemsChange.emit(this.selectedItems);\n this.cdr.markForCheck();\n }\n\n @ViewChild(\"dropdown\") dropdown!: ElementRef;\n @HostListener(\"document:click\", [\"$event\"])\n onDocumentClick(event: Event): void {\n const isClickInsideDropdown = this.dropdown.nativeElement.contains(\n event.target\n );\n if (!isClickInsideDropdown) {\n this.dropdownOpened = false;\n }\n }\n\n createNew() {\n this.onCreateNew.emit();\n this.dropdownOpened = false;\n }\n\n search(event: any): void {\n const keyCode = event.keyCode;\n this.dropdownOpened = true;\n this.searchTerm = event.target.value.toLowerCase();\n if (!this.onSearch.observed) {\n if (this.searchTerm.trim() === \"\") {\n if (!this.multiple) {\n this.unselectAll();\n }\n this.items = this.originalItems.slice();\n } else {\n const lowerCaseSearchTerm = this.searchTerm.toLowerCase();\n this.items = this.originalItems.filter(\n (item) =>\n item.label.toLowerCase().includes(lowerCaseSearchTerm) ||\n (item.value &&\n item.value.toLowerCase().includes(lowerCaseSearchTerm))\n );\n }\n } else {\n this.onSearch.emit(this.searchTerm);\n }\n }\n\n handleButtonClick(action: () => void): void {\n action();\n this.buttonClick.emit();\n }\n}\n","<div\n #dropdown\n class=\"dropdown\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n>\n <div\n class=\"dropdown-field\"\n id=\"division\"\n [ngClass]=\"{\n opened: showBorder && dropdownOpened,\n closed: showBorder && !dropdownOpened,\n }\"\n (click)=\"openDropdown()\"\n >\n <!-- <div *ngIf=\"selectedValues !== '' && !selectedItemName\" class=\"selected\">\n {{ selectedValues }}\n </div> -->\n <div *ngIf=\"!selectedItem && multiple\" class=\"flexSection\">\n <div class=\"dataSection\">\n <div *ngIf=\"!selectedItem && multiple\" class=\"selected selectedList\">\n <div\n *ngFor=\"let selectedItem of selectedItems.slice(0, 3)\"\n class=\"selected-item\"\n >\n <img\n *ngIf=\"selectedItem?.image\"\n class=\"multiSelected-icon-size\"\n [src]=\"selectedItem?.image\"\n alt=\"image\"\n />\n <span>{{ selectedItem.label }}</span\n > \n <span (click)=\"unselectItem(selectedItem)\" class=\"close-icon\"\n >×</span\n >\n </div>\n <div class=\"remaining-items\" *ngIf=\"selectedItems.length > 3\">\n +{{ selectedItems.length - 3 }} more\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div>\n <span\n (click)=\"unselectAll()\"\n *ngIf=\"selectedItems.length > 0 && multiple\"\n class=\"deselect\"\n >×\n </span>\n </div>\n </div>\n </div>\n <div class=\"flexSection\">\n <div class=\"dataSection\">\n <div class=\"input-field\">\n <div *ngIf=\"multiple\">\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n (input)=\"search($event)\"\n />\n </div>\n <div *ngIf=\"!multiple\">\n <img\n *ngIf=\"selectedItemImage\"\n class=\"selected-icon-size\"\n [src]=\"selectedItemImage\"\n alt=\"image\"\n />\n <input\n class=\"dropdown_text\"\n [(ngModel)]=\"searchText\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"selectedItemName\"\n (input)=\"search($event)\"\n />\n </div>\n </div>\n </div>\n <div class=\"iconSection\">\n <div\n class=\"down-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"down-arrow-img\"\n >\n <g id=\"Down Arrow\">\n <g id=\"Group\">\n <path\n id=\"Path\"\n d=\"M6 9.13741L12 15.229L18 9.13741\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n </g>\n </svg>\n </div>\n <div\n class=\"up-arrow\"\n [ngClass]=\"{ opened: dropdownOpened, closed: !dropdownOpened }\"\n >\n <svg\n width=\"1em\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"up-arrow-img\"\n >\n <path\n d=\"M18 15.229L12 9.1374L6 15.229\"\n stroke=\"#8E9AA0\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n </div>\n </div>\n\n <div\n #dropdownItems\n class=\"dropdown-items\"\n *ngIf=\"dropdownOpened\"\n (scroll)=\"dropdownScroll($event)\"\n >\n <div (click)=\"createNew()\">\n <a class=\"create_button\" *ngIf=\"showCreateNew\">Create new</a>\n </div>\n <ng-container *ngIf=\"items.length > 0; else noDataAvailable\">\n <ng-container *ngIf=\"multiple; else singleSelection\">\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <div>\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span> <br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n </div>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-container>\n\n <ng-template #singleSelection>\n <a\n class=\"items d-block\"\n *ngFor=\"let item of items\"\n (click)=\"selectItem(item)\"\n >\n <div class=\"dropdown-item\">\n <div class=\"item-details\">\n <img\n *ngIf=\"item?.image\"\n [src]=\"item?.image\"\n alt=\"Item Image\"\n class=\"item-image icon-size\"\n />\n <span class=\"item-label\">{{ item?.label }}</span\n ><br />\n <small *ngIf=\"showSubLabel\">{{ item?.subLabel }}</small>\n <div class=\"space\" *ngIf=\"item?.label\"></div>\n <div class=\"dropdown_buttons\">\n <button\n *ngFor=\"let button of customButtons\"\n (click)=\"handleButtonClick(button.action)\"\n >\n <i [class]=\"button.icon\" [style.color]=\"button.color\"></i>\n </button>\n </div>\n </div>\n </div>\n </a>\n </ng-template>\n </ng-container>\n\n <!-- \"No data available\" message if the drop down is empty -->\n <ng-template #noDataAvailable>\n <div class=\"items\">No data available</div>\n </ng-template>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { DropdownComponent } from './dropdown.component';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n\n\n@NgModule({\n declarations: [\n DropdownComponent\n ],\n imports: [\n FormsModule,\n CommonModule,\n ],\n exports: [\n DropdownComponent\n ]\n})\nexport class DropdownModule { }\n","/*\n * Public API Surface of dropdown\n */\n\nexport * from './lib/dropdown.service';\nexport * from './lib/dropdown.component';\nexport * from './lib/dropdown.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,6 @@ export declare class DropdownComponent implements OnInit {
|
|
|
45
45
|
createNew(): void;
|
|
46
46
|
search(event: any): void;
|
|
47
47
|
handleButtonClick(action: () => void): void;
|
|
48
|
-
removeHtmlTags(value?: string): string;
|
|
49
48
|
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownComponent, never>;
|
|
50
49
|
static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "lib-dropdown", never, { "multiple": { "alias": "multiple"; "required": false; }; "selectedItems": { "alias": "selectedItems"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "items": { "alias": "items"; "required": false; }; "showCreateNew": { "alias": "showCreateNew"; "required": false; }; "selectedValues": { "alias": "selectedValues"; "required": false; }; "customButtons": { "alias": "customButtons"; "required": false; }; "showBorder": { "alias": "showBorder"; "required": false; }; "showSubLabel": { "alias": "showSubLabel"; "required": false; }; }, { "buttonClick": "buttonClick"; "selectedItemsChange": "selectedItemsChange"; "onDropdownScroll": "onDropdownScroll"; "onCreateNew": "onCreateNew"; "onSearch": "onSearch"; }, never, never, false, never>;
|
|
51
50
|
}
|