mis-crystal-design-system 18.1.5-signal → 18.1.7-signal-1
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/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +4 -0
- package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +7 -5
- package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +2 -34
- package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +60 -18
- package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +255 -175
- package/esm2022/drawer/drawer-body/drawer-body.component.mjs +4 -4
- package/esm2022/filter/filter-panel/filter-panel.component.mjs +28 -27
- package/esm2022/input/mis-input.component.mjs +1 -9
- package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +4 -4
- package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +10 -5
- package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +23 -19
- package/esm2022/table/table.component.mjs +15 -3
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +60 -50
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +254 -174
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-drawer.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-filter.mjs +27 -26
- package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input.mjs +0 -8
- package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-modal.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs +9 -4
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +22 -18
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-table.mjs +14 -3
- package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
- package/filter/filter-panel/filter-panel.component.d.ts +1 -1
- package/package.json +12 -12
- package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +2 -2
|
@@ -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 const checkedValues = data.filter(a => a.checked);\n const unCheckedValues = data.filter(a => !a.checked);\n\n const sortFn = (a: MultiSelectDropdownItem, b: MultiSelectDropdownItem) => a.label > b.label ? 1 : -1;\n \n return [\n ...checkedValues.sort(sortFn),\n ...unCheckedValues.sort(sortFn)\n ].filter(t => t.value !== this.SELECT_ALL_ENUM);\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 <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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"}
|
|
@@ -195,13 +195,12 @@ function TzDrpContainerComponent_span_39_Template(rf, ctx) { if (rf & 1) {
|
|
|
195
195
|
i0.ɵɵelementStart(0, "span")(1, "span");
|
|
196
196
|
i0.ɵɵtext(2);
|
|
197
197
|
i0.ɵɵelementEnd();
|
|
198
|
-
i0.ɵɵtext(3, "day(s) selected");
|
|
198
|
+
i0.ɵɵtext(3, " day(s) selected ");
|
|
199
199
|
i0.ɵɵelementEnd();
|
|
200
200
|
} if (rf & 2) {
|
|
201
|
-
let tmp_2_0;
|
|
202
201
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
203
202
|
i0.ɵɵadvance(2);
|
|
204
|
-
i0.ɵɵ
|
|
203
|
+
i0.ɵɵtextInterpolate(ctx_r2.localSelectedDates().length);
|
|
205
204
|
} }
|
|
206
205
|
function TzDrpContainerComponent_span_40_Template(rf, ctx) { if (rf & 1) {
|
|
207
206
|
i0.ɵɵelementStart(0, "span")(1, "span");
|
|
@@ -246,12 +245,26 @@ class TzDrpContainerComponent {
|
|
|
246
245
|
this.toast = toast;
|
|
247
246
|
this.data = signal(this.injectedData);
|
|
248
247
|
this.dayjsInstance = computed(() => {
|
|
248
|
+
const config = this.data().dpConfig;
|
|
249
|
+
if (config?.timezone) {
|
|
250
|
+
// Returns a function that creates a timezone-aware dayjs instance
|
|
251
|
+
return (...args) => dayjs(...args).tz(config.timezone);
|
|
252
|
+
}
|
|
253
|
+
// Returns a function that creates a standard dayjs instance
|
|
249
254
|
return (...args) => dayjs(...args);
|
|
250
255
|
});
|
|
251
256
|
this.rawWeekDays = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];
|
|
252
257
|
this.localSelectedDates = signal([]);
|
|
253
258
|
this.localSelectedDatesRange = signal({ startDate: null, endDate: null });
|
|
254
|
-
this.isDatesValid =
|
|
259
|
+
this.isDatesValid = computed(() => {
|
|
260
|
+
if (this.isSpecificPickerSelected()) {
|
|
261
|
+
// Valid if at least one specific date is selected
|
|
262
|
+
return this.localSelectedDates().length > 0;
|
|
263
|
+
}
|
|
264
|
+
// Valid if both start and end date of the range are set
|
|
265
|
+
const range = this.localSelectedDatesRange();
|
|
266
|
+
return !!(range?.startDate && range?.endDate);
|
|
267
|
+
});
|
|
255
268
|
this.dateRangeSelected = signal(false);
|
|
256
269
|
this.singleDatePickerSelected = signal(false);
|
|
257
270
|
this.openElement = signal(false);
|
|
@@ -260,10 +273,10 @@ class TzDrpContainerComponent {
|
|
|
260
273
|
this.isSpecificPickerSelected = signal(false);
|
|
261
274
|
this.formControl = new UntypedFormControl('Specific Date(s)');
|
|
262
275
|
this.datePickerValue = signal(['Specific Date(s)', 'Date Range']);
|
|
263
|
-
this.currentMonthNumber = signal(this.
|
|
264
|
-
this.currentYearNumber = signal(this.
|
|
265
|
-
this.nextMonthNumber = signal(this.
|
|
266
|
-
this.nextYearNumber = signal(this.
|
|
276
|
+
this.currentMonthNumber = signal(this.injectedData.dpConfig?.timezone ? dayjs().tz(this.injectedData.dpConfig.timezone).month() : dayjs().month());
|
|
277
|
+
this.currentYearNumber = signal(this.injectedData.dpConfig?.timezone ? dayjs().tz(this.injectedData.dpConfig.timezone).year() : dayjs().year());
|
|
278
|
+
this.nextMonthNumber = signal(this.injectedData.dpConfig?.timezone ? dayjs().tz(this.injectedData.dpConfig.timezone).add(1, "month").month() : dayjs().add(1, "month").month());
|
|
279
|
+
this.nextYearNumber = signal(this.injectedData.dpConfig?.timezone ? dayjs().tz(this.injectedData.dpConfig.timezone).add(1, "month").year() : dayjs().add(1, "month").year());
|
|
267
280
|
this.weekDays = computed(() => {
|
|
268
281
|
return this.rawWeekDays.map((day, index) => ({
|
|
269
282
|
label: `${day[0]}${day.slice(1).toLowerCase()}`,
|
|
@@ -303,7 +316,6 @@ class TzDrpContainerComponent {
|
|
|
303
316
|
this.localSelectedDates.set(this.data().dates);
|
|
304
317
|
this.localSelectedDatesRange.set(this.injectedData.datesRange || { startDate: null, endDate: null });
|
|
305
318
|
this.isSpecificPickerSelected.set(this.data().isSPickerSelected);
|
|
306
|
-
this.isDatesValid.set(this.data().isSPickerSelected ? this.localSelectedDates().length > 0 : !!(this.localSelectedDatesRange()?.startDate && this.localSelectedDatesRange()?.endDate));
|
|
307
319
|
this.dateRangeSelected.set(!this.isSpecificPickerSelected());
|
|
308
320
|
this.singleDatePickerSelected.set(this.data().isSingleDatePickerEnable);
|
|
309
321
|
effect(() => {
|
|
@@ -333,9 +345,6 @@ class TzDrpContainerComponent {
|
|
|
333
345
|
this.singleDateSelectedValue.set(this.data().dates[0]?.selectedDate || '');
|
|
334
346
|
}
|
|
335
347
|
}, { allowSignalWrites: true });
|
|
336
|
-
if (this.data()?.dpConfig?.timezone) {
|
|
337
|
-
this.dayjsInstance = computed(() => (...args) => dayjs(...args).tz(this.data().dpConfig.timezone));
|
|
338
|
-
}
|
|
339
348
|
}
|
|
340
349
|
ngOnInit() {
|
|
341
350
|
if (!this.data()?.dpConfig?.format) {
|
|
@@ -409,11 +418,9 @@ class TzDrpContainerComponent {
|
|
|
409
418
|
.date(day.date).format(this.data().dpConfig.format);
|
|
410
419
|
const existingIndex = current.findIndex(d => d.selectedDate === currentSelection);
|
|
411
420
|
if (existingIndex !== -1) {
|
|
412
|
-
this.isDatesValid.set(current.length > 1);
|
|
413
421
|
return current.filter((_, index) => index !== existingIndex);
|
|
414
422
|
}
|
|
415
423
|
else if (!day.isDisabledDay) {
|
|
416
|
-
this.isDatesValid.set(true);
|
|
417
424
|
return [...current, { selectedDate: currentSelection }];
|
|
418
425
|
}
|
|
419
426
|
return current;
|
|
@@ -428,16 +435,13 @@ class TzDrpContainerComponent {
|
|
|
428
435
|
if (this.selectionStarted()) {
|
|
429
436
|
if (dayjsDay.isBefore(this.dayjsInstance()(current.startDate, this.data().dpConfig.format), "day")) {
|
|
430
437
|
this.selectionStarted.set(true);
|
|
431
|
-
this.isDatesValid.set(false);
|
|
432
438
|
return { startDate: dayjsDay.format(this.data().dpConfig.format), endDate: null };
|
|
433
439
|
}
|
|
434
440
|
this.selectionStarted.set(false);
|
|
435
|
-
this.isDatesValid.set(true);
|
|
436
441
|
return { ...current, endDate: dayjsDay.format(this.data().dpConfig.format) };
|
|
437
442
|
}
|
|
438
443
|
else {
|
|
439
444
|
this.selectionStarted.set(true);
|
|
440
|
-
this.isDatesValid.set(false);
|
|
441
445
|
return { startDate: dayjsDay.format(this.data().dpConfig.format), endDate: null };
|
|
442
446
|
}
|
|
443
447
|
});
|
|
@@ -579,7 +583,7 @@ class TzDrpContainerComponent {
|
|
|
579
583
|
}
|
|
580
584
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TzDrpContainerComponent, [{
|
|
581
585
|
type: Component,
|
|
582
|
-
args: [{ selector: "mis-tz-sdp", template: "<div class=\"daterangepicker-container\" [ngClass]=\"data().isSingleDatePickerEnable?'single-date-picker-enabled':''\">\n <div class=\"radio-container\">\n <div class=\"label\" *ngFor=\"let picker of datePickerValue()\">\n <mis-radio class=\"input\" [name]=\"'dateSelection'\" [value]=\"picker\" (valueChange)=\"changePicker($event)\" ngDefaultControl [formControl]=\"formControl\"></mis-radio>\n <span>{{picker}}</span>\n </div>\n </div>\n <div class=\"specific-datepicker-container\" [ngStyle]=\"{'display': singleDatePickerSelected() ? 'none' : ''}\">\n <div class=\"daterangepicker-container__view\">\n <div class=\"datepicker__left\">\n <div class=\"daterangepicker-container__header__prabu\">\n <div\n class=\"daterangepicker-container__arrow__icon\"\n (click)=\"!isPreviousMonthDisabled() && navigateMonth('PREVIOUS')\"\n [ngClass]=\"{\n 'disabled-month': isPreviousMonthDisabled()\n }\"\n >\n <svg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M19.7071 8.70711C20.0976 8.31658 20.0976 7.68342 19.7071 7.29289L13.3431 0.928933C12.9526 0.538409 12.3195 0.538409 11.9289 0.928933C11.5384 1.31946 11.5384 1.95262 11.9289 2.34315L17.5858 8L11.9289 13.6569C11.5384 14.0474 11.5384 14.6805 11.9289 15.0711C12.3195 15.4616 12.9526 15.4616 13.3431 15.0711L19.7071 8.70711ZM-8.74228e-08 9L19 9L19 7L8.74228e-08 7L-8.74228e-08 9Z\"\n fill=\"#181F33\"\n ></path>\n </svg>\n </div>\n <span> {{ currentMonth() }} {{ currentYearNumber() }} </span>\n <div></div>\n </div>\n <div class=\"daterangepicker-container__body\">\n <div class=\"daterangepicker-container__weekdays\">\n <div class=\"daterangepicker-container__weekday\" *ngFor=\"let weekDay of weekDays()\">\n <span [ngClass]=\"{\n 'current-day': weekDay.isCurrentDay && (currentMonthNumber() === todayMonthNumber())\n }\">{{ weekDay.label }}</span>\n </div>\n </div>\n <div class=\"daterangepicker-container__days\">\n <div\n class=\"daterangepicker-container__day\"\n [ngClass]=\"{\n 'selected-day': day.isSelectedDay && isSpecificPickerSelected(),\n 'disabled-day': day.isDisabledDay,\n 'selected-start-day': day.isSelectedStartDay && !isSpecificPickerSelected(),\n 'selected-end-day': day.isSelectedEndDay && !isSpecificPickerSelected(),\n 'in-range-day': day.inRangeDay && !isSpecificPickerSelected(),\n 'is-valid-date': day.date > 0 && !isSpecificPickerSelected() && !(day.isSelectedStartDay && day.isSelectedEndDay)\n }\"\n [ngStyle]=\"{ 'margin-right': !isSpecificPickerSelected() ? '0px' : '1px','width': !isSpecificPickerSelected() ? '36px' : '35px','justify-content': day.isHoliday ? 'flex-start' : 'center','padding-top': day.isHoliday ? '2.8px' : '0px','height': day.isHoliday ? '33px' : '36px'}\"\n *ngFor=\"let day of currentMonthDates()\"\n (click)=\"selectDay('LEFT',day)\"\n >\n <div [ngClass]=\"{\n 'circular-dot': day.isHoliday\n }\"></div>\n <span *ngIf=\"day.date > 0\" [ngClass]=\"{\n 'current-day': day.isCurrentDay,\n 'holiday-text': day.isHoliday || day.isWeekOff\n }\" >\n {{ day.date }}\n </span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"datepicker__right\">\n <div class=\"daterangepicker-container__header__prabu\">\n <div></div>\n <span> {{ nextMonth() }} {{ nextYearNumber() }} </span>\n <div\n class=\"daterangepicker-container__arrow__icon\"\n (click)=\"!isNextMonthDisabled() && navigateMonth('NEXT')\"\n [ngClass]=\"{\n 'disabled-month': isNextMonthDisabled()\n }\"\n >\n <svg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M19.7071 8.70711C20.0976 8.31658 20.0976 7.68342 19.7071 7.29289L13.3431 0.928933C12.9526 0.538409 12.3195 0.538409 11.9289 0.928933C11.5384 1.31946 11.5384 1.95262 11.9289 2.34315L17.5858 8L11.9289 13.6569C11.5384 14.0474 11.5384 14.6805 11.9289 15.0711C12.3195 15.4616 12.9526 15.4616 13.3431 15.0711L19.7071 8.70711ZM-8.74228e-08 9L19 9L19 7L8.74228e-08 7L-8.74228e-08 9Z\"\n fill=\"#181F33\"\n ></path>\n </svg>\n </div>\n </div>\n <div class=\"daterangepicker-container__body\">\n <div class=\"daterangepicker-container__weekdays\">\n <div class=\"daterangepicker-container__weekday\" *ngFor=\"let weekDay of weekDays()\" >\n <span >{{ weekDay.label }}</span>\n </div>\n </div>\n <div class=\"daterangepicker-container__days\">\n <div\n class=\"daterangepicker-container__day\"\n [ngClass]=\"{\n 'selected-day': day.isSelectedDay && isSpecificPickerSelected(),\n 'disabled-day': day.isDisabledDay,\n 'selected-start-day': day.isSelectedStartDay && !isSpecificPickerSelected(),\n 'selected-end-day': day.isSelectedEndDay && !isSpecificPickerSelected(),\n 'in-range-day': day.inRangeDay && !isSpecificPickerSelected(),\n 'is-valid-date': day.date > 0 && !isSpecificPickerSelected() && !(day.isSelectedStartDay && day.isSelectedEndDay)\n }\"\n *ngFor=\"let day of nextMonthDates()\"\n (click)=\"selectDay('RIGHT',day)\"\n >\n <div [ngClass]=\"{\n 'circular-dot': day.isHoliday\n }\"></div>\n <span *ngIf=\"day.date > 0\" [ngClass]=\"{\n 'current-day': day.isCurrentDay && (currentMonthNumber() === todayMonthNumber()),\n 'holiday-text': day.isHoliday || day.isWeekOff\n }\" >\n {{ day.date }}\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"weekOffs_holidays_container\">\n <span>Weekly offs: <span *ngFor=\"let weekOff of data().weekOffs; let last = last\">{{weekOff}} <span *ngIf=\"!last\">,</span></span></span>\n <span >Holidays <span class=\"circular-dot\" [ngStyle]=\"{ display: 'inline-block', 'margin-left': '10px' }\"></span></span>\n </div>\n <div class=\"daterangepicker__footer\">\n <span *ngIf=\"isSpecificPickerSelected()\"><span>{{isSpecificPickerSelected() && localSelectedDates()[0]?.selectedDate ? localSelectedDates().length : (localSelectedDates().length -1 && 0)}} </span>day(s) selected</span>\n <span *ngIf=\"!isSpecificPickerSelected()\"><span>{{dateRangeLength() > 0 ? dateRangeLength() : 0 }} </span>day(s) selected</span>\n <div class=\"footer_action_btn\">\n <button mis-button size=\"md\" type=\"none\" (click)=\"cancelDatePicker()\" >Cancel</button>\n <button *ngIf=\"isSpecificPickerSelected()\" mis-button size=\"md\" type=\"primary\" (click)=\"applyDates()\" [disabled]=\"!isDatesValid()\" >Apply</button>\n <button *ngIf=\"!isSpecificPickerSelected()\" mis-button size=\"md\" type=\"primary\" (click)=\"applyDatesRange()\" [disabled]=\"!isDatesValid() || (dateRangeLength() === 0)\" >Apply</button>\n </div>\n </div>\n </div>\n <div class=\"single-datepicker-container\" [ngStyle]=\"{'display': !singleDatePickerSelected() ? 'none' : 'block'}\">\n <input\n misTzDp\n misInput\n type=\"text\"\n readonly\n class=\"date-input\"\n [dpConfig]=\"data().dpConfig\"\n placeholder=\"Select\"\n (dateChange)=\"onSingleDateChange($event)\"\n [selectedDate]=\"singleDateSelectedValue()\"\n positionX=\"center\"\n positionY=\"top\"\n offsetX = 71\n offsetY = -1\n [value]=\"singleDateSelectedValue()\"\n [disableBoxShadow]=\"true\"\n [disableOverLay]=\"true\"\n [openElement]=\"openElement()\"\n #singleDatePickerElement\n />\n </div>\n\n</div>\n\n\n", styles: [":root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-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}.daterangepicker-container{background:var(--bg-primary, #FFFFFF);border:1px solid var(--border-primary, #E0E0E0);box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:12px;display:flex;flex-direction:column;font-family:Lato;overflow:hidden;-webkit-user-select:none;user-select:none}.daterangepicker-container.single-date-picker-enabled{flex-direction:row}.daterangepicker-container .radio-container{display:flex;align-items:center;height:48px;padding:8px 0;justify-content:center;border-radius:12px 12px 0 0;border-bottom:1px solid var(--border-primary, #E0E0E0);background:var(--bg-primary, #FFFFFF)}.daterangepicker-container .radio-container .label{display:flex;align-items:center}.daterangepicker-container .radio-container .label .input{margin-right:8px;width:20px;height:20px}.daterangepicker-container .radio-container .label:first-child{padding-right:16px;border-right:1px solid var(--border-primary, #E0E0E0)}.daterangepicker-container .radio-container .label:nth-child(2){padding-left:16px}.daterangepicker-container.single-date-picker-enabled .radio-container{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:16px;height:288px;padding:20px;border-right:1px solid var(--border-primary, #E0E0E0)!important;border-radius:0}.daterangepicker-container.single-date-picker-enabled .radio-container .label:first-child{padding-right:0;border-right:0px}.daterangepicker-container.single-date-picker-enabled .radio-container .label:nth-child(2){padding-left:0}.daterangepicker-container .daterangepicker-container__view{display:flex;gap:24px;padding:16px}.daterangepicker-container .daterangepicker-container__view .datepicker__left,.daterangepicker-container .daterangepicker-container__view .datepicker__right{display:flex;flex-direction:column}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu{display:flex;height:32px;justify-content:space-between;align-items:center;width:100%;padding-bottom:16px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu span{font-size:16px;font-style:normal;font-weight:700;line-height:24px;letter-spacing:.2px;text-align:center}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon{height:20px;width:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:4px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon.disabled-month{opacity:.5;cursor:not-allowed}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon:not(.disabled-month):hover{cursor:pointer;background-color:var(--brand-primary-lightest, #CBDDFB)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon:nth-child(1){transform:rotate(180deg)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body{height:100%;width:252px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays{width:100%;display:flex;padding-bottom:10px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday{width:36px;height:18px;text-align:center}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday span{font-size:12px;font-style:normal;font-weight:400;line-height:18px;letter-spacing:.2px;text-align:center;color:var(--text-secondary, #6A737D)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday span.current-day{font-weight:700;letter-spacing:.25px;color:var(--text-primary, #181F33)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days{display:flex;flex-wrap:wrap}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day{flex-direction:column;width:35px;height:36px;display:flex;align-items:center;justify-content:center;margin-bottom:1px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day:not(.in-range-day):not(.selected-start-day):not(.selected-end-day){border-radius:4px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.disabled-day{cursor:default}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.disabled-day:hover{background-color:transparent}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.disabled-day>span{color:var(--text-secondary, #6A737D)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.is-valid-date:not(.disabled-day):not(.selected-start-day):not(.selected-end-day):hover{background-color:var(--brand-primary-lightest, #CBDDFB);cursor:pointer}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span{font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.2px;text-align:center;color:var(--text-primary, #181F33)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span.current-day{font-weight:700;letter-spacing:.25px;color:var(--brand-primary, #0937B2)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span.selected-day{color:var(--bg-primary, #FFFFFF)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span.disabled-day{color:var(--text-secondary, #6A737D)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-start-day{background-color:var(--brand-primary, #0937B2);border-radius:20px 4px 4px 20px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-start-day>span{color:var(--bg-primary, #FFFFFF)!important}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-end-day{background-color:var(--brand-primary, #0937B2);border-radius:0 20px 20px 0}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-end-day>span{color:var(--bg-primary, #FFFFFF)!important}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-end-day.selected-start-day{border-radius:50%!important}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .in-range-day:not(.disabled-day){background-color:var(--brand-primary-lightest, #CBDDFB)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-day{background-color:var(--brand-primary, #0937B2);border-radius:4px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-day>span{color:var(--bg-primary, #FFFFFF)!important}.daterangepicker-container .weekOffs_holidays_container{font-size:12px;color:var(--text-secondary, #6A737D);padding:8px 24px 12px}.daterangepicker-container .weekOffs_holidays_container>span{margin-right:16px}.daterangepicker-container .weekOffs_holidays_container>span>span{color:var(--text-primary, #181F33)}.daterangepicker-container .daterangepicker__footer{display:flex;justify-content:space-between;border-top:1px solid var(--border-primary, #E0E0E0);padding:16px 24px;word-spacing:4px}.daterangepicker-container .daterangepicker__footer span{font-family:Lato;font-size:15px;font-weight:400;align-self:center}.daterangepicker-container .daterangepicker__footer span span{font-weight:700}.daterangepicker-container .daterangepicker__footer .footer_action_btn{display:flex}.daterangepicker-container .daterangepicker__footer button{width:104px;height:44px;border-radius:8px;margin-left:24px;font-weight:700}.circular-dot{width:5px;height:5px;background-color:var(--brand-warning, #FF9D00);border-radius:50%}.holiday-text{color:var(--text-secondary, #6A737D)!important}.display-none{display:none!important}.single-datepicker-container{width:291px}\n"] }]
|
|
586
|
+
args: [{ selector: "mis-tz-sdp", template: "<div class=\"daterangepicker-container\" [ngClass]=\"data().isSingleDatePickerEnable?'single-date-picker-enabled':''\">\n <div class=\"radio-container\">\n <div class=\"label\" *ngFor=\"let picker of datePickerValue()\">\n <mis-radio class=\"input\" [name]=\"'dateSelection'\" [value]=\"picker\" (valueChange)=\"changePicker($event)\" ngDefaultControl [formControl]=\"formControl\"></mis-radio>\n <span>{{picker}}</span>\n </div>\n </div>\n <div class=\"specific-datepicker-container\" [ngStyle]=\"{'display': singleDatePickerSelected() ? 'none' : ''}\">\n <div class=\"daterangepicker-container__view\">\n <div class=\"datepicker__left\">\n <div class=\"daterangepicker-container__header__prabu\">\n <div\n class=\"daterangepicker-container__arrow__icon\"\n (click)=\"!isPreviousMonthDisabled() && navigateMonth('PREVIOUS')\"\n [ngClass]=\"{\n 'disabled-month': isPreviousMonthDisabled()\n }\"\n >\n <svg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M19.7071 8.70711C20.0976 8.31658 20.0976 7.68342 19.7071 7.29289L13.3431 0.928933C12.9526 0.538409 12.3195 0.538409 11.9289 0.928933C11.5384 1.31946 11.5384 1.95262 11.9289 2.34315L17.5858 8L11.9289 13.6569C11.5384 14.0474 11.5384 14.6805 11.9289 15.0711C12.3195 15.4616 12.9526 15.4616 13.3431 15.0711L19.7071 8.70711ZM-8.74228e-08 9L19 9L19 7L8.74228e-08 7L-8.74228e-08 9Z\"\n fill=\"#181F33\"\n ></path>\n </svg>\n </div>\n <span> {{ currentMonth() }} {{ currentYearNumber() }} </span>\n <div></div>\n </div>\n <div class=\"daterangepicker-container__body\">\n <div class=\"daterangepicker-container__weekdays\">\n <div class=\"daterangepicker-container__weekday\" *ngFor=\"let weekDay of weekDays()\">\n <span [ngClass]=\"{\n 'current-day': weekDay.isCurrentDay && (currentMonthNumber() === todayMonthNumber())\n }\">{{ weekDay.label }}</span>\n </div>\n </div>\n <div class=\"daterangepicker-container__days\">\n <div\n class=\"daterangepicker-container__day\"\n [ngClass]=\"{\n 'selected-day': day.isSelectedDay && isSpecificPickerSelected(),\n 'disabled-day': day.isDisabledDay,\n 'selected-start-day': day.isSelectedStartDay && !isSpecificPickerSelected(),\n 'selected-end-day': day.isSelectedEndDay && !isSpecificPickerSelected(),\n 'in-range-day': day.inRangeDay && !isSpecificPickerSelected(),\n 'is-valid-date': day.date > 0 && !isSpecificPickerSelected() && !(day.isSelectedStartDay && day.isSelectedEndDay)\n }\"\n [ngStyle]=\"{ 'margin-right': !isSpecificPickerSelected() ? '0px' : '1px','width': !isSpecificPickerSelected() ? '36px' : '35px','justify-content': day.isHoliday ? 'flex-start' : 'center','padding-top': day.isHoliday ? '2.8px' : '0px','height': day.isHoliday ? '33px' : '36px'}\"\n *ngFor=\"let day of currentMonthDates()\"\n (click)=\"selectDay('LEFT',day)\"\n >\n <div [ngClass]=\"{\n 'circular-dot': day.isHoliday\n }\"></div>\n <span *ngIf=\"day.date > 0\" [ngClass]=\"{\n 'current-day': day.isCurrentDay,\n 'holiday-text': day.isHoliday || day.isWeekOff\n }\" >\n {{ day.date }}\n </span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"datepicker__right\">\n <div class=\"daterangepicker-container__header__prabu\">\n <div></div>\n <span> {{ nextMonth() }} {{ nextYearNumber() }} </span>\n <div\n class=\"daterangepicker-container__arrow__icon\"\n (click)=\"!isNextMonthDisabled() && navigateMonth('NEXT')\"\n [ngClass]=\"{\n 'disabled-month': isNextMonthDisabled()\n }\"\n >\n <svg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M19.7071 8.70711C20.0976 8.31658 20.0976 7.68342 19.7071 7.29289L13.3431 0.928933C12.9526 0.538409 12.3195 0.538409 11.9289 0.928933C11.5384 1.31946 11.5384 1.95262 11.9289 2.34315L17.5858 8L11.9289 13.6569C11.5384 14.0474 11.5384 14.6805 11.9289 15.0711C12.3195 15.4616 12.9526 15.4616 13.3431 15.0711L19.7071 8.70711ZM-8.74228e-08 9L19 9L19 7L8.74228e-08 7L-8.74228e-08 9Z\"\n fill=\"#181F33\"\n ></path>\n </svg>\n </div>\n </div>\n <div class=\"daterangepicker-container__body\">\n <div class=\"daterangepicker-container__weekdays\">\n <div class=\"daterangepicker-container__weekday\" *ngFor=\"let weekDay of weekDays()\" >\n <span >{{ weekDay.label }}</span>\n </div>\n </div>\n <div class=\"daterangepicker-container__days\">\n <div\n class=\"daterangepicker-container__day\"\n [ngClass]=\"{\n 'selected-day': day.isSelectedDay && isSpecificPickerSelected(),\n 'disabled-day': day.isDisabledDay,\n 'selected-start-day': day.isSelectedStartDay && !isSpecificPickerSelected(),\n 'selected-end-day': day.isSelectedEndDay && !isSpecificPickerSelected(),\n 'in-range-day': day.inRangeDay && !isSpecificPickerSelected(),\n 'is-valid-date': day.date > 0 && !isSpecificPickerSelected() && !(day.isSelectedStartDay && day.isSelectedEndDay)\n }\"\n *ngFor=\"let day of nextMonthDates()\"\n (click)=\"selectDay('RIGHT',day)\"\n >\n <div [ngClass]=\"{\n 'circular-dot': day.isHoliday\n }\"></div>\n <span *ngIf=\"day.date > 0\" [ngClass]=\"{\n 'current-day': day.isCurrentDay && (currentMonthNumber() === todayMonthNumber()),\n 'holiday-text': day.isHoliday || day.isWeekOff\n }\" >\n {{ day.date }}\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"weekOffs_holidays_container\">\n <span>Weekly offs: <span *ngFor=\"let weekOff of data().weekOffs; let last = last\">{{weekOff}} <span *ngIf=\"!last\">,</span></span></span>\n <span >Holidays <span class=\"circular-dot\" [ngStyle]=\"{ display: 'inline-block', 'margin-left': '10px' }\"></span></span>\n </div>\n <div class=\"daterangepicker__footer\">\n <span *ngIf=\"isSpecificPickerSelected()\">\n <span>{{localSelectedDates().length}}</span> day(s) selected\n </span>\n <span *ngIf=\"!isSpecificPickerSelected()\"><span>{{dateRangeLength() > 0 ? dateRangeLength() : 0 }} </span>day(s) selected</span>\n <div class=\"footer_action_btn\">\n <button mis-button size=\"md\" type=\"none\" (click)=\"cancelDatePicker()\" >Cancel</button>\n <button *ngIf=\"isSpecificPickerSelected()\" mis-button size=\"md\" type=\"primary\" (click)=\"applyDates()\" [disabled]=\"!isDatesValid()\" >Apply</button>\n <button *ngIf=\"!isSpecificPickerSelected()\" mis-button size=\"md\" type=\"primary\" (click)=\"applyDatesRange()\" [disabled]=\"!isDatesValid() || (dateRangeLength() === 0)\" >Apply</button>\n </div>\n </div>\n </div>\n <div class=\"single-datepicker-container\" [ngStyle]=\"{'display': !singleDatePickerSelected() ? 'none' : 'block'}\">\n <input\n misTzDp\n misInput\n type=\"text\"\n readonly\n class=\"date-input\"\n [dpConfig]=\"data().dpConfig\"\n placeholder=\"Select\"\n (dateChange)=\"onSingleDateChange($event)\"\n [selectedDate]=\"singleDateSelectedValue()\"\n positionX=\"center\"\n positionY=\"top\"\n offsetX = 71\n offsetY = -1\n [value]=\"singleDateSelectedValue()\"\n [disableBoxShadow]=\"true\"\n [disableOverLay]=\"true\"\n [openElement]=\"openElement()\"\n #singleDatePickerElement\n />\n </div>\n\n</div>\n\n\n", styles: [":root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-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}.daterangepicker-container{background:var(--bg-primary, #FFFFFF);border:1px solid var(--border-primary, #E0E0E0);box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:12px;display:flex;flex-direction:column;font-family:Lato;overflow:hidden;-webkit-user-select:none;user-select:none}.daterangepicker-container.single-date-picker-enabled{flex-direction:row}.daterangepicker-container .radio-container{display:flex;align-items:center;height:48px;padding:8px 0;justify-content:center;border-radius:12px 12px 0 0;border-bottom:1px solid var(--border-primary, #E0E0E0);background:var(--bg-primary, #FFFFFF)}.daterangepicker-container .radio-container .label{display:flex;align-items:center}.daterangepicker-container .radio-container .label .input{margin-right:8px;width:20px;height:20px}.daterangepicker-container .radio-container .label:first-child{padding-right:16px;border-right:1px solid var(--border-primary, #E0E0E0)}.daterangepicker-container .radio-container .label:nth-child(2){padding-left:16px}.daterangepicker-container.single-date-picker-enabled .radio-container{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:16px;height:288px;padding:20px;border-right:1px solid var(--border-primary, #E0E0E0)!important;border-radius:0}.daterangepicker-container.single-date-picker-enabled .radio-container .label:first-child{padding-right:0;border-right:0px}.daterangepicker-container.single-date-picker-enabled .radio-container .label:nth-child(2){padding-left:0}.daterangepicker-container .daterangepicker-container__view{display:flex;gap:24px;padding:16px}.daterangepicker-container .daterangepicker-container__view .datepicker__left,.daterangepicker-container .daterangepicker-container__view .datepicker__right{display:flex;flex-direction:column}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu{display:flex;height:32px;justify-content:space-between;align-items:center;width:100%;padding-bottom:16px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu span{font-size:16px;font-style:normal;font-weight:700;line-height:24px;letter-spacing:.2px;text-align:center}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon{height:20px;width:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:4px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon.disabled-month{opacity:.5;cursor:not-allowed}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon:not(.disabled-month):hover{cursor:pointer;background-color:var(--brand-primary-lightest, #CBDDFB)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__header__prabu .daterangepicker-container__arrow__icon:nth-child(1){transform:rotate(180deg)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body{height:100%;width:252px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays{width:100%;display:flex;padding-bottom:10px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday{width:36px;height:18px;text-align:center}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday span{font-size:12px;font-style:normal;font-weight:400;line-height:18px;letter-spacing:.2px;text-align:center;color:var(--text-secondary, #6A737D)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__weekdays .daterangepicker-container__weekday span.current-day{font-weight:700;letter-spacing:.25px;color:var(--text-primary, #181F33)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days{display:flex;flex-wrap:wrap}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day{flex-direction:column;width:35px;height:36px;display:flex;align-items:center;justify-content:center;margin-bottom:1px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day:not(.in-range-day):not(.selected-start-day):not(.selected-end-day){border-radius:4px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.disabled-day{cursor:default}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.disabled-day:hover{background-color:transparent}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.disabled-day>span{color:var(--text-secondary, #6A737D)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day.is-valid-date:not(.disabled-day):not(.selected-start-day):not(.selected-end-day):hover{background-color:var(--brand-primary-lightest, #CBDDFB);cursor:pointer}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span{font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.2px;text-align:center;color:var(--text-primary, #181F33)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span.current-day{font-weight:700;letter-spacing:.25px;color:var(--brand-primary, #0937B2)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span.selected-day{color:var(--bg-primary, #FFFFFF)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .daterangepicker-container__day span.disabled-day{color:var(--text-secondary, #6A737D)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-start-day{background-color:var(--brand-primary, #0937B2);border-radius:20px 4px 4px 20px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-start-day>span{color:var(--bg-primary, #FFFFFF)!important}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-end-day{background-color:var(--brand-primary, #0937B2);border-radius:0 20px 20px 0}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-end-day>span{color:var(--bg-primary, #FFFFFF)!important}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-end-day.selected-start-day{border-radius:50%!important}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .in-range-day:not(.disabled-day){background-color:var(--brand-primary-lightest, #CBDDFB)}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-day{background-color:var(--brand-primary, #0937B2);border-radius:4px}.daterangepicker-container .daterangepicker-container__view .daterangepicker-container__body .daterangepicker-container__days .selected-day>span{color:var(--bg-primary, #FFFFFF)!important}.daterangepicker-container .weekOffs_holidays_container{font-size:12px;color:var(--text-secondary, #6A737D);padding:8px 24px 12px}.daterangepicker-container .weekOffs_holidays_container>span{margin-right:16px}.daterangepicker-container .weekOffs_holidays_container>span>span{color:var(--text-primary, #181F33)}.daterangepicker-container .daterangepicker__footer{display:flex;justify-content:space-between;border-top:1px solid var(--border-primary, #E0E0E0);padding:16px 24px;word-spacing:4px}.daterangepicker-container .daterangepicker__footer span{font-family:Lato;font-size:15px;font-weight:400;align-self:center}.daterangepicker-container .daterangepicker__footer span span{font-weight:700}.daterangepicker-container .daterangepicker__footer .footer_action_btn{display:flex}.daterangepicker-container .daterangepicker__footer button{width:104px;height:44px;border-radius:8px;margin-left:24px;font-weight:700}.circular-dot{width:5px;height:5px;background-color:var(--brand-warning, #FF9D00);border-radius:50%}.holiday-text{color:var(--text-secondary, #6A737D)!important}.display-none{display:none!important}.single-datepicker-container{width:291px}\n"] }]
|
|
583
587
|
}], () => [{ type: undefined, decorators: [{
|
|
584
588
|
type: Inject,
|
|
585
589
|
args: [CONTAINER_DATA]
|