@annalib/anna-core 33.0.2 → 33.1.0

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.
Files changed (76) hide show
  1. package/esm2022/annalib-anna-core.mjs +5 -0
  2. package/esm2022/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +12 -0
  3. package/esm2022/lib/anna-core-shared-lib/components/anna-circular-progress/anna-circular-progress.component.mjs +52 -0
  4. package/esm2022/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.mjs +11 -0
  5. package/esm2022/lib/anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component.mjs +11 -0
  6. package/esm2022/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +49 -0
  7. package/esm2022/lib/anna-core-shared-lib/components/anna-licensing-table/anna-licensing-table.component.mjs +45 -0
  8. package/esm2022/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +12 -0
  9. package/esm2022/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +22 -0
  10. package/esm2022/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +11 -0
  11. package/esm2022/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +20 -0
  12. package/esm2022/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +12 -0
  13. package/esm2022/lib/anna-core-shared-lib/components/anna-spinner-loader/anna-spinner-loader.component.mjs +26 -0
  14. package/esm2022/lib/anna-core-shared-lib/constants/anna-application.constants.mjs +5 -0
  15. package/esm2022/lib/anna-core-shared-lib/constants/shared.constant.mjs +49 -0
  16. package/esm2022/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.mjs +271 -0
  17. package/esm2022/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.mjs +46 -0
  18. package/esm2022/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +41 -0
  19. package/esm2022/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +2 -0
  20. package/esm2022/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +2 -0
  21. package/esm2022/lib/anna-core-shared-lib/models/anna-licensing-table.model.mjs +26 -0
  22. package/esm2022/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +67 -0
  23. package/esm2022/lib/anna-core-shared-lib/models/anna-sort.model.mjs +7 -0
  24. package/esm2022/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +32 -0
  25. package/esm2022/lib/anna-core-shared-lib/pipes/annaConvertArrayToCommaSeperatedValue.pipe.mjs +39 -0
  26. package/esm2022/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +27 -0
  27. package/esm2022/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.mjs +21 -0
  28. package/esm2022/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +53 -0
  29. package/esm2022/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +27 -0
  30. package/esm2022/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +17 -0
  31. package/esm2022/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +240 -0
  32. package/esm2022/lib/anna-core-shared-lib/services/anna-filter.service.mjs +1522 -0
  33. package/esm2022/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +149 -0
  34. package/esm2022/lib/anna-core-shared-lib/services/anna-generic-tooltip-html.services.mjs +60 -0
  35. package/esm2022/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +94 -0
  36. package/esm2022/lib/anna-core-shared-lib/services/anna-number-format.service.mjs +80 -0
  37. package/esm2022/lib/anna-core-shared-lib/services/anna-persisting-filter.service.mjs +68 -0
  38. package/esm2022/lib/anna-core-shared-lib/services/anna-regex-patterns.service.mjs +20 -0
  39. package/esm2022/lib/anna-core-shared-lib/services/anna-sort.service.mjs +177 -0
  40. package/esm2022/lib/anna-core-shared-lib/services/anna-spinner-loader.service.mjs +24 -0
  41. package/esm2022/lib/anna-core-shared-lib/services/update-station-id.service.mjs +16 -0
  42. package/esm2022/lib/anna-core.module.mjs +221 -0
  43. package/esm2022/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +160 -0
  44. package/esm2022/lib/anna-dropdown-lib/components/anna-single-select/anna-single-select.component.mjs +155 -0
  45. package/esm2022/lib/anna-dropdown-lib/components/anna-single-select/models/anna-single-select.model.mjs +12 -0
  46. package/esm2022/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +359 -0
  47. package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.mjs +264 -0
  48. package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.mjs +189 -0
  49. package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.mjs +319 -0
  50. package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.mjs +302 -0
  51. package/esm2022/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +1103 -0
  52. package/esm2022/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +69 -0
  53. package/esm2022/lib/anna-generic-table-lib/services/gt-table-related-common-functions.service.mjs +99 -0
  54. package/esm2022/public-api.mjs +65 -0
  55. package/fesm2022/annalib-anna-core.mjs +419 -208
  56. package/fesm2022/annalib-anna-core.mjs.map +1 -1
  57. package/lib/anna-core-shared-lib/components/anna-licensing-table/anna-licensing-table.component.d.ts +15 -0
  58. package/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.d.ts +1 -0
  59. package/lib/anna-core-shared-lib/models/anna-licensing-table.model.d.ts +18 -0
  60. package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +2 -2
  61. package/lib/anna-core-shared-lib/services/anna-number-format.service.d.ts +1 -0
  62. package/lib/anna-core-shared-lib/services/update-station-id.service.d.ts +6 -0
  63. package/lib/anna-core.module.d.ts +2 -1
  64. package/lib/anna-generic-table-lib/services/gt-table-related-common-functions.service.d.ts +11 -0
  65. package/package.json +9 -7
  66. package/public-api.d.ts +4 -0
  67. package/src/lib/anna-common-scss/_bootstrap-tooltip.scss +0 -2
  68. package/src/lib/anna-common-scss/_button.scss +1 -1
  69. package/src/lib/anna-common-scss/_customDropdown.scss +1 -2
  70. package/src/lib/anna-common-scss/_date-picker-form.scss +1 -1
  71. package/src/lib/anna-common-scss/_filters.scss +1 -2
  72. package/src/lib/anna-common-scss/_gt-table.scss +3 -2
  73. package/src/lib/anna-common-scss/_mat-button-toggle.scss +1 -1
  74. package/src/lib/anna-common-scss/_popup-filter-toggle-button.scss +1 -1
  75. package/src/lib/anna-common-scss/_sort.scss +1 -1
  76. package/src/lib/anna-common-scss/style.scss +1 -7
