mis-crystal-design-system 18.1.18 → 18.1.20

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.
@@ -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 <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 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 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 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 this.overlayRef?.detach();\n }\n });\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 this.searchInput.set('');\n // Revert internal data to match the last selected items\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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"}
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 [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 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 this.overlayRef?.detach();\n }\n });\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 this.searchInput.set('');\n // Revert internal data to match the last selected items\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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"}
@@ -1171,12 +1171,12 @@ class SubTableComponent {
1171
1171
  const _c0$1 = ["mainContainer"];
1172
1172
  const _c1$1 = () => ({ "margin": "16px 0px" });
1173
1173
  const _c2$1 = () => ({ "margin-right": "8px" });
1174
- function TableFilterComponent_div_8_Template(rf, ctx) { if (rf & 1) {
1174
+ function TableFilterComponent_div_9_Template(rf, ctx) { if (rf & 1) {
1175
1175
  const _r2 = i0.ɵɵgetCurrentView();
1176
- i0.ɵɵelementStart(0, "div")(1, "div", 15)(2, "mis-checkbox", 16);
1177
- i0.ɵɵlistener("valueChange", function TableFilterComponent_div_8_Template_mis_checkbox_valueChange_2_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.updateFilter($event)); });
1176
+ i0.ɵɵelementStart(0, "div")(1, "div", 16)(2, "mis-checkbox", 17);
1177
+ i0.ɵɵlistener("valueChange", function TableFilterComponent_div_9_Template_mis_checkbox_valueChange_2_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.updateFilter($event)); });
1178
1178
  i0.ɵɵelementEnd();
1179
- i0.ɵɵelementStart(3, "span", 17);
1179
+ i0.ɵɵelementStart(3, "span", 18);
1180
1180
  i0.ɵɵtext(4);
1181
1181
  i0.ɵɵelementEnd()()();
1182
1182
  } if (rf & 2) {
@@ -1186,17 +1186,17 @@ function TableFilterComponent_div_8_Template(rf, ctx) { if (rf & 1) {
1186
1186
  i0.ɵɵadvance(2);
1187
1187
  i0.ɵɵtextInterpolate(filter_r4.name);
1188
1188
  } }
1189
- function TableFilterComponent_div_9_Template(rf, ctx) { if (rf & 1) {
1190
- i0.ɵɵelement(0, "div", 11);
1189
+ function TableFilterComponent_div_10_Template(rf, ctx) { if (rf & 1) {
1190
+ i0.ɵɵelement(0, "div", 12);
1191
1191
  } if (rf & 2) {
1192
1192
  i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(1, _c1$1));
1193
1193
  } }
1194
- function TableFilterComponent_div_11_div_1_Template(rf, ctx) { if (rf & 1) {
1194
+ function TableFilterComponent_div_12_div_1_Template(rf, ctx) { if (rf & 1) {
1195
1195
  const _r5 = i0.ɵɵgetCurrentView();
1196
- i0.ɵɵelementStart(0, "div", 15)(1, "mis-checkbox", 16);
1197
- i0.ɵɵlistener("valueChange", function TableFilterComponent_div_11_div_1_Template_mis_checkbox_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.updateFilter($event)); });
1196
+ i0.ɵɵelementStart(0, "div", 16)(1, "mis-checkbox", 17);
1197
+ i0.ɵɵlistener("valueChange", function TableFilterComponent_div_12_div_1_Template_mis_checkbox_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.updateFilter($event)); });
1198
1198
  i0.ɵɵelementEnd();
1199
- i0.ɵɵelementStart(2, "span", 17);
1199
+ i0.ɵɵelementStart(2, "span", 18);
1200
1200
  i0.ɵɵtext(3);
1201
1201
  i0.ɵɵelementEnd()();
1202
1202
  } if (rf & 2) {
@@ -1206,17 +1206,17 @@ function TableFilterComponent_div_11_div_1_Template(rf, ctx) { if (rf & 1) {
1206
1206
  i0.ɵɵadvance(2);
1207
1207
  i0.ɵɵtextInterpolate(filter_r6.name);
1208
1208
  } }
1209
- function TableFilterComponent_div_11_Template(rf, ctx) { if (rf & 1) {
1209
+ function TableFilterComponent_div_12_Template(rf, ctx) { if (rf & 1) {
1210
1210
  i0.ɵɵelementStart(0, "div");
1211
- i0.ɵɵtemplate(1, TableFilterComponent_div_11_div_1_Template, 4, 3, "div", 18);
1211
+ i0.ɵɵtemplate(1, TableFilterComponent_div_12_div_1_Template, 4, 3, "div", 19);
1212
1212
  i0.ɵɵelementEnd();
1213
1213
  } if (rf & 2) {
1214
1214
  const filter_r6 = ctx.$implicit;
1215
1215
  i0.ɵɵadvance();
1216
1216
  i0.ɵɵproperty("ngIf", !filter_r6.checked);
1217
1217
  } }
1218
- function TableFilterComponent_div_12_Template(rf, ctx) { if (rf & 1) {
1219
- i0.ɵɵelementStart(0, "div", 19)(1, "span", 17);
1218
+ function TableFilterComponent_div_13_Template(rf, ctx) { if (rf & 1) {
1219
+ i0.ɵɵelementStart(0, "div", 20)(1, "span", 18);
1220
1220
  i0.ɵɵtext(2, "No matches found");
1221
1221
  i0.ɵɵelementEnd()();
1222
1222
  } }
@@ -1308,7 +1308,7 @@ class TableFilterComponent {
1308
1308
  } if (rf & 2) {
1309
1309
  let _t;
1310
1310
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.container = _t.first);
1311
- } }, inputs: { filtersData: [1, "filtersData"], containerStyles: [1, "containerStyles"] }, outputs: { filtersApplied: "filtersApplied" }, decls: 19, vars: 9, consts: [["mainContainer", ""], ["id", "main-container", 3, "ngStyle"], ["id", "search-bar-container"], ["type", "text", "placeholder", "Search", 3, "keyup"], ["id", "search-icon", "width", "18", "height", "18", "viewBox", "0 0 18 18", "fill", "none", "xmlns", "http://www.w3.org/2000/svg"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M1.21496 8.14563C1.21496 4.3179 4.33709 1.21165 8.19249 1.21165C12.0479 1.21165 15.17 4.3179 15.17 8.14563C15.17 9.69308 14.6598 11.1226 13.797 12.2767L12.3684 13.7013C11.2043 14.5668 9.75891 15.0796 8.19249 15.0796C4.33709 15.0796 1.21496 11.9734 1.21496 8.14563ZM12.9419 14.7835C11.602 15.7329 9.96259 16.2913 8.19249 16.2913C3.66965 16.2913 -0.00012207 12.6461 -0.00012207 8.14563C-0.00012207 3.64512 3.66965 0 8.19249 0C12.7153 0 16.3851 3.64512 16.3851 8.14563C16.3851 9.93713 15.8036 11.5931 14.8183 12.9375L16.836 14.4048C17.6704 14.912 18.7553 15.6543 17.2453 17.215C15.7352 18.7756 15.0098 17.6663 14.499 16.8364L12.9419 14.7835Z", "fill", "#6A737D"], ["id", "filters-main-container"], [1, "filters-sub-container"], [4, "ngFor", "ngForOf"], ["class", "separator", 3, "ngStyle", 4, "ngIf"], ["id", "no-results-container", 4, "ngIf"], [1, "separator", 3, "ngStyle"], ["id", "buttons-container"], ["id", "reset-btn", 3, "click", "ngStyle"], ["id", "apply-btn", 3, "click"], [1, "filter"], [3, "valueChange", "checked", "name"], [1, "filter-text"], ["class", "filter", 4, "ngIf"], ["id", "no-results-container"]], template: function TableFilterComponent_Template(rf, ctx) { if (rf & 1) {
1311
+ } }, inputs: { filtersData: [1, "filtersData"], containerStyles: [1, "containerStyles"] }, outputs: { filtersApplied: "filtersApplied" }, decls: 20, vars: 9, consts: [["mainContainer", ""], ["id", "main-container", 3, "ngStyle"], ["id", "search-bar-container"], ["type", "text", "placeholder", "Search", 3, "keyup"], ["id", "search-icon", "width", "18", "height", "18", "viewBox", "0 0 18 18", "fill", "none", "xmlns", "http://www.w3.org/2000/svg"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M1.21496 8.14563C1.21496 4.3179 4.33709 1.21165 8.19249 1.21165C12.0479 1.21165 15.17 4.3179 15.17 8.14563C15.17 9.69308 14.6598 11.1226 13.797 12.2767L12.3684 13.7013C11.2043 14.5668 9.75891 15.0796 8.19249 15.0796C4.33709 15.0796 1.21496 11.9734 1.21496 8.14563ZM12.9419 14.7835C11.602 15.7329 9.96259 16.2913 8.19249 16.2913C3.66965 16.2913 -0.00012207 12.6461 -0.00012207 8.14563C-0.00012207 3.64512 3.66965 0 8.19249 0C12.7153 0 16.3851 3.64512 16.3851 8.14563C16.3851 9.93713 15.8036 11.5931 14.8183 12.9375L16.836 14.4048C17.6704 14.912 18.7553 15.6543 17.2453 17.215C15.7352 18.7756 15.0098 17.6663 14.499 16.8364L12.9419 14.7835Z", "fill", "#6A737D"], ["id", "filters-main-container"], ["id", "filters-scrollable-content"], [1, "filters-sub-container"], [4, "ngFor", "ngForOf"], ["class", "separator", 3, "ngStyle", 4, "ngIf"], ["id", "no-results-container", 4, "ngIf"], [1, "separator", 3, "ngStyle"], ["id", "buttons-container"], ["id", "reset-btn", 3, "click", "ngStyle"], ["id", "apply-btn", 3, "click"], [1, "filter"], [3, "valueChange", "checked", "name"], [1, "filter-text"], ["class", "filter", 4, "ngIf"], ["id", "no-results-container"]], template: function TableFilterComponent_Template(rf, ctx) { if (rf & 1) {
1312
1312
  const _r1 = i0.ɵɵgetCurrentView();
1313
1313
  i0.ɵɵelementStart(0, "div", 1, 0)(2, "div", 2)(3, "input", 3);
1314
1314
  i0.ɵɵlistener("keyup", function TableFilterComponent_Template_input_keyup_3_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.updateSearchValue($event)); });
@@ -1318,25 +1318,25 @@ class TableFilterComponent {
1318
1318
  i0.ɵɵelement(5, "path", 5);
1319
1319
  i0.ɵɵelementEnd()();
1320
1320
  i0.ɵɵnamespaceHTML();
1321
- i0.ɵɵelementStart(6, "div", 6)(7, "div", 7);
1322
- i0.ɵɵtemplate(8, TableFilterComponent_div_8_Template, 5, 3, "div", 8);
1323
- i0.ɵɵelementEnd();
1324
- i0.ɵɵtemplate(9, TableFilterComponent_div_9_Template, 1, 2, "div", 9);
1325
- i0.ɵɵelementStart(10, "div", 7);
1326
- i0.ɵɵtemplate(11, TableFilterComponent_div_11_Template, 2, 1, "div", 8)(12, TableFilterComponent_div_12_Template, 3, 0, "div", 10);
1321
+ i0.ɵɵelementStart(6, "div", 6)(7, "div", 7)(8, "div", 8);
1322
+ i0.ɵɵtemplate(9, TableFilterComponent_div_9_Template, 5, 3, "div", 9);
1327
1323
  i0.ɵɵelementEnd();
1328
- i0.ɵɵelement(13, "div", 11);
1329
- i0.ɵɵelementStart(14, "div", 12)(15, "button", 13);
1330
- i0.ɵɵlistener("click", function TableFilterComponent_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.resetFilters()); });
1331
- i0.ɵɵtext(16, "Reset");
1324
+ i0.ɵɵtemplate(10, TableFilterComponent_div_10_Template, 1, 2, "div", 10);
1325
+ i0.ɵɵelementStart(11, "div", 8);
1326
+ i0.ɵɵtemplate(12, TableFilterComponent_div_12_Template, 2, 1, "div", 9)(13, TableFilterComponent_div_13_Template, 3, 0, "div", 11);
1327
+ i0.ɵɵelementEnd()();
1328
+ i0.ɵɵelement(14, "div", 12);
1329
+ i0.ɵɵelementStart(15, "div", 13)(16, "button", 14);
1330
+ i0.ɵɵlistener("click", function TableFilterComponent_Template_button_click_16_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.resetFilters()); });
1331
+ i0.ɵɵtext(17, "Reset");
1332
1332
  i0.ɵɵelementEnd();
1333
- i0.ɵɵelementStart(17, "button", 14);
1334
- i0.ɵɵlistener("click", function TableFilterComponent_Template_button_click_17_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.applyFilters()); });
1335
- i0.ɵɵtext(18, "Apply");
1333
+ i0.ɵɵelementStart(18, "button", 15);
1334
+ i0.ɵɵlistener("click", function TableFilterComponent_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.applyFilters()); });
1335
+ i0.ɵɵtext(19, "Apply");
1336
1336
  i0.ɵɵelementEnd()()()();
