mis-crystal-design-system 18.0.25 → 18.1.0-signal-test
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/action-list/action-list.component.d.ts +17 -15
- package/async-search-dropdown/async-dropdown.component.d.ts +43 -61
- package/button/button.component.d.ts +35 -13
- package/button/button.directive.d.ts +10 -8
- package/button/button.directive.scss +13 -15
- package/checkbox/checkbox.component.d.ts +15 -12
- package/chip/chip.component.d.ts +9 -11
- package/datepicker_v2/models/dp-config.model.d.ts +1 -0
- package/datepicker_v2/tz-datepicker.directive.d.ts +15 -18
- package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +42 -21
- package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +12 -14
- package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +46 -23
- package/drawer/drawer-body/drawer-body.component.d.ts +2 -2
- package/drawer/drawer.scss +1 -1
- package/dropdown/calculate-container-height.directive.d.ts +7 -8
- package/dropdown/dropdown.component.d.ts +41 -49
- package/dynamic-form/dynamic-form.component.d.ts +20 -16
- package/esm2022/action-list/action-list.component.mjs +113 -90
- package/esm2022/async-search-dropdown/async-dropdown.component.mjs +257 -327
- package/esm2022/button/button.component.mjs +56 -49
- package/esm2022/button/button.directive.mjs +36 -40
- package/esm2022/checkbox/checkbox.component.mjs +75 -70
- package/esm2022/chip/chip.component.mjs +20 -33
- package/esm2022/datepicker_v2/models/dp-config.model.mjs +1 -1
- package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +42 -71
- package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +203 -173
- package/esm2022/datepicker_v2/utils/index.mjs +2 -1
- package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +26 -51
- package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +283 -236
- package/esm2022/drawer/drawer-body/drawer-body.component.mjs +8 -7
- package/esm2022/dropdown/calculate-container-height.directive.mjs +25 -22
- package/esm2022/dropdown/dropdown.component.mjs +163 -187
- package/esm2022/dynamic-form/dynamic-form.component.mjs +119 -73
- package/esm2022/fab/fab.component.mjs +30 -34
- package/esm2022/filter/filter-panel/filter-panel.component.mjs +61 -59
- package/esm2022/input/directives/input/input.directive.mjs +22 -26
- package/esm2022/input/mis-input.component.mjs +42 -46
- package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +42 -52
- package/esm2022/loader/loader.component.mjs +8 -11
- package/esm2022/mobile-filter/mobile-filter.component.mjs +62 -62
- package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +11 -9
- package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +235 -281
- package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +250 -287
- package/esm2022/phone-input/phone-input.component.mjs +21 -43
- package/esm2022/public-api.mjs +1 -1
- package/esm2022/radio-button/radio-button.component.mjs +15 -27
- package/esm2022/ske-loader/ske-loader.component.mjs +15 -29
- package/esm2022/slider/slider.component.mjs +23 -33
- package/esm2022/slider/slider.module.mjs +4 -11
- package/esm2022/snackbar/snackbar/snackbar.component.mjs +21 -15
- package/esm2022/snackbar/snackbar.service.mjs +3 -2
- package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +231 -344
- package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +77 -105
- package/esm2022/star-rating/star-rating.component.mjs +58 -72
- package/esm2022/switch/switch.component.mjs +34 -36
- package/esm2022/table/actions-cell/actions-cell.component.mjs +56 -55
- package/esm2022/table/custom-table-cell.directive.mjs +22 -18
- package/esm2022/table/filter/filter.component.mjs +60 -42
- package/esm2022/table/sort-icons.directive.mjs +16 -8
- package/esm2022/table/sub-table/sub-table.component.mjs +42 -45
- package/esm2022/table/table.component.mjs +182 -166
- package/esm2022/timepicker/timepicker.component.mjs +245 -160
- package/esm2022/timepicker/timepicker.directive.mjs +3 -2
- package/esm2022/timerangepicker/timerangepicker.component.mjs +200 -159
- package/esm2022/toast/toast.component.mjs +7 -8
- package/esm2022/toast/toast.data.service.mjs +15 -9
- package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +12 -12
- package/esm2022/tooltip/tooltip.directive.mjs +4 -4
- package/esm2022/virtual-scroll/virtual-scroll.component.mjs +57 -59
- package/fab/fab.component.d.ts +12 -8
- package/fesm2022/mis-crystal-design-system-action-list.mjs +112 -89
- package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +254 -325
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-button.mjs +89 -86
- package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-checkbox.mjs +74 -69
- package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-chip.mjs +19 -32
- package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +243 -241
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +306 -284
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-drawer.mjs +7 -6
- package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-dropdown.mjs +184 -205
- package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs +119 -73
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-fab.mjs +29 -33
- package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-filter.mjs +60 -58
- package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input-stepper.mjs +41 -51
- package/fesm2022/mis-crystal-design-system-input-stepper.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input.mjs +62 -71
- package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-loader.mjs +7 -10
- package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +61 -61
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-modal.mjs +10 -8
- package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs +233 -279
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs +249 -286
- package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-phone-input.mjs +20 -42
- package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-radio-button.mjs +14 -26
- package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs +14 -28
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-slider.mjs +25 -42
- package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-snackbar.mjs +22 -15
- package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +305 -446
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-star-rating.mjs +57 -71
- package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-switch.mjs +33 -35
- package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-table.mjs +368 -324
- package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timepicker.mjs +246 -160
- package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs +199 -158
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-toast.mjs +19 -14
- package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-tooltip.mjs +14 -14
- package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs +57 -59
- package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system.mjs.map +1 -1
- package/filter/filter-panel/filter-panel.component.d.ts +14 -14
- package/input/directives/input/input.directive.d.ts +6 -10
- package/input/mis-input.component.d.ts +12 -13
- package/input/mis-input.component.scss +18 -18
- package/input-stepper/input-stepper/input-stepper.component.d.ts +8 -7
- package/loader/loader.component.d.ts +3 -6
- package/mobile-filter/mobile-filter.component.d.ts +15 -15
- package/modal/modal.scss +1 -1
- package/modal/module-wrapper/module-wrapper.component.d.ts +2 -3
- package/multi-select-dropdown/multi-select-dropdown.component.d.ts +89 -51
- package/nested-multi-select-dropdown/nested-multi-select-dropdown.component.d.ts +99 -56
- package/package.json +17 -23
- package/phone-input/phone-input.component.d.ts +16 -18
- package/radio-button/radio-button.component.d.ts +9 -11
- package/ske-loader/ske-loader.component.d.ts +8 -11
- package/slider/slider.component.d.ts +8 -11
- package/slider/slider.module.d.ts +1 -2
- package/snackbar/snackbar/snackbar.component.d.ts +3 -3
- package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +35 -35
- package/specificdatepicker/tz-specificdatepicker.directive.d.ts +24 -28
- package/star-rating/star-rating.component.d.ts +18 -18
- package/styles/mis-color-constants.scss +0 -204
- package/styles/mis-icons.scss +56 -56
- package/styles/mis-old-icon-styles.scss +21 -21
- package/switch/switch.component.d.ts +8 -10
- package/table/actions-cell/actions-cell.component.d.ts +14 -14
- package/table/custom-table-cell.directive.d.ts +3 -3
- package/table/filter/filter.component.d.ts +9 -9
- package/table/sub-table/sub-table.component.d.ts +5 -5
- package/table/table.component.d.ts +38 -35
- package/timepicker/timepicker.component.d.ts +29 -28
- package/timerangepicker/timerangepicker.component.d.ts +36 -33
- package/toast/toast.data.service.d.ts +1 -1
- package/tooltip/tooltip-container/tooltip.component.d.ts +4 -4
- package/virtual-scroll/virtual-scroll.component.d.ts +8 -9
- package/dynamic-theme/branding.types.d.ts +0 -84
- package/dynamic-theme/dynamic-theme.module.d.ts +0 -9
- package/dynamic-theme/dynamic-theme.service.d.ts +0 -89
- package/dynamic-theme/index.d.ts +0 -1
- package/dynamic-theme/public_api.d.ts +0 -3
- package/esm2022/dynamic-theme/branding.types.mjs +0 -93
- package/esm2022/dynamic-theme/dynamic-theme.module.mjs +0 -25
- package/esm2022/dynamic-theme/dynamic-theme.service.mjs +0 -193
- package/esm2022/dynamic-theme/index.mjs +0 -2
- package/esm2022/dynamic-theme/mis-crystal-design-system-dynamic-theme.mjs +0 -5
- package/esm2022/dynamic-theme/public_api.mjs +0 -4
- package/fesm2022/mis-crystal-design-system-dynamic-theme.mjs +0 -313
- package/fesm2022/mis-crystal-design-system-dynamic-theme.mjs.map +0 -1
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import * as i1 from '@angular/cdk/overlay';
|
|
2
|
-
import { ConnectionPositionPair, OverlayConfig, OverlayModule } from '@angular/cdk/overlay';
|
|
3
|
-
import { TemplatePortal } from '@angular/cdk/portal';
|
|
4
1
|
import * as i0 from '@angular/core';
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
2
|
+
import { inject, ElementRef, ViewContainerRef, input, output, signal, computed, effect, Component, ViewChild, NgModule } from '@angular/core';
|
|
3
|
+
import { TemplatePortal } from '@angular/cdk/portal';
|
|
4
|
+
import { Overlay, ConnectionPositionPair, OverlayConfig, OverlayModule } from '@angular/cdk/overlay';
|
|
5
|
+
import * as i1 from '@angular/common';
|
|
7
6
|
import { CommonModule } from '@angular/common';
|
|
8
|
-
import * as
|
|
7
|
+
import * as i2 from '@angular/forms';
|
|
9
8
|
import { FormsModule } from '@angular/forms';
|
|
10
|
-
import * as
|
|
9
|
+
import * as i3 from 'mis-crystal-design-system/checkbox';
|
|
11
10
|
import { CheckboxModule } from 'mis-crystal-design-system/checkbox';
|
|
12
|
-
import * as
|
|
11
|
+
import * as i4 from 'mis-crystal-design-system/button';
|
|
13
12
|
import { ButtonModule } from 'mis-crystal-design-system/button';
|
|
14
13
|
|
|
15
14
|
const _c0 = ["select"];
|
|
@@ -28,7 +27,7 @@ function NestedMultiSelectDropdownComponent_p_6_Template(rf, ctx) { if (rf & 1)
|
|
|
28
27
|
} if (rf & 2) {
|
|
29
28
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
30
29
|
i0.ɵɵadvance();
|
|
31
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.selectedCount, " ");
|
|
30
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.selectedCount(), " ");
|
|
32
31
|
} }
|
|
33
32
|
function NestedMultiSelectDropdownComponent_ng_template_9_div_1__svg_svg_1_Template(rf, ctx) { if (rf & 1) {
|
|
34
33
|
i0.ɵɵnamespaceSVG();
|
|
@@ -56,11 +55,11 @@ function NestedMultiSelectDropdownComponent_ng_template_9_div_1_Template(rf, ctx
|
|
|
56
55
|
} if (rf & 2) {
|
|
57
56
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
58
57
|
i0.ɵɵadvance();
|
|
59
|
-
i0.ɵɵproperty("ngIf", !ctx_r1.isSearchInputFocused);
|
|
58
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.isSearchInputFocused());
|
|
60
59
|
i0.ɵɵadvance();
|
|
61
|
-
i0.ɵɵproperty("ngModel", ctx_r1.searchInput)("ngStyle", i0.ɵɵpureFunction3(5, _c6, ctx_r1.isSearchInputFocused ? "12px" : "45px", ctx_r1.isSearchInputFocused ? "1px solid #0937B2" : "1px solid #e0e0e0", ctx_r1.isSearchInputFocused ? "45px" : "10px"))("placeholder", ctx_r1.isSearchInputFocused ? "" :
|
|
60
|
+
i0.ɵɵproperty("ngModel", ctx_r1.searchInput())("ngStyle", i0.ɵɵpureFunction3(5, _c6, ctx_r1.isSearchInputFocused() ? "12px" : "45px", ctx_r1.isSearchInputFocused() ? "1px solid #0937B2" : "1px solid #e0e0e0", ctx_r1.isSearchInputFocused() ? "45px" : "10px"))("placeholder", ctx_r1.isSearchInputFocused() ? "" : ctx_r1.searchInputPlaceholder());
|
|
62
61
|
i0.ɵɵadvance();
|
|
63
|
-
i0.ɵɵproperty("ngIf", ctx_r1.isSearchInputFocused);
|
|
62
|
+
i0.ɵɵproperty("ngIf", ctx_r1.isSearchInputFocused());
|
|
64
63
|
} }
|
|
65
64
|
function NestedMultiSelectDropdownComponent_ng_template_9_div_3_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
66
65
|
i0.ɵɵelementStart(0, "div", 31);
|
|
@@ -143,7 +142,7 @@ function NestedMultiSelectDropdownComponent_ng_template_9_div_4_Template(rf, ctx
|
|
|
143
142
|
} if (rf & 2) {
|
|
144
143
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
145
144
|
i0.ɵɵadvance();
|
|
146
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.searchInput === "" ? ctx_r1.noDataMessage : "No results", " ");
|
|
145
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.searchInput() === "" ? ctx_r1.noDataMessage() : "No results", " ");
|
|
147
146
|
} }
|
|
148
147
|
function NestedMultiSelectDropdownComponent_ng_template_9_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
149
148
|
const _r9 = i0.ɵɵgetCurrentView();
|
|
@@ -173,283 +172,271 @@ function NestedMultiSelectDropdownComponent_ng_template_9_Template(rf, ctx) { if
|
|
|
173
172
|
i0.ɵɵelementEnd();
|
|
174
173
|
} if (rf & 2) {
|
|
175
174
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
176
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(6, _c2, ctx_r1.dropdownListHeight, ctx_r1.dropdownListWidth))("ngClass", i0.ɵɵpureFunction2(9, _c5, ctx_r1.dropdownListPosition === "Left", ctx_r1.dropdownListPosition === "Right"));
|
|
175
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(6, _c2, ctx_r1.dropdownListHeight(), ctx_r1.dropdownListWidth()))("ngClass", i0.ɵɵpureFunction2(9, _c5, ctx_r1.dropdownListPosition() === "Left", ctx_r1.dropdownListPosition() === "Right"));
|
|
177
176
|
i0.ɵɵadvance();
|
|
178
|
-
i0.ɵɵproperty("ngIf", ctx_r1.searchEnabled);
|
|
177
|
+
i0.ɵɵproperty("ngIf", ctx_r1.searchEnabled());
|
|
179
178
|
i0.ɵɵadvance(2);
|
|
180
|
-
i0.ɵɵproperty("ngForOf", ctx_r1.
|
|
179
|
+
i0.ɵɵproperty("ngForOf", ctx_r1.displayData());
|
|
181
180
|
i0.ɵɵadvance();
|
|
182
|
-
i0.ɵɵproperty("ngIf",
|
|
181
|
+
i0.ɵɵproperty("ngIf", ctx_r1.displayData().length === 0);
|
|
183
182
|
i0.ɵɵadvance();
|
|
184
|
-
i0.ɵɵproperty("ngIf", ctx_r1.localData.length !== 0);
|
|
183
|
+
i0.ɵɵproperty("ngIf", ctx_r1.localData().length !== 0);
|
|
185
184
|
} }
|
|
186
185
|
class NestedMultiSelectDropdownComponent {
|
|
187
|
-
|
|
188
|
-
//
|
|
189
|
-
this.
|
|
186
|
+
constructor() {
|
|
187
|
+
// Dependencies Injection
|
|
188
|
+
this.eRef = inject(ElementRef);
|
|
189
|
+
this.overlay = inject(Overlay);
|
|
190
|
+
this.viewContainerRef = inject(ViewContainerRef);
|
|
191
|
+
// Signal-based Inputs
|
|
192
|
+
this.data = input([]);
|
|
193
|
+
this.selectedItems = input([]);
|
|
194
|
+
this.label = input('Select');
|
|
195
|
+
this.height = input('');
|
|
196
|
+
this.width = input('');
|
|
197
|
+
this.dropdownListHeight = input('');
|
|
198
|
+
this.dropdownListWidth = input('');
|
|
199
|
+
this.dropdownListPosition = input('Left');
|
|
200
|
+
this.searchEnabled = input(true);
|
|
201
|
+
this.showSelectedCount = input(false);
|
|
202
|
+
this.noDataMessage = input('No Data');
|
|
203
|
+
this.searchInputPlaceholder = input('Search Keyword');
|
|
204
|
+
// Signal-based Output
|
|
205
|
+
this.onChange = output();
|
|
206
|
+
// Internal Signals for component state
|
|
207
|
+
this.isOpen = signal(false);
|
|
208
|
+
this.searchInput = signal('');
|
|
209
|
+
this.isSearchInputFocused = signal(false);
|
|
210
|
+
this.localData = signal([]);
|
|
211
|
+
/**
|
|
212
|
+
* Computed signal for the number of selected items.
|
|
213
|
+
*/
|
|
214
|
+
this.selectedCount = computed(() => {
|
|
215
|
+
let count = 0;
|
|
216
|
+
this.localData().forEach(parent => {
|
|
217
|
+
parent.children.forEach(child => {
|
|
218
|
+
if (child.checked) {
|
|
219
|
+
count++;
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
});
|
|
223
|
+
return count;
|
|
224
|
+
});
|
|
225
|
+
/**
|
|
226
|
+
* Computed signal for data to be displayed in the dropdown.
|
|
227
|
+
* Filters based on search input and sorts the parents.
|
|
228
|
+
*/
|
|
229
|
+
this.displayData = computed(() => {
|
|
230
|
+
let dataToDisplay = this.searchEnabled() && this.searchInput() ?
|
|
231
|
+
this.filterByValue(this.localData(), this.searchInput()) :
|
|
232
|
+
this.localData();
|
|
233
|
+
return this.sortData(dataToDisplay);
|
|
234
|
+
});
|
|
235
|
+
// Effect to initialize and update local data based on external inputs
|
|
236
|
+
effect(() => {
|
|
237
|
+
const values = this.data();
|
|
238
|
+
const selected = this.selectedItems();
|
|
239
|
+
const formattedData = this.initializeData(values, selected);
|
|
240
|
+
this.localData.set(formattedData);
|
|
241
|
+
}, { allowSignalWrites: true });
|
|
242
|
+
// Effect to manage overlay open/close
|
|
243
|
+
effect(() => {
|
|
244
|
+
if (this.isOpen()) {
|
|
245
|
+
this.openDropdown(this.popupContainer, this.selectElement?.nativeElement);
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
this.overlayRef?.detach();
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Initializes the data structure from inputs, setting checked states.
|
|
254
|
+
* @param data The input data array.
|
|
255
|
+
* @param selected The selected items from the parent.
|
|
256
|
+
*/
|
|
257
|
+
initializeData(data, selected) {
|
|
258
|
+
if (!data)
|
|
259
|
+
return [];
|
|
260
|
+
return data.map(parent => {
|
|
261
|
+
const parentSelected = selected.find(s => s.value === parent.value);
|
|
262
|
+
const children = parent.children.map(child => ({
|
|
263
|
+
...child,
|
|
264
|
+
checked: parentSelected?.children.some(c => c.value === child.value) ?? false
|
|
265
|
+
}));
|
|
190
266
|
return {
|
|
191
|
-
...
|
|
192
|
-
checked:
|
|
193
|
-
children
|
|
194
|
-
return {
|
|
195
|
-
...a,
|
|
196
|
-
checked: false
|
|
197
|
-
};
|
|
198
|
-
})
|
|
267
|
+
...parent,
|
|
268
|
+
checked: children.every(c => c.checked),
|
|
269
|
+
children
|
|
199
270
|
};
|
|
200
271
|
});
|
|
201
272
|
}
|
|
202
|
-
|
|
203
|
-
|
|
273
|
+
/**
|
|
274
|
+
* Filters the data based on search string, including children.
|
|
275
|
+
* @param array The data to filter.
|
|
276
|
+
* @param search The search string.
|
|
277
|
+
*/
|
|
278
|
+
filterByValue(array, search) {
|
|
279
|
+
const lowerCaseSearch = search.toLowerCase();
|
|
280
|
+
return array.filter(parent => parent.label.toLowerCase().includes(lowerCaseSearch) ||
|
|
281
|
+
parent.children.some(child => child.label.toLowerCase().includes(lowerCaseSearch))).map(parent => ({
|
|
282
|
+
...parent,
|
|
283
|
+
children: parent.children.filter(child => child.label.toLowerCase().includes(lowerCaseSearch))
|
|
284
|
+
}));
|
|
204
285
|
}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
this.selectedCount = 0;
|
|
215
|
-
this.label = "Select";
|
|
216
|
-
this.height = "";
|
|
217
|
-
this.width = "";
|
|
218
|
-
this.dropdownListHeight = "";
|
|
219
|
-
this.dropdownListWidth = "";
|
|
220
|
-
this.dropdownListPosition = "Left";
|
|
221
|
-
this.searchEnabled = true;
|
|
222
|
-
this.showSelectedCount = false;
|
|
223
|
-
this.noDataMessage = "No Data";
|
|
224
|
-
this.onChange = new EventEmitter();
|
|
225
|
-
this.isSearchInputFocused = false;
|
|
286
|
+
/**
|
|
287
|
+
* Sorts the parent items, placing checked parents at the top.
|
|
288
|
+
* @param data The data to sort.
|
|
289
|
+
*/
|
|
290
|
+
sortData(data) {
|
|
291
|
+
const checkedParents = data.filter(a => a.checked);
|
|
292
|
+
const unCheckedParents = data.filter(a => !a.checked);
|
|
293
|
+
const sortFn = (a, b) => a.label > b.label ? 1 : -1;
|
|
294
|
+
return [...checkedParents.sort(sortFn), ...unCheckedParents.sort(sortFn)];
|
|
226
295
|
}
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
296
|
+
/**
|
|
297
|
+
* Toggles the dropdown's open/close state.
|
|
298
|
+
*/
|
|
299
|
+
toggleDropdown() {
|
|
300
|
+
this.isOpen.update(current => !current);
|
|
230
301
|
}
|
|
302
|
+
/**
|
|
303
|
+
* Handles focus state of the search input.
|
|
304
|
+
* @param isFocused
|
|
305
|
+
*/
|
|
231
306
|
searchInputFocused(isFocused) {
|
|
232
|
-
this.isSearchInputFocused
|
|
307
|
+
this.isSearchInputFocused.set(isFocused);
|
|
233
308
|
}
|
|
309
|
+
/**
|
|
310
|
+
* Clears the search input.
|
|
311
|
+
* @param event
|
|
312
|
+
*/
|
|
234
313
|
searchInputCanceled(event) {
|
|
235
314
|
event.stopPropagation();
|
|
236
|
-
this.searchInput
|
|
237
|
-
this.isSearchInputFocused
|
|
315
|
+
this.searchInput.set('');
|
|
316
|
+
this.isSearchInputFocused.set(false);
|
|
238
317
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
318
|
+
/**
|
|
319
|
+
* Handles the change event from the search input.
|
|
320
|
+
* @param newValue
|
|
321
|
+
*/
|
|
322
|
+
searchInputOnChange(newValue) {
|
|
323
|
+
this.searchInput.set(newValue);
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Toggles the checked state of a specific item, handling parent-child relationships.
|
|
327
|
+
* @param event
|
|
328
|
+
* @param parent
|
|
329
|
+
* @param child
|
|
330
|
+
*/
|
|
331
|
+
toggleSelectedItems(event, parent, child) {
|
|
332
|
+
event.stopPropagation();
|
|
333
|
+
this.localData.update(currentData => {
|
|
334
|
+
return currentData.map(p => {
|
|
335
|
+
if (p.value === parent.value) {
|
|
336
|
+
if (child) {
|
|
337
|
+
// Case 1: Toggling a child item
|
|
338
|
+
const updatedChildren = p.children.map(c => {
|
|
339
|
+
return c.value === child.value ? { ...c, checked: !c.checked } : c;
|
|
340
|
+
});
|
|
341
|
+
return {
|
|
342
|
+
...p,
|
|
343
|
+
checked: updatedChildren.every(c => c.checked),
|
|
344
|
+
children: updatedChildren
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
// Case 2: Toggling a parent item
|
|
349
|
+
const newCheckedState = !p.checked;
|
|
350
|
+
const updatedChildren = p.children.map(c => ({
|
|
351
|
+
...c,
|
|
352
|
+
checked: newCheckedState
|
|
353
|
+
}));
|
|
354
|
+
return {
|
|
355
|
+
...p,
|
|
356
|
+
checked: newCheckedState,
|
|
357
|
+
children: updatedChildren
|
|
358
|
+
};
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
return p;
|
|
362
|
+
});
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Emits the selected items and closes the dropdown.
|
|
367
|
+
*/
|
|
368
|
+
applyFilters() {
|
|
369
|
+
const selected = this.localData().filter(parent => parent.checked || parent.children.some(child => child.checked)).map(parent => ({
|
|
370
|
+
...parent,
|
|
371
|
+
children: parent.children.filter(child => child.checked)
|
|
372
|
+
}));
|
|
373
|
+
this.onChange.emit(selected);
|
|
374
|
+
this.onCancel();
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Resets all selections to empty.
|
|
378
|
+
*/
|
|
379
|
+
onReset() {
|
|
380
|
+
this.localData.update(data => data.map(parent => ({
|
|
381
|
+
...parent,
|
|
382
|
+
checked: false,
|
|
383
|
+
children: parent.children.map(child => ({ ...child, checked: false }))
|
|
384
|
+
})));
|
|
385
|
+
this.onChange.emit([]);
|
|
386
|
+
this.onCancel();
|
|
249
387
|
}
|
|
388
|
+
/**
|
|
389
|
+
* Closes the dropdown and reverts any unapplied changes.
|
|
390
|
+
*/
|
|
391
|
+
onCancel() {
|
|
392
|
+
this.isOpen.set(false);
|
|
393
|
+
this.searchInput.set('');
|
|
394
|
+
this.isSearchInputFocused.set(false);
|
|
395
|
+
// This is crucial for reverting unsaved changes
|
|
396
|
+
const selected = this.selectedItems();
|
|
397
|
+
const formattedData = this.initializeData(this.data(), selected);
|
|
398
|
+
this.localData.set(formattedData);
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Creates and displays the overlay for the dropdown list.
|
|
402
|
+
* @param template
|
|
403
|
+
* @param origin
|
|
404
|
+
*/
|
|
250
405
|
openDropdown(template, origin) {
|
|
406
|
+
if (this.overlayRef?.hasAttached())
|
|
407
|
+
return;
|
|
251
408
|
const positionsBottom = [
|
|
252
|
-
new ConnectionPositionPair({ originX:
|
|
253
|
-
new ConnectionPositionPair({ originX:
|
|
409
|
+
new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }, 0, 4),
|
|
410
|
+
new ConnectionPositionPair({ originX: 'end', originY: 'bottom' }, { overlayX: 'end', overlayY: 'top' }, 0, 4)
|
|
254
411
|
];
|
|
255
412
|
const positionsTop = [
|
|
256
|
-
new ConnectionPositionPair({ originX:
|
|
257
|
-
new ConnectionPositionPair({ originX:
|
|
413
|
+
new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }, 0, -4),
|
|
414
|
+
new ConnectionPositionPair({ originX: 'end', originY: 'top' }, { overlayX: 'end', overlayY: 'bottom' }, 0, -4)
|
|
258
415
|
];
|
|
259
416
|
const positionStrategy = this.overlay
|
|
260
417
|
.position()
|
|
261
418
|
.flexibleConnectedTo(origin)
|
|
262
419
|
.withPositions([
|
|
263
|
-
...(this.dropdownListPosition ===
|
|
264
|
-
...(this.dropdownListPosition ===
|
|
420
|
+
...(this.dropdownListPosition() === 'Right' ? positionsBottom.reverse() : positionsBottom),
|
|
421
|
+
...(this.dropdownListPosition() === 'Right' ? positionsTop.reverse() : positionsTop)
|
|
265
422
|
])
|
|
266
423
|
.withPush(true);
|
|
267
424
|
const configs = new OverlayConfig({
|
|
268
425
|
hasBackdrop: true,
|
|
269
|
-
backdropClass:
|
|
426
|
+
backdropClass: 'cdk-overlay-transparent-backdrop',
|
|
270
427
|
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
271
428
|
positionStrategy,
|
|
272
429
|
width: origin.clientWidth
|
|
273
430
|
});
|
|
274
431
|
this.overlayRef = this.overlay.create(configs);
|
|
275
|
-
if (this.dropdownListWidth)
|
|
276
|
-
this.overlayRef.updateSize({ width: this.dropdownListWidth });
|
|
277
|
-
if (this.dropdownListHeight)
|
|
278
|
-
this.overlayRef.updateSize({ height: this.dropdownListHeight });
|
|
432
|
+
if (this.dropdownListWidth())
|
|
433
|
+
this.overlayRef.updateSize({ width: this.dropdownListWidth() });
|
|
434
|
+
if (this.dropdownListHeight())
|
|
435
|
+
this.overlayRef.updateSize({ height: this.dropdownListHeight() });
|
|
279
436
|
this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));
|
|
280
|
-
this.overlayRef.backdropClick().subscribe(
|
|
281
|
-
this.onCancel();
|
|
282
|
-
});
|
|
283
|
-
}
|
|
284
|
-
// tslint:disable-next-line:variable-name
|
|
285
|
-
filterByValue(array, string) {
|
|
286
|
-
return array
|
|
287
|
-
.filter(o => o.label.toLowerCase().includes(string.toLowerCase()) || o.children?.some(g => g?.label?.toLowerCase().includes(string.toLowerCase())))
|
|
288
|
-
.map(v => {
|
|
289
|
-
return {
|
|
290
|
-
...v,
|
|
291
|
-
children: v?.children?.filter(l => l?.label?.toLowerCase().includes(string.toLowerCase()))
|
|
292
|
-
};
|
|
293
|
-
});
|
|
294
|
-
}
|
|
295
|
-
searchInputOnChange(newValue) {
|
|
296
|
-
this.searchInput = newValue;
|
|
297
|
-
if (newValue) {
|
|
298
|
-
this.searchData = this.filterByValue(this.localData, newValue);
|
|
299
|
-
}
|
|
300
|
-
else {
|
|
301
|
-
this.searchData = [];
|
|
302
|
-
this.searchInput = "";
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
formatValues(array) {
|
|
306
|
-
const checkedValues = array
|
|
307
|
-
.filter(a => a.checked)
|
|
308
|
-
.sort((a, b) => (a.label > b.label ? 1 : b.label > a.label ? -1 : 0));
|
|
309
|
-
const unCheckedValues = array
|
|
310
|
-
.filter(a => !a.checked)
|
|
311
|
-
.sort((a, b) => (a.label > b.label ? 1 : b.label > a.label ? -1 : 0));
|
|
312
|
-
return [...checkedValues, ...unCheckedValues];
|
|
313
|
-
}
|
|
314
|
-
// tslint:disable-next-line:no-shadowed-variable
|
|
315
|
-
toggleSelectedItems(event, item, cItem) {
|
|
316
|
-
event.stopPropagation();
|
|
317
|
-
if (!cItem) {
|
|
318
|
-
if (item.checked) {
|
|
319
|
-
this.localData = [
|
|
320
|
-
...this.localData.map(a => {
|
|
321
|
-
if (a.value === item.value) {
|
|
322
|
-
return {
|
|
323
|
-
...a,
|
|
324
|
-
checked: false,
|
|
325
|
-
// tslint:disable-next-line:no-shadowed-variable
|
|
326
|
-
children: item.children.map(a => {
|
|
327
|
-
return {
|
|
328
|
-
...a,
|
|
329
|
-
checked: false
|
|
330
|
-
};
|
|
331
|
-
})
|
|
332
|
-
};
|
|
333
|
-
}
|
|
334
|
-
return a;
|
|
335
|
-
})
|
|
336
|
-
];
|
|
337
|
-
}
|
|
338
|
-
else {
|
|
339
|
-
this.localData = [
|
|
340
|
-
...this.localData.map(a => {
|
|
341
|
-
if (a.value === item.value) {
|
|
342
|
-
return {
|
|
343
|
-
...a,
|
|
344
|
-
checked: true,
|
|
345
|
-
// tslint:disable-next-line:no-shadowed-variable
|
|
346
|
-
children: item.children.map(a => {
|
|
347
|
-
return {
|
|
348
|
-
...a,
|
|
349
|
-
checked: true
|
|
350
|
-
};
|
|
351
|
-
})
|
|
352
|
-
};
|
|
353
|
-
}
|
|
354
|
-
return a;
|
|
355
|
-
})
|
|
356
|
-
];
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
else {
|
|
360
|
-
if (cItem.checked) {
|
|
361
|
-
this.localData = [
|
|
362
|
-
...this.localData.map(a => {
|
|
363
|
-
if (a.value === item.value) {
|
|
364
|
-
// tslint:disable-next-line:no-shadowed-variable
|
|
365
|
-
const children = a?.children.map(a => {
|
|
366
|
-
if (cItem?.value === a?.value) {
|
|
367
|
-
return {
|
|
368
|
-
...a,
|
|
369
|
-
checked: false
|
|
370
|
-
};
|
|
371
|
-
}
|
|
372
|
-
return a;
|
|
373
|
-
});
|
|
374
|
-
return {
|
|
375
|
-
...a,
|
|
376
|
-
checked: children.every(q => q.checked),
|
|
377
|
-
// tslint:disable-next-line:no-shadowed-variable
|
|
378
|
-
children
|
|
379
|
-
};
|
|
380
|
-
}
|
|
381
|
-
return a;
|
|
382
|
-
})
|
|
383
|
-
];
|
|
384
|
-
}
|
|
385
|
-
else {
|
|
386
|
-
this.localData = [
|
|
387
|
-
...this.localData.map(a => {
|
|
388
|
-
if (a.value === item.value) {
|
|
389
|
-
// tslint:disable-next-line:no-shadowed-variable
|
|
390
|
-
const children = a?.children.map(a => {
|
|
391
|
-
if (cItem?.value === a?.value) {
|
|
392
|
-
return {
|
|
393
|
-
...a,
|
|
394
|
-
checked: true
|
|
395
|
-
};
|
|
396
|
-
}
|
|
397
|
-
return a;
|
|
398
|
-
});
|
|
399
|
-
return {
|
|
400
|
-
...a,
|
|
401
|
-
checked: children.every(q => q.checked),
|
|
402
|
-
// tslint:disable-next-line:no-shadowed-variable
|
|
403
|
-
children
|
|
404
|
-
};
|
|
405
|
-
}
|
|
406
|
-
return a;
|
|
407
|
-
})
|
|
408
|
-
];
|
|
409
|
-
}
|
|
410
|
-
}
|
|
411
|
-
if (this.searchEnabled) {
|
|
412
|
-
this.searchInputOnChange(this.searchInput);
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
applyFilters() {
|
|
416
|
-
let localCount = 0;
|
|
417
|
-
this.localData.forEach(a => a?.children?.forEach(b => {
|
|
418
|
-
if (b.checked) {
|
|
419
|
-
localCount += 1;
|
|
420
|
-
}
|
|
421
|
-
}));
|
|
422
|
-
this.selectedCount = localCount;
|
|
423
|
-
const w = this.localData
|
|
424
|
-
.filter(r => !(!r.checked && !r?.children?.some(f => f?.checked)))
|
|
425
|
-
.map(a => {
|
|
426
|
-
return {
|
|
427
|
-
...a,
|
|
428
|
-
children: a?.children?.filter(s => s.checked)
|
|
429
|
-
};
|
|
430
|
-
});
|
|
431
|
-
this.onChange.emit(w);
|
|
432
|
-
this.onCancel();
|
|
433
|
-
}
|
|
434
|
-
onReset() {
|
|
435
|
-
this.isSearchInputFocused = false;
|
|
436
|
-
for (let item of this.localData) {
|
|
437
|
-
for (let child of item.children) {
|
|
438
|
-
child.checked = false;
|
|
439
|
-
}
|
|
440
|
-
item.checked = false;
|
|
441
|
-
}
|
|
442
|
-
this.onChange.emit([]);
|
|
443
|
-
this.isOpen = false;
|
|
444
|
-
this.searchInput = "";
|
|
445
|
-
}
|
|
446
|
-
onCancel() {
|
|
447
|
-
this.isSearchInputFocused = false;
|
|
448
|
-
this.isOpen = false;
|
|
449
|
-
this.overlayRef?.detach();
|
|
450
|
-
this.searchInput = "";
|
|
437
|
+
this.overlayRef.backdropClick().subscribe(() => this.onCancel());
|
|
451
438
|
}
|
|
452
|
-
static { this.ɵfac = function NestedMultiSelectDropdownComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NestedMultiSelectDropdownComponent)(
|
|
439
|
+
static { this.ɵfac = function NestedMultiSelectDropdownComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NestedMultiSelectDropdownComponent)(); }; }
|
|
453
440
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NestedMultiSelectDropdownComponent, selectors: [["mis-nested-multi-select-dropdown"]], viewQuery: function NestedMultiSelectDropdownComponent_Query(rf, ctx) { if (rf & 1) {
|
|
454
441
|
i0.ɵɵviewQuery(_c0, 5);
|
|
455
442
|
i0.ɵɵviewQuery(_c1, 5);
|
|
@@ -457,7 +444,7 @@ class NestedMultiSelectDropdownComponent {
|
|
|
457
444
|
let _t;
|
|
458
445
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.selectElement = _t.first);
|
|
459
446
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.popupContainer = _t.first);
|
|
460
|
-
} }, inputs: { data: "data", label: "label", height: "height", width: "width", dropdownListHeight: "dropdownListHeight", dropdownListWidth: "dropdownListWidth", dropdownListPosition: "dropdownListPosition", searchEnabled: "searchEnabled", showSelectedCount: "showSelectedCount", noDataMessage: "noDataMessage",
|
|
447
|
+
} }, 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"], searchEnabled: [1, "searchEnabled"], showSelectedCount: [1, "showSelectedCount"], noDataMessage: [1, "noDataMessage"], searchInputPlaceholder: [1, "searchInputPlaceholder"] }, outputs: { onChange: "onChange" }, decls: 11, vars: 12, consts: [["select", ""], ["popupContainer", ""], [1, "container", 3, "ngStyle"], ["tabindex", "0", 1, "dropdown", 3, "keyup.enter", "click", "ngStyle"], [1, "label"], [1, "text"], ["class", "count", 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, "count"], [1, "popup-container", 3, "ngStyle", "ngClass"], ["class", "search-container", 4, "ngIf"], [1, "items"], ["tabindex", "0", 3, "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", 3, "keyup.enter", "click"], [1, "item"], [1, "checkbox-container-wrapper"], [1, "checkbox-container"], [3, "checked"], ["class", "icon-container", 4, "ngIf"], ["class", "items sub", 3, "ngStyle", 4, "ngIf"], [1, "icon-container"], ["alt", "no img", 1, "icon", 3, "src"], [1, "items", "sub", 3, "ngStyle"], ["class", "item", "tabindex", "0", 3, "keyup.enter", "click", 4, "ngFor", "ngForOf"], ["tabindex", "0", 1, "item", 3, "keyup.enter", "click"], [1, "noData"], [1, "actions-container"], [3, "ngStyle"], [3, "click", "name", "type", "width"]], template: function NestedMultiSelectDropdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
461
448
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
462
449
|
i0.ɵɵelementStart(0, "div", 2)(1, "div", 3, 0);
|
|
463
450
|
i0.ɵɵlistener("keyup.enter", function NestedMultiSelectDropdownComponent_Template_div_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleDropdown()); })("click", function NestedMultiSelectDropdownComponent_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleDropdown()); });
|
|
@@ -472,50 +459,26 @@ class NestedMultiSelectDropdownComponent {
|
|
|
472
459
|
i0.ɵɵelementEnd()()();
|
|
473
460
|
i0.ɵɵtemplate(9, NestedMultiSelectDropdownComponent_ng_template_9_Template, 6, 12, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
|
|
474
461
|
} if (rf & 2) {
|
|
475
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(5, _c2, ctx.height.length > 0 ? ctx.height : "", ctx.width.length > 0 ? ctx.width : ""));
|
|
462
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(5, _c2, ctx.height().length > 0 ? ctx.height() : "", ctx.width().length > 0 ? ctx.width() : ""));
|
|
476
463
|
i0.ɵɵadvance();
|
|
477
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(8, _c3, ctx.isOpen ? "#E6EBF7" : ""));
|
|
464
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(8, _c3, ctx.isOpen() ? "#E6EBF7" : ""));
|
|
478
465
|
i0.ɵɵadvance(4);
|
|
479
|
-
i0.ɵɵtextInterpolate(ctx.label);
|
|
466
|
+
i0.ɵɵtextInterpolate(ctx.label());
|
|
480
467
|
i0.ɵɵadvance();
|
|
481
|
-
i0.ɵɵproperty("ngIf", ctx.showSelectedCount && ctx.selectedCount > 0);
|
|
468
|
+
i0.ɵɵproperty("ngIf", ctx.showSelectedCount() && ctx.selectedCount() > 0);
|
|
482
469
|
i0.ɵɵadvance();
|
|
483
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(10, _c4, ctx.isOpen ? "rotate(180deg)" : "rotate(0deg)"));
|
|
484
|
-
} }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i2.NgStyle, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgModel, i4.CheckboxComponent, i5.ButtonComponent], styles: ["[_ngcontent-%COMP%]: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-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}[_ngcontent-%COMP%]::-webkit-scrollbar{width:5px}[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB)}.container[_ngcontent-%COMP%]{position:relative;display:flex;justify-content:center;align-items:center;height:32px;width:256px;flex-wrap:wrap;font-family:Lato,sans-serif}.container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]{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[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]:hover, .container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]:focus-visible{background-color:var(--brand-primary-hover, #F0F3FA);outline:none}.container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{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[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{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[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{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[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .handle[_ngcontent-%COMP%]{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.popup-container[_ngcontent-%COMP%]{position:absolute;top:4px;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;overflow-x:hidden;display:flex;flex-direction:column;justify-content:space-between;z-index:100}.popup-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:0;height:0}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%]{position:relative;box-sizing:border-box;padding:8px}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{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[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .cancel-icon[_ngcontent-%COMP%]{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]{padding:8px 0 8px 8px;overflow-y:scroll;height:100%}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]::-webkit-scrollbar{width:5px;height:0}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB);border-radius:10px}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .noData[_ngcontent-%COMP%]{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[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;padding:8px 12px;border-radius:6px;height:auto}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:hover, .popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:focus-visible{background-color:var(--brand-primary-hover, #F0F3FA);outline:none}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .checkbox-container-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;width:90%}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .checkbox-container-wrapper[_ngcontent-%COMP%] .checkbox-container[_ngcontent-%COMP%]{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[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .checkbox-container-wrapper[_ngcontent-%COMP%] .checkbox-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .checkbox-container-wrapper[_ngcontent-%COMP%] .checkbox-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:checked ~ .checkmark[_ngcontent-%COMP%]:after{display:block}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .checkbox-container-wrapper[_ngcontent-%COMP%] .checkbox-container[_ngcontent-%COMP%] .checkmark[_ngcontent-%COMP%]{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[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .checkbox-container-wrapper[_ngcontent-%COMP%] .checkbox-container[_ngcontent-%COMP%] .checkmark[_ngcontent-%COMP%]: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[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .checkbox-container-wrapper[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin:0 0 0 8px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33);text-overflow:ellipsis;overflow:hidden}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{width:10%;display:flex;justify-content:flex-end}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:20px;height:20px}.popup-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%]{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)}.popup-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .cancel[_ngcontent-%COMP%]{cursor:pointer;padding:10px 32px;text-align:center;font-size:16px;line-height:24px;border-radius:8px}.popup-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .cancel[_ngcontent-%COMP%]:hover{background:var(--bg-overlay-lightest, rgba(0, 0, 0, .04))}.popup-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .apply[_ngcontent-%COMP%]{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}"] }); }
|
|
470
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(10, _c4, ctx.isOpen() ? "rotate(180deg)" : "rotate(0deg)"));
|
|
471
|
+
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.CheckboxComponent, i4.ButtonComponent], styles: ["[_ngcontent-%COMP%]::-webkit-scrollbar{width:5px}[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#9aa7b4}.container[_ngcontent-%COMP%]{position:relative;display:flex;justify-content:center;align-items:center;height:32px;width:256px;flex-wrap:wrap;font-family:Lato,sans-serif}.container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]{height:inherit;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 12px;overflow:hidden}.container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]:hover, .container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]:focus-visible{background-color:#f5f7fc;outline:none}.container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{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:#181f33}.container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{background-color:#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:#181f33}.container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .handle[_ngcontent-%COMP%]{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.popup-container[_ngcontent-%COMP%]{position:absolute;top:4px;width:100%;max-height:340px;padding-bottom:0;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 12px 24px #0000001f;overflow-x:hidden;display:flex;flex-direction:column;justify-content:space-between;z-index:100}.popup-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:0;height:0}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%]{position:relative;box-sizing:border-box;padding:8px}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{height:40px;width:100%;padding:12px;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:8px;outline:none;caret-color:#0937b2;font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:#181f33}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .cancel-icon[_ngcontent-%COMP%]{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]{padding:8px 0 8px 8px;overflow-y:scroll;height:100%}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]::-webkit-scrollbar{width:5px;height:0}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:10px}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .noData[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;padding:8px 12px;border-radius:6px;height:auto}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:hover, .popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:focus-visible{background-color:#f5f7fc;outline:none}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .checkbox-container-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;width:90%}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .checkbox-container-wrapper[_ngcontent-%COMP%] .checkbox-container[_ngcontent-%COMP%]{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[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .checkbox-container-wrapper[_ngcontent-%COMP%] .checkbox-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .checkbox-container-wrapper[_ngcontent-%COMP%] .checkbox-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:checked ~ .checkmark[_ngcontent-%COMP%]:after{display:block}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .checkbox-container-wrapper[_ngcontent-%COMP%] .checkbox-container[_ngcontent-%COMP%] .checkmark[_ngcontent-%COMP%]{position:absolute;top:-8px;left:0;height:15px;width:15px;border-radius:4px;background-color:#0079f1;border:1px solid rgb(106,115,125)}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .checkbox-container-wrapper[_ngcontent-%COMP%] .checkbox-container[_ngcontent-%COMP%] .checkmark[_ngcontent-%COMP%]:after{content:\"\";position:absolute;display:none;left:5px;top:2px;width:3px;height:6px;border:solid white;border-width:0 2px 2px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .checkbox-container-wrapper[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin:0 0 0 8px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33;text-overflow:ellipsis;overflow:hidden}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{width:10%;display:flex;justify-content:flex-end}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:20px;height:20px}.popup-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;bottom:0;align-items:center;position:sticky;padding:16px;background-color:#fff;border-top:1px solid #e0e0e0}.popup-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .cancel[_ngcontent-%COMP%]{cursor:pointer;padding:10px 32px;text-align:center;font-size:16px;line-height:24px;border-radius:8px}.popup-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .cancel[_ngcontent-%COMP%]:hover{background:#0937b20a}.popup-container[_ngcontent-%COMP%] .actions-container[_ngcontent-%COMP%] .apply[_ngcontent-%COMP%]{cursor:pointer;padding:10px 32px;text-align:center;color:#fff;font-size:16px;line-height:24px;background:#0937b2;border-radius:8px}"] }); }
|
|
485
472
|
}
|
|
486
473
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NestedMultiSelectDropdownComponent, [{
|
|
487
474
|
type: Component,
|
|
488
|
-
args: [{ selector: "mis-nested-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 <p class=\"text\">{{ label }}</p>\n <p *ngIf=\"showSelectedCount && selectedCount > 0\" class=\"count\">\n {{ selectedCount }}\n </p>\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 <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 [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 ? '' : 'Search Keyword'\"\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 <div class=\"items\">\n <div\n tabindex=\"0\"\n (keyup.enter)=\"toggleSelectedItems($event, item)\"\n (click)=\"toggleSelectedItems($event, item)\"\n *ngFor=\"let item of searchInput ? searchData : localData\"\n >\n <div class=\"item\">\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox [checked]=\"item.checked\"></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 *ngIf=\"item?.children?.length > 0\" class=\"items sub\" [ngStyle]=\"{'padding-right': '0'}\">\n <div\n class=\"item\"\n tabindex=\"0\"\n (keyup.enter)=\"toggleSelectedItems($event, item, cItem)\"\n (click)=\"toggleSelectedItems($event, item, cItem)\"\n *ngFor=\"let cItem of item?.children\"\n >\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox [checked]=\"cItem.checked\"></mis-checkbox>\n </div>\n <p class=\"label\">\n {{ cItem.label }}\n </p>\n </div>\n <div class=\"icon-container\" *ngIf=\"cItem.icon\">\n <img class=\"icon\" [src]=\"cItem.icon\" alt=\"no img\" />\n </div>\n </div>\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"(searchInput ? searchData : localData).length === 0\">\n {{ searchInput === \"\" ? noDataMessage : \"No results\" }}\n </div>\n </div>\n <div *ngIf=\"localData.length !== 0\" class=\"actions-container\">\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\">\n <mis-button [name]=\"'Reset'\" [type]=\"'Text'\" [width]=\"'100%'\" (click)=\"onReset()\"></mis-button>\n </div>\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\">\n <mis-button [name]=\"'Apply'\" [type]=\"'Solid'\" [width]=\"'100%'\" (click)=\"applyFilters()\"></mis-button>\n </div> \n </div>\n </div>\n</ng-template>\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-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}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB)}.container{position:relative;display:flex;justify-content:center;align-items:center;height:32px;width:256px;flex-wrap:wrap;font-family:Lato,sans-serif}.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{position:absolute;top:4px;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;overflow-x:hidden;display:flex;flex-direction:column;justify-content:space-between;z-index:100}.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;height:100%}.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 .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;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-primary, #181F33);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)}.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"] }]
|
|
489
|
-
}], () => [
|
|
490
|
-
type: Input
|
|
491
|
-
}], label: [{
|
|
492
|
-
type: Input
|
|
493
|
-
}], height: [{
|
|
494
|
-
type: Input
|
|
495
|
-
}], width: [{
|
|
496
|
-
type: Input
|
|
497
|
-
}], dropdownListHeight: [{
|
|
498
|
-
type: Input
|
|
499
|
-
}], dropdownListWidth: [{
|
|
500
|
-
type: Input
|
|
501
|
-
}], dropdownListPosition: [{
|
|
502
|
-
type: Input
|
|
503
|
-
}], searchEnabled: [{
|
|
504
|
-
type: Input
|
|
505
|
-
}], showSelectedCount: [{
|
|
506
|
-
type: Input
|
|
507
|
-
}], noDataMessage: [{
|
|
508
|
-
type: Input
|
|
509
|
-
}], selectedItems: [{
|
|
510
|
-
type: Input
|
|
511
|
-
}], onChange: [{
|
|
512
|
-
type: Output
|
|
513
|
-
}], selectElement: [{
|
|
475
|
+
args: [{ selector: 'mis-nested-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 <p class=\"text\">{{ label() }}</p>\n <p *ngIf=\"showSelectedCount() && selectedCount() > 0\" class=\"count\">\n {{ selectedCount() }}\n </p>\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 <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 [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 <div class=\"items\">\n <div\n tabindex=\"0\"\n (keyup.enter)=\"toggleSelectedItems($event, item)\"\n (click)=\"toggleSelectedItems($event, item)\"\n *ngFor=\"let item of displayData()\"\n >\n <div class=\"item\">\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox [checked]=\"item.checked\"></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 *ngIf=\"item?.children?.length > 0\" class=\"items sub\" [ngStyle]=\"{'padding-right': '0'}\">\n <div\n class=\"item\"\n tabindex=\"0\"\n (keyup.enter)=\"toggleSelectedItems($event, item, cItem)\"\n (click)=\"toggleSelectedItems($event, item, cItem)\"\n *ngFor=\"let cItem of item?.children\"\n >\n <div class=\"checkbox-container-wrapper\">\n <div class=\"checkbox-container\">\n <mis-checkbox [checked]=\"cItem.checked\"></mis-checkbox>\n </div>\n <p class=\"label\">\n {{ cItem.label }}\n </p>\n </div>\n <div class=\"icon-container\" *ngIf=\"cItem.icon\">\n <img class=\"icon\" [src]=\"cItem.icon\" alt=\"no img\" />\n </div>\n </div>\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"displayData().length === 0\">\n {{ searchInput() === \"\" ? noDataMessage() : \"No results\" }}\n </div>\n </div>\n <div *ngIf=\"localData().length !== 0\" class=\"actions-container\">\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\">\n <mis-button [name]=\"'Reset'\" [type]=\"'Text'\" [width]=\"'100%'\" (click)=\"onReset()\"></mis-button>\n </div>\n <div [ngStyle]=\"{'width': 'calc(50% - 4px)'}\">\n <mis-button [name]=\"'Apply'\" [type]=\"'Solid'\" [width]=\"'100%'\" (click)=\"applyFilters()\"></mis-button>\n </div>\n </div>\n </div>\n</ng-template>\n\n", styles: ["::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#9aa7b4}.container{position:relative;display:flex;justify-content:center;align-items:center;height:32px;width:256px;flex-wrap:wrap;font-family:Lato,sans-serif}.container .dropdown{height:inherit;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;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:#f5f7fc;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:#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:#181f33}.container .dropdown .label .count{background-color:#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:#181f33}.container .dropdown .handle{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.popup-container{position:absolute;top:4px;width:100%;max-height:340px;padding-bottom:0;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 12px 24px #0000001f;overflow-x:hidden;display:flex;flex-direction:column;justify-content:space-between;z-index:100}.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 #e0e0e0;box-sizing:border-box;border-radius:8px;outline:none;caret-color:#0937b2;font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:#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;height:100%}.popup-container .items::-webkit-scrollbar{width:5px;height:0}.popup-container .items::-webkit-scrollbar-thumb{background:#9aa7b4;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:#181f33}.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:#f5f7fc;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:#0079f1;border:1px solid rgb(106,115,125)}.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 white;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;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33;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:#fff;border-top:1px solid #e0e0e0}.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:#0937b20a}.popup-container .actions-container .apply{cursor:pointer;padding:10px 32px;text-align:center;color:#fff;font-size:16px;line-height:24px;background:#0937b2;border-radius:8px}\n"] }]
|
|
476
|
+
}], () => [], { selectElement: [{
|
|
514
477
|
type: ViewChild,
|
|
515
|
-
args: [
|
|
478
|
+
args: ['select', { static: false }]
|
|
516
479
|
}], popupContainer: [{
|
|
517
480
|
type: ViewChild,
|
|
518
|
-
args: [
|
|
481
|
+
args: ['popupContainer', { static: false }]
|
|
519
482
|
}] }); })();
|
|
520
483
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NestedMultiSelectDropdownComponent, { className: "NestedMultiSelectDropdownComponent" }); })();
|
|
521
484
|
|