mis-crystal-design-system 18.2.12 → 18.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +5 -4
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs +4 -3
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
- package/multi-select-dropdown/multi-select-dropdown.component.d.ts +2 -1
- package/package.json +13 -13
|
@@ -136,7 +136,7 @@ function MultiSelectDropdownComponent_ng_template_8_div_5_Template(rf, ctx) { if
|
|
|
136
136
|
} if (rf & 2) {
|
|
137
137
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
138
138
|
i0.ɵɵadvance();
|
|
139
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.searchInput() === "" ? ctx_r1.noDataMessage() :
|
|
139
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.searchInput() === "" ? ctx_r1.noDataMessage() : ctx_r1.noResultsText(), " ");
|
|
140
140
|
} }
|
|
141
141
|
function MultiSelectDropdownComponent_ng_template_8_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
142
142
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
@@ -206,6 +206,7 @@ export class MultiSelectDropdownComponent {
|
|
|
206
206
|
this.hideApplyButton = input(false);
|
|
207
207
|
this.searchInputPlaceholder = input('Search Keyword');
|
|
208
208
|
this.customLabelTemplate = input();
|
|
209
|
+
this.noResultsText = input("No results");
|
|
209
210
|
// Signal-based Output
|
|
210
211
|
this.onChange = output();
|
|
211
212
|
// Internal Signals for component state
|
|
@@ -437,7 +438,7 @@ export class MultiSelectDropdownComponent {
|
|
|
437
438
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.selectElement = _t.first);
|
|
438
439
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.popupContainer = _t.first);
|
|
439
440
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.searchInputElement = _t.first);
|
|
440
|
-
} }, inputs: { data: [1, "data"], selectedItems: [1, "selectedItems"], label: [1, "label"], height: [1, "height"], width: [1, "width"], dropdownListHeight: [1, "dropdownListHeight"], dropdownListWidth: [1, "dropdownListWidth"], dropdownListPosition: [1, "dropdownListPosition"], enableSelectAll: [1, "enableSelectAll"], searchEnabled: [1, "searchEnabled"], showSelectedCount: [1, "showSelectedCount"], noDataMessage: [1, "noDataMessage"], customMessageTemplate: [1, "customMessageTemplate"], options: [1, "options"], hideApplyButton: [1, "hideApplyButton"], searchInputPlaceholder: [1, "searchInputPlaceholder"], customLabelTemplate: [1, "customLabelTemplate"] }, outputs: { onChange: "onChange" }, decls: 10, vars: 12, consts: [["select", ""], ["popupContainer", ""], ["searchField", ""], [1, "container", 3, "ngStyle"], ["tabindex", "0", 1, "dropdown", 3, "keyup.enter", "click", "ngStyle"], [1, "label"], [4, "ngIf"], ["width", "20", "height", "20", "viewBox", "0 0 20 20", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "handle", 3, "ngStyle"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z", "fill", "#181F33"], [1, "text"], ["class", "count", 4, "ngIf"], [1, "count"], [4, "ngTemplateOutlet"], [1, "popup-container", 3, "ngStyle", "ngClass"], ["class", "search-container", 4, "ngIf"], [1, "custom-message-container"], [1, "items"], ["class", "item", "tabindex", "0", 3, "ngClass", "keyup.enter", "click", 4, "ngFor", "ngForOf"], ["class", "noData", 4, "ngIf"], ["class", "actions-container", 4, "ngIf"], [1, "search-container"], ["class", "search-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 4, "ngIf"], [1, "search-input", 3, "ngModelChange", "focus", "ngModel", "ngStyle", "placeholder"], ["class", "cancel-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 3, "click", 4, "ngIf"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "search-icon"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z", "fill", "#6A737D"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "cancel-icon", 3, "click"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z", "fill", "#6A737D"], ["tabindex", "0", 1, "item", 3, "keyup.enter", "click", "ngClass"], [1, "checkbox-container-wrapper"], [1, "checkbox-container"], ["tabindex", "-1", 3, "checked"], ["class", "icon-container", 4, "ngIf"], [1, "icon-container"], ["alt", "no img", 1, "icon", 3, "src"], [1, "noData"], [1, "actions-container"], [3, "click", "ngStyle"], [3, "name", "type", "width"]], template: function MultiSelectDropdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
441
|
+
} }, inputs: { data: [1, "data"], selectedItems: [1, "selectedItems"], label: [1, "label"], height: [1, "height"], width: [1, "width"], dropdownListHeight: [1, "dropdownListHeight"], dropdownListWidth: [1, "dropdownListWidth"], dropdownListPosition: [1, "dropdownListPosition"], enableSelectAll: [1, "enableSelectAll"], searchEnabled: [1, "searchEnabled"], showSelectedCount: [1, "showSelectedCount"], noDataMessage: [1, "noDataMessage"], customMessageTemplate: [1, "customMessageTemplate"], options: [1, "options"], hideApplyButton: [1, "hideApplyButton"], searchInputPlaceholder: [1, "searchInputPlaceholder"], customLabelTemplate: [1, "customLabelTemplate"], noResultsText: [1, "noResultsText"] }, outputs: { onChange: "onChange" }, decls: 10, vars: 12, consts: [["select", ""], ["popupContainer", ""], ["searchField", ""], [1, "container", 3, "ngStyle"], ["tabindex", "0", 1, "dropdown", 3, "keyup.enter", "click", "ngStyle"], [1, "label"], [4, "ngIf"], ["width", "20", "height", "20", "viewBox", "0 0 20 20", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "handle", 3, "ngStyle"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z", "fill", "#181F33"], [1, "text"], ["class", "count", 4, "ngIf"], [1, "count"], [4, "ngTemplateOutlet"], [1, "popup-container", 3, "ngStyle", "ngClass"], ["class", "search-container", 4, "ngIf"], [1, "custom-message-container"], [1, "items"], ["class", "item", "tabindex", "0", 3, "ngClass", "keyup.enter", "click", 4, "ngFor", "ngForOf"], ["class", "noData", 4, "ngIf"], ["class", "actions-container", 4, "ngIf"], [1, "search-container"], ["class", "search-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 4, "ngIf"], [1, "search-input", 3, "ngModelChange", "focus", "ngModel", "ngStyle", "placeholder"], ["class", "cancel-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 3, "click", 4, "ngIf"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "search-icon"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z", "fill", "#6A737D"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "cancel-icon", 3, "click"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z", "fill", "#6A737D"], ["tabindex", "0", 1, "item", 3, "keyup.enter", "click", "ngClass"], [1, "checkbox-container-wrapper"], [1, "checkbox-container"], ["tabindex", "-1", 3, "checked"], ["class", "icon-container", 4, "ngIf"], [1, "icon-container"], ["alt", "no img", 1, "icon", 3, "src"], [1, "noData"], [1, "actions-container"], [3, "click", "ngStyle"], [3, "name", "type", "width"]], template: function MultiSelectDropdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
441
442
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
442
443
|
i0.ɵɵelementStart(0, "div", 3)(1, "div", 4, 0);
|
|
443
444
|
i0.ɵɵlistener("keyup.enter", function MultiSelectDropdownComponent_Template_div_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleDropdown()); })("click", function MultiSelectDropdownComponent_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleDropdown()); });
|
|
@@ -463,7 +464,7 @@ export class MultiSelectDropdownComponent {
|
|
|
463
464
|
}
|
|
464
465
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MultiSelectDropdownComponent, [{
|
|
465
466
|
type: Component,
|
|
466
|
-
args: [{ selector: 'mis-multi-select-dropdown', template: "<div\n class=\"container\"\n [ngStyle]=\"{\n height: height().length > 0 ? height() : '',\n width: width().length > 0 ? width() : ''\n }\"\n>\n <div\n class=\"dropdown\"\n #select\n tabindex=\"0\"\n (keyup.enter)=\"toggleDropdown()\"\n (click)=\"toggleDropdown()\"\n [ngStyle]=\"{ 'background': isOpen() ? '#E6EBF7' : '' }\"\n >\n <div class=\"label\">\n <ng-container *ngIf=\"!customLabelTemplate()\">\n <p class=\"text\">{{ label() }}</p>\n <p *ngIf=\"showSelectedCount() && internalSelectedItems()?.length > 0\" class=\"count\">\n {{ internalSelectedItems()?.length }}\n </p>\n </ng-container>\n <ng-container *ngIf=\"customLabelTemplate()\">\n <ng-container *ngTemplateOutlet=\"customLabelTemplate()\">\n </ng-container>\n </ng-container>\n </div>\n <svg\n class=\"handle\"\n [ngStyle]=\"{ 'transform': isOpen() ? 'rotate(180deg)' : 'rotate(0deg)' }\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\"\n fill=\"#181F33\"\n />\n </svg>\n </div>\n</div>\n<ng-template #popupContainer>\n <div\n class=\"popup-container\"\n [ngStyle]=\"{\n 'height': dropdownListHeight(),\n width: dropdownListWidth()\n }\"\n [ngClass]=\"{\n 'position-left': dropdownListPosition() === 'Left',\n 'position-right': dropdownListPosition() === 'Right'\n }\"\n >\n <!-- Search Bar -->\n <div *ngIf=\"searchEnabled()\" class=\"search-container\">\n <svg\n *ngIf=\"!isSearchInputFocused()\"\n class=\"search-icon\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n <input\n #searchField\n [ngModel]=\"searchInput()\"\n [ngStyle]=\"{\n paddingLeft: isSearchInputFocused() ? '12px' : '45px',\n border: isSearchInputFocused() ? '1px solid #0937B2' : '1px solid #e0e0e0',\n paddingRight: isSearchInputFocused() ? '45px' : '10px'\n }\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused() ? '' : searchInputPlaceholder()\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n />\n <svg\n *ngIf=\"isSearchInputFocused()\"\n class=\"cancel-icon\"\n (click)=\"searchInputCanceled($event)\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n\n <!-- Custom Message Template -->\n @if(customMessageTemplate()){\n <div class=\"custom-message-container\">\n <ng-container *ngTemplateOutlet=\"customMessageTemplate()\"></ng-container>\n </div>\n }\n\n <div class=\"items\">\n <div\n class=\"item\"\n tabindex=\"0\"\n (keyup.enter)=\"toggleSelectedItems($event, item)\"\n (click)=\"toggleSelectedItems($event, item)\"\n *ngFor=\"let item of displayData()\"\n [ngClass]=\"{'disabled':item.disabled}\"\n >\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox [checked]=\"item.checked\" tabindex=\"-1\"></mis-checkbox>\n </div>\n <p class=\"label\">\n {{ item.label }}\n </p>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"displayData().length === 0\">\n {{ searchInput() === \"\" ? noDataMessage() : \"No results\" }}\n </div>\n </div>\n <div *ngIf=\"internalData().length !== 0 && !hideApplyButton()\" class=\"actions-container\">\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\" (click)=\"onReset()\">\n <mis-button [name]=\"'Reset'\" [type]=\"'Text'\" [width]=\"'100%'\" ></mis-button>\n </div>\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\" (click)=\"applyFilters()\">\n <mis-button [name]=\"'Apply'\" [type]=\"'Solid'\" [width]=\"'100%'\" ></mis-button>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n", styles: [":root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-muted-secondary: #E5E5E5;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}.container{position:relative;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;height:32px;width:256px;font-family:Lato,sans-serif!important}.container .dropdown{height:inherit;border:1px solid var(--border-primary, #E0E0E0);border-radius:6px;background-color:var(--bg-primary, #FFFFFF);cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 12px;overflow:hidden}.container .dropdown:hover,.container .dropdown:focus-visible{background-color:var(--brand-primary-hover, #F0F3FA);outline:none}.container .dropdown .label{display:flex;justify-content:flex-start;align-items:center;width:calc(100% - 32px);font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.container .dropdown .label .text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.container .dropdown .label .count{background-color:var(--border-primary, #E0E0E0);border-radius:50%;padding:2px 7px;margin:0 0 0 8px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px;color:var(--text-primary, #181F33)}.container .dropdown .handle{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.popup-container{width:100%;max-height:340px;padding-bottom:0;border:1px solid var(--border-primary, #E0E0E0);border-radius:8px;background-color:var(--bg-primary, #FFFFFF);box-shadow:0 12px 24px #0000001f;display:flex;flex-direction:column;overflow:hidden;justify-content:flex-start}.popup-container::-webkit-scrollbar{width:0;height:0}.popup-container .search-container{position:relative;box-sizing:border-box;padding:8px}.popup-container .search-container .search-icon{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container .search-container .search-input{height:40px;width:100%;padding:12px;border:1px solid var(--border-primary, #E0E0E0);box-sizing:border-box;border-radius:8px;outline:none;caret-color:var(--brand-primary, #0937B2);font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:var(--text-primary, #181F33)}.popup-container .search-container .cancel-icon{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container .items{padding:8px 0 8px 8px;overflow-y:scroll}.popup-container .items::-webkit-scrollbar{width:5px;height:0}.popup-container .items::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB);border-radius:10px}.popup-container .items .noData{display:flex;justify-content:center;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.popup-container .items .disabled{pointer-events:none;opacity:.5}.popup-container .items .item{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;padding:8px 12px;border-radius:6px;height:auto}.popup-container .items .item:hover,.popup-container .items .item:focus-visible{background-color:var(--brand-primary-hover, #F0F3FA);outline:none}.popup-container .items .item .checkbox-container-wrapper{display:flex;justify-content:flex-start;align-items:center;width:90%}.popup-container .items .item .checkbox-container-wrapper .checkbox-container{display:block;position:relative;cursor:pointer;font-size:22px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.popup-container .items .item .checkbox-container-wrapper .checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.popup-container .items .item .checkbox-container-wrapper .checkbox-container input:checked~.checkmark:after{display:block}.popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark{position:absolute;top:-8px;left:0;height:15px;width:15px;border-radius:4px;background-color:var(--brand-info, #0091FF);border:1px solid var(--text-secondary, #6A737D)}.popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark:after{content:\"\";position:absolute;display:none;left:5px;top:2px;width:3px;height:6px;border:solid var(--bg-primary, #FFFFFF);border-width:0 2px 2px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.popup-container .items .item .checkbox-container-wrapper .label{margin:0 0 0 8px;line-height:20px;font-size:14px;font-style:normal;font-weight:400;letter-spacing:.2;text-overflow:ellipsis;overflow:hidden}.popup-container .items .item .icon-container{width:10%;display:flex;justify-content:flex-end}.popup-container .items .item .icon-container .icon{width:20px;height:20px}.popup-container .actions-container{display:flex;justify-content:space-between;bottom:0;align-items:center;position:sticky;padding:16px;background-color:var(--bg-primary, #FFFFFF);border-top:1px solid var(--border-primary, #E0E0E0);margin-top:auto}.popup-container .actions-container .cancel{cursor:pointer;padding:10px 32px;text-align:center;font-size:16px;line-height:24px;border-radius:8px}.popup-container .actions-container .cancel:hover{background:var(--bg-overlay-lightest, rgba(0, 0, 0, .04))}.popup-container .actions-container .apply{cursor:pointer;padding:10px 32px;text-align:center;color:var(--bg-primary, #FFFFFF);font-size:16px;line-height:24px;background:var(--brand-primary, #0937B2);border-radius:8px}\n"] }]
|
|
467
|
+
args: [{ selector: 'mis-multi-select-dropdown', template: "<div\n class=\"container\"\n [ngStyle]=\"{\n height: height().length > 0 ? height() : '',\n width: width().length > 0 ? width() : ''\n }\"\n>\n <div\n class=\"dropdown\"\n #select\n tabindex=\"0\"\n (keyup.enter)=\"toggleDropdown()\"\n (click)=\"toggleDropdown()\"\n [ngStyle]=\"{ 'background': isOpen() ? '#E6EBF7' : '' }\"\n >\n <div class=\"label\">\n <ng-container *ngIf=\"!customLabelTemplate()\">\n <p class=\"text\">{{ label() }}</p>\n <p *ngIf=\"showSelectedCount() && internalSelectedItems()?.length > 0\" class=\"count\">\n {{ internalSelectedItems()?.length }}\n </p>\n </ng-container>\n <ng-container *ngIf=\"customLabelTemplate()\">\n <ng-container *ngTemplateOutlet=\"customLabelTemplate()\">\n </ng-container>\n </ng-container>\n </div>\n <svg\n class=\"handle\"\n [ngStyle]=\"{ 'transform': isOpen() ? 'rotate(180deg)' : 'rotate(0deg)' }\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\"\n fill=\"#181F33\"\n />\n </svg>\n </div>\n</div>\n<ng-template #popupContainer>\n <div\n class=\"popup-container\"\n [ngStyle]=\"{\n 'height': dropdownListHeight(),\n width: dropdownListWidth()\n }\"\n [ngClass]=\"{\n 'position-left': dropdownListPosition() === 'Left',\n 'position-right': dropdownListPosition() === 'Right'\n }\"\n >\n <!-- Search Bar -->\n <div *ngIf=\"searchEnabled()\" class=\"search-container\">\n <svg\n *ngIf=\"!isSearchInputFocused()\"\n class=\"search-icon\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n <input\n #searchField\n [ngModel]=\"searchInput()\"\n [ngStyle]=\"{\n paddingLeft: isSearchInputFocused() ? '12px' : '45px',\n border: isSearchInputFocused() ? '1px solid #0937B2' : '1px solid #e0e0e0',\n paddingRight: isSearchInputFocused() ? '45px' : '10px'\n }\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused() ? '' : searchInputPlaceholder()\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n />\n <svg\n *ngIf=\"isSearchInputFocused()\"\n class=\"cancel-icon\"\n (click)=\"searchInputCanceled($event)\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n\n <!-- Custom Message Template -->\n @if(customMessageTemplate()){\n <div class=\"custom-message-container\">\n <ng-container *ngTemplateOutlet=\"customMessageTemplate()\"></ng-container>\n </div>\n }\n\n <div class=\"items\">\n <div\n class=\"item\"\n tabindex=\"0\"\n (keyup.enter)=\"toggleSelectedItems($event, item)\"\n (click)=\"toggleSelectedItems($event, item)\"\n *ngFor=\"let item of displayData()\"\n [ngClass]=\"{'disabled':item.disabled}\"\n >\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox [checked]=\"item.checked\" tabindex=\"-1\"></mis-checkbox>\n </div>\n <p class=\"label\">\n {{ item.label }}\n </p>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"displayData().length === 0\">\n {{ searchInput() === \"\" ? noDataMessage() : noResultsText() }}\n </div>\n </div>\n <div *ngIf=\"internalData().length !== 0 && !hideApplyButton()\" class=\"actions-container\">\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\" (click)=\"onReset()\">\n <mis-button [name]=\"'Reset'\" [type]=\"'Text'\" [width]=\"'100%'\" ></mis-button>\n </div>\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\" (click)=\"applyFilters()\">\n <mis-button [name]=\"'Apply'\" [type]=\"'Solid'\" [width]=\"'100%'\" ></mis-button>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n", styles: [":root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-muted-secondary: #E5E5E5;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}.container{position:relative;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;height:32px;width:256px;font-family:Lato,sans-serif!important}.container .dropdown{height:inherit;border:1px solid var(--border-primary, #E0E0E0);border-radius:6px;background-color:var(--bg-primary, #FFFFFF);cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 12px;overflow:hidden}.container .dropdown:hover,.container .dropdown:focus-visible{background-color:var(--brand-primary-hover, #F0F3FA);outline:none}.container .dropdown .label{display:flex;justify-content:flex-start;align-items:center;width:calc(100% - 32px);font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.container .dropdown .label .text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.container .dropdown .label .count{background-color:var(--border-primary, #E0E0E0);border-radius:50%;padding:2px 7px;margin:0 0 0 8px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px;color:var(--text-primary, #181F33)}.container .dropdown .handle{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.popup-container{width:100%;max-height:340px;padding-bottom:0;border:1px solid var(--border-primary, #E0E0E0);border-radius:8px;background-color:var(--bg-primary, #FFFFFF);box-shadow:0 12px 24px #0000001f;display:flex;flex-direction:column;overflow:hidden;justify-content:flex-start}.popup-container::-webkit-scrollbar{width:0;height:0}.popup-container .search-container{position:relative;box-sizing:border-box;padding:8px}.popup-container .search-container .search-icon{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container .search-container .search-input{height:40px;width:100%;padding:12px;border:1px solid var(--border-primary, #E0E0E0);box-sizing:border-box;border-radius:8px;outline:none;caret-color:var(--brand-primary, #0937B2);font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:var(--text-primary, #181F33)}.popup-container .search-container .cancel-icon{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container .items{padding:8px 0 8px 8px;overflow-y:scroll}.popup-container .items::-webkit-scrollbar{width:5px;height:0}.popup-container .items::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB);border-radius:10px}.popup-container .items .noData{display:flex;justify-content:center;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.popup-container .items .disabled{pointer-events:none;opacity:.5}.popup-container .items .item{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;padding:8px 12px;border-radius:6px;height:auto}.popup-container .items .item:hover,.popup-container .items .item:focus-visible{background-color:var(--brand-primary-hover, #F0F3FA);outline:none}.popup-container .items .item .checkbox-container-wrapper{display:flex;justify-content:flex-start;align-items:center;width:90%}.popup-container .items .item .checkbox-container-wrapper .checkbox-container{display:block;position:relative;cursor:pointer;font-size:22px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.popup-container .items .item .checkbox-container-wrapper .checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.popup-container .items .item .checkbox-container-wrapper .checkbox-container input:checked~.checkmark:after{display:block}.popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark{position:absolute;top:-8px;left:0;height:15px;width:15px;border-radius:4px;background-color:var(--brand-info, #0091FF);border:1px solid var(--text-secondary, #6A737D)}.popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark:after{content:\"\";position:absolute;display:none;left:5px;top:2px;width:3px;height:6px;border:solid var(--bg-primary, #FFFFFF);border-width:0 2px 2px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.popup-container .items .item .checkbox-container-wrapper .label{margin:0 0 0 8px;line-height:20px;font-size:14px;font-style:normal;font-weight:400;letter-spacing:.2;text-overflow:ellipsis;overflow:hidden}.popup-container .items .item .icon-container{width:10%;display:flex;justify-content:flex-end}.popup-container .items .item .icon-container .icon{width:20px;height:20px}.popup-container .actions-container{display:flex;justify-content:space-between;bottom:0;align-items:center;position:sticky;padding:16px;background-color:var(--bg-primary, #FFFFFF);border-top:1px solid var(--border-primary, #E0E0E0);margin-top:auto}.popup-container .actions-container .cancel{cursor:pointer;padding:10px 32px;text-align:center;font-size:16px;line-height:24px;border-radius:8px}.popup-container .actions-container .cancel:hover{background:var(--bg-overlay-lightest, rgba(0, 0, 0, .04))}.popup-container .actions-container .apply{cursor:pointer;padding:10px 32px;text-align:center;color:var(--bg-primary, #FFFFFF);font-size:16px;line-height:24px;background:var(--brand-primary, #0937B2);border-radius:8px}\n"] }]
|
|
467
468
|
}], () => [], { selectElement: [{
|
|
468
469
|
type: ViewChild,
|
|
469
470
|
args: ['select', { static: false }]
|
|
@@ -475,4 +476,4 @@ export class MultiSelectDropdownComponent {
|
|
|
475
476
|
args: ['searchField', { static: false }]
|
|
476
477
|
}] }); })();
|
|
477
478
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MultiSelectDropdownComponent, { className: "MultiSelectDropdownComponent" }); })();
|
|
478
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL211bHRpLXNlbGVjdC1kcm9wZG93bi9tdWx0aS1zZWxlY3QtZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvbXVsdGktc2VsZWN0LWRyb3Bkb3duL211bHRpLXNlbGVjdC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFFVixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBRUwsT0FBTyxFQUNQLHNCQUFzQixFQUN0QixhQUFhLEdBQ2QsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDRHhCLDZCQUFvRjtJQUNsRixZQUNGO0lBQUEsaUJBQUk7Ozs7SUFERixjQUNGO0lBREUsMkdBQ0Y7OztJQUpBLDZCQUE2QztJQUM3Qyw0QkFBZ0I7SUFBQSxZQUFhO0lBQUEsaUJBQUk7SUFDakMseUZBQW9GOzs7OztJQURwRSxlQUFhO0lBQWIsb0NBQWE7SUFDekIsY0FBZ0U7SUFBaEUscUlBQWdFOzs7SUFLcEUsd0JBQ2U7OztJQUZqQiw2QkFBNEM7SUFDMUMsK0dBQXdEOzs7O0lBQXpDLGNBQXVDO0lBQXZDLCtEQUF1Qzs7OztJQW9DcEQsK0JBUUM7SUFDQywyQkFLRTtJQUNKLGlCQUFNOzs7OztJQWNOLCtCQVNDO0lBTkMscU5BQVMsa0NBQTJCLEtBQUM7SUFPckMsMkJBS0U7SUFDSixpQkFBTTs7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e1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIHNpZ25hbCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIE92ZXJsYXlSZWYsXG4gIE92ZXJsYXksXG4gIENvbm5lY3Rpb25Qb3NpdGlvblBhaXIsXG4gIE92ZXJsYXlDb25maWcsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuZXhwb3J0IGludGVyZmFjZSBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGNoZWNrZWQ/OiBib29sZWFuO1xuICBpY29uPzogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT1BUSU9OUyB7XG4gIHNvcnRMYWJlbHM6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21pcy1tdWx0aS1zZWxlY3QtZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlTZWxlY3REcm9wZG93bkNvbXBvbmVudCB7XG4gIC8vIERlcGVuZGVuY2llcyBJbmplY3Rpb25cbiAgcHJpdmF0ZSByZWFkb25seSBlUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuICAvLyBTaWduYWwtYmFzZWQgSW5wdXRzXG4gIHB1YmxpYyBkYXRhID0gaW5wdXQ8TXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXT4oW10pO1xuICBwdWJsaWMgc2VsZWN0ZWRJdGVtcyA9IGlucHV0PE11bHRpU2VsZWN0RHJvcGRvd25JdGVtW10+KFtdKTtcbiAgcHVibGljIGxhYmVsID0gaW5wdXQ8c3RyaW5nPignU2VsZWN0Jyk7XG4gIHB1YmxpYyBoZWlnaHQgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcHVibGljIHdpZHRoID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHB1YmxpYyBkcm9wZG93bkxpc3RIZWlnaHQgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcHVibGljIGRyb3Bkb3duTGlzdFdpZHRoID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHB1YmxpYyBkcm9wZG93bkxpc3RQb3NpdGlvbiA9IGlucHV0PCdMZWZ0JyB8ICdSaWdodCc+KCdMZWZ0Jyk7XG4gIHB1YmxpYyBlbmFibGVTZWxlY3RBbGwgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyBzZWFyY2hFbmFibGVkID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIHB1YmxpYyBzaG93U2VsZWN0ZWRDb3VudCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIG5vRGF0YU1lc3NhZ2UgPSBpbnB1dDxzdHJpbmc+KCdObyBEYXRhJyk7XG4gIHB1YmxpYyBjdXN0b21NZXNzYWdlVGVtcGxhdGUgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+PigpO1xuICBwdWJsaWMgb3B0aW9ucyA9IGlucHV0PE9QVElPTlM+KHtcbiAgICBzb3J0TGFiZWxzOiB0cnVlLFxuICB9KTtcbiAgcHVibGljIGhpZGVBcHBseUJ1dHRvbiA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHNlYXJjaElucHV0UGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KCdTZWFyY2ggS2V5d29yZCcpO1xuICBwdWJsaWMgY3VzdG9tTGFiZWxUZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XG5cbiAgLy8gU2lnbmFsLWJhc2VkIE91dHB1dFxuICBwdWJsaWMgb25DaGFuZ2UgPSBvdXRwdXQ8TXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXT4oKTtcblxuICAvLyBJbnRlcm5hbCBTaWduYWxzIGZvciBjb21wb25lbnQgc3RhdGVcbiAgcHVibGljIGlzT3BlbiA9IHNpZ25hbChmYWxzZSk7XG4gIHB1YmxpYyBzZWFyY2hJbnB1dCA9IHNpZ25hbCgnJyk7XG4gIHB1YmxpYyBpc1NlYXJjaElucHV0Rm9jdXNlZCA9IHNpZ25hbChmYWxzZSk7XG4gIHB1YmxpYyBpbnRlcm5hbFNlbGVjdGVkSXRlbXMgPSBzaWduYWw8TXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXT4oW10pO1xuICBwdWJsaWMgaW50ZXJuYWxEYXRhID0gc2lnbmFsPE11bHRpU2VsZWN0RHJvcGRvd25JdGVtW10+KFtdKTtcblxuICAvLyBDb25zdGFudHNcbiAgcHJpdmF0ZSByZWFkb25seSBTRUxFQ1RfQUxMX0VOVU0gPSAnU0VMRUNUX0FMTF9FTkFCTEVEJztcblxuICBAVmlld0NoaWxkKCdzZWxlY3QnLCB7IHN0YXRpYzogZmFsc2UgfSkgc2VsZWN0RWxlbWVudDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgncG9wdXBDb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgcG9wdXBDb250YWluZXI6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdzZWFyY2hGaWVsZCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwcml2YXRlIHJlYWRvbmx5IHNlYXJjaElucHV0RWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZUlucHV0Q2hhbmdlcygpO1xuICAgIH0sIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgdGhpcy5vcGVuRHJvcGRvd24odGhpcy5wb3B1cENvbnRhaW5lciwgdGhpcy5zZWxlY3RFbGVtZW50Py5uYXRpdmVFbGVtZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEJlZm9yZSBkZXRhY2ggc28gdGhlIHNlYXJjaCBpbnB1dCBzdGlsbCBleGlzdHMgZm9yIGJsdXIoKVxuICAgICAgICB0aGlzLmNsZWFyU2VhcmNoT25DbG9zZSgpO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgICAgfVxuICAgIH0sIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XG4gIH1cblxuICAvKiogQ2xlYXJzIHNlYXJjaCB0ZXh0IGFuZCBmb2N1cyB3aGVuIHRoZSBkcm9wZG93biBjbG9zZXMgKHJ1bnMgYmVmb3JlIG92ZXJsYXkgZGV0YWNoKS4gKi9cbiAgcHJpdmF0ZSBjbGVhclNlYXJjaE9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hJbnB1dEVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQ/LmJsdXIoKTtcbiAgICB0aGlzLnNlYXJjaElucHV0LnNldCgnJyk7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZC5zZXQoZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVmZmVjdCB0byBtYW5hZ2UgdGhlIGNvbXBvbmVudCdzIGludGVybmFsIHN0YXRlIGJhc2VkIG9uIGV4dGVybmFsIGlucHV0cy5cbiAgICovXG4gIHByaXZhdGUgaGFuZGxlSW5wdXRDaGFuZ2VzKCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZGF0YSgpO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZEl0ZW1zKCk7XG5cbiAgICBjb25zdCBmb3JtYXR0ZWREYXRhID0gdmFsdWVzPy5tYXAoaXRlbSA9PiAoe1xuICAgICAgLi4uaXRlbSxcbiAgICAgIGNoZWNrZWQ6IHNlbGVjdGVkPy5zb21lKHMgPT4gcy52YWx1ZSA9PT0gaXRlbS52YWx1ZSkgPz8gZmFsc2VcbiAgICB9KSkgfHwgW107XG4gICAgXG4gICAgdGhpcy5pbnRlcm5hbERhdGEuc2V0KGZvcm1hdHRlZERhdGEpO1xuICAgIHRoaXMuaW50ZXJuYWxTZWxlY3RlZEl0ZW1zLnNldChzZWxlY3RlZCB8fCBbXSk7XG5cbiAgICAvLyBBcHBseSB0aGUgJ3NlbGVjdCBhbGwnIGxvZ2ljXG4gICAgdGhpcy5pbnRlcm5hbERhdGEudXBkYXRlKGN1cnJlbnREYXRhID0+IHtcbiAgICAgIGNvbnN0IGlzU2VsZWN0QWxsID0gdGhpcy5lbmFibGVTZWxlY3RBbGwoKSAmJiBjdXJyZW50RGF0YS5ldmVyeShpdGVtID0+IGl0ZW0uY2hlY2tlZCB8fCBpdGVtLnZhbHVlID09PSB0aGlzLlNFTEVDVF9BTExfRU5VTSk7XG4gICAgICBjb25zdCBzZWxlY3RBbGxJdGVtID0ge1xuICAgICAgICBsYWJlbDogJ1NlbGVjdCBhbGwnLFxuICAgICAgICB2YWx1ZTogdGhpcy5TRUxFQ1RfQUxMX0VOVU0sXG4gICAgICAgIGNoZWNrZWQ6IGlzU2VsZWN0QWxsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBoYXNTZWxlY3RBbGwgPSBjdXJyZW50RGF0YS5zb21lKHQgPT4gdC52YWx1ZSA9PT0gdGhpcy5TRUxFQ1RfQUxMX0VOVU0pO1xuICAgICAgaWYgKHRoaXMuZW5hYmxlU2VsZWN0QWxsKCkpIHtcbiAgICAgICAgaWYgKCFoYXNTZWxlY3RBbGwpIHtcbiAgICAgICAgICByZXR1cm4gW3NlbGVjdEFsbEl0ZW0sIC4uLmN1cnJlbnREYXRhXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gY3VycmVudERhdGEubWFwKGl0ZW0gPT4gaXRlbS52YWx1ZSA9PT0gdGhpcy5TRUxFQ1RfQUxMX0VOVU0gPyBzZWxlY3RBbGxJdGVtIDogaXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50RGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLnZhbHVlICE9PSB0aGlzLlNFTEVDVF9BTExfRU5VTSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZWQgc2lnbmFsIGZvciB0aGUgZGF0YSB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIGRyb3Bkb3duIGxpc3QuXG4gICAqIEZpbHRlcnMgYmFzZWQgb24gc2VhcmNoIGlucHV0IGFuZCBzb3J0cyBpZiB0aGUgb3B0aW9uIGlzIGVuYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgZGlzcGxheURhdGEgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgbGV0IGRhdGFUb0Rpc3BsYXkgPSB0aGlzLnNlYXJjaEVuYWJsZWQoKSAmJiB0aGlzLnNlYXJjaElucHV0KCkgPyBcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQnlWYWx1ZSh0aGlzLmludGVybmFsRGF0YSgpLCB0aGlzLnNlYXJjaElucHV0KCkpIDogXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmludGVybmFsRGF0YSgpO1xuXG4gICAgaWYgKHRoaXMub3B0aW9ucygpLnNvcnRMYWJlbHMpIHtcbiAgICAgIGRhdGFUb0Rpc3BsYXkgPSB0aGlzLnNvcnREYXRhKGRhdGFUb0Rpc3BsYXkpO1xuICAgIH1cbiAgICBcbiAgICByZXR1cm4gZGF0YVRvRGlzcGxheTtcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEhlbHBlciBmdW5jdGlvbiB0byBzb3J0IHRoZSBkYXRhLlxuICAgKi9cbiAgcHJpdmF0ZSBzb3J0RGF0YShkYXRhOiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdKTogTXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXSB7XG4gICAgLy8gU2VwYXJhdGUgXCJTZWxlY3QgQWxsXCIgb3B0aW9uIGZyb20gb3RoZXIgaXRlbXNcbiAgICBjb25zdCBzZWxlY3RBbGxJdGVtID0gZGF0YS5maW5kKHQgPT4gdC52YWx1ZSA9PT0gdGhpcy5TRUxFQ1RfQUxMX0VOVU0pO1xuICAgIGNvbnN0IG90aGVySXRlbXMgPSBkYXRhLmZpbHRlcih0ID0+IHQudmFsdWUgIT09IHRoaXMuU0VMRUNUX0FMTF9FTlVNKTtcbiAgICBcbiAgICBjb25zdCBjaGVja2VkVmFsdWVzID0gb3RoZXJJdGVtcy5maWx0ZXIoYSA9PiBhLmNoZWNrZWQpO1xuICAgIGNvbnN0IHVuQ2hlY2tlZFZhbHVlcyA9IG90aGVySXRlbXMuZmlsdGVyKGEgPT4gIWEuY2hlY2tlZCk7XG5cbiAgICBjb25zdCBzb3J0Rm4gPSAoYTogTXVsdGlTZWxlY3REcm9wZG93bkl0ZW0sIGI6IE11bHRpU2VsZWN0RHJvcGRvd25JdGVtKSA9PiBhLmxhYmVsID4gYi5sYWJlbCA/IDEgOiAtMTtcbiAgICBcbiAgICBjb25zdCBzb3J0ZWRJdGVtcyA9IFtcbiAgICAgIC4uLmNoZWNrZWRWYWx1ZXMuc29ydChzb3J0Rm4pLFxuICAgICAgLi4udW5DaGVja2VkVmFsdWVzLnNvcnQoc29ydEZuKVxuICAgIF07XG4gICAgXG4gICAgLy8gQWRkIFwiU2VsZWN0IEFsbFwiIGF0IHRoZSB0b3AgaWYgaXQgZXhpc3RzXG4gICAgcmV0dXJuIHNlbGVjdEFsbEl0ZW0gPyBbc2VsZWN0QWxsSXRlbSwgLi4uc29ydGVkSXRlbXNdIDogc29ydGVkSXRlbXM7XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyIGZ1bmN0aW9uIHRvIGZpbHRlciB0aGUgZGF0YS5cbiAgICovXG4gIHByaXZhdGUgZmlsdGVyQnlWYWx1ZShhcnJheTogTXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXSwgc2VhcmNoOiBzdHJpbmcpOiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdIHtcbiAgICByZXR1cm4gYXJyYXkuZmlsdGVyKG8gPT4gbz8ubGFiZWw/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoLnRvTG93ZXJDYXNlKCkpKSB8fCBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSBkcm9wZG93bidzIG9wZW4vY2xvc2Ugc3RhdGUuXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgdGhpcy5pc09wZW4udXBkYXRlKGN1cnJlbnQgPT4gIWN1cnJlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZXMgdGhlIGNoZWNrZWQgc3RhdGUgb2YgYSBzcGVjaWZpYyBpdGVtLlxuICAgKiBIYW5kbGVzIHRoZSAnU2VsZWN0IEFsbCcgbG9naWMuXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlU2VsZWN0ZWRJdGVtcyhldmVudDogRXZlbnQsIGl0ZW06IE11bHRpU2VsZWN0RHJvcGRvd25JdGVtKTogdm9pZCB7XG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgaWYgKHRoaXMuZW5hYmxlU2VsZWN0QWxsKCkgJiYgaXRlbS52YWx1ZSA9PT0gdGhpcy5TRUxFQ1RfQUxMX0VOVU0pIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxEYXRhLnVwZGF0ZShpdGVtcyA9PlxuICAgICAgICBpdGVtcy5tYXAodCA9PiAoeyAuLi50LCBjaGVja2VkOiAhaXRlbS5jaGVja2VkIH0pKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnRlcm5hbERhdGEudXBkYXRlKGl0ZW1zID0+IHtcbiAgICAgICAgY29uc3QgdXBkYXRlZEl0ZW1zID0gaXRlbXMubWFwKGEgPT4gXG4gICAgICAgICAgYS52YWx1ZSA9PT0gaXRlbS52YWx1ZSA/IHsgLi4uYSwgY2hlY2tlZDogIWEuY2hlY2tlZCB9IDogYVxuICAgICAgICApO1xuICAgICAgICBcbiAgICAgICAgY29uc3QgYWxsQ2hlY2tlZCA9IHVwZGF0ZWRJdGVtc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIociA9PiByLnZhbHVlICE9PSB0aGlzLlNFTEVDVF9BTExfRU5VTSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZXZlcnkodCA9PiB0LmNoZWNrZWQpO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRJdGVtcy5tYXAoYSA9PiBcbiAgICAgICAgICBhLnZhbHVlID09PSB0aGlzLlNFTEVDVF9BTExfRU5VTSA/IHsgLi4uYSwgY2hlY2tlZDogYWxsQ2hlY2tlZCB9IDogYVxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGlkZUFwcGx5QnV0dG9uKCkpIHtcbiAgICAgIHRoaXMuYXBwbHlGaWx0ZXJzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBzZWxlY3RlZCBpdGVtcyBhbmQgY2xvc2VzIHRoZSBkcm9wZG93bi5cbiAgICovXG4gIHB1YmxpYyBhcHBseUZpbHRlcnMoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLmludGVybmFsRGF0YSgpXG4gICAgICAuZmlsdGVyKGEgPT4gYS5jaGVja2VkICYmIGEudmFsdWUgIT09IHRoaXMuU0VMRUNUX0FMTF9FTlVNKVxuICAgICAgLm1hcChpdGVtID0+IHtcbiAgICAgICAgY29uc3QgeyBjaGVja2VkLCAuLi5kYXRhIH0gPSBpdGVtO1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgIH0pO1xuICAgIFxuICAgIC8vIFVzZSB0aGUgc2lnbmFsIG91dHB1dCdzIGVtaXQgbWV0aG9kXG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHNlbGVjdGVkIGFzIE11bHRpU2VsZWN0RHJvcGRvd25JdGVtW10pO1xuICAgIHRoaXMuaW50ZXJuYWxTZWxlY3RlZEl0ZW1zLnNldChzZWxlY3RlZCBhcyBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdKTtcbiAgICBpZiAoIXRoaXMuaGlkZUFwcGx5QnV0dG9uKCkpIHtcbiAgICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgZHJvcGRvd24gdG8gYW4gZW1wdHkgc3RhdGUuXG4gICAqL1xuICBwdWJsaWMgb25SZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmludGVybmFsRGF0YS51cGRhdGUoaXRlbXMgPT4gXG4gICAgICBpdGVtcy5tYXAoaXRlbSA9PiAoeyAuLi5pdGVtLCBjaGVja2VkOiBmYWxzZSB9KSlcbiAgICApO1xuICAgIHRoaXMuYXBwbHlGaWx0ZXJzKCk7XG4gICAgdGhpcy5pc09wZW4uc2V0KGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGRyb3Bkb3duIGFuZCByZXZlcnRzIGFueSBjaGFuZ2VzLlxuICAgKi9cbiAgcHVibGljIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG4gICAgLy8gUmV2ZXJ0IGludGVybmFsIGRhdGEgdG8gbWF0Y2ggdGhlIGxhc3Qgc2VsZWN0ZWQgaXRlbXMgKHNlYXJjaCBjbGVhcmVkIGluIGlzT3BlbiBlZmZlY3QpXG4gICAgdGhpcy5oYW5kbGVJbnB1dENoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSBmb2N1cyBzdGF0ZSBvZiB0aGUgc2VhcmNoIGlucHV0LlxuICAgKi9cbiAgcHVibGljIHNlYXJjaElucHV0Rm9jdXNlZChpc0ZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzU2VhcmNoSW5wdXRGb2N1c2VkLnNldChpc0ZvY3VzZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgc2VhcmNoIGlucHV0IGFuZCB1bmZvY3VzZXMgaXQuXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoSW5wdXRDYW5jZWxlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnNlYXJjaElucHV0LnNldCgnJyk7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZC5zZXQoZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIGNoYW5nZSBldmVudCBmcm9tIHRoZSBzZWFyY2ggaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoSW5wdXRPbkNoYW5nZShuZXdWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hJbnB1dC5zZXQobmV3VmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW5kIGRpc3BsYXlzIHRoZSBvdmVybGF5IGZvciB0aGUgZHJvcGRvd24gbGlzdC5cbiAgICovXG4gIHByaXZhdGUgb3BlbkRyb3Bkb3duKFxuICAgIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxFbGVtZW50PixcbiAgICBvcmlnaW46IEhUTUxFbGVtZW50XG4gICk6IHZvaWQge1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYgJiYgdGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgcG9zaXRpb25zQm90dG9tID0gW1xuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnYm90dG9tJyB9LCB7IG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcgfSwgMCwgNCksXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6ICdlbmQnLCBvcmlnaW5ZOiAnYm90dG9tJyB9LCB7IG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnIH0sIDAsIDQpLFxuICAgIF07XG4gICAgY29uc3QgcG9zaXRpb25zVG9wID0gW1xuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAndG9wJyB9LCB7IG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2JvdHRvbScgfSwgMCwgLTQpLFxuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ3RvcCcgfSwgeyBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAnYm90dG9tJyB9LCAwLCAtNCksXG4gICAgXTtcblxuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhvcmlnaW4pXG4gICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgIC4uLih0aGlzLmRyb3Bkb3duTGlzdFBvc2l0aW9uKCkgPT09ICdSaWdodCcgPyBwb3NpdGlvbnNCb3R0b20ucmV2ZXJzZSgpIDogcG9zaXRpb25zQm90dG9tKSxcbiAgICAgICAgLi4uKHRoaXMuZHJvcGRvd25MaXN0UG9zaXRpb24oKSA9PT0gJ1JpZ2h0JyA/IHBvc2l0aW9uc1RvcC5yZXZlcnNlKCkgOiBwb3NpdGlvbnNUb3ApLFxuICAgICAgXSlcbiAgICAgIC53aXRoUHVzaCh0cnVlKTtcblxuICAgIGNvbnN0IGNvbmZpZ3MgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHdpZHRoOiBvcmlnaW4/LmNsaWVudFdpZHRoLFxuICAgIH0pO1xuICAgIFxuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlncyk7XG4gICAgXG4gICAgaWYgKHRoaXMuZHJvcGRvd25MaXN0V2lkdGgoKSkge1xuICAgICAgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVNpemUoeyB3aWR0aDogdGhpcy5kcm9wZG93bkxpc3RXaWR0aCgpIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RIZWlnaHQoKSkge1xuICAgICAgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVNpemUoeyBoZWlnaHQ6IHRoaXMuZHJvcGRvd25MaXN0SGVpZ2h0KCkgfSk7XG4gICAgfVxuICAgIFxuICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRlbXBsYXRlLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQ2FuY2VsKCkpO1xuICB9XG59XG5cbiIsIjxkaXZcbiAgY2xhc3M9XCJjb250YWluZXJcIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgaGVpZ2h0OiBoZWlnaHQoKS5sZW5ndGggPiAwID8gaGVpZ2h0KCkgOiAnJyxcbiAgICB3aWR0aDogd2lkdGgoKS5sZW5ndGggPiAwID8gd2lkdGgoKSA6ICcnXG4gIH1cIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJkcm9wZG93blwiXG4gICAgI3NlbGVjdFxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgKGtleXVwLmVudGVyKT1cInRvZ2dsZURyb3Bkb3duKClcIlxuICAgIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bigpXCJcbiAgICBbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kJzogaXNPcGVuKCkgPyAnI0U2RUJGNycgOiAnJyB9XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjdXN0b21MYWJlbFRlbXBsYXRlKClcIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dFwiPnt7IGxhYmVsKCkgfX08L3A+XG4gICAgICA8cCAqbmdJZj1cInNob3dTZWxlY3RlZENvdW50KCkgJiYgaW50ZXJuYWxTZWxlY3RlZEl0ZW1zKCk/Lmxlbmd0aCA+IDBcIiBjbGFzcz1cImNvdW50XCI+XG4gICAgICAgIHt7IGludGVybmFsU2VsZWN0ZWRJdGVtcygpPy5sZW5ndGggfX1cbiAgICAgIDwvcD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tTGFiZWxUZW1wbGF0ZSgpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tTGFiZWxUZW1wbGF0ZSgpXCI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8c3ZnXG4gICAgICBjbGFzcz1cImhhbmRsZVwiXG4gICAgICBbbmdTdHlsZV09XCJ7ICd0cmFuc2Zvcm0nOiBpc09wZW4oKSA/ICdyb3RhdGUoMTgwZGVnKScgOiAncm90YXRlKDBkZWcpJyB9XCJcbiAgICAgIHdpZHRoPVwiMjBcIlxuICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgIGQ9XCJNMTMuODI1IDcuMTU4NDVMMTAgMTAuOTc1MUw2LjE3NSA3LjE1ODQ1TDUgOC4zMzM0NUwxMCAxMy4zMzM0TDE1IDguMzMzNDVMMTMuODI1IDcuMTU4NDVaXCJcbiAgICAgICAgZmlsbD1cIiMxODFGMzNcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcG9wdXBDb250YWluZXI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInBvcHVwLWNvbnRhaW5lclwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgJ2hlaWdodCc6IGRyb3Bkb3duTGlzdEhlaWdodCgpLFxuICAgICAgd2lkdGg6IGRyb3Bkb3duTGlzdFdpZHRoKClcbiAgICB9XCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAncG9zaXRpb24tbGVmdCc6IGRyb3Bkb3duTGlzdFBvc2l0aW9uKCkgPT09ICdMZWZ0JyxcbiAgICAgICdwb3NpdGlvbi1yaWdodCc6IGRyb3Bkb3duTGlzdFBvc2l0aW9uKCkgPT09ICdSaWdodCdcbiAgICB9XCJcbiAgPlxuICAgICAgPCEtLSBTZWFyY2ggQmFyIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cInNlYXJjaEVuYWJsZWQoKVwiIGNsYXNzPVwic2VhcmNoLWNvbnRhaW5lclwiPlxuICAgICAgICA8c3ZnXG4gICAgICAgICAgKm5nSWY9XCIhaXNTZWFyY2hJbnB1dEZvY3VzZWQoKVwiXG4gICAgICAgICAgY2xhc3M9XCJzZWFyY2gtaWNvblwiXG4gICAgICAgICAgd2lkdGg9XCIyNFwiXG4gICAgICAgICAgaGVpZ2h0PVwiMjRcIlxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgZD1cIk00LjIxNTA4IDExLjE0NTZDNC4yMTUwOCA3LjMxNzkgNy4zMzcyMiA0LjIxMTY1IDExLjE5MjYgNC4yMTE2NUMxNS4wNDggNC4yMTE2NSAxOC4xNzAyIDcuMzE3OSAxOC4xNzAyIDExLjE0NTZDMTguMTcwMiAxMi42OTMxIDE3LjY1OTkgMTQuMTIyNiAxNi43OTcyIDE1LjI3NjdMMTUuMzY4NSAxNi43MDEzQzE0LjIwNDQgMTcuNTY2OCAxMi43NTkgMTguMDc5NiAxMS4xOTI2IDE4LjA3OTZDNy4zMzcyMiAxOC4wNzk2IDQuMjE1MDggMTQuOTczNCA0LjIxNTA4IDExLjE0NTZaTTE1Ljk0MjEgMTcuNzgzNUMxNC42MDIxIDE4LjczMjkgMTIuOTYyNyAxOS4yOTEzIDExLjE5MjYgMTkuMjkxM0M2LjY2OTc3IDE5LjI5MTMgMyAxNS42NDYxIDMgMTEuMTQ1NkMzIDYuNjQ1MTIgNi42Njk3NyAzIDExLjE5MjYgM0MxNS43MTU1IDMgMTkuMzg1MiA2LjY0NTEyIDE5LjM4NTIgMTEuMTQ1NkMxOS4zODUyIDEyLjkzNzEgMTguODAzNyAxNC41OTMxIDE3LjgxODQgMTUuOTM3NUwxOS44MzYxIDE3LjQwNDhDMjAuNjcwNSAxNy45MTIgMjEuNzU1NCAxOC42NTQzIDIwLjI0NTQgMjAuMjE1QzE4LjczNTMgMjEuNzc1NiAxOC4wMDk5IDIwLjY2NjMgMTcuNDk5MSAxOS44MzY0TDE1Ljk0MjEgMTcuNzgzNVpcIlxuICAgICAgICAgICAgZmlsbD1cIiM2QTczN0RcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAjc2VhcmNoRmllbGRcbiAgICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2hJbnB1dCgpXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICBwYWRkaW5nTGVmdDogaXNTZWFyY2hJbnB1dEZvY3VzZWQoKSA/ICcxMnB4JyA6ICc0NXB4JyxcbiAgICAgICAgICAgIGJvcmRlcjogaXNTZWFyY2hJbnB1dEZvY3VzZWQoKSA/ICcxcHggc29saWQgIzA5MzdCMicgOiAnMXB4IHNvbGlkICNlMGUwZTAnLFxuICAgICAgICAgICAgcGFkZGluZ1JpZ2h0OiBpc1NlYXJjaElucHV0Rm9jdXNlZCgpID8gJzQ1cHgnIDogJzEwcHgnXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoSW5wdXRPbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiaXNTZWFyY2hJbnB1dEZvY3VzZWQoKSA/ICcnIDogc2VhcmNoSW5wdXRQbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICAoZm9jdXMpPVwic2VhcmNoSW5wdXRGb2N1c2VkKHRydWUpXCJcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaC1pbnB1dFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxzdmdcbiAgICAgICAgICAqbmdJZj1cImlzU2VhcmNoSW5wdXRGb2N1c2VkKClcIlxuICAgICAgICAgIGNsYXNzPVwiY2FuY2VsLWljb25cIlxuICAgICAgICAgIChjbGljayk9XCJzZWFyY2hJbnB1dENhbmNlbGVkKCRldmVudClcIlxuICAgICAgICAgIHdpZHRoPVwiMjRcIlxuICAgICAgICAgIGhlaWdodD1cIjI0XCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgID5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgIGQ9XCJNOC44NzQ0NiA3LjMyMTQ0QzguNDQ1ODggNi44OTI4NSA3Ljc1MSA2Ljg5Mjg1IDcuMzIyNDIgNy4zMjE0NEM2Ljg5MzgzIDcuNzUwMDIgNi44OTM4MyA4LjQ0NDkgNy4zMjI0MiA4Ljg3MzQ5TDEwLjQ0ODggMTEuOTk5OUw3LjMyMzU3IDE1LjEyNTJDNi44OTQ5OCAxNS41NTM4IDYuODk0OTggMTYuMjQ4NiA3LjMyMzU3IDE2LjY3NzJDNy43NTIxNSAxNy4xMDU4IDguNDQ3MDMgMTcuMTA1OCA4Ljg3NTYxIDE2LjY3NzJMMTIuMDAwOSAxMy41NTJMMTUuMTI2MSAxNi42NzcyQzE1LjU1NDcgMTcuMTA1OCAxNi4yNDk2IDE3LjEwNTggMTYuNjc4MSAxNi42NzcyQzE3LjEwNjcgMTYuMjQ4NiAxNy4xMDY3IDE1LjU1MzcgMTYuNjc4MSAxNS4xMjUxTDEzLjU1MjkgMTEuOTk5OUwxNi42NzkzIDguODczNTRDMTcuMTA3OSA4LjQ0NDk2IDE3LjEwNzkgNy43NTAwOCAxNi42NzkzIDcuMzIxNUMxNi4yNTA3IDYuODkyOTEgMTUuNTU1OCA2Ljg5MjkxIDE1LjEyNzMgNy4zMjE1TDEyLjAwMDkgMTAuNDQ3OUw4Ljg3NDQ2IDcuMzIxNDRaXCJcbiAgICAgICAgICAgIGZpbGw9XCIjNkE3MzdEXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIEN1c3RvbSBNZXNzYWdlIFRlbXBsYXRlIC0tPlxuICAgICAgIEBpZihjdXN0b21NZXNzYWdlVGVtcGxhdGUoKSl7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tbWVzc2FnZS1jb250YWluZXJcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tTWVzc2FnZVRlbXBsYXRlKClcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJpdGVtc1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJpdGVtXCJcbiAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJ0b2dnbGVTZWxlY3RlZEl0ZW1zKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTZWxlY3RlZEl0ZW1zKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXlEYXRhKClcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOml0ZW0uZGlzYWJsZWR9XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC1jb250YWluZXItd3JhcHBlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICA8bWlzLWNoZWNrYm94IFtjaGVja2VkXT1cIml0ZW0uY2hlY2tlZFwiIHRhYmluZGV4PVwiLTFcIj48L21pcy1jaGVja2JveD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiAqbmdJZj1cIml0ZW0uaWNvblwiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cImljb25cIiBbc3JjXT1cIml0ZW0uaWNvblwiIGFsdD1cIm5vIGltZ1wiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibm9EYXRhXCIgKm5nSWY9XCJkaXNwbGF5RGF0YSgpLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgIHt7IHNlYXJjaElucHV0KCkgPT09IFwiXCIgPyBub0RhdGFNZXNzYWdlKCkgOiBcIk5vIHJlc3VsdHNcIiB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJpbnRlcm5hbERhdGEoKS5sZW5ndGggIT09IDAgJiYgIWhpZGVBcHBseUJ1dHRvbigpXCIgY2xhc3M9XCJhY3Rpb25zLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBbbmdTdHlsZV09XCJ7J3dpZHRoJzogJ2NhbGMoNTAlIC0gNHB4KSd9XCIgKGNsaWNrKT1cIm9uUmVzZXQoKVwiPlxuICAgICAgICA8bWlzLWJ1dHRvbiBbbmFtZV09XCInUmVzZXQnXCIgW3R5cGVdPVwiJ1RleHQnXCIgW3dpZHRoXT1cIicxMDAlJ1wiID48L21pcy1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgW25nU3R5bGVdPVwieyd3aWR0aCc6ICdjYWxjKDUwJSAtIDRweCknfVwiIChjbGljayk9XCJhcHBseUZpbHRlcnMoKVwiPlxuICAgICAgICA8bWlzLWJ1dHRvbiBbbmFtZV09XCInQXBwbHknXCIgW3R5cGVdPVwiJ1NvbGlkJ1wiIFt3aWR0aF09XCInMTAwJSdcIiA+PC9taXMtYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuXG4iXX0=
|
|
479
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL211bHRpLXNlbGVjdC1kcm9wZG93bi9tdWx0aS1zZWxlY3QtZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvbXVsdGktc2VsZWN0LWRyb3Bkb3duL211bHRpLXNlbGVjdC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFFVixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBRUwsT0FBTyxFQUNQLHNCQUFzQixFQUN0QixhQUFhLEdBQ2QsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDRHhCLDZCQUFvRjtJQUNsRixZQUNGO0lBQUEsaUJBQUk7Ozs7SUFERixjQUNGO0lBREUsMkdBQ0Y7OztJQUpBLDZCQUE2QztJQUM3Qyw0QkFBZ0I7SUFBQSxZQUFhO0lBQUEsaUJBQUk7SUFDakMseUZBQW9GOzs7OztJQURwRSxlQUFhO0lBQWIsb0NBQWE7SUFDekIsY0FBZ0U7SUFBaEUscUlBQWdFOzs7SUFLcEUsd0JBQ2U7OztJQUZqQiw2QkFBNEM7SUFDMUMsK0dBQXdEOzs7O0lBQXpDLGNBQXVDO0lBQXZDLCtEQUF1Qzs7OztJQW9DcEQsK0JBUUM7SUFDQywyQkFLRTtJQUNKLGlCQUFNOzs7OztJQWNOLCtCQVNDO0lBTkMscU5BQVMsa0NBQTJCLEtBQUM7SUFPckMsMkJBS0U7SUFDSixpQkFBTTs7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a0ZBM0NoQyw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIHNpZ25hbCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIE92ZXJsYXlSZWYsXG4gIE92ZXJsYXksXG4gIENvbm5lY3Rpb25Qb3NpdGlvblBhaXIsXG4gIE92ZXJsYXlDb25maWcsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuZXhwb3J0IGludGVyZmFjZSBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGNoZWNrZWQ/OiBib29sZWFuO1xuICBpY29uPzogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT1BUSU9OUyB7XG4gIHNvcnRMYWJlbHM6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21pcy1tdWx0aS1zZWxlY3QtZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlTZWxlY3REcm9wZG93bkNvbXBvbmVudCB7XG4gIC8vIERlcGVuZGVuY2llcyBJbmplY3Rpb25cbiAgcHJpdmF0ZSByZWFkb25seSBlUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuICAvLyBTaWduYWwtYmFzZWQgSW5wdXRzXG4gIHB1YmxpYyBkYXRhID0gaW5wdXQ8TXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXT4oW10pO1xuICBwdWJsaWMgc2VsZWN0ZWRJdGVtcyA9IGlucHV0PE11bHRpU2VsZWN0RHJvcGRvd25JdGVtW10+KFtdKTtcbiAgcHVibGljIGxhYmVsID0gaW5wdXQ8c3RyaW5nPignU2VsZWN0Jyk7XG4gIHB1YmxpYyBoZWlnaHQgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcHVibGljIHdpZHRoID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHB1YmxpYyBkcm9wZG93bkxpc3RIZWlnaHQgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcHVibGljIGRyb3Bkb3duTGlzdFdpZHRoID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHB1YmxpYyBkcm9wZG93bkxpc3RQb3NpdGlvbiA9IGlucHV0PCdMZWZ0JyB8ICdSaWdodCc+KCdMZWZ0Jyk7XG4gIHB1YmxpYyBlbmFibGVTZWxlY3RBbGwgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyBzZWFyY2hFbmFibGVkID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIHB1YmxpYyBzaG93U2VsZWN0ZWRDb3VudCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIG5vRGF0YU1lc3NhZ2UgPSBpbnB1dDxzdHJpbmc+KCdObyBEYXRhJyk7XG4gIHB1YmxpYyBjdXN0b21NZXNzYWdlVGVtcGxhdGUgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+PigpO1xuICBwdWJsaWMgb3B0aW9ucyA9IGlucHV0PE9QVElPTlM+KHtcbiAgICBzb3J0TGFiZWxzOiB0cnVlLFxuICB9KTtcbiAgcHVibGljIGhpZGVBcHBseUJ1dHRvbiA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHNlYXJjaElucHV0UGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KCdTZWFyY2ggS2V5d29yZCcpO1xuICBwdWJsaWMgY3VzdG9tTGFiZWxUZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XG4gIHB1YmxpYyBub1Jlc3VsdHNUZXh0ID0gaW5wdXQ8c3RyaW5nPihcIk5vIHJlc3VsdHNcIik7XG5cbiAgLy8gU2lnbmFsLWJhc2VkIE91dHB1dFxuICBwdWJsaWMgb25DaGFuZ2UgPSBvdXRwdXQ8TXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXT4oKTtcblxuICAvLyBJbnRlcm5hbCBTaWduYWxzIGZvciBjb21wb25lbnQgc3RhdGVcbiAgcHVibGljIGlzT3BlbiA9IHNpZ25hbChmYWxzZSk7XG4gIHB1YmxpYyBzZWFyY2hJbnB1dCA9IHNpZ25hbCgnJyk7XG4gIHB1YmxpYyBpc1NlYXJjaElucHV0Rm9jdXNlZCA9IHNpZ25hbChmYWxzZSk7XG4gIHB1YmxpYyBpbnRlcm5hbFNlbGVjdGVkSXRlbXMgPSBzaWduYWw8TXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXT4oW10pO1xuICBwdWJsaWMgaW50ZXJuYWxEYXRhID0gc2lnbmFsPE11bHRpU2VsZWN0RHJvcGRvd25JdGVtW10+KFtdKTtcblxuICAvLyBDb25zdGFudHNcbiAgcHJpdmF0ZSByZWFkb25seSBTRUxFQ1RfQUxMX0VOVU0gPSAnU0VMRUNUX0FMTF9FTkFCTEVEJztcblxuICBAVmlld0NoaWxkKCdzZWxlY3QnLCB7IHN0YXRpYzogZmFsc2UgfSkgc2VsZWN0RWxlbWVudDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgncG9wdXBDb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgcG9wdXBDb250YWluZXI6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdzZWFyY2hGaWVsZCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwcml2YXRlIHJlYWRvbmx5IHNlYXJjaElucHV0RWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZUlucHV0Q2hhbmdlcygpO1xuICAgIH0sIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgdGhpcy5vcGVuRHJvcGRvd24odGhpcy5wb3B1cENvbnRhaW5lciwgdGhpcy5zZWxlY3RFbGVtZW50Py5uYXRpdmVFbGVtZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEJlZm9yZSBkZXRhY2ggc28gdGhlIHNlYXJjaCBpbnB1dCBzdGlsbCBleGlzdHMgZm9yIGJsdXIoKVxuICAgICAgICB0aGlzLmNsZWFyU2VhcmNoT25DbG9zZSgpO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgICAgfVxuICAgIH0sIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XG4gIH1cblxuICAvKiogQ2xlYXJzIHNlYXJjaCB0ZXh0IGFuZCBmb2N1cyB3aGVuIHRoZSBkcm9wZG93biBjbG9zZXMgKHJ1bnMgYmVmb3JlIG92ZXJsYXkgZGV0YWNoKS4gKi9cbiAgcHJpdmF0ZSBjbGVhclNlYXJjaE9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hJbnB1dEVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQ/LmJsdXIoKTtcbiAgICB0aGlzLnNlYXJjaElucHV0LnNldCgnJyk7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZC5zZXQoZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVmZmVjdCB0byBtYW5hZ2UgdGhlIGNvbXBvbmVudCdzIGludGVybmFsIHN0YXRlIGJhc2VkIG9uIGV4dGVybmFsIGlucHV0cy5cbiAgICovXG4gIHByaXZhdGUgaGFuZGxlSW5wdXRDaGFuZ2VzKCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZGF0YSgpO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZEl0ZW1zKCk7XG5cbiAgICBjb25zdCBmb3JtYXR0ZWREYXRhID0gdmFsdWVzPy5tYXAoaXRlbSA9PiAoe1xuICAgICAgLi4uaXRlbSxcbiAgICAgIGNoZWNrZWQ6IHNlbGVjdGVkPy5zb21lKHMgPT4gcy52YWx1ZSA9PT0gaXRlbS52YWx1ZSkgPz8gZmFsc2VcbiAgICB9KSkgfHwgW107XG4gICAgXG4gICAgdGhpcy5pbnRlcm5hbERhdGEuc2V0KGZvcm1hdHRlZERhdGEpO1xuICAgIHRoaXMuaW50ZXJuYWxTZWxlY3RlZEl0ZW1zLnNldChzZWxlY3RlZCB8fCBbXSk7XG5cbiAgICAvLyBBcHBseSB0aGUgJ3NlbGVjdCBhbGwnIGxvZ2ljXG4gICAgdGhpcy5pbnRlcm5hbERhdGEudXBkYXRlKGN1cnJlbnREYXRhID0+IHtcbiAgICAgIGNvbnN0IGlzU2VsZWN0QWxsID0gdGhpcy5lbmFibGVTZWxlY3RBbGwoKSAmJiBjdXJyZW50RGF0YS5ldmVyeShpdGVtID0+IGl0ZW0uY2hlY2tlZCB8fCBpdGVtLnZhbHVlID09PSB0aGlzLlNFTEVDVF9BTExfRU5VTSk7XG4gICAgICBjb25zdCBzZWxlY3RBbGxJdGVtID0ge1xuICAgICAgICBsYWJlbDogJ1NlbGVjdCBhbGwnLFxuICAgICAgICB2YWx1ZTogdGhpcy5TRUxFQ1RfQUxMX0VOVU0sXG4gICAgICAgIGNoZWNrZWQ6IGlzU2VsZWN0QWxsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBoYXNTZWxlY3RBbGwgPSBjdXJyZW50RGF0YS5zb21lKHQgPT4gdC52YWx1ZSA9PT0gdGhpcy5TRUxFQ1RfQUxMX0VOVU0pO1xuICAgICAgaWYgKHRoaXMuZW5hYmxlU2VsZWN0QWxsKCkpIHtcbiAgICAgICAgaWYgKCFoYXNTZWxlY3RBbGwpIHtcbiAgICAgICAgICByZXR1cm4gW3NlbGVjdEFsbEl0ZW0sIC4uLmN1cnJlbnREYXRhXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gY3VycmVudERhdGEubWFwKGl0ZW0gPT4gaXRlbS52YWx1ZSA9PT0gdGhpcy5TRUxFQ1RfQUxMX0VOVU0gPyBzZWxlY3RBbGxJdGVtIDogaXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50RGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLnZhbHVlICE9PSB0aGlzLlNFTEVDVF9BTExfRU5VTSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZWQgc2lnbmFsIGZvciB0aGUgZGF0YSB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIGRyb3Bkb3duIGxpc3QuXG4gICAqIEZpbHRlcnMgYmFzZWQgb24gc2VhcmNoIGlucHV0IGFuZCBzb3J0cyBpZiB0aGUgb3B0aW9uIGlzIGVuYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgZGlzcGxheURhdGEgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgbGV0IGRhdGFUb0Rpc3BsYXkgPSB0aGlzLnNlYXJjaEVuYWJsZWQoKSAmJiB0aGlzLnNlYXJjaElucHV0KCkgPyBcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQnlWYWx1ZSh0aGlzLmludGVybmFsRGF0YSgpLCB0aGlzLnNlYXJjaElucHV0KCkpIDogXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmludGVybmFsRGF0YSgpO1xuXG4gICAgaWYgKHRoaXMub3B0aW9ucygpLnNvcnRMYWJlbHMpIHtcbiAgICAgIGRhdGFUb0Rpc3BsYXkgPSB0aGlzLnNvcnREYXRhKGRhdGFUb0Rpc3BsYXkpO1xuICAgIH1cbiAgICBcbiAgICByZXR1cm4gZGF0YVRvRGlzcGxheTtcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEhlbHBlciBmdW5jdGlvbiB0byBzb3J0IHRoZSBkYXRhLlxuICAgKi9cbiAgcHJpdmF0ZSBzb3J0RGF0YShkYXRhOiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdKTogTXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXSB7XG4gICAgLy8gU2VwYXJhdGUgXCJTZWxlY3QgQWxsXCIgb3B0aW9uIGZyb20gb3RoZXIgaXRlbXNcbiAgICBjb25zdCBzZWxlY3RBbGxJdGVtID0gZGF0YS5maW5kKHQgPT4gdC52YWx1ZSA9PT0gdGhpcy5TRUxFQ1RfQUxMX0VOVU0pO1xuICAgIGNvbnN0IG90aGVySXRlbXMgPSBkYXRhLmZpbHRlcih0ID0+IHQudmFsdWUgIT09IHRoaXMuU0VMRUNUX0FMTF9FTlVNKTtcbiAgICBcbiAgICBjb25zdCBjaGVja2VkVmFsdWVzID0gb3RoZXJJdGVtcy5maWx0ZXIoYSA9PiBhLmNoZWNrZWQpO1xuICAgIGNvbnN0IHVuQ2hlY2tlZFZhbHVlcyA9IG90aGVySXRlbXMuZmlsdGVyKGEgPT4gIWEuY2hlY2tlZCk7XG5cbiAgICBjb25zdCBzb3J0Rm4gPSAoYTogTXVsdGlTZWxlY3REcm9wZG93bkl0ZW0sIGI6IE11bHRpU2VsZWN0RHJvcGRvd25JdGVtKSA9PiBhLmxhYmVsID4gYi5sYWJlbCA/IDEgOiAtMTtcbiAgICBcbiAgICBjb25zdCBzb3J0ZWRJdGVtcyA9IFtcbiAgICAgIC4uLmNoZWNrZWRWYWx1ZXMuc29ydChzb3J0Rm4pLFxuICAgICAgLi4udW5DaGVja2VkVmFsdWVzLnNvcnQoc29ydEZuKVxuICAgIF07XG4gICAgXG4gICAgLy8gQWRkIFwiU2VsZWN0IEFsbFwiIGF0IHRoZSB0b3AgaWYgaXQgZXhpc3RzXG4gICAgcmV0dXJuIHNlbGVjdEFsbEl0ZW0gPyBbc2VsZWN0QWxsSXRlbSwgLi4uc29ydGVkSXRlbXNdIDogc29ydGVkSXRlbXM7XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyIGZ1bmN0aW9uIHRvIGZpbHRlciB0aGUgZGF0YS5cbiAgICovXG4gIHByaXZhdGUgZmlsdGVyQnlWYWx1ZShhcnJheTogTXVsdGlTZWxlY3REcm9wZG93bkl0ZW1bXSwgc2VhcmNoOiBzdHJpbmcpOiBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdIHtcbiAgICByZXR1cm4gYXJyYXkuZmlsdGVyKG8gPT4gbz8ubGFiZWw/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoLnRvTG93ZXJDYXNlKCkpKSB8fCBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSBkcm9wZG93bidzIG9wZW4vY2xvc2Ugc3RhdGUuXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgdGhpcy5pc09wZW4udXBkYXRlKGN1cnJlbnQgPT4gIWN1cnJlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZXMgdGhlIGNoZWNrZWQgc3RhdGUgb2YgYSBzcGVjaWZpYyBpdGVtLlxuICAgKiBIYW5kbGVzIHRoZSAnU2VsZWN0IEFsbCcgbG9naWMuXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlU2VsZWN0ZWRJdGVtcyhldmVudDogRXZlbnQsIGl0ZW06IE11bHRpU2VsZWN0RHJvcGRvd25JdGVtKTogdm9pZCB7XG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgaWYgKHRoaXMuZW5hYmxlU2VsZWN0QWxsKCkgJiYgaXRlbS52YWx1ZSA9PT0gdGhpcy5TRUxFQ1RfQUxMX0VOVU0pIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxEYXRhLnVwZGF0ZShpdGVtcyA9PlxuICAgICAgICBpdGVtcy5tYXAodCA9PiAoeyAuLi50LCBjaGVja2VkOiAhaXRlbS5jaGVja2VkIH0pKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnRlcm5hbERhdGEudXBkYXRlKGl0ZW1zID0+IHtcbiAgICAgICAgY29uc3QgdXBkYXRlZEl0ZW1zID0gaXRlbXMubWFwKGEgPT4gXG4gICAgICAgICAgYS52YWx1ZSA9PT0gaXRlbS52YWx1ZSA/IHsgLi4uYSwgY2hlY2tlZDogIWEuY2hlY2tlZCB9IDogYVxuICAgICAgICApO1xuICAgICAgICBcbiAgICAgICAgY29uc3QgYWxsQ2hlY2tlZCA9IHVwZGF0ZWRJdGVtc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIociA9PiByLnZhbHVlICE9PSB0aGlzLlNFTEVDVF9BTExfRU5VTSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZXZlcnkodCA9PiB0LmNoZWNrZWQpO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRJdGVtcy5tYXAoYSA9PiBcbiAgICAgICAgICBhLnZhbHVlID09PSB0aGlzLlNFTEVDVF9BTExfRU5VTSA/IHsgLi4uYSwgY2hlY2tlZDogYWxsQ2hlY2tlZCB9IDogYVxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGlkZUFwcGx5QnV0dG9uKCkpIHtcbiAgICAgIHRoaXMuYXBwbHlGaWx0ZXJzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBzZWxlY3RlZCBpdGVtcyBhbmQgY2xvc2VzIHRoZSBkcm9wZG93bi5cbiAgICovXG4gIHB1YmxpYyBhcHBseUZpbHRlcnMoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLmludGVybmFsRGF0YSgpXG4gICAgICAuZmlsdGVyKGEgPT4gYS5jaGVja2VkICYmIGEudmFsdWUgIT09IHRoaXMuU0VMRUNUX0FMTF9FTlVNKVxuICAgICAgLm1hcChpdGVtID0+IHtcbiAgICAgICAgY29uc3QgeyBjaGVja2VkLCAuLi5kYXRhIH0gPSBpdGVtO1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgIH0pO1xuICAgIFxuICAgIC8vIFVzZSB0aGUgc2lnbmFsIG91dHB1dCdzIGVtaXQgbWV0aG9kXG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHNlbGVjdGVkIGFzIE11bHRpU2VsZWN0RHJvcGRvd25JdGVtW10pO1xuICAgIHRoaXMuaW50ZXJuYWxTZWxlY3RlZEl0ZW1zLnNldChzZWxlY3RlZCBhcyBNdWx0aVNlbGVjdERyb3Bkb3duSXRlbVtdKTtcbiAgICBpZiAoIXRoaXMuaGlkZUFwcGx5QnV0dG9uKCkpIHtcbiAgICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgZHJvcGRvd24gdG8gYW4gZW1wdHkgc3RhdGUuXG4gICAqL1xuICBwdWJsaWMgb25SZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmludGVybmFsRGF0YS51cGRhdGUoaXRlbXMgPT4gXG4gICAgICBpdGVtcy5tYXAoaXRlbSA9PiAoeyAuLi5pdGVtLCBjaGVja2VkOiBmYWxzZSB9KSlcbiAgICApO1xuICAgIHRoaXMuYXBwbHlGaWx0ZXJzKCk7XG4gICAgdGhpcy5pc09wZW4uc2V0KGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGRyb3Bkb3duIGFuZCByZXZlcnRzIGFueSBjaGFuZ2VzLlxuICAgKi9cbiAgcHVibGljIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG4gICAgLy8gUmV2ZXJ0IGludGVybmFsIGRhdGEgdG8gbWF0Y2ggdGhlIGxhc3Qgc2VsZWN0ZWQgaXRlbXMgKHNlYXJjaCBjbGVhcmVkIGluIGlzT3BlbiBlZmZlY3QpXG4gICAgdGhpcy5oYW5kbGVJbnB1dENoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSBmb2N1cyBzdGF0ZSBvZiB0aGUgc2VhcmNoIGlucHV0LlxuICAgKi9cbiAgcHVibGljIHNlYXJjaElucHV0Rm9jdXNlZChpc0ZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzU2VhcmNoSW5wdXRGb2N1c2VkLnNldChpc0ZvY3VzZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgc2VhcmNoIGlucHV0IGFuZCB1bmZvY3VzZXMgaXQuXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoSW5wdXRDYW5jZWxlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnNlYXJjaElucHV0LnNldCgnJyk7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZC5zZXQoZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIGNoYW5nZSBldmVudCBmcm9tIHRoZSBzZWFyY2ggaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoSW5wdXRPbkNoYW5nZShuZXdWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hJbnB1dC5zZXQobmV3VmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW5kIGRpc3BsYXlzIHRoZSBvdmVybGF5IGZvciB0aGUgZHJvcGRvd24gbGlzdC5cbiAgICovXG4gIHByaXZhdGUgb3BlbkRyb3Bkb3duKFxuICAgIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxFbGVtZW50PixcbiAgICBvcmlnaW46IEhUTUxFbGVtZW50XG4gICk6IHZvaWQge1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYgJiYgdGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgcG9zaXRpb25zQm90dG9tID0gW1xuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnYm90dG9tJyB9LCB7IG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcgfSwgMCwgNCksXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6ICdlbmQnLCBvcmlnaW5ZOiAnYm90dG9tJyB9LCB7IG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnIH0sIDAsIDQpLFxuICAgIF07XG4gICAgY29uc3QgcG9zaXRpb25zVG9wID0gW1xuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAndG9wJyB9LCB7IG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2JvdHRvbScgfSwgMCwgLTQpLFxuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ3RvcCcgfSwgeyBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAnYm90dG9tJyB9LCAwLCAtNCksXG4gICAgXTtcblxuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhvcmlnaW4pXG4gICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgIC4uLih0aGlzLmRyb3Bkb3duTGlzdFBvc2l0aW9uKCkgPT09ICdSaWdodCcgPyBwb3NpdGlvbnNCb3R0b20ucmV2ZXJzZSgpIDogcG9zaXRpb25zQm90dG9tKSxcbiAgICAgICAgLi4uKHRoaXMuZHJvcGRvd25MaXN0UG9zaXRpb24oKSA9PT0gJ1JpZ2h0JyA/IHBvc2l0aW9uc1RvcC5yZXZlcnNlKCkgOiBwb3NpdGlvbnNUb3ApLFxuICAgICAgXSlcbiAgICAgIC53aXRoUHVzaCh0cnVlKTtcblxuICAgIGNvbnN0IGNvbmZpZ3MgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHdpZHRoOiBvcmlnaW4/LmNsaWVudFdpZHRoLFxuICAgIH0pO1xuICAgIFxuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlncyk7XG4gICAgXG4gICAgaWYgKHRoaXMuZHJvcGRvd25MaXN0V2lkdGgoKSkge1xuICAgICAgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVNpemUoeyB3aWR0aDogdGhpcy5kcm9wZG93bkxpc3RXaWR0aCgpIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RIZWlnaHQoKSkge1xuICAgICAgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVNpemUoeyBoZWlnaHQ6IHRoaXMuZHJvcGRvd25MaXN0SGVpZ2h0KCkgfSk7XG4gICAgfVxuICAgIFxuICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRlbXBsYXRlLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQ2FuY2VsKCkpO1xuICB9XG59XG5cbiIsIjxkaXZcbiAgY2xhc3M9XCJjb250YWluZXJcIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgaGVpZ2h0OiBoZWlnaHQoKS5sZW5ndGggPiAwID8gaGVpZ2h0KCkgOiAnJyxcbiAgICB3aWR0aDogd2lkdGgoKS5sZW5ndGggPiAwID8gd2lkdGgoKSA6ICcnXG4gIH1cIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJkcm9wZG93blwiXG4gICAgI3NlbGVjdFxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgKGtleXVwLmVudGVyKT1cInRvZ2dsZURyb3Bkb3duKClcIlxuICAgIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bigpXCJcbiAgICBbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kJzogaXNPcGVuKCkgPyAnI0U2RUJGNycgOiAnJyB9XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjdXN0b21MYWJlbFRlbXBsYXRlKClcIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dFwiPnt7IGxhYmVsKCkgfX08L3A+XG4gICAgICA8cCAqbmdJZj1cInNob3dTZWxlY3RlZENvdW50KCkgJiYgaW50ZXJuYWxTZWxlY3RlZEl0ZW1zKCk/Lmxlbmd0aCA+IDBcIiBjbGFzcz1cImNvdW50XCI+XG4gICAgICAgIHt7IGludGVybmFsU2VsZWN0ZWRJdGVtcygpPy5sZW5ndGggfX1cbiAgICAgIDwvcD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tTGFiZWxUZW1wbGF0ZSgpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tTGFiZWxUZW1wbGF0ZSgpXCI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8c3ZnXG4gICAgICBjbGFzcz1cImhhbmRsZVwiXG4gICAgICBbbmdTdHlsZV09XCJ7ICd0cmFuc2Zvcm0nOiBpc09wZW4oKSA/ICdyb3RhdGUoMTgwZGVnKScgOiAncm90YXRlKDBkZWcpJyB9XCJcbiAgICAgIHdpZHRoPVwiMjBcIlxuICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgIGQ9XCJNMTMuODI1IDcuMTU4NDVMMTAgMTAuOTc1MUw2LjE3NSA3LjE1ODQ1TDUgOC4zMzM0NUwxMCAxMy4zMzM0TDE1IDguMzMzNDVMMTMuODI1IDcuMTU4NDVaXCJcbiAgICAgICAgZmlsbD1cIiMxODFGMzNcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcG9wdXBDb250YWluZXI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInBvcHVwLWNvbnRhaW5lclwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgJ2hlaWdodCc6IGRyb3Bkb3duTGlzdEhlaWdodCgpLFxuICAgICAgd2lkdGg6IGRyb3Bkb3duTGlzdFdpZHRoKClcbiAgICB9XCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAncG9zaXRpb24tbGVmdCc6IGRyb3Bkb3duTGlzdFBvc2l0aW9uKCkgPT09ICdMZWZ0JyxcbiAgICAgICdwb3NpdGlvbi1yaWdodCc6IGRyb3Bkb3duTGlzdFBvc2l0aW9uKCkgPT09ICdSaWdodCdcbiAgICB9XCJcbiAgPlxuICAgICAgPCEtLSBTZWFyY2ggQmFyIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cInNlYXJjaEVuYWJsZWQoKVwiIGNsYXNzPVwic2VhcmNoLWNvbnRhaW5lclwiPlxuICAgICAgICA8c3ZnXG4gICAgICAgICAgKm5nSWY9XCIhaXNTZWFyY2hJbnB1dEZvY3VzZWQoKVwiXG4gICAgICAgICAgY2xhc3M9XCJzZWFyY2gtaWNvblwiXG4gICAgICAgICAgd2lkdGg9XCIyNFwiXG4gICAgICAgICAgaGVpZ2h0PVwiMjRcIlxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgZD1cIk00LjIxNTA4IDExLjE0NTZDNC4yMTUwOCA3LjMxNzkgNy4zMzcyMiA0LjIxMTY1IDExLjE5MjYgNC4yMTE2NUMxNS4wNDggNC4yMTE2NSAxOC4xNzAyIDcuMzE3OSAxOC4xNzAyIDExLjE0NTZDMTguMTcwMiAxMi42OTMxIDE3LjY1OTkgMTQuMTIyNiAxNi43OTcyIDE1LjI3NjdMMTUuMzY4NSAxNi43MDEzQzE0LjIwNDQgMTcuNTY2OCAxMi43NTkgMTguMDc5NiAxMS4xOTI2IDE4LjA3OTZDNy4zMzcyMiAxOC4wNzk2IDQuMjE1MDggMTQuOTczNCA0LjIxNTA4IDExLjE0NTZaTTE1Ljk0MjEgMTcuNzgzNUMxNC42MDIxIDE4LjczMjkgMTIuOTYyNyAxOS4yOTEzIDExLjE5MjYgMTkuMjkxM0M2LjY2OTc3IDE5LjI5MTMgMyAxNS42NDYxIDMgMTEuMTQ1NkMzIDYuNjQ1MTIgNi42Njk3NyAzIDExLjE5MjYgM0MxNS43MTU1IDMgMTkuMzg1MiA2LjY0NTEyIDE5LjM4NTIgMTEuMTQ1NkMxOS4zODUyIDEyLjkzNzEgMTguODAzNyAxNC41OTMxIDE3LjgxODQgMTUuOTM3NUwxOS44MzYxIDE3LjQwNDhDMjAuNjcwNSAxNy45MTIgMjEuNzU1NCAxOC42NTQzIDIwLjI0NTQgMjAuMjE1QzE4LjczNTMgMjEuNzc1NiAxOC4wMDk5IDIwLjY2NjMgMTcuNDk5MSAxOS44MzY0TDE1Ljk0MjEgMTcuNzgzNVpcIlxuICAgICAgICAgICAgZmlsbD1cIiM2QTczN0RcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAjc2VhcmNoRmllbGRcbiAgICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2hJbnB1dCgpXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICBwYWRkaW5nTGVmdDogaXNTZWFyY2hJbnB1dEZvY3VzZWQoKSA/ICcxMnB4JyA6ICc0NXB4JyxcbiAgICAgICAgICAgIGJvcmRlcjogaXNTZWFyY2hJbnB1dEZvY3VzZWQoKSA/ICcxcHggc29saWQgIzA5MzdCMicgOiAnMXB4IHNvbGlkICNlMGUwZTAnLFxuICAgICAgICAgICAgcGFkZGluZ1JpZ2h0OiBpc1NlYXJjaElucHV0Rm9jdXNlZCgpID8gJzQ1cHgnIDogJzEwcHgnXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoSW5wdXRPbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiaXNTZWFyY2hJbnB1dEZvY3VzZWQoKSA/ICcnIDogc2VhcmNoSW5wdXRQbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICAoZm9jdXMpPVwic2VhcmNoSW5wdXRGb2N1c2VkKHRydWUpXCJcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaC1pbnB1dFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxzdmdcbiAgICAgICAgICAqbmdJZj1cImlzU2VhcmNoSW5wdXRGb2N1c2VkKClcIlxuICAgICAgICAgIGNsYXNzPVwiY2FuY2VsLWljb25cIlxuICAgICAgICAgIChjbGljayk9XCJzZWFyY2hJbnB1dENhbmNlbGVkKCRldmVudClcIlxuICAgICAgICAgIHdpZHRoPVwiMjRcIlxuICAgICAgICAgIGhlaWdodD1cIjI0XCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgID5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgIGQ9XCJNOC44NzQ0NiA3LjMyMTQ0QzguNDQ1ODggNi44OTI4NSA3Ljc1MSA2Ljg5Mjg1IDcuMzIyNDIgNy4zMjE0NEM2Ljg5MzgzIDcuNzUwMDIgNi44OTM4MyA4LjQ0NDkgNy4zMjI0MiA4Ljg3MzQ5TDEwLjQ0ODggMTEuOTk5OUw3LjMyMzU3IDE1LjEyNTJDNi44OTQ5OCAxNS41NTM4IDYuODk0OTggMTYuMjQ4NiA3LjMyMzU3IDE2LjY3NzJDNy43NTIxNSAxNy4xMDU4IDguNDQ3MDMgMTcuMTA1OCA4Ljg3NTYxIDE2LjY3NzJMMTIuMDAwOSAxMy41NTJMMTUuMTI2MSAxNi42NzcyQzE1LjU1NDcgMTcuMTA1OCAxNi4yNDk2IDE3LjEwNTggMTYuNjc4MSAxNi42NzcyQzE3LjEwNjcgMTYuMjQ4NiAxNy4xMDY3IDE1LjU1MzcgMTYuNjc4MSAxNS4xMjUxTDEzLjU1MjkgMTEuOTk5OUwxNi42NzkzIDguODczNTRDMTcuMTA3OSA4LjQ0NDk2IDE3LjEwNzkgNy43NTAwOCAxNi42NzkzIDcuMzIxNUMxNi4yNTA3IDYuODkyOTEgMTUuNTU1OCA2Ljg5MjkxIDE1LjEyNzMgNy4zMjE1TDEyLjAwMDkgMTAuNDQ3OUw4Ljg3NDQ2IDcuMzIxNDRaXCJcbiAgICAgICAgICAgIGZpbGw9XCIjNkE3MzdEXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIEN1c3RvbSBNZXNzYWdlIFRlbXBsYXRlIC0tPlxuICAgICAgIEBpZihjdXN0b21NZXNzYWdlVGVtcGxhdGUoKSl7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tbWVzc2FnZS1jb250YWluZXJcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tTWVzc2FnZVRlbXBsYXRlKClcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJpdGVtc1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJpdGVtXCJcbiAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJ0b2dnbGVTZWxlY3RlZEl0ZW1zKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTZWxlY3RlZEl0ZW1zKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXlEYXRhKClcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOml0ZW0uZGlzYWJsZWR9XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC1jb250YWluZXItd3JhcHBlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICA8bWlzLWNoZWNrYm94IFtjaGVja2VkXT1cIml0ZW0uY2hlY2tlZFwiIHRhYmluZGV4PVwiLTFcIj48L21pcy1jaGVja2JveD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiAqbmdJZj1cIml0ZW0uaWNvblwiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cImljb25cIiBbc3JjXT1cIml0ZW0uaWNvblwiIGFsdD1cIm5vIGltZ1wiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibm9EYXRhXCIgKm5nSWY9XCJkaXNwbGF5RGF0YSgpLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgIHt7IHNlYXJjaElucHV0KCkgPT09IFwiXCIgPyBub0RhdGFNZXNzYWdlKCkgOiBub1Jlc3VsdHNUZXh0KCkgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiaW50ZXJuYWxEYXRhKCkubGVuZ3RoICE9PSAwICYmICFoaWRlQXBwbHlCdXR0b24oKVwiIGNsYXNzPVwiYWN0aW9ucy1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgW25nU3R5bGVdPVwieyd3aWR0aCc6ICdjYWxjKDUwJSAtIDRweCknfVwiIChjbGljayk9XCJvblJlc2V0KClcIj5cbiAgICAgICAgPG1pcy1idXR0b24gW25hbWVdPVwiJ1Jlc2V0J1wiIFt0eXBlXT1cIidUZXh0J1wiIFt3aWR0aF09XCInMTAwJSdcIiA+PC9taXMtYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cInsnd2lkdGgnOiAnY2FsYyg1MCUgLSA0cHgpJ31cIiAoY2xpY2spPVwiYXBwbHlGaWx0ZXJzKClcIj5cbiAgICAgICAgPG1pcy1idXR0b24gW25hbWVdPVwiJ0FwcGx5J1wiIFt0eXBlXT1cIidTb2xpZCdcIiBbd2lkdGhdPVwiJzEwMCUnXCIgPjwvbWlzLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cblxuIl19
|
|
@@ -141,7 +141,7 @@ function MultiSelectDropdownComponent_ng_template_8_div_5_Template(rf, ctx) { if
|
|
|
141
141
|
} if (rf & 2) {
|
|
142
142
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
143
143
|
i0.ɵɵadvance();
|
|
144
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.searchInput() === "" ? ctx_r1.noDataMessage() :
|
|
144
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.searchInput() === "" ? ctx_r1.noDataMessage() : ctx_r1.noResultsText(), " ");
|
|
145
145
|
} }
|
|
146
146
|
function MultiSelectDropdownComponent_ng_template_8_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
147
147
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
@@ -211,6 +211,7 @@ class MultiSelectDropdownComponent {
|
|
|
211
211
|
this.hideApplyButton = input(false);
|
|
212
212
|
this.searchInputPlaceholder = input('Search Keyword');
|
|
213
213
|
this.customLabelTemplate = input();
|
|
214
|
+
this.noResultsText = input("No results");
|
|
214
215
|
// Signal-based Output
|
|
215
216
|
this.onChange = output();
|
|
216
217
|
// Internal Signals for component state
|
|
@@ -442,7 +443,7 @@ class MultiSelectDropdownComponent {
|
|
|
442
443
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.selectElement = _t.first);
|
|
443
444
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.popupContainer = _t.first);
|
|
444
445
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.searchInputElement = _t.first);
|
|
445
|
-
} }, inputs: { data: [1, "data"], selectedItems: [1, "selectedItems"], label: [1, "label"], height: [1, "height"], width: [1, "width"], dropdownListHeight: [1, "dropdownListHeight"], dropdownListWidth: [1, "dropdownListWidth"], dropdownListPosition: [1, "dropdownListPosition"], enableSelectAll: [1, "enableSelectAll"], searchEnabled: [1, "searchEnabled"], showSelectedCount: [1, "showSelectedCount"], noDataMessage: [1, "noDataMessage"], customMessageTemplate: [1, "customMessageTemplate"], options: [1, "options"], hideApplyButton: [1, "hideApplyButton"], searchInputPlaceholder: [1, "searchInputPlaceholder"], customLabelTemplate: [1, "customLabelTemplate"] }, outputs: { onChange: "onChange" }, decls: 10, vars: 12, consts: [["select", ""], ["popupContainer", ""], ["searchField", ""], [1, "container", 3, "ngStyle"], ["tabindex", "0", 1, "dropdown", 3, "keyup.enter", "click", "ngStyle"], [1, "label"], [4, "ngIf"], ["width", "20", "height", "20", "viewBox", "0 0 20 20", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "handle", 3, "ngStyle"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z", "fill", "#181F33"], [1, "text"], ["class", "count", 4, "ngIf"], [1, "count"], [4, "ngTemplateOutlet"], [1, "popup-container", 3, "ngStyle", "ngClass"], ["class", "search-container", 4, "ngIf"], [1, "custom-message-container"], [1, "items"], ["class", "item", "tabindex", "0", 3, "ngClass", "keyup.enter", "click", 4, "ngFor", "ngForOf"], ["class", "noData", 4, "ngIf"], ["class", "actions-container", 4, "ngIf"], [1, "search-container"], ["class", "search-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 4, "ngIf"], [1, "search-input", 3, "ngModelChange", "focus", "ngModel", "ngStyle", "placeholder"], ["class", "cancel-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 3, "click", 4, "ngIf"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "search-icon"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z", "fill", "#6A737D"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "cancel-icon", 3, "click"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z", "fill", "#6A737D"], ["tabindex", "0", 1, "item", 3, "keyup.enter", "click", "ngClass"], [1, "checkbox-container-wrapper"], [1, "checkbox-container"], ["tabindex", "-1", 3, "checked"], ["class", "icon-container", 4, "ngIf"], [1, "icon-container"], ["alt", "no img", 1, "icon", 3, "src"], [1, "noData"], [1, "actions-container"], [3, "click", "ngStyle"], [3, "name", "type", "width"]], template: function MultiSelectDropdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
446
|
+
} }, inputs: { data: [1, "data"], selectedItems: [1, "selectedItems"], label: [1, "label"], height: [1, "height"], width: [1, "width"], dropdownListHeight: [1, "dropdownListHeight"], dropdownListWidth: [1, "dropdownListWidth"], dropdownListPosition: [1, "dropdownListPosition"], enableSelectAll: [1, "enableSelectAll"], searchEnabled: [1, "searchEnabled"], showSelectedCount: [1, "showSelectedCount"], noDataMessage: [1, "noDataMessage"], customMessageTemplate: [1, "customMessageTemplate"], options: [1, "options"], hideApplyButton: [1, "hideApplyButton"], searchInputPlaceholder: [1, "searchInputPlaceholder"], customLabelTemplate: [1, "customLabelTemplate"], noResultsText: [1, "noResultsText"] }, outputs: { onChange: "onChange" }, decls: 10, vars: 12, consts: [["select", ""], ["popupContainer", ""], ["searchField", ""], [1, "container", 3, "ngStyle"], ["tabindex", "0", 1, "dropdown", 3, "keyup.enter", "click", "ngStyle"], [1, "label"], [4, "ngIf"], ["width", "20", "height", "20", "viewBox", "0 0 20 20", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "handle", 3, "ngStyle"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z", "fill", "#181F33"], [1, "text"], ["class", "count", 4, "ngIf"], [1, "count"], [4, "ngTemplateOutlet"], [1, "popup-container", 3, "ngStyle", "ngClass"], ["class", "search-container", 4, "ngIf"], [1, "custom-message-container"], [1, "items"], ["class", "item", "tabindex", "0", 3, "ngClass", "keyup.enter", "click", 4, "ngFor", "ngForOf"], ["class", "noData", 4, "ngIf"], ["class", "actions-container", 4, "ngIf"], [1, "search-container"], ["class", "search-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 4, "ngIf"], [1, "search-input", 3, "ngModelChange", "focus", "ngModel", "ngStyle", "placeholder"], ["class", "cancel-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 3, "click", 4, "ngIf"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "search-icon"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z", "fill", "#6A737D"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "cancel-icon", 3, "click"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z", "fill", "#6A737D"], ["tabindex", "0", 1, "item", 3, "keyup.enter", "click", "ngClass"], [1, "checkbox-container-wrapper"], [1, "checkbox-container"], ["tabindex", "-1", 3, "checked"], ["class", "icon-container", 4, "ngIf"], [1, "icon-container"], ["alt", "no img", 1, "icon", 3, "src"], [1, "noData"], [1, "actions-container"], [3, "click", "ngStyle"], [3, "name", "type", "width"]], template: function MultiSelectDropdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
446
447
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
447
448
|
i0.ɵɵelementStart(0, "div", 3)(1, "div", 4, 0);
|
|
448
449
|
i0.ɵɵlistener("keyup.enter", function MultiSelectDropdownComponent_Template_div_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleDropdown()); })("click", function MultiSelectDropdownComponent_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleDropdown()); });
|
|
@@ -468,7 +469,7 @@ class MultiSelectDropdownComponent {
|
|
|
468
469
|
}
|
|
469
470
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MultiSelectDropdownComponent, [{
|
|
470
471
|
type: Component,
|
|
471
|
-
args: [{ selector: 'mis-multi-select-dropdown', template: "<div\n class=\"container\"\n [ngStyle]=\"{\n height: height().length > 0 ? height() : '',\n width: width().length > 0 ? width() : ''\n }\"\n>\n <div\n class=\"dropdown\"\n #select\n tabindex=\"0\"\n (keyup.enter)=\"toggleDropdown()\"\n (click)=\"toggleDropdown()\"\n [ngStyle]=\"{ 'background': isOpen() ? '#E6EBF7' : '' }\"\n >\n <div class=\"label\">\n <ng-container *ngIf=\"!customLabelTemplate()\">\n <p class=\"text\">{{ label() }}</p>\n <p *ngIf=\"showSelectedCount() && internalSelectedItems()?.length > 0\" class=\"count\">\n {{ internalSelectedItems()?.length }}\n </p>\n </ng-container>\n <ng-container *ngIf=\"customLabelTemplate()\">\n <ng-container *ngTemplateOutlet=\"customLabelTemplate()\">\n </ng-container>\n </ng-container>\n </div>\n <svg\n class=\"handle\"\n [ngStyle]=\"{ 'transform': isOpen() ? 'rotate(180deg)' : 'rotate(0deg)' }\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\"\n fill=\"#181F33\"\n />\n </svg>\n </div>\n</div>\n<ng-template #popupContainer>\n <div\n class=\"popup-container\"\n [ngStyle]=\"{\n 'height': dropdownListHeight(),\n width: dropdownListWidth()\n }\"\n [ngClass]=\"{\n 'position-left': dropdownListPosition() === 'Left',\n 'position-right': dropdownListPosition() === 'Right'\n }\"\n >\n <!-- Search Bar -->\n <div *ngIf=\"searchEnabled()\" class=\"search-container\">\n <svg\n *ngIf=\"!isSearchInputFocused()\"\n class=\"search-icon\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n <input\n #searchField\n [ngModel]=\"searchInput()\"\n [ngStyle]=\"{\n paddingLeft: isSearchInputFocused() ? '12px' : '45px',\n border: isSearchInputFocused() ? '1px solid #0937B2' : '1px solid #e0e0e0',\n paddingRight: isSearchInputFocused() ? '45px' : '10px'\n }\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused() ? '' : searchInputPlaceholder()\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n />\n <svg\n *ngIf=\"isSearchInputFocused()\"\n class=\"cancel-icon\"\n (click)=\"searchInputCanceled($event)\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n\n <!-- Custom Message Template -->\n @if(customMessageTemplate()){\n <div class=\"custom-message-container\">\n <ng-container *ngTemplateOutlet=\"customMessageTemplate()\"></ng-container>\n </div>\n }\n\n <div class=\"items\">\n <div\n class=\"item\"\n tabindex=\"0\"\n (keyup.enter)=\"toggleSelectedItems($event, item)\"\n (click)=\"toggleSelectedItems($event, item)\"\n *ngFor=\"let item of displayData()\"\n [ngClass]=\"{'disabled':item.disabled}\"\n >\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox [checked]=\"item.checked\" tabindex=\"-1\"></mis-checkbox>\n </div>\n <p class=\"label\">\n {{ item.label }}\n </p>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"displayData().length === 0\">\n {{ searchInput() === \"\" ? noDataMessage() : \"No results\" }}\n </div>\n </div>\n <div *ngIf=\"internalData().length !== 0 && !hideApplyButton()\" class=\"actions-container\">\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\" (click)=\"onReset()\">\n <mis-button [name]=\"'Reset'\" [type]=\"'Text'\" [width]=\"'100%'\" ></mis-button>\n </div>\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\" (click)=\"applyFilters()\">\n <mis-button [name]=\"'Apply'\" [type]=\"'Solid'\" [width]=\"'100%'\" ></mis-button>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n", styles: [":root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-muted-secondary: #E5E5E5;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}.container{position:relative;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;height:32px;width:256px;font-family:Lato,sans-serif!important}.container .dropdown{height:inherit;border:1px solid var(--border-primary, #E0E0E0);border-radius:6px;background-color:var(--bg-primary, #FFFFFF);cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 12px;overflow:hidden}.container .dropdown:hover,.container .dropdown:focus-visible{background-color:var(--brand-primary-hover, #F0F3FA);outline:none}.container .dropdown .label{display:flex;justify-content:flex-start;align-items:center;width:calc(100% - 32px);font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.container .dropdown .label .text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.container .dropdown .label .count{background-color:var(--border-primary, #E0E0E0);border-radius:50%;padding:2px 7px;margin:0 0 0 8px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px;color:var(--text-primary, #181F33)}.container .dropdown .handle{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.popup-container{width:100%;max-height:340px;padding-bottom:0;border:1px solid var(--border-primary, #E0E0E0);border-radius:8px;background-color:var(--bg-primary, #FFFFFF);box-shadow:0 12px 24px #0000001f;display:flex;flex-direction:column;overflow:hidden;justify-content:flex-start}.popup-container::-webkit-scrollbar{width:0;height:0}.popup-container .search-container{position:relative;box-sizing:border-box;padding:8px}.popup-container .search-container .search-icon{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container .search-container .search-input{height:40px;width:100%;padding:12px;border:1px solid var(--border-primary, #E0E0E0);box-sizing:border-box;border-radius:8px;outline:none;caret-color:var(--brand-primary, #0937B2);font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:var(--text-primary, #181F33)}.popup-container .search-container .cancel-icon{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container .items{padding:8px 0 8px 8px;overflow-y:scroll}.popup-container .items::-webkit-scrollbar{width:5px;height:0}.popup-container .items::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB);border-radius:10px}.popup-container .items .noData{display:flex;justify-content:center;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.popup-container .items .disabled{pointer-events:none;opacity:.5}.popup-container .items .item{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;padding:8px 12px;border-radius:6px;height:auto}.popup-container .items .item:hover,.popup-container .items .item:focus-visible{background-color:var(--brand-primary-hover, #F0F3FA);outline:none}.popup-container .items .item .checkbox-container-wrapper{display:flex;justify-content:flex-start;align-items:center;width:90%}.popup-container .items .item .checkbox-container-wrapper .checkbox-container{display:block;position:relative;cursor:pointer;font-size:22px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.popup-container .items .item .checkbox-container-wrapper .checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.popup-container .items .item .checkbox-container-wrapper .checkbox-container input:checked~.checkmark:after{display:block}.popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark{position:absolute;top:-8px;left:0;height:15px;width:15px;border-radius:4px;background-color:var(--brand-info, #0091FF);border:1px solid var(--text-secondary, #6A737D)}.popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark:after{content:\"\";position:absolute;display:none;left:5px;top:2px;width:3px;height:6px;border:solid var(--bg-primary, #FFFFFF);border-width:0 2px 2px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.popup-container .items .item .checkbox-container-wrapper .label{margin:0 0 0 8px;line-height:20px;font-size:14px;font-style:normal;font-weight:400;letter-spacing:.2;text-overflow:ellipsis;overflow:hidden}.popup-container .items .item .icon-container{width:10%;display:flex;justify-content:flex-end}.popup-container .items .item .icon-container .icon{width:20px;height:20px}.popup-container .actions-container{display:flex;justify-content:space-between;bottom:0;align-items:center;position:sticky;padding:16px;background-color:var(--bg-primary, #FFFFFF);border-top:1px solid var(--border-primary, #E0E0E0);margin-top:auto}.popup-container .actions-container .cancel{cursor:pointer;padding:10px 32px;text-align:center;font-size:16px;line-height:24px;border-radius:8px}.popup-container .actions-container .cancel:hover{background:var(--bg-overlay-lightest, rgba(0, 0, 0, .04))}.popup-container .actions-container .apply{cursor:pointer;padding:10px 32px;text-align:center;color:var(--bg-primary, #FFFFFF);font-size:16px;line-height:24px;background:var(--brand-primary, #0937B2);border-radius:8px}\n"] }]
|
|
472
|
+
args: [{ selector: 'mis-multi-select-dropdown', template: "<div\n class=\"container\"\n [ngStyle]=\"{\n height: height().length > 0 ? height() : '',\n width: width().length > 0 ? width() : ''\n }\"\n>\n <div\n class=\"dropdown\"\n #select\n tabindex=\"0\"\n (keyup.enter)=\"toggleDropdown()\"\n (click)=\"toggleDropdown()\"\n [ngStyle]=\"{ 'background': isOpen() ? '#E6EBF7' : '' }\"\n >\n <div class=\"label\">\n <ng-container *ngIf=\"!customLabelTemplate()\">\n <p class=\"text\">{{ label() }}</p>\n <p *ngIf=\"showSelectedCount() && internalSelectedItems()?.length > 0\" class=\"count\">\n {{ internalSelectedItems()?.length }}\n </p>\n </ng-container>\n <ng-container *ngIf=\"customLabelTemplate()\">\n <ng-container *ngTemplateOutlet=\"customLabelTemplate()\">\n </ng-container>\n </ng-container>\n </div>\n <svg\n class=\"handle\"\n [ngStyle]=\"{ 'transform': isOpen() ? 'rotate(180deg)' : 'rotate(0deg)' }\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\"\n fill=\"#181F33\"\n />\n </svg>\n </div>\n</div>\n<ng-template #popupContainer>\n <div\n class=\"popup-container\"\n [ngStyle]=\"{\n 'height': dropdownListHeight(),\n width: dropdownListWidth()\n }\"\n [ngClass]=\"{\n 'position-left': dropdownListPosition() === 'Left',\n 'position-right': dropdownListPosition() === 'Right'\n }\"\n >\n <!-- Search Bar -->\n <div *ngIf=\"searchEnabled()\" class=\"search-container\">\n <svg\n *ngIf=\"!isSearchInputFocused()\"\n class=\"search-icon\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n <input\n #searchField\n [ngModel]=\"searchInput()\"\n [ngStyle]=\"{\n paddingLeft: isSearchInputFocused() ? '12px' : '45px',\n border: isSearchInputFocused() ? '1px solid #0937B2' : '1px solid #e0e0e0',\n paddingRight: isSearchInputFocused() ? '45px' : '10px'\n }\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused() ? '' : searchInputPlaceholder()\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n />\n <svg\n *ngIf=\"isSearchInputFocused()\"\n class=\"cancel-icon\"\n (click)=\"searchInputCanceled($event)\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n\n <!-- Custom Message Template -->\n @if(customMessageTemplate()){\n <div class=\"custom-message-container\">\n <ng-container *ngTemplateOutlet=\"customMessageTemplate()\"></ng-container>\n </div>\n }\n\n <div class=\"items\">\n <div\n class=\"item\"\n tabindex=\"0\"\n (keyup.enter)=\"toggleSelectedItems($event, item)\"\n (click)=\"toggleSelectedItems($event, item)\"\n *ngFor=\"let item of displayData()\"\n [ngClass]=\"{'disabled':item.disabled}\"\n >\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox [checked]=\"item.checked\" tabindex=\"-1\"></mis-checkbox>\n </div>\n <p class=\"label\">\n {{ item.label }}\n </p>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"displayData().length === 0\">\n {{ searchInput() === \"\" ? noDataMessage() : noResultsText() }}\n </div>\n </div>\n <div *ngIf=\"internalData().length !== 0 && !hideApplyButton()\" class=\"actions-container\">\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\" (click)=\"onReset()\">\n <mis-button [name]=\"'Reset'\" [type]=\"'Text'\" [width]=\"'100%'\" ></mis-button>\n </div>\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\" (click)=\"applyFilters()\">\n <mis-button [name]=\"'Apply'\" [type]=\"'Solid'\" [width]=\"'100%'\" ></mis-button>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n", styles: [":root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-muted-secondary: #E5E5E5;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}.container{position:relative;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;height:32px;width:256px;font-family:Lato,sans-serif!important}.container .dropdown{height:inherit;border:1px solid var(--border-primary, #E0E0E0);border-radius:6px;background-color:var(--bg-primary, #FFFFFF);cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 12px;overflow:hidden}.container .dropdown:hover,.container .dropdown:focus-visible{background-color:var(--brand-primary-hover, #F0F3FA);outline:none}.container .dropdown .label{display:flex;justify-content:flex-start;align-items:center;width:calc(100% - 32px);font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.container .dropdown .label .text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.container .dropdown .label .count{background-color:var(--border-primary, #E0E0E0);border-radius:50%;padding:2px 7px;margin:0 0 0 8px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px;color:var(--text-primary, #181F33)}.container .dropdown .handle{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.popup-container{width:100%;max-height:340px;padding-bottom:0;border:1px solid var(--border-primary, #E0E0E0);border-radius:8px;background-color:var(--bg-primary, #FFFFFF);box-shadow:0 12px 24px #0000001f;display:flex;flex-direction:column;overflow:hidden;justify-content:flex-start}.popup-container::-webkit-scrollbar{width:0;height:0}.popup-container .search-container{position:relative;box-sizing:border-box;padding:8px}.popup-container .search-container .search-icon{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container .search-container .search-input{height:40px;width:100%;padding:12px;border:1px solid var(--border-primary, #E0E0E0);box-sizing:border-box;border-radius:8px;outline:none;caret-color:var(--brand-primary, #0937B2);font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:var(--text-primary, #181F33)}.popup-container .search-container .cancel-icon{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container .items{padding:8px 0 8px 8px;overflow-y:scroll}.popup-container .items::-webkit-scrollbar{width:5px;height:0}.popup-container .items::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB);border-radius:10px}.popup-container .items .noData{display:flex;justify-content:center;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33)}.popup-container .items .disabled{pointer-events:none;opacity:.5}.popup-container .items .item{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;padding:8px 12px;border-radius:6px;height:auto}.popup-container .items .item:hover,.popup-container .items .item:focus-visible{background-color:var(--brand-primary-hover, #F0F3FA);outline:none}.popup-container .items .item .checkbox-container-wrapper{display:flex;justify-content:flex-start;align-items:center;width:90%}.popup-container .items .item .checkbox-container-wrapper .checkbox-container{display:block;position:relative;cursor:pointer;font-size:22px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.popup-container .items .item .checkbox-container-wrapper .checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.popup-container .items .item .checkbox-container-wrapper .checkbox-container input:checked~.checkmark:after{display:block}.popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark{position:absolute;top:-8px;left:0;height:15px;width:15px;border-radius:4px;background-color:var(--brand-info, #0091FF);border:1px solid var(--text-secondary, #6A737D)}.popup-container .items .item .checkbox-container-wrapper .checkbox-container .checkmark:after{content:\"\";position:absolute;display:none;left:5px;top:2px;width:3px;height:6px;border:solid var(--bg-primary, #FFFFFF);border-width:0 2px 2px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.popup-container .items .item .checkbox-container-wrapper .label{margin:0 0 0 8px;line-height:20px;font-size:14px;font-style:normal;font-weight:400;letter-spacing:.2;text-overflow:ellipsis;overflow:hidden}.popup-container .items .item .icon-container{width:10%;display:flex;justify-content:flex-end}.popup-container .items .item .icon-container .icon{width:20px;height:20px}.popup-container .actions-container{display:flex;justify-content:space-between;bottom:0;align-items:center;position:sticky;padding:16px;background-color:var(--bg-primary, #FFFFFF);border-top:1px solid var(--border-primary, #E0E0E0);margin-top:auto}.popup-container .actions-container .cancel{cursor:pointer;padding:10px 32px;text-align:center;font-size:16px;line-height:24px;border-radius:8px}.popup-container .actions-container .cancel:hover{background:var(--bg-overlay-lightest, rgba(0, 0, 0, .04))}.popup-container .actions-container .apply{cursor:pointer;padding:10px 32px;text-align:center;color:var(--bg-primary, #FFFFFF);font-size:16px;line-height:24px;background:var(--brand-primary, #0937B2);border-radius:8px}\n"] }]
|
|
472
473
|
}], () => [], { selectElement: [{
|
|
473
474
|
type: ViewChild,
|
|
474
475
|
args: ['select', { static: false }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-multi-select-dropdown.mjs","sources":["../../../projects/mis-components/multi-select-dropdown/multi-select-dropdown.component.html","../../../projects/mis-components/multi-select-dropdown/multi-select-dropdown.component.ts","../../../projects/mis-components/multi-select-dropdown/multi-select-dropdown.module.ts","../../../projects/mis-components/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.ts"],"sourcesContent":["<div\n class=\"container\"\n [ngStyle]=\"{\n height: height().length > 0 ? height() : '',\n width: width().length > 0 ? width() : ''\n }\"\n>\n <div\n class=\"dropdown\"\n #select\n tabindex=\"0\"\n (keyup.enter)=\"toggleDropdown()\"\n (click)=\"toggleDropdown()\"\n [ngStyle]=\"{ 'background': isOpen() ? '#E6EBF7' : '' }\"\n >\n <div class=\"label\">\n <ng-container *ngIf=\"!customLabelTemplate()\">\n <p class=\"text\">{{ label() }}</p>\n <p *ngIf=\"showSelectedCount() && internalSelectedItems()?.length > 0\" class=\"count\">\n {{ internalSelectedItems()?.length }}\n </p>\n </ng-container>\n <ng-container *ngIf=\"customLabelTemplate()\">\n <ng-container *ngTemplateOutlet=\"customLabelTemplate()\">\n </ng-container>\n </ng-container>\n </div>\n <svg\n class=\"handle\"\n [ngStyle]=\"{ 'transform': isOpen() ? 'rotate(180deg)' : 'rotate(0deg)' }\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\"\n fill=\"#181F33\"\n />\n </svg>\n </div>\n</div>\n<ng-template #popupContainer>\n <div\n class=\"popup-container\"\n [ngStyle]=\"{\n 'height': dropdownListHeight(),\n width: dropdownListWidth()\n }\"\n [ngClass]=\"{\n 'position-left': dropdownListPosition() === 'Left',\n 'position-right': dropdownListPosition() === 'Right'\n }\"\n >\n <!-- Search Bar -->\n <div *ngIf=\"searchEnabled()\" class=\"search-container\">\n <svg\n *ngIf=\"!isSearchInputFocused()\"\n class=\"search-icon\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n <input\n #searchField\n [ngModel]=\"searchInput()\"\n [ngStyle]=\"{\n paddingLeft: isSearchInputFocused() ? '12px' : '45px',\n border: isSearchInputFocused() ? '1px solid #0937B2' : '1px solid #e0e0e0',\n paddingRight: isSearchInputFocused() ? '45px' : '10px'\n }\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused() ? '' : searchInputPlaceholder()\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n />\n <svg\n *ngIf=\"isSearchInputFocused()\"\n class=\"cancel-icon\"\n (click)=\"searchInputCanceled($event)\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n\n <!-- Custom Message Template -->\n @if(customMessageTemplate()){\n <div class=\"custom-message-container\">\n <ng-container *ngTemplateOutlet=\"customMessageTemplate()\"></ng-container>\n </div>\n }\n\n <div class=\"items\">\n <div\n class=\"item\"\n tabindex=\"0\"\n (keyup.enter)=\"toggleSelectedItems($event, item)\"\n (click)=\"toggleSelectedItems($event, item)\"\n *ngFor=\"let item of displayData()\"\n [ngClass]=\"{'disabled':item.disabled}\"\n >\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox [checked]=\"item.checked\" tabindex=\"-1\"></mis-checkbox>\n </div>\n <p class=\"label\">\n {{ item.label }}\n </p>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"displayData().length === 0\">\n {{ searchInput() === \"\" ? noDataMessage() : \"No results\" }}\n </div>\n </div>\n <div *ngIf=\"internalData().length !== 0 && !hideApplyButton()\" class=\"actions-container\">\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\" (click)=\"onReset()\">\n <mis-button [name]=\"'Reset'\" [type]=\"'Text'\" [width]=\"'100%'\" ></mis-button>\n </div>\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\" (click)=\"applyFilters()\">\n <mis-button [name]=\"'Apply'\" [type]=\"'Solid'\" [width]=\"'100%'\" ></mis-button>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n","import {\n Component,\n ElementRef,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n computed,\n effect,\n signal,\n inject,\n input,\n output\n} from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n OverlayRef,\n Overlay,\n ConnectionPositionPair,\n OverlayConfig,\n} from '@angular/cdk/overlay';\n\nexport interface MultiSelectDropdownItem {\n label: string;\n value: string;\n checked?: boolean;\n icon?: string;\n disabled?: boolean;\n}\n\nexport interface OPTIONS {\n sortLabels: boolean;\n}\n\n@Component({\n selector: 'mis-multi-select-dropdown',\n templateUrl: './multi-select-dropdown.component.html',\n styleUrls: ['./multi-select-dropdown.component.scss']\n})\nexport class MultiSelectDropdownComponent {\n // Dependencies Injection\n private readonly eRef = inject(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly viewContainerRef = inject(ViewContainerRef);\n\n // Signal-based Inputs\n public data = input<MultiSelectDropdownItem[]>([]);\n public selectedItems = input<MultiSelectDropdownItem[]>([]);\n public label = input<string>('Select');\n public height = input<string>('');\n public width = input<string>('');\n public dropdownListHeight = input<string>('');\n public dropdownListWidth = input<string>('');\n public dropdownListPosition = input<'Left' | 'Right'>('Left');\n public enableSelectAll = input<boolean>(false);\n public searchEnabled = input<boolean>(true);\n public showSelectedCount = input<boolean>(false);\n public noDataMessage = input<string>('No Data');\n public customMessageTemplate = input<TemplateRef<any>>();\n public options = input<OPTIONS>({\n sortLabels: true,\n });\n public hideApplyButton = input<boolean>(false);\n public searchInputPlaceholder = input<string>('Search Keyword');\n public customLabelTemplate = input<TemplateRef<any>>();\n\n // Signal-based Output\n public onChange = output<MultiSelectDropdownItem[]>();\n\n // Internal Signals for component state\n public isOpen = signal(false);\n public searchInput = signal('');\n public isSearchInputFocused = signal(false);\n public internalSelectedItems = signal<MultiSelectDropdownItem[]>([]);\n public internalData = signal<MultiSelectDropdownItem[]>([]);\n\n // Constants\n private readonly SELECT_ALL_ENUM = 'SELECT_ALL_ENABLED';\n\n @ViewChild('select', { static: false }) selectElement: ElementRef;\n @ViewChild('popupContainer', { static: false }) popupContainer: TemplateRef<Element>;\n @ViewChild('searchField', { static: false }) private readonly searchInputElement: ElementRef<HTMLInputElement>;\n private overlayRef: OverlayRef;\n\n constructor() {\n effect(() => {\n this.handleInputChanges();\n }, { allowSignalWrites: true });\n\n effect(() => {\n if (this.isOpen()) {\n this.openDropdown(this.popupContainer, this.selectElement?.nativeElement);\n } else {\n // Before detach so the search input still exists for blur()\n this.clearSearchOnClose();\n this.overlayRef?.detach();\n }\n }, { allowSignalWrites: true });\n }\n\n /** Clears search text and focus when the dropdown closes (runs before overlay detach). */\n private clearSearchOnClose(): void {\n this.searchInputElement?.nativeElement?.blur();\n this.searchInput.set('');\n this.isSearchInputFocused.set(false);\n }\n\n /**\n * Effect to manage the component's internal state based on external inputs.\n */\n private handleInputChanges(): void {\n const values = this.data();\n const selected = this.selectedItems();\n\n const formattedData = values?.map(item => ({\n ...item,\n checked: selected?.some(s => s.value === item.value) ?? false\n })) || [];\n \n this.internalData.set(formattedData);\n this.internalSelectedItems.set(selected || []);\n\n // Apply the 'select all' logic\n this.internalData.update(currentData => {\n const isSelectAll = this.enableSelectAll() && currentData.every(item => item.checked || item.value === this.SELECT_ALL_ENUM);\n const selectAllItem = {\n label: 'Select all',\n value: this.SELECT_ALL_ENUM,\n checked: isSelectAll\n };\n\n const hasSelectAll = currentData.some(t => t.value === this.SELECT_ALL_ENUM);\n if (this.enableSelectAll()) {\n if (!hasSelectAll) {\n return [selectAllItem, ...currentData];\n } else {\n return currentData.map(item => item.value === this.SELECT_ALL_ENUM ? selectAllItem : item);\n }\n } else {\n return currentData.filter(item => item.value !== this.SELECT_ALL_ENUM);\n }\n });\n }\n\n /**\n * Computed signal for the data to be displayed in the dropdown list.\n * Filters based on search input and sorts if the option is enabled.\n */\n public displayData = computed(() => {\n let dataToDisplay = this.searchEnabled() && this.searchInput() ? \n this.filterByValue(this.internalData(), this.searchInput()) : \n this.internalData();\n\n if (this.options().sortLabels) {\n dataToDisplay = this.sortData(dataToDisplay);\n }\n \n return dataToDisplay;\n });\n\n /**\n * Helper function to sort the data.\n */\n private sortData(data: MultiSelectDropdownItem[]): MultiSelectDropdownItem[] {\n // Separate \"Select All\" option from other items\n const selectAllItem = data.find(t => t.value === this.SELECT_ALL_ENUM);\n const otherItems = data.filter(t => t.value !== this.SELECT_ALL_ENUM);\n \n const checkedValues = otherItems.filter(a => a.checked);\n const unCheckedValues = otherItems.filter(a => !a.checked);\n\n const sortFn = (a: MultiSelectDropdownItem, b: MultiSelectDropdownItem) => a.label > b.label ? 1 : -1;\n \n const sortedItems = [\n ...checkedValues.sort(sortFn),\n ...unCheckedValues.sort(sortFn)\n ];\n \n // Add \"Select All\" at the top if it exists\n return selectAllItem ? [selectAllItem, ...sortedItems] : sortedItems;\n }\n\n /**\n * Helper function to filter the data.\n */\n private filterByValue(array: MultiSelectDropdownItem[], search: string): MultiSelectDropdownItem[] {\n return array.filter(o => o?.label?.toLowerCase().includes(search.toLowerCase())) || [];\n }\n\n /**\n * Toggles the dropdown's open/close state.\n */\n public toggleDropdown(): void {\n this.isOpen.update(current => !current);\n }\n\n /**\n * Toggles the checked state of a specific item.\n * Handles the 'Select All' logic.\n */\n public toggleSelectedItems(event: Event, item: MultiSelectDropdownItem): void {\n event?.stopPropagation();\n\n if (this.enableSelectAll() && item.value === this.SELECT_ALL_ENUM) {\n this.internalData.update(items =>\n items.map(t => ({ ...t, checked: !item.checked }))\n );\n } else {\n this.internalData.update(items => {\n const updatedItems = items.map(a => \n a.value === item.value ? { ...a, checked: !a.checked } : a\n );\n \n const allChecked = updatedItems\n .filter(r => r.value !== this.SELECT_ALL_ENUM)\n .every(t => t.checked);\n \n return updatedItems.map(a => \n a.value === this.SELECT_ALL_ENUM ? { ...a, checked: allChecked } : a\n );\n });\n }\n\n if (this.hideApplyButton()) {\n this.applyFilters();\n }\n }\n\n /**\n * Emits the selected items and closes the dropdown.\n */\n public applyFilters(): void {\n const selected = this.internalData()\n .filter(a => a.checked && a.value !== this.SELECT_ALL_ENUM)\n .map(item => {\n const { checked, ...data } = item;\n return data;\n });\n \n // Use the signal output's emit method\n this.onChange.emit(selected as MultiSelectDropdownItem[]);\n this.internalSelectedItems.set(selected as MultiSelectDropdownItem[]);\n if (!this.hideApplyButton()) {\n this.isOpen.set(false);\n }\n }\n\n /**\n * Resets the dropdown to an empty state.\n */\n public onReset(): void {\n this.internalData.update(items => \n items.map(item => ({ ...item, checked: false }))\n );\n this.applyFilters();\n this.isOpen.set(false);\n }\n\n /**\n * Closes the dropdown and reverts any changes.\n */\n public onCancel(): void {\n this.isOpen.set(false);\n // Revert internal data to match the last selected items (search cleared in isOpen effect)\n this.handleInputChanges();\n }\n\n /**\n * Toggles the focus state of the search input.\n */\n public searchInputFocused(isFocused: boolean): void {\n this.isSearchInputFocused.set(isFocused);\n }\n\n /**\n * Clears the search input and unfocuses it.\n */\n public searchInputCanceled(event: Event): void {\n event.stopPropagation();\n this.searchInput.set('');\n this.isSearchInputFocused.set(false);\n }\n\n /**\n * Handles the change event from the search input.\n */\n public searchInputOnChange(newValue: string): void {\n this.searchInput.set(newValue);\n }\n\n /**\n * Creates and displays the overlay for the dropdown list.\n */\n private openDropdown(\n template: TemplateRef<Element>,\n origin: HTMLElement\n ): void {\n if (this.overlayRef && this.overlayRef.hasAttached()) {\n return;\n }\n \n const positionsBottom = [\n new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }, 0, 4),\n new ConnectionPositionPair({ originX: 'end', originY: 'bottom' }, { overlayX: 'end', overlayY: 'top' }, 0, 4),\n ];\n const positionsTop = [\n new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }, 0, -4),\n new ConnectionPositionPair({ originX: 'end', originY: 'top' }, { overlayX: 'end', overlayY: 'bottom' }, 0, -4),\n ];\n\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions([\n ...(this.dropdownListPosition() === 'Right' ? positionsBottom.reverse() : positionsBottom),\n ...(this.dropdownListPosition() === 'Right' ? positionsTop.reverse() : positionsTop),\n ])\n .withPush(true);\n\n const configs = new OverlayConfig({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy,\n width: origin?.clientWidth,\n });\n \n this.overlayRef = this.overlay.create(configs);\n \n if (this.dropdownListWidth()) {\n this.overlayRef.updateSize({ width: this.dropdownListWidth() });\n }\n if (this.dropdownListHeight()) {\n this.overlayRef.updateSize({ height: this.dropdownListHeight() });\n }\n \n this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.overlayRef.backdropClick().subscribe(() => this.onCancel());\n }\n}\n\n","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { MultiSelectDropdownComponent } from \"./multi-select-dropdown.component\";\nimport { CheckboxModule } from \"mis-crystal-design-system/checkbox\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { ButtonModule } from \"mis-crystal-design-system/button\";\n\n@NgModule({\n declarations: [MultiSelectDropdownComponent],\n imports: [CommonModule, FormsModule, OverlayModule, CheckboxModule, ButtonModule],\n exports: [MultiSelectDropdownComponent]\n})\nexport class MultiSelectDropdownModule {\n static forRoot(): ModuleWithProviders<MultiSelectDropdownModule> {\n return { ngModule: MultiSelectDropdownModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;IAkBM,EAAoF,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;IAClF,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAI,CAAA,YAAA,EAAA,CAAA;;;;IADF,EACF,CAAA,SAAA,EAAA,CAAA;IADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,CAAA,OAAA,GAAA,MAAA,CAAA,qBAAA,EAAA,KAAA,IAAA,GAAA,IAAA,GAAA,OAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA;;;IAJA,EAA6C,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;IAC7C,EAAgB,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;IAAA,EAAa,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAI,CAAA,YAAA,EAAA,CAAA;IACjC,EAAoF,CAAA,UAAA,CAAA,CAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;;;;;IADpE,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAb,EAAa,CAAA,iBAAA,CAAA,MAAA,CAAA,KAAA,EAAA,CAAA,CAAA;IACzB,EAAgE,CAAA,SAAA,EAAA,CAAA;IAAhE,EAAgE,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,iBAAA,EAAA,IAAA,CAAA,CAAA,OAAA,GAAA,MAAA,CAAA,qBAAA,EAAA,KAAA,IAAA,GAAA,IAAA,GAAA,OAAA,CAAA,MAAA,IAAA,CAAA,CAAA,CAAA;;;IAKpE,EACe,CAAA,kBAAA,CAAA,CAAA,CAAA,CAAA;;;IAFjB,EAA4C,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;IAC1C,EAAwD,CAAA,UAAA,CAAA,CAAA,EAAA,mEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;;;;IAAzC,EAAuC,CAAA,SAAA,EAAA,CAAA;IAAvC,EAAuC,CAAA,UAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,mBAAA,EAAA,CAAA,CAAA;;;;IAoCpD,EAQC,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IACC,EAKE,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;IACJ,EAAM,CAAA,YAAA,EAAA,CAAA;;;;;IAcN,EASC,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AANC,IAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,yFAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAS,kCAA2B,CAAC,CAAA,EAAA,CAAA,CAAA;IAOrC,EAKE,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;IACJ,EAAM,CAAA,YAAA,EAAA,CAAA;;;;IA9CR,EAAsD,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IACpD,EAQC,CAAA,UAAA,CAAA,CAAA,EAAA,oEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAQD,EAYE,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA;AAFA,IAFA,4NAAiB,MAA2B,CAAA,mBAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAA,CAAC,yLAEpC,MAAmB,CAAA,kBAAA,CAAA,IAAI,CAAC,CAAC,CAAA,EAAA,CAAA,CAAA;IAVpC,EAYE,CAAA,YAAA,EAAA,CAAA;IACF,EASC,CAAA,UAAA,CAAA,CAAA,EAAA,oEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAQH,EAAM,CAAA,YAAA,EAAA,CAAA;;;IA7CD,EAA6B,CAAA,SAAA,EAAA,CAAA;IAA7B,EAA6B,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,MAAA,CAAA,oBAAA,EAAA,CAAA,CAAA;IAiB9B,EAAyB,CAAA,SAAA,EAAA,CAAA;IAAzB,EAAyB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,WAAA,EAAA,CAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,MAAA,CAAA,oBAAA,EAAA,GAAA,MAAA,GAAA,MAAA,EAAA,MAAA,CAAA,oBAAA,EAAA,GAAA,mBAAA,GAAA,mBAAA,EAAA,MAAA,CAAA,oBAAA,EAAA,GAAA,MAAA,GAAA,MAAA,CAAA,CAKvB,CAEoE,aAAA,EAAA,MAAA,CAAA,oBAAA,EAAA,GAAA,EAAA,GAAA,MAAA,CAAA,sBAAA,EAAA,CAAA,CAAA;IAKrE,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAA5B,EAA4B,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,oBAAA,EAAA,CAAA,CAAA;;;IAqB7B,EAAyE,CAAA,kBAAA,CAAA,CAAA,CAAA,CAAA;;;IAD3E,EAAsC,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IACpC,EAA0D,CAAA,UAAA,CAAA,CAAA,EAAA,gFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;IAC5D,EAAM,CAAA,YAAA,EAAA,CAAA;;;IADW,EAAyC,CAAA,SAAA,EAAA,CAAA;IAAzC,EAAyC,CAAA,UAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,qBAAA,EAAA,CAAA,CAAA;;;IAqBxD,EAA8C,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAC5C,EAAmD,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IACrD,EAAM,CAAA,YAAA,EAAA,CAAA;;;IADc,EAAiB,CAAA,SAAA,EAAA,CAAA;IAAjB,EAAiB,CAAA,UAAA,CAAA,KAAA,EAAA,OAAA,CAAA,IAAA,EAAA,EAAA,CAAA,aAAA,CAAA,CAAA;;;;IAjBvC,EAOC,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAHC,IADA,EAAe,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,oFAAA,CAAA,MAAA,EAAA,EAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,mBAAA,CAAA,MAAA,EAAA,OAAA,CAAiC,CAAC,CAAA,EAAA,CAAA,CAAA,OAAA,EAAA,SAAA,8EAAA,CAAA,MAAA,EAAA,EAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CACxC,2CAAiC,CAAC,CAAA,EAAA,CAAA,CAAA;AAKzC,IADF,+BAAwC,CACN,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAC9B,EAAoE,CAAA,SAAA,CAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;IACpE,EAAM,CAAA,YAAA,EAAA,CAAA;IACR,EAAiB,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;IACf,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AACF,IADE,iBAAI,EACA,CAAA;IACN,EAA8C,CAAA,UAAA,CAAA,CAAA,EAAA,+DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAGhD,EAAM,CAAA,YAAA,EAAA,CAAA;;;IAbJ,EAAsC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,OAAA,CAAA,QAAA,CAAA,CAAA,CAAA;IAIpB,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAxB,EAAwB,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,OAAA,CAAA,CAAA;IAGtC,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,OAAA,CAAA,KAAA,EAAA,GAAA,CAAA,CAAA;IAE2B,EAAe,CAAA,SAAA,EAAA,CAAA;IAAf,EAAe,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,IAAA,CAAA,CAAA;;;IAI9C,EAAuD,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IACrD,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAM,CAAA,YAAA,EAAA,CAAA;;;IADJ,EACF,CAAA,SAAA,EAAA,CAAA;IADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,MAAA,CAAA,WAAA,EAAA,KAAA,EAAA,GAAA,MAAA,CAAA,aAAA,EAAA,GAAA,YAAA,EAAA,GAAA,CAAA,CAAA;;;;AAGF,IADF,+BAAyF,CACrB,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAApB,IAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,8EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAS,gBAAS,CAAC,CAAA,EAAA,CAAA,CAAA;IAC/D,EAA4E,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,EAAA,EAAA,CAAA,CAAA;IAC9E,EAAM,CAAA,YAAA,EAAA,CAAA;IACN,EAAuE,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,8EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAS,qBAAc,CAAC,CAAA,EAAA,CAAA,CAAA;IACpE,EAA6E,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,EAAA,EAAA,CAAA,CAAA;AAEjF,IADE,iBAAM,EACF,CAAA;;IANC,EAAwC,CAAA,SAAA,EAAA,CAAA;IAAxC,EAAwC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA,CAAA;IAC/B,EAAgB,CAAA,SAAA,EAAA,CAAA;IAAhB,EAAgB,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,MAAA,EAAA,MAAA,CAAgB,CAAiB,OAAA,EAAA,MAAA,CAAA,CAAA;IAE1D,EAAwC,CAAA,SAAA,EAAA,CAAA;IAAxC,EAAwC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA,CAAA;IAC/B,EAAgB,CAAA,SAAA,EAAA,CAAA;IAAhB,EAAgB,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,MAAA,EAAA,OAAA,CAAiB,CAAiB,OAAA,EAAA,MAAA,CAAA,CAAA;;;IAlGpE,EAUC,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAoDI,IAlDD,4FAAsD,CAkDxB,CAAA,EAAA,iEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAM9B,EAAmB,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAqBjB,IApBA,4FAOC,CAasD,CAAA,EAAA,yDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAGzD,EAAM,CAAA,YAAA,EAAA,CAAA;IACR,EAAyF,CAAA,UAAA,CAAA,CAAA,EAAA,yDAAA,EAAA,CAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAQ3F,EAAM,CAAA,YAAA,EAAA,CAAA;;;AA/FJ,IAJA,6GAGE,CAIA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,GAAA,EAAA,MAAA,CAAA,oBAAA,EAAA,KAAA,MAAA,EAAA,MAAA,CAAA,oBAAA,EAAA,KAAA,OAAA,CAAA,CAAA,CAAA;IAGM,EAAqB,CAAA,SAAA,EAAA,CAAA;IAArB,EAAqB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,aAAA,EAAA,CAAA,CAAA;IAkD1B,EAIA,CAAA,SAAA,EAAA,CAAA;IAJA,EAIA,CAAA,aAAA,CAAA,MAAA,CAAA,qBAAA,EAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA;IAQoB,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAhB,EAAgB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,WAAA,EAAA,CAAA,CAAA;IAed,EAAgC,CAAA,SAAA,EAAA,CAAA;IAAhC,EAAgC,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,WAAA,EAAA,CAAA,MAAA,KAAA,CAAA,CAAA,CAAA;IAInD,EAAuD,CAAA,SAAA,EAAA,CAAA;IAAvD,EAAuD,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,YAAA,EAAA,CAAA,MAAA,KAAA,CAAA,IAAA,CAAA,MAAA,CAAA,eAAA,EAAA,CAAA,CAAA;;MCrGpD,4BAA4B,CAAA;AA6CvC,IAAA,WAAA,GAAA;;AA3CiB,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC1B,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAC1B,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;;AAGtD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAA4B,EAAE,CAAC,CAAC;AAC5C,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAA4B,EAAE,CAAC,CAAC;AACrD,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,QAAQ,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAS,EAAE,CAAC,CAAC;AAC3B,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,EAAE,CAAC,CAAC;AAC1B,QAAA,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAAS,EAAE,CAAC,CAAC;AACvC,QAAA,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAS,EAAE,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,oBAAoB,GAAG,KAAK,CAAmB,MAAM,CAAC,CAAC;AACvD,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AACxC,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAU,IAAI,CAAC,CAAC;AACrC,QAAA,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AAC1C,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAS,SAAS,CAAC,CAAC;QACzC,IAAqB,CAAA,qBAAA,GAAG,KAAK,EAAoB,CAAC;QAClD,IAAO,CAAA,OAAA,GAAG,KAAK,CAAU;AAC9B,YAAA,UAAU,EAAE,IAAI;AACjB,SAAA,CAAC,CAAC;AACI,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AACxC,QAAA,IAAA,CAAA,sBAAsB,GAAG,KAAK,CAAS,gBAAgB,CAAC,CAAC;QACzD,IAAmB,CAAA,mBAAA,GAAG,KAAK,EAAoB,CAAC;;QAGhD,IAAQ,CAAA,QAAA,GAAG,MAAM,EAA6B,CAAC;;AAG/C,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AACzB,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACrC,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAA4B,EAAE,CAAC,CAAC;AAC9D,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAA4B,EAAE,CAAC,CAAC;;QAG3C,IAAe,CAAA,eAAA,GAAG,oBAAoB,CAAC;AAmExD;;;AAGG;AACI,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AACjC,YAAA,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;AAC1C,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;AAExC,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;AAC7B,gBAAA,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;aAC9C;AAED,YAAA,OAAO,aAAa,CAAC;AACvB,SAAC,CAAC,CAAC;QAzED,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC5B,SAAC,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhC,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACjB,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;aAC3E;iBAAM;;gBAEL,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC1B,gBAAA,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;aAC3B;AACH,SAAC,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;KACjC;;IAGO,kBAAkB,GAAA;AACxB,QAAA,IAAI,CAAC,kBAAkB,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AAC/C,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACtC;AAED;;AAEG;IACK,kBAAkB,GAAA;AACxB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AAC3B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAEtC,MAAM,aAAa,GAAG,MAAM,EAAE,GAAG,CAAC,IAAI,KAAK;AACzC,YAAA,GAAG,IAAI;AACP,YAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK;SAC9D,CAAC,CAAC,IAAI,EAAE,CAAC;AAEV,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;;AAG/C,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,IAAG;YACrC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC;AAC7H,YAAA,MAAM,aAAa,GAAG;AACpB,gBAAA,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,IAAI,CAAC,eAAe;AAC3B,gBAAA,OAAO,EAAE,WAAW;aACrB,CAAC;AAEF,YAAA,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC;AAC7E,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;gBAC1B,IAAI,CAAC,YAAY,EAAE;AACjB,oBAAA,OAAO,CAAC,aAAa,EAAE,GAAG,WAAW,CAAC,CAAC;iBACxC;qBAAM;oBACL,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC;iBAC5F;aACF;iBAAM;AACL,gBAAA,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC;aACxE;AACH,SAAC,CAAC,CAAC;KACJ;AAkBD;;AAEG;AACK,IAAA,QAAQ,CAAC,IAA+B,EAAA;;AAE9C,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC;AACvE,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC;AAEtE,QAAA,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AACxD,QAAA,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,CAAC,CAA0B,EAAE,CAA0B,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAEtG,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7B,YAAA,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;SAChC,CAAC;;AAGF,QAAA,OAAO,aAAa,GAAG,CAAC,aAAa,EAAE,GAAG,WAAW,CAAC,GAAG,WAAW,CAAC;KACtE;AAED;;AAEG;IACK,aAAa,CAAC,KAAgC,EAAE,MAAc,EAAA;QACpE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;KACxF;AAED;;AAEG;IACI,cAAc,GAAA;AACnB,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;KACzC;AAED;;;AAGG;IACI,mBAAmB,CAAC,KAAY,EAAE,IAA6B,EAAA;QACpE,KAAK,EAAE,eAAe,EAAE,CAAC;AAEzB,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,EAAE;AACjE,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,IAC5B,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CACnD,CAAC;SACH;aAAM;AACL,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,IAAG;AAC/B,gBAAA,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAC9B,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAC3D,CAAC;gBAEF,MAAM,UAAU,GAAG,YAAY;AACV,qBAAA,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC;qBAC7C,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AAE3C,gBAAA,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IACvB,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,CACrE,CAAC;AACJ,aAAC,CAAC,CAAC;SACJ;AAED,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;KACF;AAED;;AAEG;IACI,YAAY,GAAA;AACjB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE;AACjC,aAAA,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC;aAC1D,GAAG,CAAC,IAAI,IAAG;YACV,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;AAClC,YAAA,OAAO,IAAI,CAAC;AACd,SAAC,CAAC,CAAC;;AAGL,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAqC,CAAC,CAAC;AAC1D,QAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAqC,CAAC,CAAC;AACtE,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;AAC3B,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACxB;KACF;AAED;;AAEG;IACI,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,IAC5B,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CACjD,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACxB;AAED;;AAEG;IACI,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;;QAEvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;AAED;;AAEG;AACI,IAAA,kBAAkB,CAAC,SAAkB,EAAA;AAC1C,QAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KAC1C;AAED;;AAEG;AACI,IAAA,mBAAmB,CAAC,KAAY,EAAA;QACrC,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACtC;AAED;;AAEG;AACI,IAAA,mBAAmB,CAAC,QAAgB,EAAA;AACzC,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KAChC;AAED;;AAEG;IACK,YAAY,CAClB,QAA8B,EAC9B,MAAmB,EAAA;QAEnB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE;YACpD,OAAO;SACR;AAED,QAAA,MAAM,eAAe,GAAG;YACtB,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACjH,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;SAC9G,CAAC;AACF,QAAA,MAAM,YAAY,GAAG;YACnB,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAClH,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC/G,CAAC;AAEF,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO;AAClC,aAAA,QAAQ,EAAE;aACV,mBAAmB,CAAC,MAAM,CAAC;AAC3B,aAAA,aAAa,CAAC;AACb,YAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE,KAAK,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC;AAC1F,YAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE,KAAK,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC;SACrF,CAAC;aACD,QAAQ,CAAC,IAAI,CAAC,CAAC;AAElB,QAAA,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC;AAChC,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,aAAa,EAAE,kCAAkC;YACjD,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE;YAC1D,gBAAgB;YAChB,KAAK,EAAE,MAAM,EAAE,WAAW;AAC3B,SAAA,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAE/C,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;AAC5B,YAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;SACjE;AACD,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;SACnE;AAED,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;KAClE;6HA3SU,4BAA4B,GAAA,CAAA,EAAA,CAAA,EAAA;oEAA5B,4BAA4B,EAAA,SAAA,EAAA,CAAA,CAAA,2BAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,kCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;;;;;;;AD/BvC,YAPF,8BAMC,CAQE,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAFC,YADA,EAAe,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,gEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,GAAA,CAAA,cAAA,EAAgB,CAAC,CAAA,EAAA,CAAA,CAAA,OAAA,EAAA,SAAA,0DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CACvB,oBAAgB,CAAC,CAAA,EAAA,CAAA,CAAA;YAG1B,EAAmB,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAOnB,YANE,+FAA6C,CAMH,CAAA,EAAA,oDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;YAI5C,EAAM,CAAA,YAAA,EAAA,CAAA;;YACN,EAQC,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;YACC,EAKE,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;YACJ,EAAM,CAAA,YAAA,EAAA,EACF,EACF,CAAA;YACN,EAA6B,CAAA,UAAA,CAAA,CAAA,EAAA,mDAAA,EAAA,CAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;;YA3C3B,EAGE,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,GAAA,CAAA,MAAA,EAAA,CAAA,MAAA,GAAA,CAAA,GAAA,GAAA,CAAA,MAAA,EAAA,GAAA,EAAA,EAAA,GAAA,CAAA,KAAA,EAAA,CAAA,MAAA,GAAA,CAAA,GAAA,GAAA,CAAA,KAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;YAQA,EAAuD,CAAA,SAAA,EAAA,CAAA;YAAvD,EAAuD,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,GAAA,CAAA,MAAA,EAAA,GAAA,SAAA,GAAA,EAAA,CAAA,CAAA,CAAA;YAGtC,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAA5B,EAA4B,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,GAAA,CAAA,mBAAA,EAAA,CAAA,CAAA;YAM9B,EAA2B,CAAA,SAAA,EAAA,CAAA;YAA3B,EAA2B,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,mBAAA,EAAA,CAAA,CAAA;YAOxC,EAAyE,CAAA,SAAA,EAAA,CAAA;YAAzE,EAAyE,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,GAAA,EAAA,GAAA,CAAA,MAAA,EAAA,GAAA,gBAAA,GAAA,cAAA,CAAA,CAAA,CAAA;;;iFCSlE,4BAA4B,EAAA,CAAA;cALxC,SAAS;2BACE,2BAA2B,EAAA,QAAA,EAAA,i/LAAA,EAAA,MAAA,EAAA,CAAA,uoSAAA,CAAA,EAAA,CAAA;oBA4CG,aAAa,EAAA,CAAA;kBAApD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;YACU,cAAc,EAAA,CAAA;kBAA7D,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,gBAAgB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;YACgB,kBAAkB,EAAA,CAAA;kBAA/E,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;;kFA1ChC,4BAA4B,EAAA,EAAA,SAAA,EAAA,8BAAA,EAAA,CAAA,CAAA,EAAA,GAAA;;MCzB5B,yBAAyB,CAAA;AACpC,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO,EAAE,QAAQ,EAAE,yBAAyB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;KAC/D;0HAHU,yBAAyB,GAAA,CAAA,EAAA,CAAA,EAAA;mEAAzB,yBAAyB,EAAA,CAAA,CAAA,EAAA;AAH1B,IAAA,SAAA,IAAA,CAAA,IAAA,iBAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;iFAGrE,yBAAyB,EAAA,CAAA;cALrC,QAAQ;AAAC,QAAA,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,4BAA4B,CAAC;gBAC5C,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,CAAC;gBACjF,OAAO,EAAE,CAAC,4BAA4B,CAAC;AACxC,aAAA,CAAA;;AACY,CAAA,YAAA,EAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,yBAAyB,EAJrB,EAAA,YAAA,EAAA,CAAA,4BAA4B,CACjC,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,aACtE,4BAA4B,CAAA,EAAA,CAAA,CAAA,EAAA,GAAA;;ACXxC;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-multi-select-dropdown.mjs","sources":["../../../projects/mis-components/multi-select-dropdown/multi-select-dropdown.component.html","../../../projects/mis-components/multi-select-dropdown/multi-select-dropdown.component.ts","../../../projects/mis-components/multi-select-dropdown/multi-select-dropdown.module.ts","../../../projects/mis-components/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.ts"],"sourcesContent":["<div\n class=\"container\"\n [ngStyle]=\"{\n height: height().length > 0 ? height() : '',\n width: width().length > 0 ? width() : ''\n }\"\n>\n <div\n class=\"dropdown\"\n #select\n tabindex=\"0\"\n (keyup.enter)=\"toggleDropdown()\"\n (click)=\"toggleDropdown()\"\n [ngStyle]=\"{ 'background': isOpen() ? '#E6EBF7' : '' }\"\n >\n <div class=\"label\">\n <ng-container *ngIf=\"!customLabelTemplate()\">\n <p class=\"text\">{{ label() }}</p>\n <p *ngIf=\"showSelectedCount() && internalSelectedItems()?.length > 0\" class=\"count\">\n {{ internalSelectedItems()?.length }}\n </p>\n </ng-container>\n <ng-container *ngIf=\"customLabelTemplate()\">\n <ng-container *ngTemplateOutlet=\"customLabelTemplate()\">\n </ng-container>\n </ng-container>\n </div>\n <svg\n class=\"handle\"\n [ngStyle]=\"{ 'transform': isOpen() ? 'rotate(180deg)' : 'rotate(0deg)' }\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\"\n fill=\"#181F33\"\n />\n </svg>\n </div>\n</div>\n<ng-template #popupContainer>\n <div\n class=\"popup-container\"\n [ngStyle]=\"{\n 'height': dropdownListHeight(),\n width: dropdownListWidth()\n }\"\n [ngClass]=\"{\n 'position-left': dropdownListPosition() === 'Left',\n 'position-right': dropdownListPosition() === 'Right'\n }\"\n >\n <!-- Search Bar -->\n <div *ngIf=\"searchEnabled()\" class=\"search-container\">\n <svg\n *ngIf=\"!isSearchInputFocused()\"\n class=\"search-icon\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n <input\n #searchField\n [ngModel]=\"searchInput()\"\n [ngStyle]=\"{\n paddingLeft: isSearchInputFocused() ? '12px' : '45px',\n border: isSearchInputFocused() ? '1px solid #0937B2' : '1px solid #e0e0e0',\n paddingRight: isSearchInputFocused() ? '45px' : '10px'\n }\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused() ? '' : searchInputPlaceholder()\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n />\n <svg\n *ngIf=\"isSearchInputFocused()\"\n class=\"cancel-icon\"\n (click)=\"searchInputCanceled($event)\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n\n <!-- Custom Message Template -->\n @if(customMessageTemplate()){\n <div class=\"custom-message-container\">\n <ng-container *ngTemplateOutlet=\"customMessageTemplate()\"></ng-container>\n </div>\n }\n\n <div class=\"items\">\n <div\n class=\"item\"\n tabindex=\"0\"\n (keyup.enter)=\"toggleSelectedItems($event, item)\"\n (click)=\"toggleSelectedItems($event, item)\"\n *ngFor=\"let item of displayData()\"\n [ngClass]=\"{'disabled':item.disabled}\"\n >\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox [checked]=\"item.checked\" tabindex=\"-1\"></mis-checkbox>\n </div>\n <p class=\"label\">\n {{ item.label }}\n </p>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"displayData().length === 0\">\n {{ searchInput() === \"\" ? noDataMessage() : noResultsText() }}\n </div>\n </div>\n <div *ngIf=\"internalData().length !== 0 && !hideApplyButton()\" class=\"actions-container\">\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\" (click)=\"onReset()\">\n <mis-button [name]=\"'Reset'\" [type]=\"'Text'\" [width]=\"'100%'\" ></mis-button>\n </div>\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\" (click)=\"applyFilters()\">\n <mis-button [name]=\"'Apply'\" [type]=\"'Solid'\" [width]=\"'100%'\" ></mis-button>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n","import {\n Component,\n ElementRef,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n computed,\n effect,\n signal,\n inject,\n input,\n output\n} from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n OverlayRef,\n Overlay,\n ConnectionPositionPair,\n OverlayConfig,\n} from '@angular/cdk/overlay';\n\nexport interface MultiSelectDropdownItem {\n label: string;\n value: string;\n checked?: boolean;\n icon?: string;\n disabled?: boolean;\n}\n\nexport interface OPTIONS {\n sortLabels: boolean;\n}\n\n@Component({\n selector: 'mis-multi-select-dropdown',\n templateUrl: './multi-select-dropdown.component.html',\n styleUrls: ['./multi-select-dropdown.component.scss']\n})\nexport class MultiSelectDropdownComponent {\n // Dependencies Injection\n private readonly eRef = inject(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly viewContainerRef = inject(ViewContainerRef);\n\n // Signal-based Inputs\n public data = input<MultiSelectDropdownItem[]>([]);\n public selectedItems = input<MultiSelectDropdownItem[]>([]);\n public label = input<string>('Select');\n public height = input<string>('');\n public width = input<string>('');\n public dropdownListHeight = input<string>('');\n public dropdownListWidth = input<string>('');\n public dropdownListPosition = input<'Left' | 'Right'>('Left');\n public enableSelectAll = input<boolean>(false);\n public searchEnabled = input<boolean>(true);\n public showSelectedCount = input<boolean>(false);\n public noDataMessage = input<string>('No Data');\n public customMessageTemplate = input<TemplateRef<any>>();\n public options = input<OPTIONS>({\n sortLabels: true,\n });\n public hideApplyButton = input<boolean>(false);\n public searchInputPlaceholder = input<string>('Search Keyword');\n public customLabelTemplate = input<TemplateRef<any>>();\n public noResultsText = input<string>(\"No results\");\n\n // Signal-based Output\n public onChange = output<MultiSelectDropdownItem[]>();\n\n // Internal Signals for component state\n public isOpen = signal(false);\n public searchInput = signal('');\n public isSearchInputFocused = signal(false);\n public internalSelectedItems = signal<MultiSelectDropdownItem[]>([]);\n public internalData = signal<MultiSelectDropdownItem[]>([]);\n\n // Constants\n private readonly SELECT_ALL_ENUM = 'SELECT_ALL_ENABLED';\n\n @ViewChild('select', { static: false }) selectElement: ElementRef;\n @ViewChild('popupContainer', { static: false }) popupContainer: TemplateRef<Element>;\n @ViewChild('searchField', { static: false }) private readonly searchInputElement: ElementRef<HTMLInputElement>;\n private overlayRef: OverlayRef;\n\n constructor() {\n effect(() => {\n this.handleInputChanges();\n }, { allowSignalWrites: true });\n\n effect(() => {\n if (this.isOpen()) {\n this.openDropdown(this.popupContainer, this.selectElement?.nativeElement);\n } else {\n // Before detach so the search input still exists for blur()\n this.clearSearchOnClose();\n this.overlayRef?.detach();\n }\n }, { allowSignalWrites: true });\n }\n\n /** Clears search text and focus when the dropdown closes (runs before overlay detach). */\n private clearSearchOnClose(): void {\n this.searchInputElement?.nativeElement?.blur();\n this.searchInput.set('');\n this.isSearchInputFocused.set(false);\n }\n\n /**\n * Effect to manage the component's internal state based on external inputs.\n */\n private handleInputChanges(): void {\n const values = this.data();\n const selected = this.selectedItems();\n\n const formattedData = values?.map(item => ({\n ...item,\n checked: selected?.some(s => s.value === item.value) ?? false\n })) || [];\n \n this.internalData.set(formattedData);\n this.internalSelectedItems.set(selected || []);\n\n // Apply the 'select all' logic\n this.internalData.update(currentData => {\n const isSelectAll = this.enableSelectAll() && currentData.every(item => item.checked || item.value === this.SELECT_ALL_ENUM);\n const selectAllItem = {\n label: 'Select all',\n value: this.SELECT_ALL_ENUM,\n checked: isSelectAll\n };\n\n const hasSelectAll = currentData.some(t => t.value === this.SELECT_ALL_ENUM);\n if (this.enableSelectAll()) {\n if (!hasSelectAll) {\n return [selectAllItem, ...currentData];\n } else {\n return currentData.map(item => item.value === this.SELECT_ALL_ENUM ? selectAllItem : item);\n }\n } else {\n return currentData.filter(item => item.value !== this.SELECT_ALL_ENUM);\n }\n });\n }\n\n /**\n * Computed signal for the data to be displayed in the dropdown list.\n * Filters based on search input and sorts if the option is enabled.\n */\n public displayData = computed(() => {\n let dataToDisplay = this.searchEnabled() && this.searchInput() ? \n this.filterByValue(this.internalData(), this.searchInput()) : \n this.internalData();\n\n if (this.options().sortLabels) {\n dataToDisplay = this.sortData(dataToDisplay);\n }\n \n return dataToDisplay;\n });\n\n /**\n * Helper function to sort the data.\n */\n private sortData(data: MultiSelectDropdownItem[]): MultiSelectDropdownItem[] {\n // Separate \"Select All\" option from other items\n const selectAllItem = data.find(t => t.value === this.SELECT_ALL_ENUM);\n const otherItems = data.filter(t => t.value !== this.SELECT_ALL_ENUM);\n \n const checkedValues = otherItems.filter(a => a.checked);\n const unCheckedValues = otherItems.filter(a => !a.checked);\n\n const sortFn = (a: MultiSelectDropdownItem, b: MultiSelectDropdownItem) => a.label > b.label ? 1 : -1;\n \n const sortedItems = [\n ...checkedValues.sort(sortFn),\n ...unCheckedValues.sort(sortFn)\n ];\n \n // Add \"Select All\" at the top if it exists\n return selectAllItem ? [selectAllItem, ...sortedItems] : sortedItems;\n }\n\n /**\n * Helper function to filter the data.\n */\n private filterByValue(array: MultiSelectDropdownItem[], search: string): MultiSelectDropdownItem[] {\n return array.filter(o => o?.label?.toLowerCase().includes(search.toLowerCase())) || [];\n }\n\n /**\n * Toggles the dropdown's open/close state.\n */\n public toggleDropdown(): void {\n this.isOpen.update(current => !current);\n }\n\n /**\n * Toggles the checked state of a specific item.\n * Handles the 'Select All' logic.\n */\n public toggleSelectedItems(event: Event, item: MultiSelectDropdownItem): void {\n event?.stopPropagation();\n\n if (this.enableSelectAll() && item.value === this.SELECT_ALL_ENUM) {\n this.internalData.update(items =>\n items.map(t => ({ ...t, checked: !item.checked }))\n );\n } else {\n this.internalData.update(items => {\n const updatedItems = items.map(a => \n a.value === item.value ? { ...a, checked: !a.checked } : a\n );\n \n const allChecked = updatedItems\n .filter(r => r.value !== this.SELECT_ALL_ENUM)\n .every(t => t.checked);\n \n return updatedItems.map(a => \n a.value === this.SELECT_ALL_ENUM ? { ...a, checked: allChecked } : a\n );\n });\n }\n\n if (this.hideApplyButton()) {\n this.applyFilters();\n }\n }\n\n /**\n * Emits the selected items and closes the dropdown.\n */\n public applyFilters(): void {\n const selected = this.internalData()\n .filter(a => a.checked && a.value !== this.SELECT_ALL_ENUM)\n .map(item => {\n const { checked, ...data } = item;\n return data;\n });\n \n // Use the signal output's emit method\n this.onChange.emit(selected as MultiSelectDropdownItem[]);\n this.internalSelectedItems.set(selected as MultiSelectDropdownItem[]);\n if (!this.hideApplyButton()) {\n this.isOpen.set(false);\n }\n }\n\n /**\n * Resets the dropdown to an empty state.\n */\n public onReset(): void {\n this.internalData.update(items => \n items.map(item => ({ ...item, checked: false }))\n );\n this.applyFilters();\n this.isOpen.set(false);\n }\n\n /**\n * Closes the dropdown and reverts any changes.\n */\n public onCancel(): void {\n this.isOpen.set(false);\n // Revert internal data to match the last selected items (search cleared in isOpen effect)\n this.handleInputChanges();\n }\n\n /**\n * Toggles the focus state of the search input.\n */\n public searchInputFocused(isFocused: boolean): void {\n this.isSearchInputFocused.set(isFocused);\n }\n\n /**\n * Clears the search input and unfocuses it.\n */\n public searchInputCanceled(event: Event): void {\n event.stopPropagation();\n this.searchInput.set('');\n this.isSearchInputFocused.set(false);\n }\n\n /**\n * Handles the change event from the search input.\n */\n public searchInputOnChange(newValue: string): void {\n this.searchInput.set(newValue);\n }\n\n /**\n * Creates and displays the overlay for the dropdown list.\n */\n private openDropdown(\n template: TemplateRef<Element>,\n origin: HTMLElement\n ): void {\n if (this.overlayRef && this.overlayRef.hasAttached()) {\n return;\n }\n \n const positionsBottom = [\n new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }, 0, 4),\n new ConnectionPositionPair({ originX: 'end', originY: 'bottom' }, { overlayX: 'end', overlayY: 'top' }, 0, 4),\n ];\n const positionsTop = [\n new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }, 0, -4),\n new ConnectionPositionPair({ originX: 'end', originY: 'top' }, { overlayX: 'end', overlayY: 'bottom' }, 0, -4),\n ];\n\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions([\n ...(this.dropdownListPosition() === 'Right' ? positionsBottom.reverse() : positionsBottom),\n ...(this.dropdownListPosition() === 'Right' ? positionsTop.reverse() : positionsTop),\n ])\n .withPush(true);\n\n const configs = new OverlayConfig({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy,\n width: origin?.clientWidth,\n });\n \n this.overlayRef = this.overlay.create(configs);\n \n if (this.dropdownListWidth()) {\n this.overlayRef.updateSize({ width: this.dropdownListWidth() });\n }\n if (this.dropdownListHeight()) {\n this.overlayRef.updateSize({ height: this.dropdownListHeight() });\n }\n \n this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.overlayRef.backdropClick().subscribe(() => this.onCancel());\n }\n}\n\n","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { MultiSelectDropdownComponent } from \"./multi-select-dropdown.component\";\nimport { CheckboxModule } from \"mis-crystal-design-system/checkbox\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { ButtonModule } from \"mis-crystal-design-system/button\";\n\n@NgModule({\n declarations: [MultiSelectDropdownComponent],\n imports: [CommonModule, FormsModule, OverlayModule, CheckboxModule, ButtonModule],\n exports: [MultiSelectDropdownComponent]\n})\nexport class MultiSelectDropdownModule {\n static forRoot(): ModuleWithProviders<MultiSelectDropdownModule> {\n return { ngModule: MultiSelectDropdownModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ export declare class MultiSelectDropdownComponent {
|
|
|
31
31
|
hideApplyButton: import("@angular/core").InputSignal<boolean>;
|
|
32
32
|
searchInputPlaceholder: import("@angular/core").InputSignal<string>;
|
|
33
33
|
customLabelTemplate: import("@angular/core").InputSignal<TemplateRef<any>>;
|
|
34
|
+
noResultsText: import("@angular/core").InputSignal<string>;
|
|
34
35
|
onChange: import("@angular/core").OutputEmitterRef<MultiSelectDropdownItem[]>;
|
|
35
36
|
isOpen: import("@angular/core").WritableSignal<boolean>;
|
|
36
37
|
searchInput: import("@angular/core").WritableSignal<string>;
|
|
@@ -100,5 +101,5 @@ export declare class MultiSelectDropdownComponent {
|
|
|
100
101
|
*/
|
|
101
102
|
private openDropdown;
|
|
102
103
|
static ɵfac: i0.ɵɵFactoryDeclaration<MultiSelectDropdownComponent, never>;
|
|
103
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MultiSelectDropdownComponent, "mis-multi-select-dropdown", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "selectedItems": { "alias": "selectedItems"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "dropdownListHeight": { "alias": "dropdownListHeight"; "required": false; "isSignal": true; }; "dropdownListWidth": { "alias": "dropdownListWidth"; "required": false; "isSignal": true; }; "dropdownListPosition": { "alias": "dropdownListPosition"; "required": false; "isSignal": true; }; "enableSelectAll": { "alias": "enableSelectAll"; "required": false; "isSignal": true; }; "searchEnabled": { "alias": "searchEnabled"; "required": false; "isSignal": true; }; "showSelectedCount": { "alias": "showSelectedCount"; "required": false; "isSignal": true; }; "noDataMessage": { "alias": "noDataMessage"; "required": false; "isSignal": true; }; "customMessageTemplate": { "alias": "customMessageTemplate"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "hideApplyButton": { "alias": "hideApplyButton"; "required": false; "isSignal": true; }; "searchInputPlaceholder": { "alias": "searchInputPlaceholder"; "required": false; "isSignal": true; }; "customLabelTemplate": { "alias": "customLabelTemplate"; "required": false; "isSignal": true; }; }, { "onChange": "onChange"; }, never, never, false, never>;
|
|
104
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MultiSelectDropdownComponent, "mis-multi-select-dropdown", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "selectedItems": { "alias": "selectedItems"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "dropdownListHeight": { "alias": "dropdownListHeight"; "required": false; "isSignal": true; }; "dropdownListWidth": { "alias": "dropdownListWidth"; "required": false; "isSignal": true; }; "dropdownListPosition": { "alias": "dropdownListPosition"; "required": false; "isSignal": true; }; "enableSelectAll": { "alias": "enableSelectAll"; "required": false; "isSignal": true; }; "searchEnabled": { "alias": "searchEnabled"; "required": false; "isSignal": true; }; "showSelectedCount": { "alias": "showSelectedCount"; "required": false; "isSignal": true; }; "noDataMessage": { "alias": "noDataMessage"; "required": false; "isSignal": true; }; "customMessageTemplate": { "alias": "customMessageTemplate"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "hideApplyButton": { "alias": "hideApplyButton"; "required": false; "isSignal": true; }; "searchInputPlaceholder": { "alias": "searchInputPlaceholder"; "required": false; "isSignal": true; }; "customLabelTemplate": { "alias": "customLabelTemplate"; "required": false; "isSignal": true; }; "noResultsText": { "alias": "noResultsText"; "required": false; "isSignal": true; }; }, { "onChange": "onChange"; }, never, never, false, never>;
|
|
104
105
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mis-crystal-design-system",
|
|
3
|
-
"version": "18.2.
|
|
3
|
+
"version": "18.2.13",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "*",
|
|
6
6
|
"@angular/core": "*",
|
|
@@ -46,36 +46,36 @@
|
|
|
46
46
|
"esm": "./esm2022/button/mis-crystal-design-system-button.mjs",
|
|
47
47
|
"default": "./fesm2022/mis-crystal-design-system-button.mjs"
|
|
48
48
|
},
|
|
49
|
-
"./checkbox": {
|
|
50
|
-
"types": "./checkbox/index.d.ts",
|
|
51
|
-
"esm2022": "./esm2022/checkbox/mis-crystal-design-system-checkbox.mjs",
|
|
52
|
-
"esm": "./esm2022/checkbox/mis-crystal-design-system-checkbox.mjs",
|
|
53
|
-
"default": "./fesm2022/mis-crystal-design-system-checkbox.mjs"
|
|
54
|
-
},
|
|
55
49
|
"./chip": {
|
|
56
50
|
"types": "./chip/index.d.ts",
|
|
57
51
|
"esm2022": "./esm2022/chip/mis-crystal-design-system-chip.mjs",
|
|
58
52
|
"esm": "./esm2022/chip/mis-crystal-design-system-chip.mjs",
|
|
59
53
|
"default": "./fesm2022/mis-crystal-design-system-chip.mjs"
|
|
60
54
|
},
|
|
55
|
+
"./checkbox": {
|
|
56
|
+
"types": "./checkbox/index.d.ts",
|
|
57
|
+
"esm2022": "./esm2022/checkbox/mis-crystal-design-system-checkbox.mjs",
|
|
58
|
+
"esm": "./esm2022/checkbox/mis-crystal-design-system-checkbox.mjs",
|
|
59
|
+
"default": "./fesm2022/mis-crystal-design-system-checkbox.mjs"
|
|
60
|
+
},
|
|
61
61
|
"./datepicker_v2": {
|
|
62
62
|
"types": "./datepicker_v2/index.d.ts",
|
|
63
63
|
"esm2022": "./esm2022/datepicker_v2/mis-crystal-design-system-datepicker_v2.mjs",
|
|
64
64
|
"esm": "./esm2022/datepicker_v2/mis-crystal-design-system-datepicker_v2.mjs",
|
|
65
65
|
"default": "./fesm2022/mis-crystal-design-system-datepicker_v2.mjs"
|
|
66
66
|
},
|
|
67
|
-
"./drawer": {
|
|
68
|
-
"types": "./drawer/index.d.ts",
|
|
69
|
-
"esm2022": "./esm2022/drawer/mis-crystal-design-system-drawer.mjs",
|
|
70
|
-
"esm": "./esm2022/drawer/mis-crystal-design-system-drawer.mjs",
|
|
71
|
-
"default": "./fesm2022/mis-crystal-design-system-drawer.mjs"
|
|
72
|
-
},
|
|
73
67
|
"./daterangepicker_v2": {
|
|
74
68
|
"types": "./daterangepicker_v2/index.d.ts",
|
|
75
69
|
"esm2022": "./esm2022/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.mjs",
|
|
76
70
|
"esm": "./esm2022/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.mjs",
|
|
77
71
|
"default": "./fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs"
|
|
78
72
|
},
|
|
73
|
+
"./drawer": {
|
|
74
|
+
"types": "./drawer/index.d.ts",
|
|
75
|
+
"esm2022": "./esm2022/drawer/mis-crystal-design-system-drawer.mjs",
|
|
76
|
+
"esm": "./esm2022/drawer/mis-crystal-design-system-drawer.mjs",
|
|
77
|
+
"default": "./fesm2022/mis-crystal-design-system-drawer.mjs"
|
|
78
|
+
},
|
|
79
79
|
"./dropdown": {
|
|
80
80
|
"types": "./dropdown/index.d.ts",
|
|
81
81
|
"esm2022": "./esm2022/dropdown/mis-crystal-design-system-dropdown.mjs",
|