1337
1337
  } if (rf & 2) {
1338
1338
  i0.ɵɵproperty("ngStyle", ctx.containerStyles());
1339
- i0.ɵɵadvance(8);
1339
+ i0.ɵɵadvance(9);
1340
1340
  i0.ɵɵproperty("ngForOf", ctx.getCheckedFilters());
1341
1341
  i0.ɵɵadvance();
1342
1342
  i0.ɵɵproperty("ngIf", ctx.getCheckedFilters().length && ctx.getCheckedFilters().length < ctx.filtersData().length);
@@ -1348,11 +1348,11 @@ class TableFilterComponent {
1348
1348
  i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(7, _c1$1));
1349
1349
  i0.ɵɵadvance(2);
1350
1350
  i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(8, _c2$1));
1351
- } }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgStyle, i2$1.CheckboxComponent], styles: ["#main-container[_ngcontent-%COMP%]{position:absolute;background:var(--bg-primary, #FFFFFF);z-index:2;right:calc(50% - 128px);width:256px;min-height:200px;max-height:400px;padding:16px;font-family:Lato,sans-serif;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:8px;overflow:hidden;box-sizing:border-box}[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;height:8px}[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB)}#search-bar-container[_ngcontent-%COMP%]{width:100%;position:relative;margin-bottom:8px;box-sizing:border-box}input[_ngcontent-%COMP%]{width:100%;max-width:100%;padding:12px 12px 12px 42px;border:solid 1px black;border-radius:4px;height:48px;box-shadow:none;outline:none;font-style:normal;font-weight:400;font-size:15px;line-height:20px;letter-spacing:.1px;color:var(--text-primary, #181F33);box-sizing:border-box;overflow:hidden}input[_ngcontent-%COMP%]:focus{border:solid 1px var(--brand-primary, #0937B2)}#search-icon[_ngcontent-%COMP%]{position:absolute;top:15px;left:12px}.filters-sub-container[_ngcontent-%COMP%]{max-height:144px;overflow-y:auto}.filter[_ngcontent-%COMP%]{height:36px;display:flex;justify-content:flex-start;align-items:center}.filter-text[_ngcontent-%COMP%]{font-size:14px;line-height:20px;padding-left:8px;letter-spacing:.2px;color:var(--text-primary, #181F33);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#no-results-container[_ngcontent-%COMP%]{height:36px;display:flex;justify-content:center;align-items:center}.no-filters-container[_ngcontent-%COMP%]{height:60px;display:flex;justify-content:center;align-items:center;text-align:center;padding:16px}.separator[_ngcontent-%COMP%]{border:1px solid var(--border-primary, #E0E0E0)}#buttons-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}button[_ngcontent-%COMP%]{width:calc(50% - 4px);border:none;box-shadow:none;outline:none;font-size:16px;line-height:24px;text-align:center;letter-spacing:.2px;padding:10px 30px;background:none;border-radius:8px}#apply-btn[_ngcontent-%COMP%]{background:var(--brand-primary, #0937B2);color:var(--bg-primary, #FFFFFF)}#reset-btn[_ngcontent-%COMP%]{background:var(--bg-primary, #FFFFFF);color:var(--brand-primary, #0937B2)}"] }); }
1351
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgStyle, i2$1.CheckboxComponent], styles: ["#main-container[_ngcontent-%COMP%]{position:absolute;background:var(--bg-primary, #FFFFFF);z-index:2;right:calc(50% - 128px);width:256px;min-height:200px;max-height:400px;padding:16px;display:flex;flex-direction:column;font-family:Lato,sans-serif;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:8px;overflow:hidden;box-sizing:border-box}[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;height:8px}[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB)}#search-bar-container[_ngcontent-%COMP%]{width:100%;position:relative;margin-bottom:8px;box-sizing:border-box}input[_ngcontent-%COMP%]{width:100%;max-width:100%;padding:12px 12px 12px 42px;border:solid 1px black;border-radius:4px;height:48px;box-shadow:none;outline:none;font-style:normal;font-weight:400;font-size:15px;line-height:20px;letter-spacing:.1px;color:var(--text-primary, #181F33);box-sizing:border-box;overflow:hidden}input[_ngcontent-%COMP%]:focus{border:solid 1px var(--brand-primary, #0937B2)}#search-icon[_ngcontent-%COMP%]{position:absolute;top:15px;left:12px}#filters-main-container[_ngcontent-%COMP%]{flex:1;min-height:0;display:flex;flex-direction:column}#filters-scrollable-content[_ngcontent-%COMP%]{flex:1;overflow-y:auto;min-height:0}.filters-sub-container[_ngcontent-%COMP%]{max-height:none;overflow-y:visible}.filter[_ngcontent-%COMP%]{height:36px;display:flex;justify-content:flex-start;align-items:center}.filter-text[_ngcontent-%COMP%]{font-size:14px;line-height:20px;padding-left:8px;letter-spacing:.2px;color:var(--text-primary, #181F33);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#no-results-container[_ngcontent-%COMP%]{height:36px;display:flex;justify-content:center;align-items:center}.no-filters-container[_ngcontent-%COMP%]{height:60px;display:flex;justify-content:center;align-items:center;text-align:center;padding:16px}.separator[_ngcontent-%COMP%]{border:1px solid var(--border-primary, #E0E0E0)}#buttons-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;flex-shrink:0}button[_ngcontent-%COMP%]{width:calc(50% - 4px);border:none;box-shadow:none;outline:none;font-size:16px;line-height:24px;text-align:center;letter-spacing:.2px;padding:10px 30px;background:none;border-radius:8px}#apply-btn[_ngcontent-%COMP%]{background:var(--brand-primary, #0937B2);color:var(--bg-primary, #FFFFFF)}#reset-btn[_ngcontent-%COMP%]{background:var(--bg-primary, #FFFFFF);color:var(--brand-primary, #0937B2)}"] }); }
1352
1352
  }
