ecabs-components 1.1.97 → 1.1.99

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 (34) hide show
  1. package/README.md +2 -0
  2. package/esm2022/lib/base/consts/breakpoints.consts.mjs +3 -0
  3. package/esm2022/lib/base/consts/status-badge.consts.mjs +1 -1
  4. package/esm2022/lib/base/directives/badge.directive.module.mjs +1 -1
  5. package/esm2022/lib/base/directives/tooltip-if-truncated.directive.module.mjs +1 -1
  6. package/esm2022/lib/base/models/action-menu.models.mjs +1 -1
  7. package/esm2022/lib/base/models/select.models.mjs +1 -1
  8. package/esm2022/lib/base/models/waypoint.models.mjs +1 -1
  9. package/esm2022/lib/base/utils/icon.utils.mjs +1 -1
  10. package/esm2022/lib/base/utils/select.utils.mjs +1 -1
  11. package/esm2022/lib/ecabs-action-menu/ecabs-action-menu.component.mjs +3 -3
  12. package/esm2022/lib/ecabs-action-menu/ecabs-action-menu.module.mjs +1 -1
  13. package/esm2022/lib/ecabs-badge/ecabs-badge.component.mjs +3 -3
  14. package/esm2022/lib/ecabs-badge/ecabs-badge.module.mjs +1 -1
  15. package/esm2022/lib/ecabs-buttons-v2/ecabs-buttons-v2.component.mjs +3 -3
  16. package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +1 -1
  17. package/esm2022/lib/ecabs-loading/spinner/spinner.component.mjs +3 -3
  18. package/esm2022/lib/ecabs-place-autocomplete-v2/ecabs-place-autocomplete-v2.module.mjs +1 -1
  19. package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +3 -3
  20. package/esm2022/lib/ecabs-select/ecabs-select.module.mjs +1 -1
  21. package/esm2022/lib/ecabs-select-icon/ecabs-select-icon.module.mjs +1 -1
  22. package/esm2022/lib/ecabs-select-v2/ecabs-select-v2.component.mjs +3 -3
  23. package/esm2022/lib/ecabs-select-v2/ecabs-select-v2.module.mjs +1 -1
  24. package/esm2022/public-api.mjs +2 -1
  25. package/fesm2022/ecabs-components.mjs +16 -13
  26. package/fesm2022/ecabs-components.mjs.map +1 -1
  27. package/lib/base/consts/breakpoints.consts.d.ts +1 -0
  28. package/package.json +4 -1
  29. package/public-api.d.ts +1 -0
  30. package/src/assets/styles/scss/utilities/_breakpoints.scss +43 -0
  31. package/src/assets/styles/scss/utilities/_colors.scss +62 -62
  32. package/src/assets/styles/scss/utilities/_mixins.scss +0 -29
  33. package/src/assets/styles/scss/utilities/_variables.scss +2 -10
  34. package/src/assets/styles/tailwind/index.scss +1 -1
@@ -75,11 +75,11 @@ import { MatListModule } from '@angular/material/list';
75
75
  class EcabsSpinnerComponent {
76
76
  size = 'medium';
77
77
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
78
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: { size: "size" }, ngImport: i0, template: "<span\r\n class=\"ecabs-spinner-rotate {{ size }}\"\r\n role=\"status\"\r\n aria-label=\"Loading\"\r\n></span>\r\n", styles: [":host{display:inline-block;line-height:0;--ecabs-spinner-color: var(--color-gray-400)}@keyframes ecabs-spinner-rotate{to{transform:rotate(360deg)}}.ecabs-spinner-rotate{box-sizing:border-box;display:inline-block;border-radius:50%;background:conic-gradient(from 90deg,transparent,var(--ecabs-spinner-color));mask:radial-gradient(farthest-side,transparent calc(100% - var(--ecabs-spinner-thickness)),#000 calc(100% - var(--ecabs-spinner-thickness)));animation:ecabs-spinner-rotate .8s linear infinite}.ecabs-spinner-rotate.tiny{width:18px;height:18px;--ecabs-spinner-thickness: 2px}.ecabs-spinner-rotate.medium{width:32px;height:32px;--ecabs-spinner-thickness: 3px}.ecabs-spinner-rotate.large{width:52px;height:52px;--ecabs-spinner-thickness: 4px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
78
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: { size: "size" }, ngImport: i0, template: "<span\n class=\"ecabs-spinner-rotate {{ size }}\"\n role=\"status\"\n aria-label=\"Loading\"\n></span>\n", styles: [":host{display:inline-block;line-height:0;--ecabs-spinner-color: var(--color-gray-400)}@keyframes ecabs-spinner-rotate{to{transform:rotate(360deg)}}.ecabs-spinner-rotate{box-sizing:border-box;display:inline-block;border-radius:50%;background:conic-gradient(from 90deg,transparent,var(--ecabs-spinner-color));mask:radial-gradient(farthest-side,transparent calc(100% - var(--ecabs-spinner-thickness)),#000 calc(100% - var(--ecabs-spinner-thickness)));animation:ecabs-spinner-rotate .8s linear infinite}.ecabs-spinner-rotate.tiny{width:18px;height:18px;--ecabs-spinner-thickness: 2px}.ecabs-spinner-rotate.medium{width:32px;height:32px;--ecabs-spinner-thickness: 3px}.ecabs-spinner-rotate.large{width:52px;height:52px;--ecabs-spinner-thickness: 4px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
79
  }
80
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSpinnerComponent, decorators: [{
81
81
  type: Component,
82
- args: [{ selector: 'ecabs-loading-spinner', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\r\n class=\"ecabs-spinner-rotate {{ size }}\"\r\n role=\"status\"\r\n aria-label=\"Loading\"\r\n></span>\r\n", styles: [":host{display:inline-block;line-height:0;--ecabs-spinner-color: var(--color-gray-400)}@keyframes ecabs-spinner-rotate{to{transform:rotate(360deg)}}.ecabs-spinner-rotate{box-sizing:border-box;display:inline-block;border-radius:50%;background:conic-gradient(from 90deg,transparent,var(--ecabs-spinner-color));mask:radial-gradient(farthest-side,transparent calc(100% - var(--ecabs-spinner-thickness)),#000 calc(100% - var(--ecabs-spinner-thickness)));animation:ecabs-spinner-rotate .8s linear infinite}.ecabs-spinner-rotate.tiny{width:18px;height:18px;--ecabs-spinner-thickness: 2px}.ecabs-spinner-rotate.medium{width:32px;height:32px;--ecabs-spinner-thickness: 3px}.ecabs-spinner-rotate.large{width:52px;height:52px;--ecabs-spinner-thickness: 4px}\n"] }]
82
+ args: [{ selector: 'ecabs-loading-spinner', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n class=\"ecabs-spinner-rotate {{ size }}\"\n role=\"status\"\n aria-label=\"Loading\"\n></span>\n", styles: [":host{display:inline-block;line-height:0;--ecabs-spinner-color: var(--color-gray-400)}@keyframes ecabs-spinner-rotate{to{transform:rotate(360deg)}}.ecabs-spinner-rotate{box-sizing:border-box;display:inline-block;border-radius:50%;background:conic-gradient(from 90deg,transparent,var(--ecabs-spinner-color));mask:radial-gradient(farthest-side,transparent calc(100% - var(--ecabs-spinner-thickness)),#000 calc(100% - var(--ecabs-spinner-thickness)));animation:ecabs-spinner-rotate .8s linear infinite}.ecabs-spinner-rotate.tiny{width:18px;height:18px;--ecabs-spinner-thickness: 2px}.ecabs-spinner-rotate.medium{width:32px;height:32px;--ecabs-spinner-thickness: 3px}.ecabs-spinner-rotate.large{width:52px;height:52px;--ecabs-spinner-thickness: 4px}\n"] }]
83
83
  }], propDecorators: { size: [{
84
84
  type: Input
85
85
  }] } });
@@ -223,11 +223,11 @@ class ButtonsV2Component {
223
223
  };
224
224
  }