@@ -0,0 +1,160 @@
1
+ // Angular import statements
2
+ import { NgClass, NgIf, TitleCasePipe } from "@angular/common";
3
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from "@angular/core";
4
+ import { FormsModule } from "@angular/forms";
5
+ import { NgbInputDatepicker } from "@ng-bootstrap/ng-bootstrap";
6
+ import dayjs from "dayjs";
7
+ import { AnnaDateTimeFormatService } from "../../../anna-core-shared-lib/services/anna-date-time-format.service";
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../../anna-core-shared-lib/services/anna-date-time-format.service";
10
+ import * as i2 from "@angular/forms";
11
+ export class AnnaCalendarFilterComponent {
12
+ constructor(annaTimeService) {
13
+ this.annaTimeService = annaTimeService;
14
+ this.autoClose = "outside";
15
+ this.showLabel = true;
16
+ this.dateFormat = "MM/DD/YYYY";
17
+ this.placeholder = "MM/DD/YYYY";
18
+ this.disabled = false;
19
+ this.selectedDate = new EventEmitter();
20
+ this.showFooterTemplate = false;
21
+ this.placement = ["top-start", "bottom-start", "left", "auto"];
22
+ this.apply = new EventEmitter();
23
+ this.cancel = new EventEmitter();
24
+ this.disableApplyBtn = false;
25
+ this.dateToBeShownInInput = "";
26
+ this.disableFunction = (date) => false;
27
+ }
28
+ ngOnChanges(changes) {
29
+ this.setStartAndEndDate();
30
+ this.setInputText();
31
+ }
32
+ setStartAndEndDate() {
33
+ this.fromDate = this.selectedFromDate;
34
+ this.toDate = this.selectedToDate;
35
+ }
36
+ ngOnInit() {
37
+ this.disableApplyBtn = true;
38
+ // this.fromDate = this.selectedFromDate;
39
+ // this.toDate = this.selectedToDate;
40
+ // this.setInputText();
41
+ }
42
+ onDateSelection(date) {
43
+ if (!this.fromDate && !this.toDate) {
44
+ this.fromDate = date;
45
+ }
46
+ else if (this.fromDate && !this.toDate && (date.after(this.fromDate) || date.equals(this.fromDate))) {
47
+ const isDisabledDatePresent = this.checkIfDisabledDateSelectedInRange(date);
48
+ this.toDate = isDisabledDatePresent ? null : date;
49
+ }
50
+ else {
51
+ this.toDate = null;
52
+ this.fromDate = date;
53
+ }
54
+ this.selectedDate.emit({ fromDate: this.fromDate, toDate: this.toDate });
55
+ this.disableCalendarApplyBtn();
56
+ this.setInputText();
57
+ }
58
+ checkIfDisabledDateSelectedInRange(date) {
59
+ let dayJsStartDate = dayjs(this.annaTimeService.convertNgbDateToMomentInSpecificFormat(this.fromDate, this.dateFormat), this.dateFormat);
60
+ const dayJsEndDate = dayjs(this.annaTimeService.convertNgbDateToMomentInSpecificFormat(date, this.dateFormat), this.dateFormat);
61
+ while (!dayJsStartDate.isSame(dayJsEndDate)) {
62
+ if (this.disableFunction(this.annaTimeService.convertToNgbDate(dayJsStartDate.format(this.dateFormat), this.dateFormat))) {
63
+ return true;
64
+ }
65
+ dayJsStartDate = dayJsStartDate.add(1, "day");
66
+ }
67
+ return false;
68
+ }
69
+ isHovered(date) {
70
+ return (this.fromDate &&
71
+ !this.toDate &&
72
+ this.hoveredDate &&
73
+ date.after(this.fromDate) &&
74
+ date.before(this.hoveredDate));
75
+ }
76
+ isInside(date) {
77
+ return this.toDate && date.after(this.fromDate) && date.before(this.toDate);
78
+ }
79
+ isRange(date) {
80
+ return (date.equals(this.fromDate) ||
81
+ (this.toDate && date.equals(this.toDate)) ||
82
+ this.isInside(date) ||
83
+ this.isHovered(date));
84
+ }
85
+ cancelSelection() {
86
+ this.cancel.emit();
87
+ }
88
+ applySelection() {
89
+ if (this.fromDate && this.toDate) {
90
+ const dateObj = { fromDate: this.fromDate, toDate: this.toDate };
91
+ this.apply.emit(dateObj);
92
+ }
93
+ }
94
+ disableCalendarApplyBtn() {
95
+ this.disableApplyBtn = !(this.fromDate && this.toDate);
96
+ }
97
+ setInputText() {
98
+ if (this.fromDate && this.toDate) {
99
+ // eslint-disable-next-line max-len
100
+ this.dateToBeShownInInput = `${this.annaTimeService.convertNgbDateToMomentInSpecificFormat(this.fromDate, this.dateFormat)} - ${this.annaTimeService.convertNgbDateToMomentInSpecificFormat(this.toDate, this.dateFormat)}`;
101
+ }
102
+ else if (this.fromDate) {
103
+ // eslint-disable-next-line max-len
104
+ this.dateToBeShownInInput = `${this.annaTimeService.convertNgbDateToMomentInSpecificFormat(this.fromDate, this.dateFormat)}`;
105
+ }
106
+ else {
107
+ this.dateToBeShownInInput = null;
108
+ }
109
+ }
110
+ datepickerClosed() {
111
+ // Required for Pending ec order
112
+ if (this.showFooterTemplate) {
113
+ this.selectedFromDate = null;
114
+ this.fromDate = null;
115
+ this.selectedToDate = null;
116
+ this.toDate = null;
117
+ this.setInputText();
118
+ this.disableApplyBtn = true;
119
+ }
120
+ }
121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaCalendarFilterComponent, deps: [{ token: i1.AnnaDateTimeFormatService }], target: i0.ɵɵFactoryTarget.Component }); }
122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AnnaCalendarFilterComponent, isStandalone: true, selector: "anna-core-calendar-filter-lib", inputs: { maxDate: "maxDate", autoClose: "autoClose", label: "label", minDate: "minDate", showLabel: "showLabel", dateFormat: "dateFormat", placeholder: "placeholder", disabled: "disabled", selectedFromDate: "selectedFromDate", selectedToDate: "selectedToDate", disableFunction: "disableFunction", showFooterTemplate: "showFooterTemplate", placement: "placement" }, outputs: { selectedDate: "selectedDate", apply: "apply", cancel: "cancel" }, usesOnChanges: true, ngImport: i0, template: "<!-- container=\"body\"\r\ndatepickerClass = \"calendar-filter\" -->\r\n\r\n<p\r\n class=\"calendar-label\"\r\n *ngIf=\"showLabel\"\r\n>\r\n {{ label | titlecase }}\r\n</p>\r\n<form>\r\n <div class=\"padding-class\">\r\n <div class=\"dp-hidden position-absolute\">\r\n <div class=\"input-group\">\r\n <input\r\n name=\"datepicker\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #datepicker=\"ngbDatepicker\"\r\n (dateSelect)=\"onDateSelection($event)\"\r\n [displayMonths]=\"1\"\r\n [dayTemplate]=\"t\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [autoClose]=\"autoClose\"\r\n [startDate]=\"fromDate\"\r\n [markDisabled]=\"disableFunction\"\r\n [footerTemplate]=\"footerTemplate\"\r\n navigation=\"select\"\r\n (closed)=\"datepickerClosed()\"\r\n [placement]=\"placement\"\r\n />\r\n <ng-template\r\n #t\r\n let-date\r\n let-focused=\"focused\"\r\n >\r\n <span\r\n class=\"custom-day\"\r\n [class.focused]=\"focused\"\r\n [class.range]=\"isRange(date)\"\r\n [class.faded]=\"isHovered(date) || isInside(date)\"\r\n (mouseenter)=\"hoveredDate = date\"\r\n (mouseleave)=\"hoveredDate = null\"\r\n >\r\n {{ date.day }}\r\n </span>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"input-group\">\r\n <input\r\n #dpFromDate\r\n id=\"datepicker-input\"\r\n class=\"form-control\"\r\n [placeholder]=\"placeholder\"\r\n readonly\r\n name=\"dpFromDate\"\r\n [value]=\"dateToBeShownInInput\"\r\n />\r\n <button\r\n class=\"icon-container\"\r\n (click)=\"datepicker.toggle()\"\r\n type=\"button\"\r\n [disabled]=\"disabled\"\r\n >\r\n <i\r\n class=\"mdi mdi-calendar-range\"\r\n *ngIf=\"!datepicker.isOpen()\"\r\n ></i>\r\n <i\r\n class=\"mdi mdi-check\"\r\n *ngIf=\"datepicker.isOpen()\"\r\n ></i>\r\n </button>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<ng-template #footerTemplate>\r\n <div\r\n class=\"buttons-container\"\r\n *ngIf=\"showFooterTemplate\"\r\n >\r\n <button\r\n class=\"button\"\r\n (click)=\"cancelSelection(); datepicker.close()\"\r\n >\r\n Cancel\r\n </button>\r\n <button\r\n class=\"button\"\r\n [ngClass]=\"{ disabled: disableApplyBtn }\"\r\n [disabled]=\"disableApplyBtn\"\r\n (click)=\"applySelection(); datepicker.close()\"\r\n >\r\n Apply\r\n </button>\r\n </div>\r\n</ng-template>\r\n", styles: [":host ::ng-deep .ngb-dp-arrow button:disabled{color:#4a4a4a;background-color:#fff;opacity:.25;cursor:not-allowed}:host ::ng-deep .ngb-dp-arrow button:disabled .ngb-dp-navigation-chevron{color:#4a4a4a}:host ::ng-deep .ngb-dp-arrow button .ngb-dp-navigation-chevron{color:#000}::ng-deep .tooltip-inner{max-height:22rem;background-color:#fff;border:1px solid white;border-radius:5px;box-shadow:0 2px 2px #0000003d,0 0 2px #0000001f;max-width:251px;width:100%;padding:0!important}::ng-deep .tooltip-inner div.radio-container{flex-wrap:wrap}::ng-deep .md-drppicker{box-shadow:unset!important}::ng-deep .available{color:#999}::ng-deep .bs-tooltip-bottom .arrow:before{border-bottom-color:#fff!important}::ng-deep .bs-tooltip-left .arrow:before{border-left-color:#fff!important}::ng-deep .tooltip.show{opacity:1}.input{text-align:left;margin:5px 10px 5px 5px;display:flex;align-items:center;width:230px;white-space:nowrap}.data{color:#000;font-weight:700;margin-left:5px;margin-right:5px}span.data{display:inline-block;text-overflow:ellipsis;white-space:pre;width:100%;overflow:hidden}.check-box{font-size:14px;cursor:pointer;position:relative;top:-1px}span.mdi-filter.active{color:#000;opacity:1!important;pointer-events:all!important}p{margin-bottom:0;line-height:initial}span.mdi-filter{color:#cbcbcb}::ng-deep .ngx-slider-pointer{top:-5px!important;width:12px!important;height:12px!important;background:#bdbdbd!important;border:1px solid #ffffff!important;box-shadow:0 1px 3px #0000004d!important;border-radius:16px!important}input:focus{outline:none}input::placeholder{color:#c8c8c8}.cancel-btn{background:#c7e1ff;color:#268bff}.apply-btn{background:#268bff;color:#fff;margin-left:.3125rem}div.radio-container{display:flex;white-space:nowrap;justify-content:space-between;background-color:#f4f4f4;border-radius:.125rem;margin:.4375rem .4375rem .25rem}div.radio-container div{flex:1;width:50%}div.radio-container div.full-width{width:100%}div.radio-container input{position:relative;top:.125rem;margin-right:.25rem}div.radio-container label{font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:0;color:#4a4a4a;margin:0;padding-left:.125rem}div.radio-container label:first-of-type{margin-right:.188rem}div.radio-container input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;width:.9375rem;height:.9375rem;padding:.125rem;background-clip:content-box;border:.125rem solid #268bff;background-color:transparent;border-radius:50%}div.radio-container input[type=radio]:checked{background-color:#268bff}.checkbox-filter-buttons-container{padding:0 8px!important}.buttons-container{display:flex;margin:0px auto .4375rem;justify-content:center;padding:0 12px}.buttons-container .button{padding:0 10px;width:100%;margin:8px 0 0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.buttons-container button:last-of-type{background-color:#268bff;color:#fff;margin-left:.5rem}.buttons-container button.disabled{background:#bdbdbd;opacity:.5;color:#4a4a4a}.button{display:inline-block;margin:8px 4px 0 8px;padding:0 16px;border-radius:4px;text-align:center;outline:none;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.67;letter-spacing:normal;border:none;color:#268bff;background-color:#e5f1ff}.search-box{display:flex;align-items:center;color:#c8c8c8;border:1px solid #e6e6e6;border-radius:.125rem;margin:.25rem .4375rem .188rem;height:1.5rem;padding:.188rem 8px .188rem .5rem}.search-box .search-bar-close{margin-left:auto;float:right}.search-icon{margin:0 4px 0 0;font-size:var(--filter-search-icon-fs);color:#9b9b9b}.filter-icon{justify-content:right;margin-left:auto;color:#d4d4d4;color:#a1a1a1;font-size:16px;cursor:pointer}.data{margin:0 13px 0 8px;font-family:Roboto;font-size:var(--filter-checkbox-label-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:1.86;letter-spacing:\"\";color:#4a4a4a}.search-input{font-family:Roboto;font-size:var(--filter-search-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#c8c8c8;width:calc(100% - 38px);margin:1px 0 1px 2px;border:none;padding:0}.check-box{color:#268bff}.tooltip-data-container{overflow-y:scroll;max-height:8rem}.searchbar{width:100%;display:flex;justify-content:flex-end;align-items:flex-end}.clear-button{opacity:.5;font-family:Roboto;font-size:.9375rem;font-weight:500;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-decoration:underline;border:none;background-color:#fff;color:#4a4a4a;margin-left:.625rem;padding:0}.clear-button:focus{outline:none;box-shadow:none}.unchecked{color:#268bff}cdk-virtual-scroll-viewport.dropdown-data-container{max-height:12.3rem;width:100%;overflow-y:auto;overflow-x:hidden}cdk-virtual-scroll-viewport.dropdown-data-container p.input{margin-left:0}cdk-virtual-scroll-viewport.dropdown-data-container p.input span.mi{padding-left:.4375rem}cdk-virtual-scroll-viewport.dropdown-data-container p.input:hover{background-color:#ebebeb;cursor:pointer}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar{width:.188rem}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar-thumb{color:#d3d3d3;background:#d3d3d3}section.min-maxContainer{display:flex;justify-content:center;margin-bottom:-.125rem;margin-top:.5rem;width:100%}section.min-maxContainer input{width:30%;height:1.5rem;border:1px solid lightgray;color:gray}section.min-maxContainer span{display:inline-block;padding-left:.5rem;padding-right:.5rem;position:relative;top:.3125rem;color:#666;font-size:var(--page-message-content-fs)}.time-container{width:100%;display:flex;padding:0 .75rem}.time-container input.form-control:disabled{background-color:#fff;width:2.813rem}.time-container input.numberInput:focus{box-shadow:none;border-color:#c2cfd6}.time-container .dot{color:#cbcbcb;position:relative;left:-7px;font-size:17px}.time-container div.arrow-container{flex-direction:column;display:flex;margin-top:.375rem;width:9px;height:18px;margin-right:.875rem}.time-container div.arrow-container i{color:#000;cursor:pointer;max-height:9px;font-size:20px;width:10px}.time-container div.arrow-container i:before{width:0;height:0;pointer-events:none;position:relative;left:-9px;top:-11px}.mdi-filter{cursor:pointer}.time-label-container{display:flex;justify-content:flex-start}.time-label-container label{margin-bottom:0;color:#4a4a4a;margin-top:.125rem;margin-left:.75rem;font-weight:700;font-size:var(--dropdown-label-fs)}.time-heading{color:#000;font-size:.8125rem;text-align:left;padding-left:.625rem;margin-top:.625rem;font-weight:700}.column-clear-all{width:94%;text-align:center;border:none;font-size:var(--filter-clear-select-btn-fs);background:none;text-decoration:underline;color:#268bff}.checkbox-container{display:flex;padding-inline:.625rem}.checkbox-container .data{text-align:left}.checkbox-container:first-of-type{margin-top:.625rem;font-weight:500}.column-clear-all{width:94%;text-align:center;border:none;background:none;text-decoration:underline;color:#268bff}.column-clear-all:disabled{opacity:.5;color:#4a4a4a;font-weight:400}.column-clear-all.align-center{text-align:center}span.mdi-filter-variant.disabled{pointer-events:none;opacity:.5}.datepicker-container{width:100%}span.mdi-filter-variant{color:#cbcbcb;cursor:pointer;font-size:.875rem}span.mdi-filter-variant.active{color:#000}p.filter-tab{font-family:Roboto;font-size:var(--filter-tab-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:normal;color:#1b88ff;border-radius:5px;background-color:#f4f4f4;padding-inline:8px;cursor:pointer;overflow:hidden;text-align:center;text-overflow:ellipsis;padding-block:3px}p.filter-tab.active{color:#fff;background-color:#1b88ff}button.filter-text-btn{background:#fff;text-decoration:underline;font-family:Roboto;font-size:var(--filter-clear-select-btn-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;border:none;color:#268bff;margin-inline:4px;margin-top:2px}button.filter-text-btn:disabled{color:#b1b1b1;cursor:not-allowed}::ng-deep .non-edit-datepicker-tooltip .tooltip-inner{max-width:310px!important;width:283px!important;overflow-y:initial!important;padding:0!important}input.slider-text::-webkit-outer-spin-button,input.slider-text::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.slider-text{-moz-appearance:textfield}input.slider-text.red-border{border:1px solid #f44336!important}::ng-deep .checkbox-sort p.sort-container{margin-top:8px!important;padding-bottom:8px!important}i.mdi-close{cursor:pointer}i.mdi-close.disable-close-icon{pointer-events:none;cursor:not-allowed}input.error-border{border:1px solid #f44336!important}::ng-deep .non-edit-checkbox-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-slider-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-time-tooltip .tooltip-inner{width:250px!important;padding:0!important}::ng-deep .non-edit-time-tooltip.bs-tooltip-start{padding:.4rem}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow{right:0;top:5px!important;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow:before{border-left-color:#fff;left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height)}::ng-deep .no-bottom-border p.sort-container{border-bottom:none!important}::ng-deep .ngx-slider-pointer-min:after{display:none}::ng-deep .ngx-slider-pointer-max:after{display:none}::ng-deep .ngx-slider span.ngx-slider-pointer{width:12px;height:12px;top:-5px;background-color:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bar{height:3px;background:#ededed}::ng-deep .ngx-slider span.ngx-slider-selection{background:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bubble{bottom:-22px;font-size:12px;color:#333}::ng-deep .show-min.ngx-slider span.ngx-slider-model-value{background:#fff;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .show-max.ngx-slider span.ngx-slider-model-high{background:#fff;box-shadow:none}::ng-deep .ngx-slider span.ngx-slider-combined{background:#fff;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .ngx-slider{top:10px!important;margin:5px 0 2px!important}::ng-deep .ngx-slider-animate{top:0!important}.sidebar-slider{margin-bottom:35px!important;margin-left:5px;margin-right:5px}.slider-placeholder{height:14px}::ng-deep .filter-calendar select.form-select:focus{border-color:#c2cfd6;box-shadow:none}::ng-deep .filter-calendar select.form-select{background-color:#fff}.no-data-case{padding-left:.4375rem!important;font-size:var(--filter-checkbox-label-fs)!important;margin-top:10px!important;cursor:pointer}.custom-column-checkbox-checked,.custom-column-checkbox-unchecked{font-size:.875rem;cursor:pointer}.custom-column-checkbox-checked{color:#268bff}.custom-column-checkbox-unchecked{color:#2962ff}.virtual-scroll-div{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}div.padding-class{padding:0 12px}:host::ng-deep div.ngb-dp-arrow{width:2.4375rem!important;background-color:#fff!important}:host::ng-deep div.ngb-dp-weekday{color:#8bac2a;border-top:1px solid rgba(183,183,183,.6);margin-top:.5rem;font-family:Roboto;font-size:.8125rem;font-weight:700;font-stretch:normal;font-style:normal;line-height:2.6;letter-spacing:normal}:host::ng-deep div.ngb-dp-week{border-radius:0;background-color:#fff!important}:host::ng-deep div.ngb-dp-header{padding:.5rem 0 0!important;background-color:#fff!important}:host::ng-deep div.bg-primary{background-color:#d9e1e6!important;border-radius:.25rem}:host::ng-deep .ngb-dp-arrow-btn:focus{outline-width:0px}:host::ng-deep .right .ngb-dp-navigation-chevron,:host::ng-deep .ngb-dp-navigation-chevron{color:#000}:host::ng-deep .custom-select{border:1px solid rgba(183,183,183,.6);box-shadow:none}:host::ng-deep .btn:focus{box-shadow:none}.custom-day{text-align:center;padding:8px .25rem;color:#000;display:inline-block;height:2rem;width:2.2rem;font-size:var(--week-calendar-week-fs)}.custom-day.range{background-color:#268bff!important;color:#fff!important}.custom-day:hover{background-color:#d9e1e6;border-radius:.25rem;color:#bdbdbd}:host::ng-deep div.ngb-dp-day.disabled{cursor:not-allowed}.custom-day.faded{background-color:#268bff33!important;color:#000!important;font-weight:600}:host::ng-deep div.ngb-dp-week div.ngb-dp-day.disabled .custom-day{color:#bdbdbd;opacity:50%}.buttons{display:flex;margin:0px auto .4375rem;margin-bottom:0;justify-content:center}.buttons button.btn:disabled{background:#bdbdbd;opacity:.5;color:#4a4a4a}.buttons .btn{display:inline-block;margin:8px 4px 0 8px;padding:5px 16px;text-align:center;outline:none;font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.14;letter-spacing:normal;border:none;color:#268bff;background-color:#e5f1ff}.buttons .btn:last-of-type{background-color:#268bff;color:#fff}:host::ng-deep .ngb-dp-day{font-weight:700}input#datepicker-input,button.icon-container{background:#fff;border:none}input#datepicker-input{color:#202b47;cursor:default;font-family:Roboto;font-size:var(--dropdown-text-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;padding-block:5px}input#datepicker-input:focus{box-shadow:none}div.input-group{border:1px solid #b7b7b7;border-radius:2px}.calendar-label{font-family:Roboto;font-size:var(--dropdown-label-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#666;margin-top:7px;margin-bottom:0;text-align:left;margin-left:12px}.dp-hidden .input-group{border-bottom:none}.dp-hidden .input-group .form-control{height:24px}:host::ng-deep ngb-datepicker-navigation-select>.form-select:focus{box-shadow:none!important;border:1px solid #c2cfd6!important}:host::ng-deep .ngb-dp-day,:host::ng-deep .ngb-dp-weekday,:host::ng-deep .ngb-dp-week-number{width:2.2rem!important}:host ::ng-deep .input-group ngb-datepicker.dropdown-menu.show{margin-left:-1px!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
123
+ }
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaCalendarFilterComponent, decorators: [{
125
+ type: Component,
126
+ args: [{ selector: "anna-core-calendar-filter-lib", changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, FormsModule, NgbInputDatepicker, NgClass, TitleCasePipe], template: "<!-- container=\"body\"\r\ndatepickerClass = \"calendar-filter\" -->\r\n\r\n<p\r\n class=\"calendar-label\"\r\n *ngIf=\"showLabel\"\r\n>\r\n {{ label | titlecase }}\r\n</p>\r\n<form>\r\n <div class=\"padding-class\">\r\n <div class=\"dp-hidden position-absolute\">\r\n <div class=\"input-group\">\r\n <input\r\n name=\"datepicker\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #datepicker=\"ngbDatepicker\"\r\n (dateSelect)=\"onDateSelection($event)\"\r\n [displayMonths]=\"1\"\r\n [dayTemplate]=\"t\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [autoClose]=\"autoClose\"\r\n [startDate]=\"fromDate\"\r\n [markDisabled]=\"disableFunction\"\r\n [footerTemplate]=\"footerTemplate\"\r\n navigation=\"select\"\r\n (closed)=\"datepickerClosed()\"\r\n [placement]=\"placement\"\r\n />\r\n <ng-template\r\n #t\r\n let-date\r\n let-focused=\"focused\"\r\n >\r\n <span\r\n class=\"custom-day\"\r\n [class.focused]=\"focused\"\r\n [class.range]=\"isRange(date)\"\r\n [class.faded]=\"isHovered(date) || isInside(date)\"\r\n (mouseenter)=\"hoveredDate = date\"\r\n (mouseleave)=\"hoveredDate = null\"\r\n >\r\n {{ date.day }}\r\n </span>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"input-group\">\r\n <input\r\n #dpFromDate\r\n id=\"datepicker-input\"\r\n class=\"form-control\"\r\n [placeholder]=\"placeholder\"\r\n readonly\r\n name=\"dpFromDate\"\r\n [value]=\"dateToBeShownInInput\"\r\n />\r\n <button\r\n class=\"icon-container\"\r\n (click)=\"datepicker.toggle()\"\r\n type=\"button\"\r\n [disabled]=\"disabled\"\r\n >\r\n <i\r\n class=\"mdi mdi-calendar-range\"\r\n *ngIf=\"!datepicker.isOpen()\"\r\n ></i>\r\n <i\r\n class=\"mdi mdi-check\"\r\n *ngIf=\"datepicker.isOpen()\"\r\n ></i>\r\n </button>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<ng-template #footerTemplate>\r\n <div\r\n class=\"buttons-container\"\r\n *ngIf=\"showFooterTemplate\"\r\n >\r\n <button\r\n class=\"button\"\r\n (click)=\"cancelSelection(); datepicker.close()\"\r\n >\r\n Cancel\r\n </button>\r\n <button\r\n class=\"button\"\r\n [ngClass]=\"{ disabled: disableApplyBtn }\"\r\n [disabled]=\"disableApplyBtn\"\r\n (click)=\"applySelection(); datepicker.close()\"\r\n >\r\n Apply\r\n </button>\r\n </div>\r\n</ng-template>\r\n", styles: [":host ::ng-deep .ngb-dp-arrow button:disabled{color:#4a4a4a;background-color:#fff;opacity:.25;cursor:not-allowed}:host ::ng-deep .ngb-dp-arrow button:disabled .ngb-dp-navigation-chevron{color:#4a4a4a}:host ::ng-deep .ngb-dp-arrow button .ngb-dp-navigation-chevron{color:#000}::ng-deep .tooltip-inner{max-height:22rem;background-color:#fff;border:1px solid white;border-radius:5px;box-shadow:0 2px 2px #0000003d,0 0 2px #0000001f;max-width:251px;width:100%;padding:0!important}::ng-deep .tooltip-inner div.radio-container{flex-wrap:wrap}::ng-deep .md-drppicker{box-shadow:unset!important}::ng-deep .available{color:#999}::ng-deep .bs-tooltip-bottom .arrow:before{border-bottom-color:#fff!important}::ng-deep .bs-tooltip-left .arrow:before{border-left-color:#fff!important}::ng-deep .tooltip.show{opacity:1}.input{text-align:left;margin:5px 10px 5px 5px;display:flex;align-items:center;width:230px;white-space:nowrap}.data{color:#000;font-weight:700;margin-left:5px;margin-right:5px}span.data{display:inline-block;text-overflow:ellipsis;white-space:pre;width:100%;overflow:hidden}.check-box{font-size:14px;cursor:pointer;position:relative;top:-1px}span.mdi-filter.active{color:#000;opacity:1!important;pointer-events:all!important}p{margin-bottom:0;line-height:initial}span.mdi-filter{color:#cbcbcb}::ng-deep .ngx-slider-pointer{top:-5px!important;width:12px!important;height:12px!important;background:#bdbdbd!important;border:1px solid #ffffff!important;box-shadow:0 1px 3px #0000004d!important;border-radius:16px!important}input:focus{outline:none}input::placeholder{color:#c8c8c8}.cancel-btn{background:#c7e1ff;color:#268bff}.apply-btn{background:#268bff;color:#fff;margin-left:.3125rem}div.radio-container{display:flex;white-space:nowrap;justify-content:space-between;background-color:#f4f4f4;border-radius:.125rem;margin:.4375rem .4375rem .25rem}div.radio-container div{flex:1;width:50%}div.radio-container div.full-width{width:100%}div.radio-container input{position:relative;top:.125rem;margin-right:.25rem}div.radio-container label{font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:0;color:#4a4a4a;margin:0;padding-left:.125rem}div.radio-container label:first-of-type{margin-right:.188rem}div.radio-container input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;width:.9375rem;height:.9375rem;padding:.125rem;background-clip:content-box;border:.125rem solid #268bff;background-color:transparent;border-radius:50%}div.radio-container input[type=radio]:checked{background-color:#268bff}.checkbox-filter-buttons-container{padding:0 8px!important}.buttons-container{display:flex;margin:0px auto .4375rem;justify-content:center;padding:0 12px}.buttons-container .button{padding:0 10px;width:100%;margin:8px 0 0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.buttons-container button:last-of-type{background-color:#268bff;color:#fff;margin-left:.5rem}.buttons-container button.disabled{background:#bdbdbd;opacity:.5;color:#4a4a4a}.button{display:inline-block;margin:8px 4px 0 8px;padding:0 16px;border-radius:4px;text-align:center;outline:none;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.67;letter-spacing:normal;border:none;color:#268bff;background-color:#e5f1ff}.search-box{display:flex;align-items:center;color:#c8c8c8;border:1px solid #e6e6e6;border-radius:.125rem;margin:.25rem .4375rem .188rem;height:1.5rem;padding:.188rem 8px .188rem .5rem}.search-box .search-bar-close{margin-left:auto;float:right}.search-icon{margin:0 4px 0 0;font-size:var(--filter-search-icon-fs);color:#9b9b9b}.filter-icon{justify-content:right;margin-left:auto;color:#d4d4d4;color:#a1a1a1;font-size:16px;cursor:pointer}.data{margin:0 13px 0 8px;font-family:Roboto;font-size:var(--filter-checkbox-label-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:1.86;letter-spacing:\"\";color:#4a4a4a}.search-input{font-family:Roboto;font-size:var(--filter-search-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#c8c8c8;width:calc(100% - 38px);margin:1px 0 1px 2px;border:none;padding:0}.check-box{color:#268bff}.tooltip-data-container{overflow-y:scroll;max-height:8rem}.searchbar{width:100%;display:flex;justify-content:flex-end;align-items:flex-end}.clear-button{opacity:.5;font-family:Roboto;font-size:.9375rem;font-weight:500;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-decoration:underline;border:none;background-color:#fff;color:#4a4a4a;margin-left:.625rem;padding:0}.clear-button:focus{outline:none;box-shadow:none}.unchecked{color:#268bff}cdk-virtual-scroll-viewport.dropdown-data-container{max-height:12.3rem;width:100%;overflow-y:auto;overflow-x:hidden}cdk-virtual-scroll-viewport.dropdown-data-container p.input{margin-left:0}cdk-virtual-scroll-viewport.dropdown-data-container p.input span.mi{padding-left:.4375rem}cdk-virtual-scroll-viewport.dropdown-data-container p.input:hover{background-color:#ebebeb;cursor:pointer}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar{width:.188rem}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar-thumb{color:#d3d3d3;background:#d3d3d3}section.min-maxContainer{display:flex;justify-content:center;margin-bottom:-.125rem;margin-top:.5rem;width:100%}section.min-maxContainer input{width:30%;height:1.5rem;border:1px solid lightgray;color:gray}section.min-maxContainer span{display:inline-block;padding-left:.5rem;padding-right:.5rem;position:relative;top:.3125rem;color:#666;font-size:var(--page-message-content-fs)}.time-container{width:100%;display:flex;padding:0 .75rem}.time-container input.form-control:disabled{background-color:#fff;width:2.813rem}.time-container input.numberInput:focus{box-shadow:none;border-color:#c2cfd6}.time-container .dot{color:#cbcbcb;position:relative;left:-7px;font-size:17px}.time-container div.arrow-container{flex-direction:column;display:flex;margin-top:.375rem;width:9px;height:18px;margin-right:.875rem}.time-container div.arrow-container i{color:#000;cursor:pointer;max-height:9px;font-size:20px;width:10px}.time-container div.arrow-container i:before{width:0;height:0;pointer-events:none;position:relative;left:-9px;top:-11px}.mdi-filter{cursor:pointer}.time-label-container{display:flex;justify-content:flex-start}.time-label-container label{margin-bottom:0;color:#4a4a4a;margin-top:.125rem;margin-left:.75rem;font-weight:700;font-size:var(--dropdown-label-fs)}.time-heading{color:#000;font-size:.8125rem;text-align:left;padding-left:.625rem;margin-top:.625rem;font-weight:700}.column-clear-all{width:94%;text-align:center;border:none;font-size:var(--filter-clear-select-btn-fs);background:none;text-decoration:underline;color:#268bff}.checkbox-container{display:flex;padding-inline:.625rem}.checkbox-container .data{text-align:left}.checkbox-container:first-of-type{margin-top:.625rem;font-weight:500}.column-clear-all{width:94%;text-align:center;border:none;background:none;text-decoration:underline;color:#268bff}.column-clear-all:disabled{opacity:.5;color:#4a4a4a;font-weight:400}.column-clear-all.align-center{text-align:center}span.mdi-filter-variant.disabled{pointer-events:none;opacity:.5}.datepicker-container{width:100%}span.mdi-filter-variant{color:#cbcbcb;cursor:pointer;font-size:.875rem}span.mdi-filter-variant.active{color:#000}p.filter-tab{font-family:Roboto;font-size:var(--filter-tab-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:normal;color:#1b88ff;border-radius:5px;background-color:#f4f4f4;padding-inline:8px;cursor:pointer;overflow:hidden;text-align:center;text-overflow:ellipsis;padding-block:3px}p.filter-tab.active{color:#fff;background-color:#1b88ff}button.filter-text-btn{background:#fff;text-decoration:underline;font-family:Roboto;font-size:var(--filter-clear-select-btn-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;border:none;color:#268bff;margin-inline:4px;margin-top:2px}button.filter-text-btn:disabled{color:#b1b1b1;cursor:not-allowed}::ng-deep .non-edit-datepicker-tooltip .tooltip-inner{max-width:310px!important;width:283px!important;overflow-y:initial!important;padding:0!important}input.slider-text::-webkit-outer-spin-button,input.slider-text::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.slider-text{-moz-appearance:textfield}input.slider-text.red-border{border:1px solid #f44336!important}::ng-deep .checkbox-sort p.sort-container{margin-top:8px!important;padding-bottom:8px!important}i.mdi-close{cursor:pointer}i.mdi-close.disable-close-icon{pointer-events:none;cursor:not-allowed}input.error-border{border:1px solid #f44336!important}::ng-deep .non-edit-checkbox-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-slider-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-time-tooltip .tooltip-inner{width:250px!important;padding:0!important}::ng-deep .non-edit-time-tooltip.bs-tooltip-start{padding:.4rem}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow{right:0;top:5px!important;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow:before{border-left-color:#fff;left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height)}::ng-deep .no-bottom-border p.sort-container{border-bottom:none!important}::ng-deep .ngx-slider-pointer-min:after{display:none}::ng-deep .ngx-slider-pointer-max:after{display:none}::ng-deep .ngx-slider span.ngx-slider-pointer{width:12px;height:12px;top:-5px;background-color:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bar{height:3px;background:#ededed}::ng-deep .ngx-slider span.ngx-slider-selection{background:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bubble{bottom:-22px;font-size:12px;color:#333}::ng-deep .show-min.ngx-slider span.ngx-slider-model-value{background:#fff;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .show-max.ngx-slider span.ngx-slider-model-high{background:#fff;box-shadow:none}::ng-deep .ngx-slider span.ngx-slider-combined{background:#fff;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .ngx-slider{top:10px!important;margin:5px 0 2px!important}::ng-deep .ngx-slider-animate{top:0!important}.sidebar-slider{margin-bottom:35px!important;margin-left:5px;margin-right:5px}.slider-placeholder{height:14px}::ng-deep .filter-calendar select.form-select:focus{border-color:#c2cfd6;box-shadow:none}::ng-deep .filter-calendar select.form-select{background-color:#fff}.no-data-case{padding-left:.4375rem!important;font-size:var(--filter-checkbox-label-fs)!important;margin-top:10px!important;cursor:pointer}.custom-column-checkbox-checked,.custom-column-checkbox-unchecked{font-size:.875rem;cursor:pointer}.custom-column-checkbox-checked{color:#268bff}.custom-column-checkbox-unchecked{color:#2962ff}.virtual-scroll-div{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}div.padding-class{padding:0 12px}:host::ng-deep div.ngb-dp-arrow{width:2.4375rem!important;background-color:#fff!important}:host::ng-deep div.ngb-dp-weekday{color:#8bac2a;border-top:1px solid rgba(183,183,183,.6);margin-top:.5rem;font-family:Roboto;font-size:.8125rem;font-weight:700;font-stretch:normal;font-style:normal;line-height:2.6;letter-spacing:normal}:host::ng-deep div.ngb-dp-week{border-radius:0;background-color:#fff!important}:host::ng-deep div.ngb-dp-header{padding:.5rem 0 0!important;background-color:#fff!important}:host::ng-deep div.bg-primary{background-color:#d9e1e6!important;border-radius:.25rem}:host::ng-deep .ngb-dp-arrow-btn:focus{outline-width:0px}:host::ng-deep .right .ngb-dp-navigation-chevron,:host::ng-deep .ngb-dp-navigation-chevron{color:#000}:host::ng-deep .custom-select{border:1px solid rgba(183,183,183,.6);box-shadow:none}:host::ng-deep .btn:focus{box-shadow:none}.custom-day{text-align:center;padding:8px .25rem;color:#000;display:inline-block;height:2rem;width:2.2rem;font-size:var(--week-calendar-week-fs)}.custom-day.range{background-color:#268bff!important;color:#fff!important}.custom-day:hover{background-color:#d9e1e6;border-radius:.25rem;color:#bdbdbd}:host::ng-deep div.ngb-dp-day.disabled{cursor:not-allowed}.custom-day.faded{background-color:#268bff33!important;color:#000!important;font-weight:600}:host::ng-deep div.ngb-dp-week div.ngb-dp-day.disabled .custom-day{color:#bdbdbd;opacity:50%}.buttons{display:flex;margin:0px auto .4375rem;margin-bottom:0;justify-content:center}.buttons button.btn:disabled{background:#bdbdbd;opacity:.5;color:#4a4a4a}.buttons .btn{display:inline-block;margin:8px 4px 0 8px;padding:5px 16px;text-align:center;outline:none;font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.14;letter-spacing:normal;border:none;color:#268bff;background-color:#e5f1ff}.buttons .btn:last-of-type{background-color:#268bff;color:#fff}:host::ng-deep .ngb-dp-day{font-weight:700}input#datepicker-input,button.icon-container{background:#fff;border:none}input#datepicker-input{color:#202b47;cursor:default;font-family:Roboto;font-size:var(--dropdown-text-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;padding-block:5px}input#datepicker-input:focus{box-shadow:none}div.input-group{border:1px solid #b7b7b7;border-radius:2px}.calendar-label{font-family:Roboto;font-size:var(--dropdown-label-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#666;margin-top:7px;margin-bottom:0;text-align:left;margin-left:12px}.dp-hidden .input-group{border-bottom:none}.dp-hidden .input-group .form-control{height:24px}:host::ng-deep ngb-datepicker-navigation-select>.form-select:focus{box-shadow:none!important;border:1px solid #c2cfd6!important}:host::ng-deep .ngb-dp-day,:host::ng-deep .ngb-dp-weekday,:host::ng-deep .ngb-dp-week-number{width:2.2rem!important}:host ::ng-deep .input-group ngb-datepicker.dropdown-menu.show{margin-left:-1px!important}\n"] }]
127
+ }], ctorParameters: () => [{ type: i1.AnnaDateTimeFormatService }], propDecorators: { maxDate: [{
128
+ type: Input
129
+ }], autoClose: [{
130
+ type: Input
131
+ }], label: [{
132
+ type: Input
133
+ }], minDate: [{
134
+ type: Input
135
+ }], showLabel: [{
136
+ type: Input
137
+ }], dateFormat: [{
138
+ type: Input
139
+ }], placeholder: [{
140
+ type: Input
141
+ }], disabled: [{
142
+ type: Input
143
+ }], selectedDate: [{
144
+ type: Output
145
+ }], selectedFromDate: [{
146
+ type: Input
147
+ }], selectedToDate: [{
148
+ type: Input
149
+ }], disableFunction: [{
150
+ type: Input
151
+ }], showFooterTemplate: [{
152
+ type: Input
153
+ }], placement: [{
154
+ type: Input
155
+ }], apply: [{
156
+ type: Output
157
+ }], cancel: [{
158
+ type: Output
159
+ }] } });
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jYWxlbmRhci1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1kcm9wZG93bi1saWIvY29tcG9uZW50cy9hbm5hLWNhbGVuZGFyLWZpbHRlci9hbm5hLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtY2FsZW5kYXItZmlsdGVyL2FubmEtY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRCQUE0QjtBQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUEwQixrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhGLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQzs7OztBQVVqSCxNQUFNLE9BQU8sMkJBQTJCO0lBd0JwQyxZQUFvQixlQUEwQztRQUExQyxvQkFBZSxHQUFmLGVBQWUsQ0FBMkI7UUF0QnJELGNBQVMsR0FBbUMsU0FBUyxDQUFDO1FBR3RELGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsZUFBVSxHQUFXLFlBQVksQ0FBQztRQUNsQyxnQkFBVyxHQUFXLFlBQVksQ0FBQztRQUNuQyxhQUFRLEdBQVksS0FB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QUFDO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUNoQyxDQUFDO0lBQ0wsQ0FBQzsrR0FoSlEsMkJBQTJCO21HQUEzQiwyQkFBMkIseWlCQzNCeEMsODNHQW1HQSwyOWJEMUVjLElBQUksNEZBQUUsV0FBVyx3ZEFBRSxrQkFBa0IseWVBQUUsT0FBTywrRUFBRSxhQUFhOzs0RkFFOUQsMkJBQTJCO2tCQVJ2QyxTQUFTOytCQUNJLCtCQUErQixtQkFHeEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUM7OEZBRy9ELE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNFLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiwgVGl0bGVDYXNlUGlwZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE5nYkRhdGUsIE5nYkRhdGVTdHJ1Y3QsIE5nYklucHV0RGF0ZXBpY2tlciB9IGZyb20gXCJAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcFwiO1xyXG5pbXBvcnQgeyBQbGFjZW1lbnQgfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAvdXRpbC9wb3NpdGlvbmluZ1wiO1xyXG5pbXBvcnQgZGF5anMgZnJvbSBcImRheWpzXCI7XHJcblxyXG5pbXBvcnQgeyBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL3NlcnZpY2VzL2FubmEtZGF0ZS10aW1lLWZvcm1hdC5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFubmEtY29yZS1jYWxlbmRhci1maWx0ZXItbGliXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FubmEtY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vYW5uYS1jYWxlbmRhci1maWx0ZXIuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdJZiwgRm9ybXNNb2R1bGUsIE5nYklucHV0RGF0ZXBpY2tlciwgTmdDbGFzcywgVGl0bGVDYXNlUGlwZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hQ2FsZW5kYXJGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICBASW5wdXQoKSBtYXhEYXRlOiBhbnk7XHJcbiAgICBASW5wdXQoKSBhdXRvQ2xvc2U6IFwiaW5zaWRlXCIgfCBcIm91dHNpZGVcIiB8IGJvb2xlYW4gPSBcIm91dHNpZGVcIjtcclxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBtaW5EYXRlOiBhbnk7XHJcbiAgICBASW5wdXQoKSBzaG93TGFiZWw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KCkgZGF0ZUZvcm1hdDogc3RyaW5nID0gXCJNTS9ERC9ZWVlZXCI7XHJcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gXCJNTS9ERC9ZWVlZXCI7XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQE91dHB1dCgpIHNlbGVjdGVkRGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBJbnB1dCgpIHNlbGVjdGVkRnJvbURhdGU6IGFueTtcclxuICAgIEBJbnB1dCgpIHNlbGVjdGVkVG9EYXRlOiBhbnk7XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlRnVuY3Rpb246IGFueTtcclxuICAgIEBJbnB1dCgpIHNob3dGb290ZXJUZW1wbGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgcGxhY2VtZW50OiBQbGFjZW1lbnRbXSA9IFtcInRvcC1zdGFydFwiLCBcImJvdHRvbS1zdGFydFwiLCBcImxlZnRcIiwgXCJhdXRvXCJdO1xyXG5cclxuICAgIEBPdXRwdXQoKSBhcHBseSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBmcm9tRGF0ZTogYW55O1xyXG4gICAgdG9EYXRlOiBhbnk7XHJcbiAgICBob3ZlcmVkRGF0ZTogYW55O1xyXG4gICAgZGlzYWJsZUFwcGx5QnRuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBkYXRlVG9CZVNob3duSW5JbnB1dDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFubmFUaW1lU2VydmljZTogQW5uYURhdGVUaW1lRm9ybWF0U2VydmljZSkge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZUZ1bmN0aW9uID0gKGRhdGU6IE5nYkRhdGVTdHJ1Y3QpID0+IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNldFN0YXJ0QW5kRW5kRGF0ZSgpO1xyXG4gICAgICAgIHRoaXMuc2V0SW5wdXRUZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0U3RhcnRBbmRFbmREYXRlKCkge1xyXG4gICAgICAgIHRoaXMuZnJvbURhdGUgPSB0aGlzLnNlbGVjdGVkRnJvbURhdGU7XHJcbiAgICAgICAgdGhpcy50b0RhdGUgPSB0aGlzLnNlbGVjdGVkVG9EYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZUFwcGx5QnRuID0gdHJ1ZTtcclxuICAgICAgICAvLyB0aGlzLmZyb21EYXRlID0gdGhpcy5zZWxlY3RlZEZyb21EYXRlO1xyXG4gICAgICAgIC8vIHRoaXMudG9EYXRlID0gdGhpcy5zZWxlY3RlZFRvRGF0ZTtcclxuICAgICAgICAvLyB0aGlzLnNldElucHV0VGV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRGF0ZVNlbGVjdGlvbihkYXRlOiBOZ2JEYXRlKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmZyb21EYXRlICYmICF0aGlzLnRvRGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmZyb21EYXRlID0gZGF0ZTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZnJvbURhdGUgJiYgIXRoaXMudG9EYXRlICYmIChkYXRlLmFmdGVyKHRoaXMuZnJvbURhdGUpIHx8IGRhdGUuZXF1YWxzKHRoaXMuZnJvbURhdGUpKSkge1xyXG4gICAgICAgICAgICBjb25zdCBpc0Rpc2FibGVkRGF0ZVByZXNlbnQgPSB0aGlzLmNoZWNrSWZEaXNhYmxlZERhdGVTZWxlY3RlZEluUmFuZ2UoZGF0ZSk7XHJcbiAgICAgICAgICAgIHRoaXMudG9EYXRlID0gaXNEaXNhYmxlZERhdGVQcmVzZW50ID8gbnVsbCA6IGRhdGU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy50b0RhdGUgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLmZyb21EYXRlID0gZGF0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZW1pdCh7IGZyb21EYXRlOiB0aGlzLmZyb21EYXRlLCB0b0RhdGU6IHRoaXMudG9EYXRlIH0pO1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZUNhbGVuZGFyQXBwbHlCdG4oKTtcclxuICAgICAgICB0aGlzLnNldElucHV0VGV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrSWZEaXNhYmxlZERhdGVTZWxlY3RlZEluUmFuZ2UoZGF0ZTogTmdiRGF0ZSkge1xyXG4gICAgICAgIGxldCBkYXlKc1N0YXJ0RGF0ZSA9IGRheWpzKFxyXG4gICAgICAgICAgICB0aGlzLmFubmFUaW1lU2VydmljZS5jb252ZXJ0TmdiRGF0ZVRvTW9tZW50SW5TcGVjaWZpY0Zvcm1hdCh0aGlzLmZyb21EYXRlLCB0aGlzLmRhdGVGb3JtYXQpLFxyXG4gICAgICAgICAgICB0aGlzLmRhdGVGb3JtYXQsXHJcbiAgICAgICAgKTtcclxuICAgICAgICBjb25zdCBkYXlKc0VuZERhdGUgPSBkYXlqcyhcclxuICAgICAgICAgICAgdGhpcy5hbm5hVGltZVNlcnZpY2UuY29udmVydE5nYkRhdGVUb01vbWVudEluU3BlY2lmaWNGb3JtYXQoZGF0ZSwgdGhpcy5kYXRlRm9ybWF0KSxcclxuICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0LFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHdoaWxlICghZGF5SnNTdGFydERhdGUuaXNTYW1lKGRheUpzRW5kRGF0ZSkpIHtcclxuICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlRnVuY3Rpb24oXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbm5hVGltZVNlcnZpY2UuY29udmVydFRvTmdiRGF0ZShkYXlKc1N0YXJ0RGF0ZS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0KSwgdGhpcy5kYXRlRm9ybWF0KSxcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBkYXlKc1N0YXJ0RGF0ZSA9IGRheUpzU3RhcnREYXRlLmFkZCgxLCBcImRheVwiKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpc0hvdmVyZWQoZGF0ZTogTmdiRGF0ZSkge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgJiZcclxuICAgICAgICAgICAgIXRoaXMudG9EYXRlICYmXHJcbiAgICAgICAgICAgIHRoaXMuaG92ZXJlZERhdGUgJiZcclxuICAgICAgICAgICAgZGF0ZS5hZnRlcih0aGlzLmZyb21EYXRlKSAmJlxyXG4gICAgICAgICAgICBkYXRlLmJlZm9yZSh0aGlzLmhvdmVyZWREYXRlKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNJbnNpZGUoZGF0ZTogTmdiRGF0ZSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRvRGF0ZSAmJiBkYXRlLmFmdGVyKHRoaXMuZnJvbURhdGUpICYmIGRhdGUuYmVmb3JlKHRoaXMudG9EYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBpc1JhbmdlKGRhdGU6IE5nYkRhdGUpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICBkYXRlLmVxdWFscyh0aGlzLmZyb21EYXRlKSB8fFxyXG4gICAgICAgICAgICAodGhpcy50b0RhdGUgJiYgZGF0ZS5lcXVhbHModGhpcy50b0RhdGUpKSB8fFxyXG4gICAgICAgICAgICB0aGlzLmlzSW5zaWRlKGRhdGUpIHx8XHJcbiAgICAgICAgICAgIHRoaXMuaXNIb3ZlcmVkKGRhdGUpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBjYW5jZWxTZWxlY3Rpb24oKSB7XHJcbiAgICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFwcGx5U2VsZWN0aW9uKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmZyb21EYXRlICYmIHRoaXMudG9EYXRlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGVPYmogPSB7IGZyb21EYXRlOiB0aGlzLmZyb21EYXRlLCB0b0RhdGU6IHRoaXMudG9EYXRlIH07XHJcbiAgICAgICAgICAgIHRoaXMuYXBwbHkuZW1pdChkYXRlT2JqKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZUNhbGVuZGFyQXBwbHlCdG4oKSB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlQXBwbHlCdG4gPSAhKHRoaXMuZnJvbURhdGUgJiYgdGhpcy50b0RhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldElucHV0VGV4dCgpIHtcclxuICAgICAgICBpZiAodGhpcy5mcm9tRGF0ZSAmJiB0aGlzLnRvRGF0ZSkge1xyXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxyXG4gICAgICAgICAgICB0aGlzLmRhdGVUb0JlU2hvd25JbklucHV0ID0gYCR7dGhpcy5hbm5hVGltZVNlcnZpY2UuY29udmVydE5nYkRhdGVUb01vbWVudEluU3BlY2lmaWNGb3JtYXQodGhpcy5mcm9tRGF0ZSwgdGhpcy5kYXRlRm9ybWF0KX0gLSAke3RoaXMuYW5uYVRpbWVTZXJ2aWNlLmNvbnZlcnROZ2JEYXRlVG9Nb21lbnRJblNwZWNpZmljRm9ybWF0KHRoaXMudG9EYXRlLCB0aGlzLmRhdGVGb3JtYXQpfWA7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZyb21EYXRlKSB7XHJcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXHJcbiAgICAgICAgICAgIHRoaXMuZGF0ZVRvQmVTaG93bkluSW5wdXQgPSBgJHt0aGlzLmFubmFUaW1lU2VydmljZS5jb252ZXJ0TmdiRGF0ZVRvTW9tZW50SW5TcGVjaWZpY0Zvcm1hdCh0aGlzLmZyb21EYXRlLCB0aGlzLmRhdGVGb3JtYXQpfWA7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRlVG9CZVNob3duSW5JbnB1dCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGRhdGVwaWNrZXJDbG9zZWQoKSB7XHJcbiAgICAgICAgLy8gUmVxdWlyZWQgZm9yIFBlbmRpbmcgZWMgb3JkZXJcclxuICAgICAgICBpZiAodGhpcy5zaG93Rm9vdGVyVGVtcGxhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZyb21EYXRlID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUb0RhdGUgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0SW5wdXRUZXh0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZUFwcGx5QnRuID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPCEtLSBjb250YWluZXI9XCJib2R5XCJcclxuZGF0ZXBpY2tlckNsYXNzID0gXCJjYWxlbmRhci1maWx0ZXJcIiAtLT5cclxuXHJcbjxwXHJcbiAgICBjbGFzcz1cImNhbGVuZGFyLWxhYmVsXCJcclxuICAgICpuZ0lmPVwic2hvd0xhYmVsXCJcclxuPlxyXG4gICAge3sgbGFiZWwgfCB0aXRsZWNhc2UgfX1cclxuPC9wPlxyXG48Zm9ybT5cclxuICAgIDxkaXYgY2xhc3M9XCJwYWRkaW5nLWNsYXNzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRwLWhpZGRlbiBwb3NpdGlvbi1hYnNvbHV0ZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJkYXRlcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgbmdiRGF0ZXBpY2tlclxyXG4gICAgICAgICAgICAgICAgICAgICNkYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGRhdGVTZWxlY3QpPVwib25EYXRlU2VsZWN0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5TW9udGhzXT1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkYXlUZW1wbGF0ZV09XCJ0XCJcclxuICAgICAgICAgICAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbYXV0b0Nsb3NlXT1cImF1dG9DbG9zZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3N0YXJ0RGF0ZV09XCJmcm9tRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21hcmtEaXNhYmxlZF09XCJkaXNhYmxlRnVuY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGlvbj1cInNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsb3NlZCk9XCJkYXRlcGlja2VyQ2xvc2VkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZW1lbnRdPVwicGxhY2VtZW50XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgICAgICAgICAgICAjdFxyXG4gICAgICAgICAgICAgICAgICAgIGxldC1kYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0LWZvY3VzZWQ9XCJmb2N1c2VkXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImN1c3RvbS1kYXlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZm9jdXNlZF09XCJmb2N1c2VkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnJhbmdlXT1cImlzUmFuZ2UoZGF0ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmFkZWRdPVwiaXNIb3ZlcmVkKGRhdGUpIHx8IGlzSW5zaWRlKGRhdGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwiaG92ZXJlZERhdGUgPSBkYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwiaG92ZXJlZERhdGUgPSBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGRhdGUuZGF5IH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgI2RwRnJvbURhdGVcclxuICAgICAgICAgICAgICAgIGlkPVwiZGF0ZXBpY2tlci1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJkcEZyb21EYXRlXCJcclxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJkYXRlVG9CZVNob3duSW5JbnB1dFwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1jb250YWluZXJcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImRhdGVwaWNrZXIudG9nZ2xlKClcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1jYWxlbmRhci1yYW5nZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhZGF0ZXBpY2tlci5pc09wZW4oKVwiXHJcbiAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1kaSBtZGktY2hlY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZGF0ZXBpY2tlci5pc09wZW4oKVwiXHJcbiAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Zvcm0+XHJcblxyXG48bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiYnV0dG9ucy1jb250YWluZXJcIlxyXG4gICAgICAgICpuZ0lmPVwic2hvd0Zvb3RlclRlbXBsYXRlXCJcclxuICAgID5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbFNlbGVjdGlvbigpOyBkYXRlcGlja2VyLmNsb3NlKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgQ2FuY2VsXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVBcHBseUJ0biB9XCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVBcHBseUJ0blwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJhcHBseVNlbGVjdGlvbigpOyBkYXRlcGlja2VyLmNsb3NlKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgQXBwbHlcclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -0,0 +1,155 @@
1
+ /* eslint-disable import/no-extraneous-dependencies */
2
+ import { CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport } from "@angular/cdk/scrolling";
3
+ import { NgClass, NgFor, NgIf, NgTemplateOutlet } from "@angular/common";
4
+ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, ViewChild, } from "@angular/core";
5
+ import { FormsModule } from "@angular/forms";
6
+ import { MatMenuModule } from "@angular/material/menu";
7
+ import { isEqual } from "lodash-es";
8
+ import { AnnaFilterSearchedTextPipe } from "../../../anna-core-shared-lib/pipes/annaFilterSearchedText.pipe";
9
+ import { AnnaTypeofDataPipe } from "../../../anna-core-shared-lib/pipes/annaTypeOfData.pipe";
10
+ import { AnnaGlobalConfigService } from "../../../anna-core-shared-lib/services/anna-global-config.service";
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "../../../anna-core-shared-lib/services/anna-global-config.service";
13
+ import * as i2 from "../../../anna-core-shared-lib/pipes/annaFilterSearchedText.pipe";
14
+ import * as i3 from "@angular/material/menu";
15
+ import * as i4 from "@angular/forms";
16
+ export class AnnaSingleSelectComponent {
17
+ constructor(annaGlobalConfig, searchFilterPipe) {
18
+ this.annaGlobalConfig = annaGlobalConfig;
19
+ this.searchFilterPipe = searchFilterPipe;
20
+ this.loading = false;
21
+ this.showAdditionalDataInSelectedText = false;
22
+ this.keyToUseForDisplay = "text";
23
+ this.keyToUseForCheckingSelectedItem = "id";
24
+ this.hideDropdownArrow = false;
25
+ this.borderbottomObject = {};
26
+ this.defaultDropdownHeight = null;
27
+ this.itemsToHideInDropdownIds = [];
28
+ this.showClearSelection = false;
29
+ this.valueChanged = new EventEmitter();
30
+ this.dropdownClosedEvent = new EventEmitter();
31
+ this.dropdownOpenedEvent = new EventEmitter();
32
+ this.clearSelectionClickedEvent = new EventEmitter();
33
+ this.yPosition = "above";
34
+ }
35
+ ngOnChanges(changes) {
36
+ if (changes.config?.currentValue) {
37
+ this.config = { ...this.annaGlobalConfig.defaultSingleSelectConfig, ...this.config };
38
+ }
39
+ if (changes.items?.currentValue) {
40
+ if (this.defaultDropdownHeight)
41
+ this.heightOfCheckboxTooltipFilter = this.defaultDropdownHeight;
42
+ else
43
+ this.heightOfCheckboxTooltipFilter = this.items.length > 7 ? 200 : 25.68 * this.items.length;
44
+ }
45
+ if (changes.itemsToHideInDropdownIds?.currentValue) {
46
+ this.items = this.items.filter((item) => !this.itemsToHideInDropdownIds.includes(item.id));
47
+ }
48
+ }
49
+ ngOnInit() {
50
+ this.config = { ...this.annaGlobalConfig.defaultSingleSelectConfig, ...this.config };
51
+ this.setPostion();
52
+ }
53
+ trackByFn(index) {
54
+ return index;
55
+ }
56
+ itemSelected(item, event) {
57
+ if (item?.isDisabled) {
58
+ event.stopPropagation();
59
+ return;
60
+ }
61
+ if (!isEqual(this.selectedItem, item)) {
62
+ this.valueChanged.emit(item);
63
+ }
64
+ this.selectedItem = item;
65
+ }
66
+ dropdownOpened() {
67
+ this.searchFor = "";
68
+ this.updateHeight();
69
+ this.width = this.buttonElement.nativeElement.offsetWidth;
70
+ this.dropdownOpenedEvent.emit();
71
+ }
72
+ dropdownClosed() {
73
+ this.dropdownClosedEvent.emit();
74
+ }
75
+ clearSelectionClicked() {
76
+ this.selectedItem = null;
77
+ this.clearSelectionClickedEvent.emit();
78
+ }
79
+ setPostion() {
80
+ if (this.config && this.config.position === "TOP") {
81
+ this.yPosition = "above";
82
+ }
83
+ else if (this.config && this.config.position === "BOTTOM") {
84
+ this.yPosition = "below";
85
+ }
86
+ }
87
+ updateHeight() {
88
+ const items = this.searchFilterPipe.transform(this.items, this.searchFor, this.keyToUseForDisplay);
89
+ if (items.length > 7) {
90
+ this.heightOfCheckboxTooltipFilter = 200;
91
+ }
92
+ else if (items.length > 0) {
93
+ this.heightOfCheckboxTooltipFilter = 25.68 * items.length;
94
+ }
95
+ else {
96
+ this.heightOfCheckboxTooltipFilter = 25.68;
97
+ }
98
+ }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaSingleSelectComponent, deps: [{ token: i1.AnnaGlobalConfigService }, { token: i2.AnnaFilterSearchedTextPipe }], target: i0.ɵɵFactoryTarget.Component }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AnnaSingleSelectComponent, isStandalone: true, selector: "anna-core-single-select", inputs: { config: "config", loading: "loading", showAdditionalDataInSelectedText: "showAdditionalDataInSelectedText", disabled: "disabled", items: "items", selectedItem: "selectedItem", keyToUseForDisplay: "keyToUseForDisplay", keyToUseForCheckingSelectedItem: "keyToUseForCheckingSelectedItem", hideDropdownArrow: "hideDropdownArrow", borderbottomObject: "borderbottomObject", defaultDropdownHeight: "defaultDropdownHeight", itemsToHideInDropdownIds: "itemsToHideInDropdownIds", showClearSelection: "showClearSelection" }, outputs: { valueChanged: "valueChanged", dropdownClosedEvent: "dropdownClosedEvent", dropdownOpenedEvent: "dropdownOpenedEvent", clearSelectionClickedEvent: "clearSelectionClickedEvent" }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["dropdown"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<button\r\n id=\"dropdown-trigger\"\r\n #dropdown\r\n #t=\"matMenuTrigger\"\r\n (menuClosed)=\"dropdownClosed()\"\r\n (menuOpened)=\"dropdownOpened()\"\r\n [matMenuTriggerFor]=\"contextMenu\"\r\n [disabled]=\"disabled || loading\"\r\n>\r\n <span\r\n class=\"placeholder\"\r\n *ngIf=\"!selectedItem && config\"\r\n >{{ config.placeholder }}</span\r\n >\r\n <span\r\n class=\"selected-item\"\r\n [class]=\"selectedItem.class\"\r\n annaCoreShowEllipsisTextOnHover\r\n *ngIf=\"selectedItem\"\r\n >\r\n <ng-container *ngIf=\"(selectedItem | AnnatypeofData) === 'object'; else stringTypeTemplate\">\r\n {{ selectedItem[keyToUseForDisplay] }}\r\n <ng-container *ngIf=\"showAdditionalDataInSelectedText && selectedItem && selectedItem?.additionalData\">\r\n <span [class]=\"selectedItem?.additionalClass\">{{ selectedItem?.additionalData }} </span>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #stringTypeTemplate>\r\n {{ selectedItem }}\r\n </ng-template>\r\n </span>\r\n <div\r\n *ngIf=\"loading\"\r\n [ngClass]=\"{ 'spinner-for-button-directive': loading }\"\r\n ></div>\r\n\r\n <ng-container *ngIf=\"!loading && !hideDropdownArrow\">\r\n <i\r\n *ngIf=\"!t.menuOpen\"\r\n class=\"mdi mdi-menu-down icon\"\r\n ></i>\r\n <i\r\n *ngIf=\"t.menuOpen\"\r\n class=\"mdi mdi-menu-up icon\"\r\n ></i>\r\n </ng-container>\r\n</button>\r\n<ng-content select=\".role-tooltip-icon\"></ng-content>\r\n<mat-menu\r\n backdropClass=\"single-select-dropdown\"\r\n [yPosition]=\"yPosition\"\r\n #contextMenu=\"matMenu\"\r\n>\r\n <ng-template matMenuContent>\r\n <div\r\n class=\"{{ config.classes }}\"\r\n [style.width.px]=\"width\"\r\n >\r\n <div\r\n class=\"gap\"\r\n *ngIf=\"config.showSearchBar\"\r\n ></div>\r\n <div\r\n *ngIf=\"showClearSelection\"\r\n class=\"clear-selection\"\r\n >\r\n <a\r\n (click)=\"clearSelectionClicked()\"\r\n [ngClass]=\"{ disabled: !selectedItem }\"\r\n >Clear selection</a\r\n >\r\n </div>\r\n <section\r\n *ngIf=\"config.showSearchBar\"\r\n class=\"search-bar\"\r\n >\r\n <i class=\"mi mdi-search search-icon\"></i>\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"searchFor\"\r\n placeholder=\"Search\"\r\n (ngModelChange)=\"updateHeight()\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </section>\r\n <cdk-virtual-scroll-viewport\r\n class=\"dropdown-data-container\"\r\n itemSize=\"18\"\r\n [style.height.px]=\"heightOfCheckboxTooltipFilter\"\r\n >\r\n <ul\r\n class=\"single-select-ul\"\r\n [style.width.px]=\"width\"\r\n >\r\n <ng-container *ngIf=\"items && (items[0] | AnnatypeofData) === 'object'; else stringTypeTemplate\">\r\n <li\r\n annaCoreShowEllipsisTextOnHover\r\n *cdkVirtualFor=\"\r\n let item of items | AnnafilterSearchedText: searchFor : keyToUseForDisplay;\r\n let last = last;\r\n trackBy: trackByFn\r\n \"\r\n [ngClass]=\"{\r\n active:\r\n selectedItem &&\r\n selectedItem[keyToUseForCheckingSelectedItem] ===\r\n item[keyToUseForCheckingSelectedItem],\r\n 'show-bottom-border': !last && borderbottomObject[item.id],\r\n disabled: item.isDisabled\r\n }\"\r\n (click)=\"itemSelected(item, $event)\"\r\n >\r\n <span [class]=\"item.class\"> {{ item[keyToUseForDisplay] }} </span>\r\n <ng-container *ngIf=\"item && item.additionalData\">\r\n <span\r\n class=\"ml-0\"\r\n [class]=\"item.additionalClass\"\r\n >\r\n {{ item?.additionalData }}\r\n </span>\r\n </ng-container>\r\n </li>\r\n\r\n <ng-container\r\n [ngTemplateOutlet]=\"noDataCase\"\r\n [ngTemplateOutletContext]=\"{ items: items }\"\r\n ></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #stringTypeTemplate>\r\n <ng-container\r\n *ngFor=\"\r\n let item of items | AnnafilterSearchedText: searchFor : keyToUseForDisplay;\r\n trackBy: trackByFn\r\n \"\r\n >\r\n <li\r\n annaCoreShowEllipsisTextOnHover\r\n [ngClass]=\"{ active: selectedItem && selectedItem === item }\"\r\n (click)=\"itemSelected(item, $event)\"\r\n >\r\n <span> {{ item }} </span>\r\n </li>\r\n </ng-container>\r\n <ng-container\r\n [ngTemplateOutlet]=\"noDataCase\"\r\n [ngTemplateOutletContext]=\"{ items: items }\"\r\n ></ng-container>\r\n </ng-template>\r\n </ul>\r\n </cdk-virtual-scroll-viewport>\r\n </div>\r\n </ng-template>\r\n</mat-menu>\r\n\r\n<ng-template\r\n #noDataCase\r\n let-items=\"items\"\r\n>\r\n <li\r\n annaCoreShowEllipsisTextOnHover\r\n *ngIf=\"(items | AnnafilterSearchedText: searchFor : keyToUseForDisplay)?.length === 0\"\r\n >\r\n <span> No data found </span>\r\n </li>\r\n</ng-template>\r\n", styles: ["#dropdown-trigger{height:1.5rem;background:#fff;border-radius:2px;border:1px solid #b7b7b7;width:100%;text-align:left;display:flex;align-items:center}#dropdown-trigger:disabled{background-color:#bdbdbd;opacity:.5}#dropdown-trigger:disabled .placeholder,#dropdown-trigger:disabled .icon{color:#000}.placeholder{color:#bdbdbd;width:100%;font-family:Roboto;font-size:var(--dropdown-text-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;opacity:1!important}.icon{font-size:1.125rem;float:right;margin-left:auto}.search-bar{margin:0 7px 8px;border:1px solid #b7b7b7;height:24px;border-radius:2px}.search-bar input{outline:none;border:none;position:relative;bottom:4px;width:calc(100% - 29px);font-size:var(--dropdown-text-fs)}.search-bar .search-icon{font-size:var(--multi-select-dropdown-checkbox-fs);color:#9b9b9b;margin:5px}.search-bar .close-icon{cursor:pointer}ul{overflow-y:auto;padding-left:0;padding-bottom:0;margin-bottom:0;max-height:calc(50vh - 80px)!important}li{list-style-type:none;cursor:pointer;padding-inline:10px;font-family:Roboto;font-size:var(--dropdown-text-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:2.14;letter-spacing:normal;color:#4a4a4a;width:100%}ul::-webkit-scrollbar{width:4px;height:4px}ul::-webkit-scrollbar-track{border:1px solid rgba(0,0,0,.1)}ul::-webkit-scrollbar-thumb{border-radius:4px;background-color:#0006!important;border:1px solid rgba(0,0,0,.2)}li:hover{background:#ebebeb}li.active{color:#fff;background:#268bff}span.selected-item{background:transparent;font-family:Roboto;font-size:var(--dropdown-text-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#4a4a4a;width:calc(100% - 22px);display:inline-block;vertical-align:middle}.ellipsify,li,span.selected-item{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}::ng-deep .cdk-overlay-container{z-index:1051}span.red-color-text{color:#f44336!important}span.additional-data-color-text{color:#b7b6b6!important}span.italic{font-style:italic}.spinner-for-button-directive{left:0;margin-left:auto}.spinner-for-button-directive span.additional-data-color-text{color:#000}::ng-deep .mat-menu-panel{min-height:auto!important}.small-text li{font-size:12px!important}.ml-0{margin-left:0}#dropdown-trigger:disabled{cursor:default!important}#dropdown-trigger:disabled span{color:#4a4a4a!important;cursor:default!important}::ng-deep .mat-mdc-menu-panel.mat-elevation-z8{box-shadow:var(--dropdown-box-shadow)}::ng-deep .mat-mdc-menu-panel .mat-mdc-menu-content{background-color:#fff;padding:0!important}::ng-deep .mat-mdc-menu-panel .mat-mdc-menu-content.mdc-list{background-color:#fff}::ng-deep .mat-mdc-menu-panel.mat-mdc-menu-panel{max-width:none!important}::ng-deep .mat-mdc-menu-panel .clear-selection{margin:0 7px!important}::ng-deep .mat-mdc-menu-panel .clear-selection a{color:#268bff!important;text-decoration:underline!important;font-size:12px!important}::ng-deep .mat-mdc-menu-panel .clear-selection a.disabled{color:#4a4a4a!important;pointer-events:none;cursor:not-allowed;opacity:.5}li{background-color:#fff}cdk-virtual-scroll-viewport.dropdown-data-container{max-height:12.5rem;width:100%;overflow-y:auto;overflow-x:hidden}cdk-virtual-scroll-viewport.dropdown-data-container li.disabled{opacity:.5;cursor:default}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar{width:.1875rem}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar-thumb{color:#d3d3d3;background:#d3d3d3}::ng-deep ul.single-select-ul{max-height:none!important}li.show-bottom-border{border-bottom:1px solid #e6e6e6}::ng-deep .no-wrap-text ul li{line-height:1.41!important;padding-top:4px;padding-bottom:4px}::ng-deep .no-wrap-text ul li span{white-space:normal!important}.gap{height:9px}\n"], dependencies: [{ kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i3.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AnnaFilterSearchedTextPipe, name: "AnnafilterSearchedText" }, { kind: "pipe", type: AnnaTypeofDataPipe, name: "AnnatypeofData" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaSingleSelectComponent, decorators: [{
103
+ type: Component,
104
+ args: [{ selector: "anna-core-single-select", changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
105
+ MatMenuModule,
106
+ NgIf,
107
+ NgClass,
108
+ FormsModule,
109
+ CdkVirtualScrollViewport,
110
+ CdkFixedSizeVirtualScroll,
111
+ CdkVirtualForOf,
112
+ NgTemplateOutlet,
113
+ NgFor,
114
+ AnnaFilterSearchedTextPipe,
115
+ AnnaTypeofDataPipe,
116
+ ], template: "<button\r\n id=\"dropdown-trigger\"\r\n #dropdown\r\n #t=\"matMenuTrigger\"\r\n (menuClosed)=\"dropdownClosed()\"\r\n (menuOpened)=\"dropdownOpened()\"\r\n [matMenuTriggerFor]=\"contextMenu\"\r\n [disabled]=\"disabled || loading\"\r\n>\r\n <span\r\n class=\"placeholder\"\r\n *ngIf=\"!selectedItem && config\"\r\n >{{ config.placeholder }}</span\r\n >\r\n <span\r\n class=\"selected-item\"\r\n [class]=\"selectedItem.class\"\r\n annaCoreShowEllipsisTextOnHover\r\n *ngIf=\"selectedItem\"\r\n >\r\n <ng-container *ngIf=\"(selectedItem | AnnatypeofData) === 'object'; else stringTypeTemplate\">\r\n {{ selectedItem[keyToUseForDisplay] }}\r\n <ng-container *ngIf=\"showAdditionalDataInSelectedText && selectedItem && selectedItem?.additionalData\">\r\n <span [class]=\"selectedItem?.additionalClass\">{{ selectedItem?.additionalData }} </span>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #stringTypeTemplate>\r\n {{ selectedItem }}\r\n </ng-template>\r\n </span>\r\n <div\r\n *ngIf=\"loading\"\r\n [ngClass]=\"{ 'spinner-for-button-directive': loading }\"\r\n ></div>\r\n\r\n <ng-container *ngIf=\"!loading && !hideDropdownArrow\">\r\n <i\r\n *ngIf=\"!t.menuOpen\"\r\n class=\"mdi mdi-menu-down icon\"\r\n ></i>\r\n <i\r\n *ngIf=\"t.menuOpen\"\r\n class=\"mdi mdi-menu-up icon\"\r\n ></i>\r\n </ng-container>\r\n</button>\r\n<ng-content select=\".role-tooltip-icon\"></ng-content>\r\n<mat-menu\r\n backdropClass=\"single-select-dropdown\"\r\n [yPosition]=\"yPosition\"\r\n #contextMenu=\"matMenu\"\r\n>\r\n <ng-template matMenuContent>\r\n <div\r\n class=\"{{ config.classes }}\"\r\n [style.width.px]=\"width\"\r\n >\r\n <div\r\n class=\"gap\"\r\n *ngIf=\"config.showSearchBar\"\r\n ></div>\r\n <div\r\n *ngIf=\"showClearSelection\"\r\n class=\"clear-selection\"\r\n >\r\n <a\r\n (click)=\"clearSelectionClicked()\"\r\n [ngClass]=\"{ disabled: !selectedItem }\"\r\n >Clear selection</a\r\n >\r\n </div>\r\n <section\r\n *ngIf=\"config.showSearchBar\"\r\n class=\"search-bar\"\r\n >\r\n <i class=\"mi mdi-search search-icon\"></i>\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"searchFor\"\r\n placeholder=\"Search\"\r\n (ngModelChange)=\"updateHeight()\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </section>\r\n <cdk-virtual-scroll-viewport\r\n class=\"dropdown-data-container\"\r\n itemSize=\"18\"\r\n [style.height.px]=\"heightOfCheckboxTooltipFilter\"\r\n >\r\n <ul\r\n class=\"single-select-ul\"\r\n [style.width.px]=\"width\"\r\n >\r\n <ng-container *ngIf=\"items && (items[0] | AnnatypeofData) === 'object'; else stringTypeTemplate\">\r\n <li\r\n annaCoreShowEllipsisTextOnHover\r\n *cdkVirtualFor=\"\r\n let item of items | AnnafilterSearchedText: searchFor : keyToUseForDisplay;\r\n let last = last;\r\n trackBy: trackByFn\r\n \"\r\n [ngClass]=\"{\r\n active:\r\n selectedItem &&\r\n selectedItem[keyToUseForCheckingSelectedItem] ===\r\n item[keyToUseForCheckingSelectedItem],\r\n 'show-bottom-border': !last && borderbottomObject[item.id],\r\n disabled: item.isDisabled\r\n }\"\r\n (click)=\"itemSelected(item, $event)\"\r\n >\r\n <span [class]=\"item.class\"> {{ item[keyToUseForDisplay] }} </span>\r\n <ng-container *ngIf=\"item && item.additionalData\">\r\n <span\r\n class=\"ml-0\"\r\n [class]=\"item.additionalClass\"\r\n >\r\n {{ item?.additionalData }}\r\n </span>\r\n </ng-container>\r\n </li>\r\n\r\n <ng-container\r\n [ngTemplateOutlet]=\"noDataCase\"\r\n [ngTemplateOutletContext]=\"{ items: items }\"\r\n ></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #stringTypeTemplate>\r\n <ng-container\r\n *ngFor=\"\r\n let item of items | AnnafilterSearchedText: searchFor : keyToUseForDisplay;\r\n trackBy: trackByFn\r\n \"\r\n >\r\n <li\r\n annaCoreShowEllipsisTextOnHover\r\n [ngClass]=\"{ active: selectedItem && selectedItem === item }\"\r\n (click)=\"itemSelected(item, $event)\"\r\n >\r\n <span> {{ item }} </span>\r\n </li>\r\n </ng-container>\r\n <ng-container\r\n [ngTemplateOutlet]=\"noDataCase\"\r\n [ngTemplateOutletContext]=\"{ items: items }\"\r\n ></ng-container>\r\n </ng-template>\r\n </ul>\r\n </cdk-virtual-scroll-viewport>\r\n </div>\r\n </ng-template>\r\n</mat-menu>\r\n\r\n<ng-template\r\n #noDataCase\r\n let-items=\"items\"\r\n>\r\n <li\r\n annaCoreShowEllipsisTextOnHover\r\n *ngIf=\"(items | AnnafilterSearchedText: searchFor : keyToUseForDisplay)?.length === 0\"\r\n >\r\n <span> No data found </span>\r\n </li>\r\n</ng-template>\r\n", styles: ["#dropdown-trigger{height:1.5rem;background:#fff;border-radius:2px;border:1px solid #b7b7b7;width:100%;text-align:left;display:flex;align-items:center}#dropdown-trigger:disabled{background-color:#bdbdbd;opacity:.5}#dropdown-trigger:disabled .placeholder,#dropdown-trigger:disabled .icon{color:#000}.placeholder{color:#bdbdbd;width:100%;font-family:Roboto;font-size:var(--dropdown-text-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;opacity:1!important}.icon{font-size:1.125rem;float:right;margin-left:auto}.search-bar{margin:0 7px 8px;border:1px solid #b7b7b7;height:24px;border-radius:2px}.search-bar input{outline:none;border:none;position:relative;bottom:4px;width:calc(100% - 29px);font-size:var(--dropdown-text-fs)}.search-bar .search-icon{font-size:var(--multi-select-dropdown-checkbox-fs);color:#9b9b9b;margin:5px}.search-bar .close-icon{cursor:pointer}ul{overflow-y:auto;padding-left:0;padding-bottom:0;margin-bottom:0;max-height:calc(50vh - 80px)!important}li{list-style-type:none;cursor:pointer;padding-inline:10px;font-family:Roboto;font-size:var(--dropdown-text-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:2.14;letter-spacing:normal;color:#4a4a4a;width:100%}ul::-webkit-scrollbar{width:4px;height:4px}ul::-webkit-scrollbar-track{border:1px solid rgba(0,0,0,.1)}ul::-webkit-scrollbar-thumb{border-radius:4px;background-color:#0006!important;border:1px solid rgba(0,0,0,.2)}li:hover{background:#ebebeb}li.active{color:#fff;background:#268bff}span.selected-item{background:transparent;font-family:Roboto;font-size:var(--dropdown-text-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#4a4a4a;width:calc(100% - 22px);display:inline-block;vertical-align:middle}.ellipsify,li,span.selected-item{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}::ng-deep .cdk-overlay-container{z-index:1051}span.red-color-text{color:#f44336!important}span.additional-data-color-text{color:#b7b6b6!important}span.italic{font-style:italic}.spinner-for-button-directive{left:0;margin-left:auto}.spinner-for-button-directive span.additional-data-color-text{color:#000}::ng-deep .mat-menu-panel{min-height:auto!important}.small-text li{font-size:12px!important}.ml-0{margin-left:0}#dropdown-trigger:disabled{cursor:default!important}#dropdown-trigger:disabled span{color:#4a4a4a!important;cursor:default!important}::ng-deep .mat-mdc-menu-panel.mat-elevation-z8{box-shadow:var(--dropdown-box-shadow)}::ng-deep .mat-mdc-menu-panel .mat-mdc-menu-content{background-color:#fff;padding:0!important}::ng-deep .mat-mdc-menu-panel .mat-mdc-menu-content.mdc-list{background-color:#fff}::ng-deep .mat-mdc-menu-panel.mat-mdc-menu-panel{max-width:none!important}::ng-deep .mat-mdc-menu-panel .clear-selection{margin:0 7px!important}::ng-deep .mat-mdc-menu-panel .clear-selection a{color:#268bff!important;text-decoration:underline!important;font-size:12px!important}::ng-deep .mat-mdc-menu-panel .clear-selection a.disabled{color:#4a4a4a!important;pointer-events:none;cursor:not-allowed;opacity:.5}li{background-color:#fff}cdk-virtual-scroll-viewport.dropdown-data-container{max-height:12.5rem;width:100%;overflow-y:auto;overflow-x:hidden}cdk-virtual-scroll-viewport.dropdown-data-container li.disabled{opacity:.5;cursor:default}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar{width:.1875rem}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar-thumb{color:#d3d3d3;background:#d3d3d3}::ng-deep ul.single-select-ul{max-height:none!important}li.show-bottom-border{border-bottom:1px solid #e6e6e6}::ng-deep .no-wrap-text ul li{line-height:1.41!important;padding-top:4px;padding-bottom:4px}::ng-deep .no-wrap-text ul li span{white-space:normal!important}.gap{height:9px}\n"] }]
117
+ }], ctorParameters: () => [{ type: i1.AnnaGlobalConfigService }, { type: i2.AnnaFilterSearchedTextPipe }], propDecorators: { config: [{
118
+ type: Input
119
+ }], loading: [{
120
+ type: Input
121
+ }], showAdditionalDataInSelectedText: [{
122
+ type: Input
123
+ }], disabled: [{
124
+ type: Input
125
+ }], items: [{
126
+ type: Input
127
+ }], selectedItem: [{
128
+ type: Input
129
+ }], keyToUseForDisplay: [{
130
+ type: Input
131
+ }], keyToUseForCheckingSelectedItem: [{
132
+ type: Input
133
+ }], hideDropdownArrow: [{
134
+ type: Input
135
+ }], borderbottomObject: [{
136
+ type: Input
137
+ }], defaultDropdownHeight: [{
138
+ type: Input
139
+ }], itemsToHideInDropdownIds: [{
140
+ type: Input
141
+ }], showClearSelection: [{
142
+ type: Input
143
+ }], valueChanged: [{
144
+ type: Output
145
+ }], dropdownClosedEvent: [{
146
+ type: Output
147
+ }], dropdownOpenedEvent: [{
148
+ type: Output
149
+ }], clearSelectionClickedEvent: [{
150
+ type: Output
151
+ }], buttonElement: [{
152
+ type: ViewChild,
153
+ args: ["dropdown"]
154
+ }] } });
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtZHJvcGRvd24tbGliL2NvbXBvbmVudHMvYW5uYS1zaW5nbGUtc2VsZWN0L2FubmEtc2luZ2xlLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtc2luZ2xlLXNlbGVjdC9hbm5hLXNpbmdsZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0RBQXNEO0FBQ3RELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUdwQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQzs7Ozs7O0FBdUI1RyxN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QUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzICovXHJcbmltcG9ydCB7IENka0ZpeGVkU2l6ZVZpcnR1YWxTY3JvbGwsIENka1ZpcnR1YWxGb3JPZiwgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9zY3JvbGxpbmdcIjtcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENvbXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dCxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XHJcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tIFwibG9kYXNoLWVzXCI7XHJcblxyXG5pbXBvcnQgeyBJQ3VzdG9tU2luZ2xlU2VsZWN0IH0gZnJvbSBcIi4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL21vZGVscy9hbm5hLWdsb2JhbC1kcm9wZG93bi1jb25maWcubW9kZWxcIjtcclxuaW1wb3J0IHsgQW5uYUZpbHRlclNlYXJjaGVkVGV4dFBpcGUgfSBmcm9tIFwiLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYUZpbHRlclNlYXJjaGVkVGV4dC5waXBlXCI7XHJcbmltcG9ydCB7IEFubmFUeXBlb2ZEYXRhUGlwZSB9IGZyb20gXCIuLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9waXBlcy9hbm5hVHlwZU9mRGF0YS5waXBlXCI7XHJcbmltcG9ydCB7IEFubmFHbG9iYWxDb25maWdTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL3NlcnZpY2VzL2FubmEtZ2xvYmFsLWNvbmZpZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNpbmdsZVNlbGVjdElkVGV4dCB9IGZyb20gXCIuL21vZGVscy9hbm5hLXNpbmdsZS1zZWxlY3QubW9kZWxcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiYW5uYS1jb3JlLXNpbmdsZS1zZWxlY3RcIixcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vYW5uYS1zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vYW5uYS1zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICAgICAgTmdJZixcclxuICAgICAgICBOZ0NsYXNzLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCxcclxuICAgICAgICBDZGtGaXhlZFNpemVWaXJ0dWFsU2Nyb2xsLFxyXG4gICAgICAgIENka1ZpcnR1YWxGb3JPZixcclxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG4gICAgICAgIE5nRm9yLFxyXG4gICAgICAgIEFubmFGaWx0ZXJTZWFyY2hlZFRleHRQaXBlLFxyXG4gICAgICAgIEFubmFUeXBlb2ZEYXRhUGlwZSxcclxuICAgIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hU2luZ2xlU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KCkgY29uZmlnOiBJQ3VzdG9tU2luZ2xlU2VsZWN0O1xyXG4gICAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgc2hvd0FkZGl0aW9uYWxEYXRhSW5TZWxlY3RlZFRleHQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaXRlbXM6IFNpbmdsZVNlbGVjdElkVGV4dFtdIHwgc3RyaW5nW10gfCBhbnk7XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZEl0ZW06IFNpbmdsZVNlbGVjdElkVGV4dCB8IHN0cmluZyB8IGFueTtcclxuICAgIEBJbnB1dCgpIGtleVRvVXNlRm9yRGlzcGxheTogc3RyaW5nID0gXCJ0ZXh0XCI7XHJcbiAgICBASW5wdXQoKSBrZXlUb1VzZUZvckNoZWNraW5nU2VsZWN0ZWRJdGVtOiBzdHJpbmcgPSBcImlkXCI7XHJcbiAgICBASW5wdXQoKSBoaWRlRHJvcGRvd25BcnJvdzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgYm9yZGVyYm90dG9tT2JqZWN0OiBhbnkgPSB7fTtcclxuICAgIEBJbnB1dCgpIGRlZmF1bHREcm9wZG93bkhlaWdodDogbnVtYmVyID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIGl0ZW1zVG9IaWRlSW5Ecm9wZG93bklkczogbnVtYmVyW10gPSBbXTtcclxuICAgIEBJbnB1dCgpIHNob3dDbGVhclNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxTaW5nbGVTZWxlY3RJZFRleHQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxTaW5nbGVTZWxlY3RJZFRleHQ+KCk7XHJcbiAgICBAT3V0cHV0KCkgZHJvcGRvd25DbG9zZWRFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBkcm9wZG93bk9wZW5lZEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQE91dHB1dCgpIGNsZWFyU2VsZWN0aW9uQ2xpY2tlZEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgc2VhcmNoRm9yOiBzdHJpbmc7XHJcbiAgICB5UG9zaXRpb246IGFueSA9IFwiYWJvdmVcIjtcclxuICAgIHdpZHRoOiBudW1iZXI7XHJcbiAgICBoZWlnaHRPZkNoZWNrYm94VG9vbHRpcEZpbHRlcjogbnVtYmVyO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoXCJkcm9wZG93blwiKSBidXR0b25FbGVtZW50OiBFbGVtZW50UmVmO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgYW5uYUdsb2JhbENvbmZpZzogQW5uYUdsb2JhbENvbmZpZ1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBzZWFyY2hGaWx0ZXJQaXBlOiBBbm5hRmlsdGVyU2VhcmNoZWRUZXh0UGlwZSxcclxuICAgICkge31cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXMuY29uZmlnPy5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5jb25maWcgPSB7IC4uLnRoaXMuYW5uYUdsb2JhbENvbmZpZy5kZWZhdWx0U2luZ2xlU2VsZWN0Q29uZmlnLCAuLi50aGlzLmNvbmZpZyB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXMuaXRlbXM/LmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5kZWZhdWx0RHJvcGRvd25IZWlnaHQpIHRoaXMuaGVpZ2h0T2ZDaGVja2JveFRvb2x0aXBGaWx0ZXIgPSB0aGlzLmRlZmF1bHREcm9wZG93bkhlaWdodDtcclxuICAgICAgICAgICAgZWxzZSB0aGlzLmhlaWdodE9mQ2hlY2tib3hUb29sdGlwRmlsdGVyID0gdGhpcy5pdGVtcy5sZW5ndGggPiA3ID8gMjAwIDogMjUuNjggKiB0aGlzLml0ZW1zLmxlbmd0aDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzLml0ZW1zVG9IaWRlSW5Ecm9wZG93bklkcz8uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zLmZpbHRlcihcclxuICAgICAgICAgICAgICAgIChpdGVtOiBTaW5nbGVTZWxlY3RJZFRleHQpID0+ICF0aGlzLml0ZW1zVG9IaWRlSW5Ecm9wZG93bklkcy5pbmNsdWRlcyhpdGVtLmlkKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb25maWcgPSB7IC4uLnRoaXMuYW5uYUdsb2JhbENvbmZpZy5kZWZhdWx0U2luZ2xlU2VsZWN0Q29uZmlnLCAuLi50aGlzLmNvbmZpZyB9O1xyXG4gICAgICAgIHRoaXMuc2V0UG9zdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIHRyYWNrQnlGbihpbmRleDogbnVtYmVyKSB7XHJcbiAgICAgICAgcmV0dXJuIGluZGV4O1xyXG4gICAgfVxyXG5cclxuICAgIGl0ZW1TZWxlY3RlZChpdGVtOiBTaW5nbGVTZWxlY3RJZFRleHQsIGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgICAgaWYgKGl0ZW0/LmlzRGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFpc0VxdWFsKHRoaXMuc2VsZWN0ZWRJdGVtLCBpdGVtKSkge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlZC5lbWl0KGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGl0ZW07XHJcbiAgICB9XHJcblxyXG4gICAgZHJvcGRvd25PcGVuZWQoKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hGb3IgPSBcIlwiO1xyXG4gICAgICAgIHRoaXMudXBkYXRlSGVpZ2h0KCk7XHJcbiAgICAgICAgdGhpcy53aWR0aCA9IHRoaXMuYnV0dG9uRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd25PcGVuZWRFdmVudC5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgZHJvcGRvd25DbG9zZWQoKSB7XHJcbiAgICAgICAgdGhpcy5kcm9wZG93bkNsb3NlZEV2ZW50LmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBjbGVhclNlbGVjdGlvbkNsaWNrZWQoKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBudWxsO1xyXG4gICAgICAgIHRoaXMuY2xlYXJTZWxlY3Rpb25DbGlja2VkRXZlbnQuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFBvc3Rpb24oKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLnBvc2l0aW9uID09PSBcIlRPUFwiKSB7XHJcbiAgICAgICAgICAgIHRoaXMueVBvc2l0aW9uID0gXCJhYm92ZVwiO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcgJiYgdGhpcy5jb25maWcucG9zaXRpb24gPT09IFwiQk9UVE9NXCIpIHtcclxuICAgICAgICAgICAgdGhpcy55UG9zaXRpb24gPSBcImJlbG93XCI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdXBkYXRlSGVpZ2h0KCkge1xyXG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5zZWFyY2hGaWx0ZXJQaXBlLnRyYW5zZm9ybSh0aGlzLml0ZW1zLCB0aGlzLnNlYXJjaEZvciwgdGhpcy5rZXlUb1VzZUZvckRpc3BsYXkpO1xyXG4gICAgICAgIGlmIChpdGVtcy5sZW5ndGggPiA3KSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGVpZ2h0T2ZDaGVja2JveFRvb2x0aXBGaWx0ZXIgPSAyMDA7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGVpZ2h0T2ZDaGVja2JveFRvb2x0aXBGaWx0ZXIgPSAyNS42OCAqIGl0ZW1zLmxlbmd0aDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmhlaWdodE9mQ2hlY2tib3hUb29sdGlwRmlsdGVyID0gMjUuNjg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxidXR0b25cclxuICAgIGlkPVwiZHJvcGRvd24tdHJpZ2dlclwiXHJcbiAgICAjZHJvcGRvd25cclxuICAgICN0PVwibWF0TWVudVRyaWdnZXJcIlxyXG4gICAgKG1lbnVDbG9zZWQpPVwiZHJvcGRvd25DbG9zZWQoKVwiXHJcbiAgICAobWVudU9wZW5lZCk9XCJkcm9wZG93bk9wZW5lZCgpXCJcclxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJjb250ZXh0TWVudVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9hZGluZ1wiXHJcbj5cclxuICAgIDxzcGFuXHJcbiAgICAgICAgY2xhc3M9XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgKm5nSWY9XCIhc2VsZWN0ZWRJdGVtICYmIGNvbmZpZ1wiXHJcbiAgICAgICAgPnt7IGNvbmZpZy5wbGFjZWhvbGRlciB9fTwvc3BhblxyXG4gICAgPlxyXG4gICAgPHNwYW5cclxuICAgICAgICBjbGFzcz1cInNlbGVjdGVkLWl0ZW1cIlxyXG4gICAgICAgIFtjbGFzc109XCJzZWxlY3RlZEl0ZW0uY2xhc3NcIlxyXG4gICAgICAgIGFubmFDb3JlU2hvd0VsbGlwc2lzVGV4dE9uSG92ZXJcclxuICAgICAgICAqbmdJZj1cInNlbGVjdGVkSXRlbVwiXHJcbiAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihzZWxlY3RlZEl0ZW0gfCBBbm5hdHlwZW9mRGF0YSkgPT09ICdvYmplY3QnOyBlbHNlIHN0cmluZ1R5cGVUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICB7eyBzZWxlY3RlZEl0ZW1ba2V5VG9Vc2VGb3JEaXNwbGF5XSB9fVxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0FkZGl0aW9uYWxEYXRhSW5TZWxlY3RlZFRleHQgJiYgc2VsZWN0ZWRJdGVtICYmIHNlbGVjdGVkSXRlbT8uYWRkaXRpb25hbERhdGFcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJzZWxlY3RlZEl0ZW0/LmFkZGl0aW9uYWxDbGFzc1wiPnt7IHNlbGVjdGVkSXRlbT8uYWRkaXRpb25hbERhdGEgfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3N0cmluZ1R5cGVUZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgc2VsZWN0ZWRJdGVtIH19XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvc3Bhbj5cclxuICAgIDxkaXZcclxuICAgICAgICAqbmdJZj1cImxvYWRpbmdcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NwaW5uZXItZm9yLWJ1dHRvbi1kaXJlY3RpdmUnOiBsb2FkaW5nIH1cIlxyXG4gICAgPjwvZGl2PlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZyAmJiAhaGlkZURyb3Bkb3duQXJyb3dcIj5cclxuICAgICAgICA8aVxyXG4gICAgICAgICAgICAqbmdJZj1cIiF0Lm1lbnVPcGVuXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJtZGkgbWRpLW1lbnUtZG93biBpY29uXCJcclxuICAgICAgICA+PC9pPlxyXG4gICAgICAgIDxpXHJcbiAgICAgICAgICAgICpuZ0lmPVwidC5tZW51T3BlblwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1tZW51LXVwIGljb25cIlxyXG4gICAgICAgID48L2k+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9idXR0b24+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cIi5yb2xlLXRvb2x0aXAtaWNvblwiPjwvbmctY29udGVudD5cclxuPG1hdC1tZW51XHJcbiAgICBiYWNrZHJvcENsYXNzPVwic2luZ2xlLXNlbGVjdC1kcm9wZG93blwiXHJcbiAgICBbeVBvc2l0aW9uXT1cInlQb3NpdGlvblwiXHJcbiAgICAjY29udGV4dE1lbnU9XCJtYXRNZW51XCJcclxuPlxyXG4gICAgPG5nLXRlbXBsYXRlIG1hdE1lbnVDb250ZW50PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ7eyBjb25maWcuY2xhc3NlcyB9fVwiXHJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImdhcFwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImNvbmZpZy5zaG93U2VhcmNoQmFyXCJcclxuICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dDbGVhclNlbGVjdGlvblwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNsZWFyLXNlbGVjdGlvblwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VsZWN0aW9uQ2xpY2tlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiAhc2VsZWN0ZWRJdGVtIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgID5DbGVhciBzZWxlY3Rpb248L2FcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxzZWN0aW9uXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImNvbmZpZy5zaG93U2VhcmNoQmFyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoLWJhclwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwibWkgbWRpLXNlYXJjaCBzZWFyY2gtaWNvblwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaEZvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIlxyXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUhlaWdodCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1kYXRhLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgICAgICBpdGVtU2l6ZT1cIjE4XCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0T2ZDaGVja2JveFRvb2x0aXBGaWx0ZXJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8dWxcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbmdsZS1zZWxlY3QtdWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1zICYmIChpdGVtc1swXSB8IEFubmF0eXBlb2ZEYXRhKSA9PT0gJ29iamVjdCc7IGVsc2Ugc3RyaW5nVHlwZVRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5uYUNvcmVTaG93RWxsaXBzaXNUZXh0T25Ib3ZlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKmNka1ZpcnR1YWxGb3I9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbSBvZiBpdGVtcyB8IEFubmFmaWx0ZXJTZWFyY2hlZFRleHQ6IHNlYXJjaEZvciA6IGtleVRvVXNlRm9yRGlzcGxheTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGFzdCA9IGxhc3Q7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUZuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkSXRlbVtrZXlUb1VzZUZvckNoZWNraW5nU2VsZWN0ZWRJdGVtXSA9PT1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1ba2V5VG9Vc2VGb3JDaGVja2luZ1NlbGVjdGVkSXRlbV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Nob3ctYm90dG9tLWJvcmRlcic6ICFsYXN0ICYmIGJvcmRlcmJvdHRvbU9iamVjdFtpdGVtLmlkXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogaXRlbS5pc0Rpc2FibGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpdGVtU2VsZWN0ZWQoaXRlbSwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJpdGVtLmNsYXNzXCI+IHt7IGl0ZW1ba2V5VG9Vc2VGb3JEaXNwbGF5XSB9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbSAmJiBpdGVtLmFkZGl0aW9uYWxEYXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIml0ZW0uYWRkaXRpb25hbENsYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0/LmFkZGl0aW9uYWxEYXRhIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJub0RhdGFDYXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW1zOiBpdGVtcyB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3N0cmluZ1R5cGVUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW0gb2YgaXRlbXMgfCBBbm5hZmlsdGVyU2VhcmNoZWRUZXh0OiBzZWFyY2hGb3IgOiBrZXlUb1VzZUZvckRpc3BsYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUZuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbm5hQ29yZVNob3dFbGxpcHNpc1RleHRPbkhvdmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyBhY3RpdmU6IHNlbGVjdGVkSXRlbSAmJiBzZWxlY3RlZEl0ZW0gPT09IGl0ZW0gfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIml0ZW1TZWxlY3RlZChpdGVtLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ge3sgaXRlbSB9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibm9EYXRhQ2FzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtczogaXRlbXMgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L21hdC1tZW51PlxyXG5cclxuPG5nLXRlbXBsYXRlXHJcbiAgICAjbm9EYXRhQ2FzZVxyXG4gICAgbGV0LWl0ZW1zPVwiaXRlbXNcIlxyXG4+XHJcbiAgICA8bGlcclxuICAgICAgICBhbm5hQ29yZVNob3dFbGxpcHNpc1RleHRPbkhvdmVyXHJcbiAgICAgICAgKm5nSWY9XCIoaXRlbXMgfCBBbm5hZmlsdGVyU2VhcmNoZWRUZXh0OiBzZWFyY2hGb3IgOiBrZXlUb1VzZUZvckRpc3BsYXkpPy5sZW5ndGggPT09IDBcIlxyXG4gICAgPlxyXG4gICAgICAgIDxzcGFuPiBObyBkYXRhIGZvdW5kIDwvc3Bhbj5cclxuICAgIDwvbGk+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -0,0 +1,12 @@
1
+ export class SingleSelectIdText {
2
+ constructor(id, text, className, additionalClass, additionalData, isSelected, isDisabled) {
3
+ this.id = id;
4
+ this.text = text;
5
+ this.class = className;
6
+ this.additionalClass = additionalClass;
7
+ this.additionalData = additionalData;
8
+ this.isSelected = isSelected;
9
+ this.isDisabled = isDisabled;
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zaW5nbGUtc2VsZWN0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1kcm9wZG93bi1saWIvY29tcG9uZW50cy9hbm5hLXNpbmdsZS1zZWxlY3QvbW9kZWxzL2FubmEtc2luZ2xlLXNlbGVjdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sa0JBQWtCO0lBUTNCLFlBQ0ksRUFBTyxFQUNQLElBQVksRUFDWixTQUFrQixFQUNsQixlQUF3QixFQUN4QixjQUF1QixFQUN2QixVQUFvQixFQUNwQixVQUFvQjtRQUVwQixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQ2pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBTaW5nbGVTZWxlY3RJZFRleHQge1xyXG4gICAgaWQ6IGFueTtcclxuICAgIHRleHQ6IHN0cmluZztcclxuICAgIGNsYXNzPzogc3RyaW5nO1xyXG4gICAgYWRkaXRpb25hbENsYXNzPzogc3RyaW5nO1xyXG4gICAgYWRkaXRpb25hbERhdGE/OiBzdHJpbmc7XHJcbiAgICBpc1NlbGVjdGVkPzogYm9vbGVhbjtcclxuICAgIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgaWQ6IGFueSxcclxuICAgICAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICAgICAgY2xhc3NOYW1lPzogc3RyaW5nLFxyXG4gICAgICAgIGFkZGl0aW9uYWxDbGFzcz86IHN0cmluZyxcclxuICAgICAgICBhZGRpdGlvbmFsRGF0YT86IHN0cmluZyxcclxuICAgICAgICBpc1NlbGVjdGVkPzogYm9vbGVhbixcclxuICAgICAgICBpc0Rpc2FibGVkPzogYm9vbGVhbixcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuaWQgPSBpZDtcclxuICAgICAgICB0aGlzLnRleHQgPSB0ZXh0O1xyXG4gICAgICAgIHRoaXMuY2xhc3MgPSBjbGFzc05hbWU7XHJcbiAgICAgICAgdGhpcy5hZGRpdGlvbmFsQ2xhc3MgPSBhZGRpdGlvbmFsQ2xhc3M7XHJcbiAgICAgICAgdGhpcy5hZGRpdGlvbmFsRGF0YSA9IGFkZGl0aW9uYWxEYXRhO1xyXG4gICAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IGlzU2VsZWN0ZWQ7XHJcbiAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICAgIH1cclxufVxyXG4iXX0=