1353
1353
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableFilterComponent, [{
1354
1354
  type: Component,
1355
- args: [{ selector: "mis-table-filter", template: "<div id=\"main-container\" #mainContainer [ngStyle]=\"containerStyles()\">\n <div id=\"search-bar-container\">\n <input (keyup)=\"updateSearchValue($event)\" type=\"text\" placeholder=\"Search\" />\n <svg id=\"search-icon\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.21496 8.14563C1.21496 4.3179 4.33709 1.21165 8.19249 1.21165C12.0479 1.21165 15.17 4.3179 15.17 8.14563C15.17 9.69308 14.6598 11.1226 13.797 12.2767L12.3684 13.7013C11.2043 14.5668 9.75891 15.0796 8.19249 15.0796C4.33709 15.0796 1.21496 11.9734 1.21496 8.14563ZM12.9419 14.7835C11.602 15.7329 9.96259 16.2913 8.19249 16.2913C3.66965 16.2913 -0.00012207 12.6461 -0.00012207 8.14563C-0.00012207 3.64512 3.66965 0 8.19249 0C12.7153 0 16.3851 3.64512 16.3851 8.14563C16.3851 9.93713 15.8036 11.5931 14.8183 12.9375L16.836 14.4048C17.6704 14.912 18.7553 15.6543 17.2453 17.215C15.7352 18.7756 15.0098 17.6663 14.499 16.8364L12.9419 14.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n <div id=\"filters-main-container\">\n <div class=\"filters-sub-container\">\n <div *ngFor=\"let filter of getCheckedFilters()\">\n <div class=\"filter\">\n <mis-checkbox [checked]=\"true\" [name]=\"filter.value\" (valueChange)=\"updateFilter($event)\"></mis-checkbox>\n <span class=\"filter-text\">{{ filter.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"separator\" [ngStyle]=\"{ 'margin': '16px 0px' }\" *ngIf=\"getCheckedFilters().length && getCheckedFilters().length < filtersData().length\"></div>\n <div class=\"filters-sub-container\">\n <div *ngFor=\"let filter of getFiltersBasedOnSearchValue()\">\n <div class=\"filter\" *ngIf=\"!filter.checked\">\n <mis-checkbox [checked]=\"false\" [name]=\"filter.value\" (valueChange)=\"updateFilter($event)\"></mis-checkbox>\n <span class=\"filter-text\">{{ filter.name }}</span>\n </div>\n </div>\n <div id=\"no-results-container\" *ngIf=\"getFiltersBasedOnSearchValue().length < 1\">\n <span class=\"filter-text\">No matches found</span>\n </div>\n </div>\n \n <div class=\"separator\" [ngStyle]=\"{ 'margin': '16px 0px' }\"></div>\n <div id=\"buttons-container\">\n <button id=\"reset-btn\" [ngStyle]=\"{ 'margin-right': '8px' }\" (click)=\"resetFilters()\">Reset</button>\n <button id=\"apply-btn\" (click)=\"applyFilters()\">Apply</button>\n </div>\n </div>\n</div>", styles: ["#main-container{position:absolute;background:var(--bg-primary, #FFFFFF);z-index:2;right:calc(50% - 128px);width:256px;min-height:200px;max-height:400px;padding:16px;font-family:Lato,sans-serif;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:8px;overflow:hidden;box-sizing:border-box}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB)}#search-bar-container{width:100%;position:relative;margin-bottom:8px;box-sizing:border-box}input{width:100%;max-width:100%;padding:12px 12px 12px 42px;border:solid 1px black;border-radius:4px;height:48px;box-shadow:none;outline:none;font-style:normal;font-weight:400;font-size:15px;line-height:20px;letter-spacing:.1px;color:var(--text-primary, #181F33);box-sizing:border-box;overflow:hidden}input:focus{border:solid 1px var(--brand-primary, #0937B2)}#search-icon{position:absolute;top:15px;left:12px}.filters-sub-container{max-height:144px;overflow-y:auto}.filter{height:36px;display:flex;justify-content:flex-start;align-items:center}.filter-text{font-size:14px;line-height:20px;padding-left:8px;letter-spacing:.2px;color:var(--text-primary, #181F33);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#no-results-container{height:36px;display:flex;justify-content:center;align-items:center}.no-filters-container{height:60px;display:flex;justify-content:center;align-items:center;text-align:center;padding:16px}.separator{border:1px solid var(--border-primary, #E0E0E0)}#buttons-container{display:flex;justify-content:center;align-items:center}button{width:calc(50% - 4px);border:none;box-shadow:none;outline:none;font-size:16px;line-height:24px;text-align:center;letter-spacing:.2px;padding:10px 30px;background:none;border-radius:8px}#apply-btn{background:var(--brand-primary, #0937B2);color:var(--bg-primary, #FFFFFF)}#reset-btn{background:var(--bg-primary, #FFFFFF);color:var(--brand-primary, #0937B2)}\n"] }]
1355
+ args: [{ selector: "mis-table-filter", template: "<div id=\"main-container\" #mainContainer [ngStyle]=\"containerStyles()\">\n <div id=\"search-bar-container\">\n <input (keyup)=\"updateSearchValue($event)\" type=\"text\" placeholder=\"Search\" />\n <svg id=\"search-icon\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.21496 8.14563C1.21496 4.3179 4.33709 1.21165 8.19249 1.21165C12.0479 1.21165 15.17 4.3179 15.17 8.14563C15.17 9.69308 14.6598 11.1226 13.797 12.2767L12.3684 13.7013C11.2043 14.5668 9.75891 15.0796 8.19249 15.0796C4.33709 15.0796 1.21496 11.9734 1.21496 8.14563ZM12.9419 14.7835C11.602 15.7329 9.96259 16.2913 8.19249 16.2913C3.66965 16.2913 -0.00012207 12.6461 -0.00012207 8.14563C-0.00012207 3.64512 3.66965 0 8.19249 0C12.7153 0 16.3851 3.64512 16.3851 8.14563C16.3851 9.93713 15.8036 11.5931 14.8183 12.9375L16.836 14.4048C17.6704 14.912 18.7553 15.6543 17.2453 17.215C15.7352 18.7756 15.0098 17.6663 14.499 16.8364L12.9419 14.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n <div id=\"filters-main-container\">\n <div id=\"filters-scrollable-content\">\n <div class=\"filters-sub-container\">\n <div *ngFor=\"let filter of getCheckedFilters()\">\n <div class=\"filter\">\n <mis-checkbox [checked]=\"true\" [name]=\"filter.value\" (valueChange)=\"updateFilter($event)\"></mis-checkbox>\n <span class=\"filter-text\">{{ filter.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"separator\" [ngStyle]=\"{ 'margin': '16px 0px' }\" *ngIf=\"getCheckedFilters().length && getCheckedFilters().length < filtersData().length\"></div>\n <div class=\"filters-sub-container\">\n <div *ngFor=\"let filter of getFiltersBasedOnSearchValue()\">\n <div class=\"filter\" *ngIf=\"!filter.checked\">\n <mis-checkbox [checked]=\"false\" [name]=\"filter.value\" (valueChange)=\"updateFilter($event)\"></mis-checkbox>\n <span class=\"filter-text\">{{ filter.name }}</span>\n </div>\n </div>\n <div id=\"no-results-container\" *ngIf=\"getFiltersBasedOnSearchValue().length < 1\">\n <span class=\"filter-text\">No matches found</span>\n </div>\n </div>\n </div>\n <div class=\"separator\" [ngStyle]=\"{ 'margin': '16px 0px' }\"></div>\n <div id=\"buttons-container\">\n <button id=\"reset-btn\" [ngStyle]=\"{ 'margin-right': '8px' }\" (click)=\"resetFilters()\">Reset</button>\n <button id=\"apply-btn\" (click)=\"applyFilters()\">Apply</button>\n </div>\n </div>\n</div>", styles: ["#main-container{position:absolute;background:var(--bg-primary, #FFFFFF);z-index:2;right:calc(50% - 128px);width:256px;min-height:200px;max-height:400px;padding:16px;display:flex;flex-direction:column;font-family:Lato,sans-serif;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:8px;overflow:hidden;box-sizing:border-box}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB)}#search-bar-container{width:100%;position:relative;margin-bottom:8px;box-sizing:border-box}input{width:100%;max-width:100%;padding:12px 12px 12px 42px;border:solid 1px black;border-radius:4px;height:48px;box-shadow:none;outline:none;font-style:normal;font-weight:400;font-size:15px;line-height:20px;letter-spacing:.1px;color:var(--text-primary, #181F33);box-sizing:border-box;overflow:hidden}input:focus{border:solid 1px var(--brand-primary, #0937B2)}#search-icon{position:absolute;top:15px;left:12px}#filters-main-container{flex:1;min-height:0;display:flex;flex-direction:column}#filters-scrollable-content{flex:1;overflow-y:auto;min-height:0}.filters-sub-container{max-height:none;overflow-y:visible}.filter{height:36px;display:flex;justify-content:flex-start;align-items:center}.filter-text{font-size:14px;line-height:20px;padding-left:8px;letter-spacing:.2px;color:var(--text-primary, #181F33);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#no-results-container{height:36px;display:flex;justify-content:center;align-items:center}.no-filters-container{height:60px;display:flex;justify-content:center;align-items:center;text-align:center;padding:16px}.separator{border:1px solid var(--border-primary, #E0E0E0)}#buttons-container{display:flex;justify-content:center;align-items:center;flex-shrink:0}button{width:calc(50% - 4px);border:none;box-shadow:none;outline:none;font-size:16px;line-height:24px;text-align:center;letter-spacing:.2px;padding:10px 30px;background:none;border-radius:8px}#apply-btn{background:var(--brand-primary, #0937B2);color:var(--bg-primary, #FFFFFF)}#reset-btn{background:var(--bg-primary, #FFFFFF);color:var(--brand-primary, #0937B2)}\n"] }]
1356
1356
  }], () => [], { container: [{
1357
1357
  type: ViewChild,
1358
1358
  args: ["mainContainer"]