225
225
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsV2Component, deps: [], target: i0.ɵɵFactoryTarget.Component });
226
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonsV2Component, selector: "ecabs-buttons-v2", inputs: { disabled: "disabled", loading: "loading", loadingStyle: "loadingStyle", size: "size", type: "type", style: "style", color: "color", fullWidth: "fullWidth" }, host: { properties: { "class.pointer-events-none": "this.isDisabled", "style.width": "this.hostWidth" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"style\">\r\n <button\r\n mat-flat-button\r\n *ngSwitchCase=\"'flat'\"\r\n [ngClass]=\"buttonClasses\"\r\n [class]=\"sizeClass\"\r\n [color]=\"matColor\"\r\n [disabled]=\"disabled || loading\"\r\n [attr.aria-busy]=\"loading || null\"\r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button\r\n mat-stroked-button\r\n *ngSwitchCase=\"'stroked'\"\r\n [ngClass]=\"buttonClasses\"\r\n [class]=\"sizeClass\"\r\n [color]=\"matColor\"\r\n [disabled]=\"disabled || loading\"\r\n [attr.aria-busy]=\"loading || null\"\r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button\r\n mat-raised-button\r\n *ngSwitchCase=\"'raised'\"\r\n [ngClass]=\"buttonClasses\"\r\n [class]=\"sizeClass\"\r\n [color]=\"matColor\"\r\n [disabled]=\"disabled || loading\"\r\n [attr.aria-busy]=\"loading || null\"\r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button\r\n mat-button\r\n *ngSwitchCase=\"'basic'\"\r\n [color]=\"matColor\"\r\n [ngClass]=\"buttonClasses\"\r\n [class]=\"sizeClass\"\r\n [disabled]=\"disabled || loading\"\r\n [attr.aria-busy]=\"loading || null\"\r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n</ng-container>\r\n\r\n<ng-template #content>\r\n <ecabs-loading-spinner\r\n size=\"tiny\"\r\n *ngIf=\"loading\"\r\n >\r\n </ecabs-loading-spinner>\r\n <ng-container *ngIf=\"!loading\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"showLabel\">\r\n <ng-content></ng-content>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
226
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonsV2Component, selector: "ecabs-buttons-v2", inputs: { disabled: "disabled", loading: "loading", loadingStyle: "loadingStyle", size: "size", type: "type", style: "style", color: "color", fullWidth: "fullWidth" }, host: { properties: { "class.pointer-events-none": "this.isDisabled", "style.width": "this.hostWidth" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"style\">\n <button\n mat-flat-button\n *ngSwitchCase=\"'flat'\"\n [ngClass]=\"buttonClasses\"\n [class]=\"sizeClass\"\n [color]=\"matColor\"\n [disabled]=\"disabled || loading\"\n [attr.aria-busy]=\"loading || null\"\n [type]=\"type\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </button>\n <button\n mat-stroked-button\n *ngSwitchCase=\"'stroked'\"\n [ngClass]=\"buttonClasses\"\n [class]=\"sizeClass\"\n [color]=\"matColor\"\n [disabled]=\"disabled || loading\"\n [attr.aria-busy]=\"loading || null\"\n [type]=\"type\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </button>\n <button\n mat-raised-button\n *ngSwitchCase=\"'raised'\"\n [ngClass]=\"buttonClasses\"\n [class]=\"sizeClass\"\n [color]=\"matColor\"\n [disabled]=\"disabled || loading\"\n [attr.aria-busy]=\"loading || null\"\n [type]=\"type\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </button>\n <button\n mat-button\n *ngSwitchCase=\"'basic'\"\n [color]=\"matColor\"\n [ngClass]=\"buttonClasses\"\n [class]=\"sizeClass\"\n [disabled]=\"disabled || loading\"\n [attr.aria-busy]=\"loading || null\"\n [type]=\"type\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </button>\n</ng-container>\n\n<ng-template #content>\n <ecabs-loading-spinner\n size=\"tiny\"\n *ngIf=\"loading\"\n >\n </ecabs-loading-spinner>\n <ng-container *ngIf=\"!loading\">\n <ng-content select=\"mat-icon\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"showLabel\">\n <ng-content></ng-content>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
227
227
  }
228
228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsV2Component, decorators: [{
229
229
  type: Component,
230
- args: [{ selector: 'ecabs-buttons-v2', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"style\">\r\n <button\r\n mat-flat-button\r\n *ngSwitchCase=\"'flat'\"\r\n [ngClass]=\"buttonClasses\"\r\n [class]=\"sizeClass\"\r\n [color]=\"matColor\"\r\n [disabled]=\"disabled || loading\"\r\n [attr.aria-busy]=\"loading || null\"\r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button\r\n mat-stroked-button\r\n *ngSwitchCase=\"'stroked'\"\r\n [ngClass]=\"buttonClasses\"\r\n [class]=\"sizeClass\"\r\n [color]=\"matColor\"\r\n [disabled]=\"disabled || loading\"\r\n [attr.aria-busy]=\"loading || null\"\r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button\r\n mat-raised-button\r\n *ngSwitchCase=\"'raised'\"\r\n [ngClass]=\"buttonClasses\"\r\n [class]=\"sizeClass\"\r\n [color]=\"matColor\"\r\n [disabled]=\"disabled || loading\"\r\n [attr.aria-busy]=\"loading || null\"\r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button\r\n mat-button\r\n *ngSwitchCase=\"'basic'\"\r\n [color]=\"matColor\"\r\n [ngClass]=\"buttonClasses\"\r\n [class]=\"sizeClass\"\r\n [disabled]=\"disabled || loading\"\r\n [attr.aria-busy]=\"loading || null\"\r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n</ng-container>\r\n\r\n<ng-template #content>\r\n <ecabs-loading-spinner\r\n size=\"tiny\"\r\n *ngIf=\"loading\"\r\n >\r\n </ecabs-loading-spinner>\r\n <ng-container *ngIf=\"!loading\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"showLabel\">\r\n <ng-content></ng-content>\r\n </ng-container>\r\n</ng-template>\r\n" }]
230
+ args: [{ selector: 'ecabs-buttons-v2', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"style\">\n <button\n mat-flat-button\n *ngSwitchCase=\"'flat'\"\n [ngClass]=\"buttonClasses\"\n [class]=\"sizeClass\"\n [color]=\"matColor\"\n [disabled]=\"disabled || loading\"\n [attr.aria-busy]=\"loading || null\"\n [type]=\"type\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </button>\n <button\n mat-stroked-button\n *ngSwitchCase=\"'stroked'\"\n [ngClass]=\"buttonClasses\"\n [class]=\"sizeClass\"\n [color]=\"matColor\"\n [disabled]=\"disabled || loading\"\n [attr.aria-busy]=\"loading || null\"\n [type]=\"type\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </button>\n <button\n mat-raised-button\n *ngSwitchCase=\"'raised'\"\n [ngClass]=\"buttonClasses\"\n [class]=\"sizeClass\"\n [color]=\"matColor\"\n [disabled]=\"disabled || loading\"\n [attr.aria-busy]=\"loading || null\"\n [type]=\"type\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </button>\n <button\n mat-button\n *ngSwitchCase=\"'basic'\"\n [color]=\"matColor\"\n [ngClass]=\"buttonClasses\"\n [class]=\"sizeClass\"\n [disabled]=\"disabled || loading\"\n [attr.aria-busy]=\"loading || null\"\n [type]=\"type\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </button>\n</ng-container>\n\n<ng-template #content>\n <ecabs-loading-spinner\n size=\"tiny\"\n *ngIf=\"loading\"\n >\n </ecabs-loading-spinner>\n <ng-container *ngIf=\"!loading\">\n <ng-content select=\"mat-icon\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"showLabel\">\n <ng-content></ng-content>\n </ng-container>\n</ng-template>\n" }]
231
231
  }], propDecorators: { disabled: [{
232
232
  type: Input
233
233
  }], loading: [{
@@ -2055,7 +2055,7 @@ class EcabsSelectComponent extends EcabsElementBaseComponent {
2055
2055
  useExisting: EcabsSelectComponent,
2056
2056
  multi: true,
2057
2057
  },
2058
- ], viewQueries: [{ propertyName: "allSelected", first: true, predicate: ["allSelected"], descendants: true }, { propertyName: "matSelectSearchComponent", first: true, predicate: MatSelectSearchComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <mat-form-field [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\r\n <mat-select class=\"form-field__select\"\r\n [(ngModel)]=\"value\"\r\n (closed)=\"onTouch()\"\r\n [id]=\"name\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n [disableRipple]=\"true\"\r\n (selectionChange)=\"onSelectionChanged($event)\"\r\n [matTooltip]=\"trigger\"\r\n ecabsTooltipIfTruncated\r\n [classNameTruncatedTooltip]=\"'mat-select-value'\">\r\n <mat-select-trigger>\r\n <ecabs-select-icon [option]=\"triggerOption\"></ecabs-select-icon>\r\n <span>{{ trigger }}</span>\r\n </mat-select-trigger>\r\n\r\n <mat-option *ngIf=\"useSearchOption\">\r\n <ngx-mat-select-search [formControl]=\"itemFilterCtrl\"\r\n [placeholderLabel]=\"searchFieldPlaceholder\"\r\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\">\r\n </ngx-mat-select-search>\r\n </mat-option>\r\n\r\n <mat-option *ngIf=\"useNoneOption\"\r\n (click)=\"toggleNone()\"\r\n (keydown.enter)=\"toggleNone()\">\r\n {{ noneLabel }}\r\n </mat-option>\r\n\r\n <mat-option #allSelected\r\n *ngIf=\"useSelectAllOption && showFilteredAllOption\"\r\n (click)=\"toggleAllSelection()\"\r\n (keydown.enter)=\"toggleAllSelection()\"\r\n [value]=\"selectAllValue\">\r\n {{ allLabel }}\r\n </mat-option>\r\n\r\n <mat-option *ngFor=\"let item of filteredItems$ | async\"\r\n [value]=\"item.value\"\r\n (click)=\"togglePerOne()\"\r\n (keydown.enter)=\"togglePerOne()\"\r\n [matTooltip]=\"item.label\"\r\n ecabsTooltipIfTruncated\r\n [classNameTruncatedTooltip]=\"'mdc-list-item__primary-text'\">\r\n \r\n <ecabs-select-icon [option]=\"item\"></ecabs-select-icon>\r\n {{ item.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</ecabs-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$1.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i4$2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i1$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: EcabsSelectIconComponent, selector: "ecabs-select-icon", inputs: ["option"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti", "recreateValuesArray"], outputs: ["toggleAll"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: EcabsTooltipIfTruncatedDirective, selector: "[matTooltip][ecabsTooltipIfTruncated]", inputs: ["classNameTruncatedTooltip"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
2058
+ ], viewQueries: [{ propertyName: "allSelected", first: true, predicate: ["allSelected"], descendants: true }, { propertyName: "matSelectSearchComponent", first: true, predicate: MatSelectSearchComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\n <mat-form-field [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\n <mat-select class=\"form-field__select\"\n [(ngModel)]=\"value\"\n (closed)=\"onTouch()\"\n [id]=\"name\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [disableRipple]=\"true\"\n (selectionChange)=\"onSelectionChanged($event)\"\n [matTooltip]=\"trigger\"\n ecabsTooltipIfTruncated\n [classNameTruncatedTooltip]=\"'mat-select-value'\">\n <mat-select-trigger>\n <ecabs-select-icon [option]=\"triggerOption\"></ecabs-select-icon>\n <span>{{ trigger }}</span>\n </mat-select-trigger>\n\n <mat-option *ngIf=\"useSearchOption\">\n <ngx-mat-select-search [formControl]=\"itemFilterCtrl\"\n [placeholderLabel]=\"searchFieldPlaceholder\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\">\n </ngx-mat-select-search>\n </mat-option>\n\n <mat-option *ngIf=\"useNoneOption\"\n (click)=\"toggleNone()\"\n (keydown.enter)=\"toggleNone()\">\n {{ noneLabel }}\n </mat-option>\n\n <mat-option #allSelected\n *ngIf=\"useSelectAllOption && showFilteredAllOption\"\n (click)=\"toggleAllSelection()\"\n (keydown.enter)=\"toggleAllSelection()\"\n [value]=\"selectAllValue\">\n {{ allLabel }}\n </mat-option>\n\n <mat-option *ngFor=\"let item of filteredItems$ | async\"\n [value]=\"item.value\"\n (click)=\"togglePerOne()\"\n (keydown.enter)=\"togglePerOne()\"\n [matTooltip]=\"item.label\"\n ecabsTooltipIfTruncated\n [classNameTruncatedTooltip]=\"'mdc-list-item__primary-text'\">\n \n <ecabs-select-icon [option]=\"item\"></ecabs-select-icon>\n {{ item.label }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</ecabs-element-wrapper>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$1.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i4$2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i1$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: EcabsSelectIconComponent, selector: "ecabs-select-icon", inputs: ["option"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti", "recreateValuesArray"], outputs: ["toggleAll"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: EcabsTooltipIfTruncatedDirective, selector: "[matTooltip][ecabsTooltipIfTruncated]", inputs: ["classNameTruncatedTooltip"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
2059
2059
  }
2060
2060
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSelectComponent, decorators: [{
2061
2061
  type: Component,
@@ -2065,7 +2065,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2065
2065
  useExisting: EcabsSelectComponent,
2066
2066
  multi: true,
2067
2067
  },
2068
- ], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <mat-form-field [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\r\n <mat-select class=\"form-field__select\"\r\n [(ngModel)]=\"value\"\r\n (closed)=\"onTouch()\"\r\n [id]=\"name\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n [disableRipple]=\"true\"\r\n (selectionChange)=\"onSelectionChanged($event)\"\r\n [matTooltip]=\"trigger\"\r\n ecabsTooltipIfTruncated\r\n [classNameTruncatedTooltip]=\"'mat-select-value'\">\r\n <mat-select-trigger>\r\n <ecabs-select-icon [option]=\"triggerOption\"></ecabs-select-icon>\r\n <span>{{ trigger }}</span>\r\n </mat-select-trigger>\r\n\r\n <mat-option *ngIf=\"useSearchOption\">\r\n <ngx-mat-select-search [formControl]=\"itemFilterCtrl\"\r\n [placeholderLabel]=\"searchFieldPlaceholder\"\r\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\">\r\n </ngx-mat-select-search>\r\n </mat-option>\r\n\r\n <mat-option *ngIf=\"useNoneOption\"\r\n (click)=\"toggleNone()\"\r\n (keydown.enter)=\"toggleNone()\">\r\n {{ noneLabel }}\r\n </mat-option>\r\n\r\n <mat-option #allSelected\r\n *ngIf=\"useSelectAllOption && showFilteredAllOption\"\r\n (click)=\"toggleAllSelection()\"\r\n (keydown.enter)=\"toggleAllSelection()\"\r\n [value]=\"selectAllValue\">\r\n {{ allLabel }}\r\n </mat-option>\r\n\r\n <mat-option *ngFor=\"let item of filteredItems$ | async\"\r\n [value]=\"item.value\"\r\n (click)=\"togglePerOne()\"\r\n (keydown.enter)=\"togglePerOne()\"\r\n [matTooltip]=\"item.label\"\r\n ecabsTooltipIfTruncated\r\n [classNameTruncatedTooltip]=\"'mdc-list-item__primary-text'\">\r\n \r\n <ecabs-select-icon [option]=\"item\"></ecabs-select-icon>\r\n {{ item.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</ecabs-element-wrapper>\r\n" }]
2068
+ ], template: "<ecabs-element-wrapper [data]=\"getData()\">\n <mat-form-field [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\n <mat-select class=\"form-field__select\"\n [(ngModel)]=\"value\"\n (closed)=\"onTouch()\"\n [id]=\"name\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [disableRipple]=\"true\"\n (selectionChange)=\"onSelectionChanged($event)\"\n [matTooltip]=\"trigger\"\n ecabsTooltipIfTruncated\n [classNameTruncatedTooltip]=\"'mat-select-value'\">\n <mat-select-trigger>\n <ecabs-select-icon [option]=\"triggerOption\"></ecabs-select-icon>\n <span>{{ trigger }}</span>\n </mat-select-trigger>\n\n <mat-option *ngIf=\"useSearchOption\">\n <ngx-mat-select-search [formControl]=\"itemFilterCtrl\"\n [placeholderLabel]=\"searchFieldPlaceholder\"\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\">\n </ngx-mat-select-search>\n </mat-option>\n\n <mat-option *ngIf=\"useNoneOption\"\n (click)=\"toggleNone()\"\n (keydown.enter)=\"toggleNone()\">\n {{ noneLabel }}\n </mat-option>\n\n <mat-option #allSelected\n *ngIf=\"useSelectAllOption && showFilteredAllOption\"\n (click)=\"toggleAllSelection()\"\n (keydown.enter)=\"toggleAllSelection()\"\n [value]=\"selectAllValue\">\n {{ allLabel }}\n </mat-option>\n\n <mat-option *ngFor=\"let item of filteredItems$ | async\"\n [value]=\"item.value\"\n (click)=\"togglePerOne()\"\n (keydown.enter)=\"togglePerOne()\"\n [matTooltip]=\"item.label\"\n ecabsTooltipIfTruncated\n [classNameTruncatedTooltip]=\"'mdc-list-item__primary-text'\">\n \n <ecabs-select-icon [option]=\"item\"></ecabs-select-icon>\n {{ item.label }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</ecabs-element-wrapper>\n" }]
2069
2069
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: i0.DestroyRef }]; }, propDecorators: { items: [{
2070
2070
  type: Input
2071
2071
  }], multiple: [{
@@ -2426,11 +2426,11 @@ class EcabsSelectV2Component extends EcabsElementBaseComponent {
2426
2426
  };
2427
2427
  }
2428
2428
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSelectV2Component, deps: [{ token: i3.NgControl, optional: true, self: true }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
2429
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsSelectV2Component, selector: "ecabs-select-v2", inputs: { appearance: "appearance", appendTo: "appendTo", items: "items", bindLabel: "bindLabel", bindValue: "bindValue", editableSearchTerm: "editableSearchTerm", searchable: "searchable", clearable: "clearable", multiple: "multiple", notFoundText: "notFoundText", hideSelected: "hideSelected", clearOnBackspace: "clearOnBackspace", clearSearchOnAdd: "clearSearchOnAdd", trackByFn: "trackByFn", minLength: "minLength", searchPlaceholder: "searchPlaceholder", typeahead: "typeahead", closeOnSelect: "closeOnSelect", clearAllText: "clearAllText", selectAllLabel: "selectAllLabel", otherLabel: "otherLabel", othersLabel: "othersLabel" }, outputs: { selectionChange: "selectionChange" }, viewQueries: [{ propertyName: "ngSelect", first: true, predicate: NgSelectComponent, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <ng-select class=\"form-field__select\"\r\n [appearance]=\"appearance\"\r\n [appendTo]=\"appendTo\"\r\n [labelForId]=\"name\"\r\n [bindLabel]=\"bindLabel || null\"\r\n [bindValue]=\"bindValue || null\"\r\n [searchable]=\"searchable\"\r\n [clearable]=\"clearable\"\r\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\r\n [groupBy]=\"groupByKey\"\r\n [selectableGroup]=\"true\"\r\n [selectableGroupAsModel]=\"false\"\r\n [items]=\"itemsList\"\r\n [multiple]=\"multiple\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onBlur()\"\r\n [hideSelected]=\"hideSelected\"\r\n [trackByFn]=\"trackByFn\"\r\n [minTermLength]=\"minLength\"\r\n [typeToSearchText]=\"searchPlaceholder\"\r\n [typeahead]=\"typeahead\"\r\n [loading]=\"loading\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [clearOnBackspace]=\"clearOnBackspace\"\r\n [editableSearchTerm]=\"editableSearchTerm\"\r\n (open)=\"this.isOpen = true\"\r\n (close)=\"this.isOpen = false\"\r\n (change)=\"changed($event)\"\r\n [notFoundText]=\"notFoundText\"\r\n [clearAllText]=\"clearAllText\"\r\n [readonly]=\"this.disabled\">\r\n\r\n <ng-template ng-loadingspinner-tmp>\r\n <ecabs-loading-spinner size=\"tiny\"></ecabs-loading-spinner>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"!multiple\">\r\n <ng-template ng-label-tmp let-item=\"item\" let-label=\"label\">\r\n <ecabs-select-icon [option]=\"item\"></ecabs-select-icon>\r\n {{ label }}\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!!bindValue && !!bindLabel\">\r\n <ng-template ng-multi-label-tmp let-items=\"items\">\r\n <!--#Custom display of first selected item and (+1 more) pattern -->\r\n <ng-container *ngIf=\"!isOpen\">\r\n <div *ngFor=\"let item of items | slice:0:1\"\r\n class=\"inline-flex items-center\">\r\n <ng-container *ngIf=\"asOption(item) as option\">\r\n <ecabs-select-icon [option]=\"option\"></ecabs-select-icon>\r\n <span>\r\n {{ option.label }} <span *ngIf=\"items.length > 1\">\r\n (+{{ items.length - 1 }}\r\n {{ (items?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </span>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-template ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox *ngIf=\"multiple\"\r\n [ngModel]=\"item$.selected\"\r\n [name]=\"index\">\r\n </ecabs-checkbox>\r\n <ecabs-select-icon [option]=\"item\"></ecabs-select-icon>\r\n {{ item$?.['label'] }}\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"multiple\">\r\n <!--#Add selectAll and individual checkboxes for multiple-enabled list -->\r\n <ng-template ng-optgroup-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"selectAllLabel\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n </ng-container>\r\n </ng-select>\r\n</ecabs-element-wrapper>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$4.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i4$4.NgOptgroupTemplateDirective, selector: "[ng-optgroup-tmp]" }, { kind: "directive", type: i4$4.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i4$4.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i4$4.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { kind: "directive", type: i4$4.NgLoadingSpinnerTemplateDirective, selector: "[ng-loadingspinner-tmp]" }, { kind: "component", type: EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: ["size"] }, { kind: "component", type: EcabsCheckboxToggleComponent, selector: "ecabs-checkbox", inputs: ["type", "text", "label", "labelPosition", "indeterminate", "checked"], outputs: ["click", "changed"] }, { kind: "component", type: EcabsSelectIconComponent, selector: "ecabs-select-icon", inputs: ["option"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }] });
2429
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsSelectV2Component, selector: "ecabs-select-v2", inputs: { appearance: "appearance", appendTo: "appendTo", items: "items", bindLabel: "bindLabel", bindValue: "bindValue", editableSearchTerm: "editableSearchTerm", searchable: "searchable", clearable: "clearable", multiple: "multiple", notFoundText: "notFoundText", hideSelected: "hideSelected", clearOnBackspace: "clearOnBackspace", clearSearchOnAdd: "clearSearchOnAdd", trackByFn: "trackByFn", minLength: "minLength", searchPlaceholder: "searchPlaceholder", typeahead: "typeahead", closeOnSelect: "closeOnSelect", clearAllText: "clearAllText", selectAllLabel: "selectAllLabel", otherLabel: "otherLabel", othersLabel: "othersLabel" }, outputs: { selectionChange: "selectionChange" }, viewQueries: [{ propertyName: "ngSelect", first: true, predicate: NgSelectComponent, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\n <ng-select class=\"form-field__select\"\n [appearance]=\"appearance\"\n [appendTo]=\"appendTo\"\n [labelForId]=\"name\"\n [bindLabel]=\"bindLabel || null\"\n [bindValue]=\"bindValue || null\"\n [searchable]=\"searchable\"\n [clearable]=\"clearable\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\n [groupBy]=\"groupByKey\"\n [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\"\n [items]=\"itemsList\"\n [multiple]=\"multiple\"\n [(ngModel)]=\"value\"\n [placeholder]=\"placeholder\"\n (blur)=\"onBlur()\"\n [hideSelected]=\"hideSelected\"\n [trackByFn]=\"trackByFn\"\n [minTermLength]=\"minLength\"\n [typeToSearchText]=\"searchPlaceholder\"\n [typeahead]=\"typeahead\"\n [loading]=\"loading\"\n [closeOnSelect]=\"closeOnSelect\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [editableSearchTerm]=\"editableSearchTerm\"\n (open)=\"this.isOpen = true\"\n (close)=\"this.isOpen = false\"\n (change)=\"changed($event)\"\n [notFoundText]=\"notFoundText\"\n [clearAllText]=\"clearAllText\"\n [readonly]=\"this.disabled\">\n\n <ng-template ng-loadingspinner-tmp>\n <ecabs-loading-spinner size=\"tiny\"></ecabs-loading-spinner>\n </ng-template>\n\n <ng-container *ngIf=\"!multiple\">\n <ng-template ng-label-tmp let-item=\"item\" let-label=\"label\">\n <ecabs-select-icon [option]=\"item\"></ecabs-select-icon>\n {{ label }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!!bindValue && !!bindLabel\">\n <ng-template ng-multi-label-tmp let-items=\"items\">\n <!--#Custom display of first selected item and (+1 more) pattern -->\n <ng-container *ngIf=\"!isOpen\">\n <div *ngFor=\"let item of items | slice:0:1\"\n class=\"inline-flex items-center\">\n <ng-container *ngIf=\"asOption(item) as option\">\n <ecabs-select-icon [option]=\"option\"></ecabs-select-icon>\n <span>\n {{ option.label }} <span *ngIf=\"items.length > 1\">\n (+{{ items.length - 1 }}\n {{ (items?.length === 2 ? otherLabel : othersLabel) }})\n </span>\n </span>\n </ng-container>\n </div>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\n <ecabs-checkbox *ngIf=\"multiple\"\n [ngModel]=\"item$.selected\"\n [name]=\"index\">\n </ecabs-checkbox>\n <ecabs-select-icon [option]=\"item\"></ecabs-select-icon>\n {{ item$?.['label'] }}\n </ng-template>\n\n <ng-container *ngIf=\"multiple\">\n <!--#Add selectAll and individual checkboxes for multiple-enabled list -->\n <ng-template ng-optgroup-tmp let-item$=\"item$\" let-index=\"index\">\n <ecabs-checkbox [ngModel]=\"item$.selected\"\n [name]=\"index\"\n [text]=\"selectAllLabel\">\n </ecabs-checkbox>\n </ng-template>\n </ng-container>\n </ng-select>\n</ecabs-element-wrapper>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$4.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i4$4.NgOptgroupTemplateDirective, selector: "[ng-optgroup-tmp]" }, { kind: "directive", type: i4$4.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i4$4.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i4$4.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { kind: "directive", type: i4$4.NgLoadingSpinnerTemplateDirective, selector: "[ng-loadingspinner-tmp]" }, { kind: "component", type: EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: ["size"] }, { kind: "component", type: EcabsCheckboxToggleComponent, selector: "ecabs-checkbox", inputs: ["type", "text", "label", "labelPosition", "indeterminate", "checked"], outputs: ["click", "changed"] }, { kind: "component", type: EcabsSelectIconComponent, selector: "ecabs-select-icon", inputs: ["option"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }] });
2430
2430
  }
2431
2431
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSelectV2Component, decorators: [{
2432
2432
  type: Component,
2433
- args: [{ selector: 'ecabs-select-v2', template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <ng-select class=\"form-field__select\"\r\n [appearance]=\"appearance\"\r\n [appendTo]=\"appendTo\"\r\n [labelForId]=\"name\"\r\n [bindLabel]=\"bindLabel || null\"\r\n [bindValue]=\"bindValue || null\"\r\n [searchable]=\"searchable\"\r\n [clearable]=\"clearable\"\r\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\r\n [groupBy]=\"groupByKey\"\r\n [selectableGroup]=\"true\"\r\n [selectableGroupAsModel]=\"false\"\r\n [items]=\"itemsList\"\r\n [multiple]=\"multiple\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onBlur()\"\r\n [hideSelected]=\"hideSelected\"\r\n [trackByFn]=\"trackByFn\"\r\n [minTermLength]=\"minLength\"\r\n [typeToSearchText]=\"searchPlaceholder\"\r\n [typeahead]=\"typeahead\"\r\n [loading]=\"loading\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [clearOnBackspace]=\"clearOnBackspace\"\r\n [editableSearchTerm]=\"editableSearchTerm\"\r\n (open)=\"this.isOpen = true\"\r\n (close)=\"this.isOpen = false\"\r\n (change)=\"changed($event)\"\r\n [notFoundText]=\"notFoundText\"\r\n [clearAllText]=\"clearAllText\"\r\n [readonly]=\"this.disabled\">\r\n\r\n <ng-template ng-loadingspinner-tmp>\r\n <ecabs-loading-spinner size=\"tiny\"></ecabs-loading-spinner>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"!multiple\">\r\n <ng-template ng-label-tmp let-item=\"item\" let-label=\"label\">\r\n <ecabs-select-icon [option]=\"item\"></ecabs-select-icon>\r\n {{ label }}\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!!bindValue && !!bindLabel\">\r\n <ng-template ng-multi-label-tmp let-items=\"items\">\r\n <!--#Custom display of first selected item and (+1 more) pattern -->\r\n <ng-container *ngIf=\"!isOpen\">\r\n <div *ngFor=\"let item of items | slice:0:1\"\r\n class=\"inline-flex items-center\">\r\n <ng-container *ngIf=\"asOption(item) as option\">\r\n <ecabs-select-icon [option]=\"option\"></ecabs-select-icon>\r\n <span>\r\n {{ option.label }} <span *ngIf=\"items.length > 1\">\r\n (+{{ items.length - 1 }}\r\n {{ (items?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </span>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-template ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox *ngIf=\"multiple\"\r\n [ngModel]=\"item$.selected\"\r\n [name]=\"index\">\r\n </ecabs-checkbox>\r\n <ecabs-select-icon [option]=\"item\"></ecabs-select-icon>\r\n {{ item$?.['label'] }}\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"multiple\">\r\n <!--#Add selectAll and individual checkboxes for multiple-enabled list -->\r\n <ng-template ng-optgroup-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"selectAllLabel\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n </ng-container>\r\n </ng-select>\r\n</ecabs-element-wrapper>\r\n" }]
2433
+ args: [{ selector: 'ecabs-select-v2', template: "<ecabs-element-wrapper [data]=\"getData()\">\n <ng-select class=\"form-field__select\"\n [appearance]=\"appearance\"\n [appendTo]=\"appendTo\"\n [labelForId]=\"name\"\n [bindLabel]=\"bindLabel || null\"\n [bindValue]=\"bindValue || null\"\n [searchable]=\"searchable\"\n [clearable]=\"clearable\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\n [groupBy]=\"groupByKey\"\n [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\"\n [items]=\"itemsList\"\n [multiple]=\"multiple\"\n [(ngModel)]=\"value\"\n [placeholder]=\"placeholder\"\n (blur)=\"onBlur()\"\n [hideSelected]=\"hideSelected\"\n [trackByFn]=\"trackByFn\"\n [minTermLength]=\"minLength\"\n [typeToSearchText]=\"searchPlaceholder\"\n [typeahead]=\"typeahead\"\n [loading]=\"loading\"\n [closeOnSelect]=\"closeOnSelect\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [editableSearchTerm]=\"editableSearchTerm\"\n (open)=\"this.isOpen = true\"\n (close)=\"this.isOpen = false\"\n (change)=\"changed($event)\"\n [notFoundText]=\"notFoundText\"\n [clearAllText]=\"clearAllText\"\n [readonly]=\"this.disabled\">\n\n <ng-template ng-loadingspinner-tmp>\n <ecabs-loading-spinner size=\"tiny\"></ecabs-loading-spinner>\n </ng-template>\n\n <ng-container *ngIf=\"!multiple\">\n <ng-template ng-label-tmp let-item=\"item\" let-label=\"label\">\n <ecabs-select-icon [option]=\"item\"></ecabs-select-icon>\n {{ label }}\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!!bindValue && !!bindLabel\">\n <ng-template ng-multi-label-tmp let-items=\"items\">\n <!--#Custom display of first selected item and (+1 more) pattern -->\n <ng-container *ngIf=\"!isOpen\">\n <div *ngFor=\"let item of items | slice:0:1\"\n class=\"inline-flex items-center\">\n <ng-container *ngIf=\"asOption(item) as option\">\n <ecabs-select-icon [option]=\"option\"></ecabs-select-icon>\n <span>\n {{ option.label }} <span *ngIf=\"items.length > 1\">\n (+{{ items.length - 1 }}\n {{ (items?.length === 2 ? otherLabel : othersLabel) }})\n </span>\n </span>\n </ng-container>\n </div>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\">\n <ecabs-checkbox *ngIf=\"multiple\"\n [ngModel]=\"item$.selected\"\n [name]=\"index\">\n </ecabs-checkbox>\n <ecabs-select-icon [option]=\"item\"></ecabs-select-icon>\n {{ item$?.['label'] }}\n </ng-template>\n\n <ng-container *ngIf=\"multiple\">\n <!--#Add selectAll and individual checkboxes for multiple-enabled list -->\n <ng-template ng-optgroup-tmp let-item$=\"item$\" let-index=\"index\">\n <ecabs-checkbox [ngModel]=\"item$.selected\"\n [name]=\"index\"\n [text]=\"selectAllLabel\">\n </ecabs-checkbox>\n </ng-template>\n </ng-container>\n </ng-select>\n</ecabs-element-wrapper>\n" }]
2434
2434
  }], ctorParameters: function () { return [{ type: i3.NgControl, decorators: [{
2435
2435
  type: Optional
2436
2436
  }, {
@@ -6440,11 +6440,11 @@ class EcabsBadgeComponent {
6440
6440
  return this.labelRef?.nativeElement?.textContent?.trim() ?? '';
6441
6441
  }
6442
6442
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6443
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsBadgeComponent, selector: "ecabs-badge", inputs: { variant: "variant", size: "size", bordered: "bordered", icon: "icon", iconWeight: "iconWeight", materialIcon: "materialIcon" }, viewQueries: [{ propertyName: "labelRef", first: true, predicate: ["label"], descendants: true, static: true }], ngImport: i0, template: "<span ecabsBadge\r\n [variant]=\"variant\"\r\n [size]=\"size\"\r\n [bordered]=\"hasBorder\">\r\n <span class=\"badge__icon badge__icon--slot\">\r\n <ng-content select=\"[ecabsBadgeIcon]\"></ng-content>\r\n </span>\r\n\r\n <mat-icon *ngIf=\"svgIcon\"\r\n class=\"badge__icon\"\r\n [svgIcon]=\"svgIcon\">\r\n </mat-icon>\r\n\r\n <mat-icon *ngIf=\"!svgIcon && materialIcon\"\r\n class=\"badge__icon\">{{ materialIcon }}\r\n </mat-icon>\r\n\r\n <span #label\r\n ecabsTooltipIfTruncated\r\n class=\"badge__label\"\r\n [matTooltip]=\"labelText\">\r\n <ng-content></ng-content>\r\n </span>\r\n</span>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: EcabsBadgeDirective, selector: "[ecabsBadge]", inputs: ["variant", "size", "bordered", "disableRipple", "interactive"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: EcabsTooltipIfTruncatedDirective, selector: "[matTooltip][ecabsTooltipIfTruncated]", inputs: ["classNameTruncatedTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6443
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsBadgeComponent, selector: "ecabs-badge", inputs: { variant: "variant", size: "size", bordered: "bordered", icon: "icon", iconWeight: "iconWeight", materialIcon: "materialIcon" }, viewQueries: [{ propertyName: "labelRef", first: true, predicate: ["label"], descendants: true, static: true }], ngImport: i0, template: "<span ecabsBadge\n [variant]=\"variant\"\n [size]=\"size\"\n [bordered]=\"hasBorder\">\n <span class=\"badge__icon badge__icon--slot\">\n <ng-content select=\"[ecabsBadgeIcon]\"></ng-content>\n </span>\n\n <mat-icon *ngIf=\"svgIcon\"\n class=\"badge__icon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n\n <mat-icon *ngIf=\"!svgIcon && materialIcon\"\n class=\"badge__icon\">{{ materialIcon }}\n </mat-icon>\n\n <span #label\n ecabsTooltipIfTruncated\n class=\"badge__label\"\n [matTooltip]=\"labelText\">\n <ng-content></ng-content>\n </span>\n</span>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: EcabsBadgeDirective, selector: "[ecabsBadge]", inputs: ["variant", "size", "bordered", "disableRipple", "interactive"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: EcabsTooltipIfTruncatedDirective, selector: "[matTooltip][ecabsTooltipIfTruncated]", inputs: ["classNameTruncatedTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6444
6444
  }
6445
6445
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsBadgeComponent, decorators: [{
6446
6446
  type: Component,
6447
- args: [{ selector: 'ecabs-badge', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span ecabsBadge\r\n [variant]=\"variant\"\r\n [size]=\"size\"\r\n [bordered]=\"hasBorder\">\r\n <span class=\"badge__icon badge__icon--slot\">\r\n <ng-content select=\"[ecabsBadgeIcon]\"></ng-content>\r\n </span>\r\n\r\n <mat-icon *ngIf=\"svgIcon\"\r\n class=\"badge__icon\"\r\n [svgIcon]=\"svgIcon\">\r\n </mat-icon>\r\n\r\n <mat-icon *ngIf=\"!svgIcon && materialIcon\"\r\n class=\"badge__icon\">{{ materialIcon }}\r\n </mat-icon>\r\n\r\n <span #label\r\n ecabsTooltipIfTruncated\r\n class=\"badge__label\"\r\n [matTooltip]=\"labelText\">\r\n <ng-content></ng-content>\r\n </span>\r\n</span>\r\n" }]
6447
+ args: [{ selector: 'ecabs-badge', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span ecabsBadge\n [variant]=\"variant\"\n [size]=\"size\"\n [bordered]=\"hasBorder\">\n <span class=\"badge__icon badge__icon--slot\">\n <ng-content select=\"[ecabsBadgeIcon]\"></ng-content>\n </span>\n\n <mat-icon *ngIf=\"svgIcon\"\n class=\"badge__icon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n\n <mat-icon *ngIf=\"!svgIcon && materialIcon\"\n class=\"badge__icon\">{{ materialIcon }}\n </mat-icon>\n\n <span #label\n ecabsTooltipIfTruncated\n class=\"badge__label\"\n [matTooltip]=\"labelText\">\n <ng-content></ng-content>\n </span>\n</span>\n" }]
6448
6448
  }], propDecorators: { variant: [{
6449
6449
  type: Input
6450
6450
  }], size: [{
@@ -6896,11 +6896,11 @@ class EcabsActionMenuComponent {
6896
6896
  return item.label;
6897
6897
  }
6898
6898
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsActionMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6899
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsActionMenuComponent, selector: "ecabs-action-menu", inputs: { groups: "groups", triggerIcon: "triggerIcon", triggerIconWeight: "triggerIconWeight", triggerAriaLabel: "triggerAriaLabel", xPosition: "xPosition", menuClass: "menuClass", triggerFocusable: "triggerFocusable", showTrigger: "showTrigger" }, queries: [{ propertyName: "customTrigger", first: true, predicate: EcabsActionMenuTriggerDirective, descendants: true }], viewQueries: [{ propertyName: "menu", first: true, predicate: MatMenu, descendants: true, static: true }, { propertyName: "menuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"showTrigger && groups.length\">\r\n <span *ngIf=\"customTrigger; else defaultTrigger\"\r\n class=\"action-menu__trigger\"\r\n [attr.tabindex]=\"triggerFocusable ? 0 : -1\"\r\n [attr.role]=\"triggerFocusable ? 'button' : null\"\r\n [matMenuTriggerFor]=\"menu\"\r\n (keydown.enter)=\"triggerKeydown($event)\"\r\n (keydown.space)=\"triggerKeydown($event)\">\r\n <ng-container *ngTemplateOutlet=\"customTrigger.templateRef\"></ng-container>\r\n </span>\r\n\r\n <ng-template #defaultTrigger>\r\n <button mat-icon-button\r\n type=\"button\"\r\n [attr.aria-label]=\"triggerAriaLabel || null\"\r\n [matMenuTriggerFor]=\"menu\">\r\n <mat-icon class=\"action-menu__trigger-icon\"\r\n [svgIcon]=\"triggerSvgIcon\"\r\n aria-hidden=\"true\">\r\n </mat-icon>\r\n </button>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<mat-menu #menu=\"matMenu\"\r\n [class]=\"panelClass\"\r\n [xPosition]=\"xPosition\">\r\n <ng-container *ngFor=\"let group of groups; let isFirst = first; trackBy: trackByGroup\">\r\n <mat-divider *ngIf=\"!isFirst\"></mat-divider>\r\n <button *ngFor=\"let item of group; trackBy: trackByItem\"\r\n mat-menu-item\r\n type=\"button\"\r\n class=\"action-menu-item\"\r\n [class.action-menu-item--destructive]=\"item.isDestructive\"\r\n (click)=\"item.action()\">\r\n <mat-icon *ngIf=\"item.icon\"\r\n class=\"action-menu-item__icon\"\r\n [svgIcon]=\"itemSvgIcon(item)\"\r\n aria-hidden=\"true\">\r\n </mat-icon>\r\n <span class=\"action-menu-item__label\">{{ item.label }}</span>\r\n </button>\r\n </ng-container>\r\n</mat-menu>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i7$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i7$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6899
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsActionMenuComponent, selector: "ecabs-action-menu", inputs: { groups: "groups", triggerIcon: "triggerIcon", triggerIconWeight: "triggerIconWeight", triggerAriaLabel: "triggerAriaLabel", xPosition: "xPosition", menuClass: "menuClass", triggerFocusable: "triggerFocusable", showTrigger: "showTrigger" }, queries: [{ propertyName: "customTrigger", first: true, predicate: EcabsActionMenuTriggerDirective, descendants: true }], viewQueries: [{ propertyName: "menu", first: true, predicate: MatMenu, descendants: true, static: true }, { propertyName: "menuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"showTrigger && groups.length\">\n <span *ngIf=\"customTrigger; else defaultTrigger\"\n class=\"action-menu__trigger\"\n [attr.tabindex]=\"triggerFocusable ? 0 : -1\"\n [attr.role]=\"triggerFocusable ? 'button' : null\"\n [matMenuTriggerFor]=\"menu\"\n (keydown.enter)=\"triggerKeydown($event)\"\n (keydown.space)=\"triggerKeydown($event)\">\n <ng-container *ngTemplateOutlet=\"customTrigger.templateRef\"></ng-container>\n </span>\n\n <ng-template #defaultTrigger>\n <button mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"triggerAriaLabel || null\"\n [matMenuTriggerFor]=\"menu\">\n <mat-icon class=\"action-menu__trigger-icon\"\n [svgIcon]=\"triggerSvgIcon\"\n aria-hidden=\"true\">\n </mat-icon>\n </button>\n </ng-template>\n</ng-container>\n\n<mat-menu #menu=\"matMenu\"\n [class]=\"panelClass\"\n [xPosition]=\"xPosition\">\n <ng-container *ngFor=\"let group of groups; let isFirst = first; trackBy: trackByGroup\">\n <mat-divider *ngIf=\"!isFirst\"></mat-divider>\n <button *ngFor=\"let item of group; trackBy: trackByItem\"\n mat-menu-item\n type=\"button\"\n class=\"action-menu-item\"\n [class.action-menu-item--destructive]=\"item.isDestructive\"\n (click)=\"item.action()\">\n <mat-icon *ngIf=\"item.icon\"\n class=\"action-menu-item__icon\"\n [svgIcon]=\"itemSvgIcon(item)\"\n aria-hidden=\"true\">\n </mat-icon>\n <span class=\"action-menu-item__label\">{{ item.label }}</span>\n </button>\n </ng-container>\n</mat-menu>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i7$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i7$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6900
6900
  }
6901
6901
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsActionMenuComponent, decorators: [{
6902
6902
  type: Component,
6903
- args: [{ selector: 'ecabs-action-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"showTrigger && groups.length\">\r\n <span *ngIf=\"customTrigger; else defaultTrigger\"\r\n class=\"action-menu__trigger\"\r\n [attr.tabindex]=\"triggerFocusable ? 0 : -1\"\r\n [attr.role]=\"triggerFocusable ? 'button' : null\"\r\n [matMenuTriggerFor]=\"menu\"\r\n (keydown.enter)=\"triggerKeydown($event)\"\r\n (keydown.space)=\"triggerKeydown($event)\">\r\n <ng-container *ngTemplateOutlet=\"customTrigger.templateRef\"></ng-container>\r\n </span>\r\n\r\n <ng-template #defaultTrigger>\r\n <button mat-icon-button\r\n type=\"button\"\r\n [attr.aria-label]=\"triggerAriaLabel || null\"\r\n [matMenuTriggerFor]=\"menu\">\r\n <mat-icon class=\"action-menu__trigger-icon\"\r\n [svgIcon]=\"triggerSvgIcon\"\r\n aria-hidden=\"true\">\r\n </mat-icon>\r\n </button>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<mat-menu #menu=\"matMenu\"\r\n [class]=\"panelClass\"\r\n [xPosition]=\"xPosition\">\r\n <ng-container *ngFor=\"let group of groups; let isFirst = first; trackBy: trackByGroup\">\r\n <mat-divider *ngIf=\"!isFirst\"></mat-divider>\r\n <button *ngFor=\"let item of group; trackBy: trackByItem\"\r\n mat-menu-item\r\n type=\"button\"\r\n class=\"action-menu-item\"\r\n [class.action-menu-item--destructive]=\"item.isDestructive\"\r\n (click)=\"item.action()\">\r\n <mat-icon *ngIf=\"item.icon\"\r\n class=\"action-menu-item__icon\"\r\n [svgIcon]=\"itemSvgIcon(item)\"\r\n aria-hidden=\"true\">\r\n </mat-icon>\r\n <span class=\"action-menu-item__label\">{{ item.label }}</span>\r\n </button>\r\n </ng-container>\r\n</mat-menu>\r\n" }]
6903
+ args: [{ selector: 'ecabs-action-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"showTrigger && groups.length\">\n <span *ngIf=\"customTrigger; else defaultTrigger\"\n class=\"action-menu__trigger\"\n [attr.tabindex]=\"triggerFocusable ? 0 : -1\"\n [attr.role]=\"triggerFocusable ? 'button' : null\"\n [matMenuTriggerFor]=\"menu\"\n (keydown.enter)=\"triggerKeydown($event)\"\n (keydown.space)=\"triggerKeydown($event)\">\n <ng-container *ngTemplateOutlet=\"customTrigger.templateRef\"></ng-container>\n </span>\n\n <ng-template #defaultTrigger>\n <button mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"triggerAriaLabel || null\"\n [matMenuTriggerFor]=\"menu\">\n <mat-icon class=\"action-menu__trigger-icon\"\n [svgIcon]=\"triggerSvgIcon\"\n aria-hidden=\"true\">\n </mat-icon>\n </button>\n </ng-template>\n</ng-container>\n\n<mat-menu #menu=\"matMenu\"\n [class]=\"panelClass\"\n [xPosition]=\"xPosition\">\n <ng-container *ngFor=\"let group of groups; let isFirst = first; trackBy: trackByGroup\">\n <mat-divider *ngIf=\"!isFirst\"></mat-divider>\n <button *ngFor=\"let item of group; trackBy: trackByItem\"\n mat-menu-item\n type=\"button\"\n class=\"action-menu-item\"\n [class.action-menu-item--destructive]=\"item.isDestructive\"\n (click)=\"item.action()\">\n <mat-icon *ngIf=\"item.icon\"\n class=\"action-menu-item__icon\"\n [svgIcon]=\"itemSvgIcon(item)\"\n aria-hidden=\"true\">\n </mat-icon>\n <span class=\"action-menu-item__label\">{{ item.label }}</span>\n </button>\n </ng-container>\n</mat-menu>\n" }]
6904
6904
  }], propDecorators: { groups: [{
6905
6905
  type: Input
6906
6906
  }], triggerIcon: [{
@@ -9273,6 +9273,9 @@ function getRandomItems(items, count) {
9273
9273
  return copy.slice(0, count);
9274
9274
  }
9275
9275
 
9276
+ // Phone range of media-q('small'): ends just below 'md' (768px) in assets/styles/scss/utilities/_breakpoints.scss.
9277
+ const PHONE_MEDIA_QUERY = '(max-width: 767.98px)';
9278
+
9276
9279
  class EcabsDateAdapter extends NativeDateAdapter {
9277
9280
  constructor(dateTimeLocale) {
9278
9281
  super(dateTimeLocale ?? 'en-GB', new Platform(1));
@@ -10275,5 +10278,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
10275
10278
  * Generated bundle index. Do not edit.
10276
10279
  */
10277
10280
 
10278
- export { ButtonsComponent, ButtonsV2Component, CHIP_LABEL_CLASS, EcabsActionMenuComponent, EcabsActionMenuModule, EcabsActionMenuTriggerDirective, EcabsActiveStatusFilterComponent, EcabsActiveStatusFilterModule, EcabsAttachEmbeddedViewDirective, EcabsAttachEmbeddedViewDirectiveModule, EcabsBadgeComponent, EcabsBadgeDirective, EcabsBadgeDirectiveModule, EcabsBadgeModule, EcabsBasePhoneComponent, EcabsBasePhoneModule, EcabsBreadcrumbComponent, EcabsBreadcrumbModule, EcabsButtonToggleComponent, EcabsButtonToggleModule, EcabsButtonsModule, EcabsButtonsV2Module, EcabsCheckPermissionDirectiveModule, EcabsCheckPermissionsDirective, EcabsCheckboxToggleComponent, EcabsCheckboxToggleModule, EcabsCheckboxV2Component, EcabsCheckboxV2Module, EcabsChipAutocompleteComponent, EcabsChipGroupComponent, EcabsChipGroupModule, EcabsComponentsService, EcabsDateAdapter, EcabsDatePickerComponent, EcabsDatePickerHeaderComponent, EcabsDatePickerHeaderService, EcabsDatePickerModule, EcabsDateRangeModule, EcabsDateRangeModuleV2, EcabsDateRangePickerComponent, EcabsDateRangePickerComponentV2, EcabsDateRangePickerHeaderComponent, EcabsDateRangePickerHeaderComponentV2, EcabsDateTimePickerComponent, EcabsDateTimePickerHeaderComponent, EcabsDateTimeRangePickerComponent, EcabsDateTimeRangePickerHeaderComponent, EcabsDatetimePickerModule, EcabsDatetimeRangePickerModule, EcabsDialogConfirmComponent, EcabsDialogConfirmDeletionModule, EcabsDialogConfirmModule, EcabsDialogConfirmationDeletionComponent, EcabsDialogMessageComponent, EcabsDialogMessageModule, EcabsDigitsOnlyDirective, EcabsDigitsOnlyDirectivesModule, EcabsDomObserverDirective, EcabsDomObserverDirectiveModule, EcabsDynamicBgColorDirective, EcabsDynamicBgColorDirectiveModule, EcabsElementMultiplierDirective, EcabsElementMultiplierDirectiveModule, EcabsEmptyPlaceholderComponent, EcabsEmptyPlaceholderModule, EcabsExpansionPanelComponent, EcabsExpansionPanelModule, EcabsFileDropDirective, EcabsFileDropDirectiveModule, EcabsHeaderComponent, EcabsHeaderModule, EcabsHintComponent, EcabsHintModule, EcabsIncrementComponent, EcabsIncrementModule, EcabsInputComponent, EcabsInputModule, EcabsInputRangeComponent, EcabsInputRangeModule, EcabsLanguageSelectorComponent, EcabsLanguageSelectorModule, EcabsLoadingComponent, EcabsLoadingModule, EcabsLogoComponent, EcabsLogoModule, EcabsMaskDateDirective, EcabsMaskDateDirectiveModule, EcabsMaskTimeDirective, EcabsMaskTimeDirectiveModule, EcabsMaxDirective, EcabsMenuItemsComponent, EcabsMenuItemsModule, EcabsMinDirective, EcabsMinMaxDirectiveModule, EcabsMultipleDatesPickerComponent, EcabsMultipleDatesPickerModule, EcabsNoteComponent, EcabsNoteModule, EcabsNumberBorderDirective, EcabsNumberBorderDirectiveModule, EcabsPaginatorDirective, EcabsPaginatorDirectiveModule, EcabsPhoneComponent, EcabsPhoneModule, EcabsPipesModule, EcabsPlaceAutocompleteComponent, EcabsPlaceAutocompleteModule, EcabsPlaceAutocompleteV2Component, EcabsPlaceAutocompleteV2Module, EcabsProfileComponent, EcabsProfileModule, EcabsRadioButtonListComponent, EcabsRadioButtonListModule, EcabsSegmentComponent, EcabsSelectComponent, EcabsSelectModule, EcabsSelectV2Component, EcabsSelectV2Module, EcabsShowOnTruncatedDirective, EcabsShowOnTruncatedDirectiveModule, EcabsSidebarComponent, EcabsSidebarModule, EcabsSliderComponent, EcabsSliderModule, EcabsSpinnerComponent, EcabsStatusBadgeVariantPipe, EcabsTableFilterWrapperComponent, EcabsTableFilterWrapperModule, EcabsTableModule, EcabsTextAreaModule, EcabsTextareaComponent, EcabsTimeListPanelComponent, EcabsTimeRangeDirective, EcabsTimeRangeDirectiveModule, EcabsTimeRangeInputV2Component, EcabsTimeRangeInputV2Module, EcabsTimepickerComponent, EcabsTimepickerModule, EcabsTooltipIfTruncatedDirective, EcabsTooltipIfTruncatedDirectiveModule, EcabsTruncatePipe, EcabsUppercaseMaskDirective, EcabsUppercaseMaskDirectiveModule, EcabsValidationComponent, EcabsValidationModule, EcabsValidationViewModule, FormTimePickerService, FormTimePickerServiceV2, GenericComponentConfig, HeaderService, MATERIAL_DATETIMEPICKER_FORMATS, NumberToCountryCodePipe, STATUS_BADGE_VARIANTS, SeparatorAppendPipe, TableComponent, UnsubscribeService, ValidationComponent, WAYPOINT_SUGGESTIONS, WAYPOINT_SUGGESTIONS2, WaypointTypeEnum, buildPhosphorSvgIcon, extractCallingCodeFromIso, extractCountryFromIso, extractCountryPrefixFromNumber, extractDialingCode, extractPhoneNumberCode, getPhosphorSvgIcon, getRandomItems, getSupportedCountryIsoCodes, removeEmpty, removeNullUndefineds, resolveStatusBadgeVariant, scrollFactory, sortGeneric };
10281
+ export { ButtonsComponent, ButtonsV2Component, CHIP_LABEL_CLASS, EcabsActionMenuComponent, EcabsActionMenuModule, EcabsActionMenuTriggerDirective, EcabsActiveStatusFilterComponent, EcabsActiveStatusFilterModule, EcabsAttachEmbeddedViewDirective, EcabsAttachEmbeddedViewDirectiveModule, EcabsBadgeComponent, EcabsBadgeDirective, EcabsBadgeDirectiveModule, EcabsBadgeModule, EcabsBasePhoneComponent, EcabsBasePhoneModule, EcabsBreadcrumbComponent, EcabsBreadcrumbModule, EcabsButtonToggleComponent, EcabsButtonToggleModule, EcabsButtonsModule, EcabsButtonsV2Module, EcabsCheckPermissionDirectiveModule, EcabsCheckPermissionsDirective, EcabsCheckboxToggleComponent, EcabsCheckboxToggleModule, EcabsCheckboxV2Component, EcabsCheckboxV2Module, EcabsChipAutocompleteComponent, EcabsChipGroupComponent, EcabsChipGroupModule, EcabsComponentsService, EcabsDateAdapter, EcabsDatePickerComponent, EcabsDatePickerHeaderComponent, EcabsDatePickerHeaderService, EcabsDatePickerModule, EcabsDateRangeModule, EcabsDateRangeModuleV2, EcabsDateRangePickerComponent, EcabsDateRangePickerComponentV2, EcabsDateRangePickerHeaderComponent, EcabsDateRangePickerHeaderComponentV2, EcabsDateTimePickerComponent, EcabsDateTimePickerHeaderComponent, EcabsDateTimeRangePickerComponent, EcabsDateTimeRangePickerHeaderComponent, EcabsDatetimePickerModule, EcabsDatetimeRangePickerModule, EcabsDialogConfirmComponent, EcabsDialogConfirmDeletionModule, EcabsDialogConfirmModule, EcabsDialogConfirmationDeletionComponent, EcabsDialogMessageComponent, EcabsDialogMessageModule, EcabsDigitsOnlyDirective, EcabsDigitsOnlyDirectivesModule, EcabsDomObserverDirective, EcabsDomObserverDirectiveModule, EcabsDynamicBgColorDirective, EcabsDynamicBgColorDirectiveModule, EcabsElementMultiplierDirective, EcabsElementMultiplierDirectiveModule, EcabsEmptyPlaceholderComponent, EcabsEmptyPlaceholderModule, EcabsExpansionPanelComponent, EcabsExpansionPanelModule, EcabsFileDropDirective, EcabsFileDropDirectiveModule, EcabsHeaderComponent, EcabsHeaderModule, EcabsHintComponent, EcabsHintModule, EcabsIncrementComponent, EcabsIncrementModule, EcabsInputComponent, EcabsInputModule, EcabsInputRangeComponent, EcabsInputRangeModule, EcabsLanguageSelectorComponent, EcabsLanguageSelectorModule, EcabsLoadingComponent, EcabsLoadingModule, EcabsLogoComponent, EcabsLogoModule, EcabsMaskDateDirective, EcabsMaskDateDirectiveModule, EcabsMaskTimeDirective, EcabsMaskTimeDirectiveModule, EcabsMaxDirective, EcabsMenuItemsComponent, EcabsMenuItemsModule, EcabsMinDirective, EcabsMinMaxDirectiveModule, EcabsMultipleDatesPickerComponent, EcabsMultipleDatesPickerModule, EcabsNoteComponent, EcabsNoteModule, EcabsNumberBorderDirective, EcabsNumberBorderDirectiveModule, EcabsPaginatorDirective, EcabsPaginatorDirectiveModule, EcabsPhoneComponent, EcabsPhoneModule, EcabsPipesModule, EcabsPlaceAutocompleteComponent, EcabsPlaceAutocompleteModule, EcabsPlaceAutocompleteV2Component, EcabsPlaceAutocompleteV2Module, EcabsProfileComponent, EcabsProfileModule, EcabsRadioButtonListComponent, EcabsRadioButtonListModule, EcabsSegmentComponent, EcabsSelectComponent, EcabsSelectModule, EcabsSelectV2Component, EcabsSelectV2Module, EcabsShowOnTruncatedDirective, EcabsShowOnTruncatedDirectiveModule, EcabsSidebarComponent, EcabsSidebarModule, EcabsSliderComponent, EcabsSliderModule, EcabsSpinnerComponent, EcabsStatusBadgeVariantPipe, EcabsTableFilterWrapperComponent, EcabsTableFilterWrapperModule, EcabsTableModule, EcabsTextAreaModule, EcabsTextareaComponent, EcabsTimeListPanelComponent, EcabsTimeRangeDirective, EcabsTimeRangeDirectiveModule, EcabsTimeRangeInputV2Component, EcabsTimeRangeInputV2Module, EcabsTimepickerComponent, EcabsTimepickerModule, EcabsTooltipIfTruncatedDirective, EcabsTooltipIfTruncatedDirectiveModule, EcabsTruncatePipe, EcabsUppercaseMaskDirective, EcabsUppercaseMaskDirectiveModule, EcabsValidationComponent, EcabsValidationModule, EcabsValidationViewModule, FormTimePickerService, FormTimePickerServiceV2, GenericComponentConfig, HeaderService, MATERIAL_DATETIMEPICKER_FORMATS, NumberToCountryCodePipe, PHONE_MEDIA_QUERY, STATUS_BADGE_VARIANTS, SeparatorAppendPipe, TableComponent, UnsubscribeService, ValidationComponent, WAYPOINT_SUGGESTIONS, WAYPOINT_SUGGESTIONS2, WaypointTypeEnum, buildPhosphorSvgIcon, extractCallingCodeFromIso, extractCountryFromIso, extractCountryPrefixFromNumber, extractDialingCode, extractPhoneNumberCode, getPhosphorSvgIcon, getRandomItems, getSupportedCountryIsoCodes, removeEmpty, removeNullUndefineds, resolveStatusBadgeVariant, scrollFactory, sortGeneric };
10279
10282
  //# sourceMappingURL=ecabs-components.mjs.map