ecabs-components 0.0.2 → 0.0.3

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 (57) hide show
  1. package/README.md +24 -24
  2. package/esm2020/lib/base/directives/digits-only.directive.module.mjs +22 -0
  3. package/esm2020/lib/ecabs-input/ecabs-input.module.mjs +6 -6
  4. package/esm2020/lib/ecabs-select/ecabs-select.component.mjs +17 -5
  5. package/esm2020/lib/ecabs-select/ecabs-select.module.mjs +11 -4
  6. package/esm2020/lib/services/ecabs-components.service.mjs +1 -1
  7. package/fesm2015/ecabs-components.mjs +47 -11
  8. package/fesm2015/ecabs-components.mjs.map +1 -1
  9. package/fesm2020/ecabs-components.mjs +47 -11
  10. package/fesm2020/ecabs-components.mjs.map +1 -1
  11. package/lib/base/directives/digits-only.directive.d.ts +3 -3
  12. package/lib/base/directives/digits-only.directive.module.d.ts +8 -0
  13. package/lib/ecabs-input/ecabs-input.module.d.ts +6 -6
  14. package/lib/ecabs-select/ecabs-select.component.d.ts +5 -1
  15. package/lib/ecabs-select/ecabs-select.module.d.ts +4 -3
  16. package/package.json +2 -2
  17. package/styles/material/overrides/_datepicker.scss +25 -1
  18. package/styles/material/overrides/_phone.scss +2 -2
  19. package/styles/scss/modules/_datepicker.scss +3 -3
  20. package/styles/scss/modules/_phone.scss +3 -1
  21. package/styles/scss/modules/_select.scss +16 -0
  22. package/lib/base/directives/digits-only.directive.ts +0 -129
  23. package/lib/base/element-base.ts +0 -72
  24. package/lib/base/element-wrapper/element-wrapper.component.html +0 -30
  25. package/lib/base/element-wrapper/element-wrapper.component.ts +0 -33
  26. package/lib/base/element-wrapper/element-wrapper.module.ts +0 -30
  27. package/lib/base/hint/hint.component.html +0 -1
  28. package/lib/base/hint/hint.component.scss +0 -0
  29. package/lib/base/hint/hint.component.ts +0 -12
  30. package/lib/base/hint/hint.module.ts +0 -13
  31. package/lib/base/validation/validation.component.html +0 -8
  32. package/lib/base/validation/validation.component.scss +0 -0
  33. package/lib/base/validation/validation.component.ts +0 -84
  34. package/lib/base/validation/validation.module.ts +0 -12
  35. package/lib/ecabs-buttons/ecabs-buttons.component.html +0 -18
  36. package/lib/ecabs-buttons/ecabs-buttons.component.ts +0 -54
  37. package/lib/ecabs-buttons/ecabs-buttons.module.ts +0 -13
  38. package/lib/ecabs-input/ecabs-input.component.html +0 -26
  39. package/lib/ecabs-input/ecabs-input.component.ts +0 -83
  40. package/lib/ecabs-input/ecabs-input.module.ts +0 -14
  41. package/lib/ecabs-loading/ecabs-loading.component.html +0 -7
  42. package/lib/ecabs-loading/ecabs-loading.component.spec.ts +0 -24
  43. package/lib/ecabs-loading/ecabs-loading.component.ts +0 -11
  44. package/lib/ecabs-loading/ecabs-loading.module.ts +0 -11
  45. package/lib/ecabs-loading/spinner/spinner.component.html +0 -5
  46. package/lib/ecabs-loading/spinner/spinner.component.scss +0 -61
  47. package/lib/ecabs-loading/spinner/spinner.component.spec.ts +0 -24
  48. package/lib/ecabs-loading/spinner/spinner.component.ts +0 -11
  49. package/lib/ecabs-select/ecabs-select.component.html +0 -38
  50. package/lib/ecabs-select/ecabs-select.component.ts +0 -246
  51. package/lib/ecabs-select/ecabs-select.module.ts +0 -34
  52. package/lib/ecabs-textarea/ecabs-textarea.component.html +0 -13
  53. package/lib/ecabs-textarea/ecabs-textarea.component.ts +0 -61
  54. package/lib/ecabs-textarea/ecabs-textarea.module.ts +0 -12
  55. package/lib/services/ecabs-components.service.ts +0 -33
  56. package/public-api.ts +0 -11
  57. package/test.ts +0 -27
@@ -1 +1 @@
1
- {"version":3,"file":"ecabs-components.mjs","sources":["../../../projects/ecabs-components/src/lib/ecabs-loading/spinner/spinner.component.ts","../../../projects/ecabs-components/src/lib/ecabs-loading/spinner/spinner.component.html","../../../projects/ecabs-components/src/lib/ecabs-buttons/ecabs-buttons.component.ts","../../../projects/ecabs-components/src/lib/ecabs-buttons/ecabs-buttons.component.html","../../../projects/ecabs-components/src/lib/ecabs-loading/ecabs-loading.component.ts","../../../projects/ecabs-components/src/lib/ecabs-loading/ecabs-loading.component.html","../../../projects/ecabs-components/src/lib/ecabs-loading/ecabs-loading.module.ts","../../../projects/ecabs-components/src/lib/ecabs-buttons/ecabs-buttons.module.ts","../../../projects/ecabs-components/src/lib/base/element-base.ts","../../../projects/ecabs-components/src/lib/services/ecabs-components.service.ts","../../../projects/ecabs-components/src/lib/base/validation/validation.component.ts","../../../projects/ecabs-components/src/lib/base/validation/validation.component.html","../../../projects/ecabs-components/src/lib/base/hint/hint.component.ts","../../../projects/ecabs-components/src/lib/base/hint/hint.component.html","../../../projects/ecabs-components/src/lib/base/element-wrapper/element-wrapper.component.ts","../../../projects/ecabs-components/src/lib/base/element-wrapper/element-wrapper.component.html","../../../projects/ecabs-components/src/lib/base/directives/digits-only.directive.ts","../../../projects/ecabs-components/src/lib/ecabs-input/ecabs-input.component.ts","../../../projects/ecabs-components/src/lib/ecabs-input/ecabs-input.component.html","../../../projects/ecabs-components/src/lib/base/hint/hint.module.ts","../../../projects/ecabs-components/src/lib/base/validation/validation.module.ts","../../../projects/ecabs-components/src/lib/base/element-wrapper/element-wrapper.module.ts","../../../projects/ecabs-components/src/lib/ecabs-input/ecabs-input.module.ts","../../../projects/ecabs-components/src/lib/ecabs-select/ecabs-select.component.ts","../../../projects/ecabs-components/src/lib/ecabs-select/ecabs-select.component.html","../../../projects/ecabs-components/src/lib/ecabs-select/ecabs-select.module.ts","../../../projects/ecabs-components/src/lib/ecabs-textarea/ecabs-textarea.component.ts","../../../projects/ecabs-components/src/lib/ecabs-textarea/ecabs-textarea.component.html","../../../projects/ecabs-components/src/lib/ecabs-textarea/ecabs-textarea.module.ts","../../../projects/ecabs-components/src/ecabs-components.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ecabs-loading-spinner',\r\n templateUrl: './spinner.component.html',\r\n styleUrls: ['./spinner.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class EcabsSpinnerComponent {\r\n @Input() size: 'large' | 'medium' | 'tiny' = 'medium';\r\n}\r\n","<div class=\"loadingio-spinner-rolling {{ size }}\">\r\n <div class=\"ldio-inner\">\r\n <div></div>\r\n </div>\r\n</div>\r\n","import { Component, HostBinding, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\n\r\n@Component({\r\n selector: 'ecabs-buttons',\r\n templateUrl: './ecabs-buttons.component.html',\r\n})\r\nexport class ButtonsComponent implements OnInit, OnChanges {\r\n @Input()\r\n label!: string;\r\n\r\n @Input()\r\n disabled!: boolean;\r\n\r\n @Input()\r\n loading!: boolean;\r\n\r\n @Input()\r\n form!: string;\r\n\r\n @Input()\r\n size: 'default' | 'large' = 'default';\r\n\r\n @Input()\r\n type: 'button' | 'submit' = 'button';\r\n\r\n @Input() raised = false;\r\n @Input() stroked = false;\r\n @Input() full = false;\r\n @Input()\r\n color: ThemePalette | 'success' = 'primary';\r\n\r\n @HostBinding('style.width')\r\n borderWidth = '';\r\n @HostBinding('class')\r\n classAttr = '';\r\n\r\n ngOnInit(): void {\r\n if (this.full) {\r\n this.borderWidth = '100%';\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const disabled = changes['disabled']?.currentValue !== undefined ? changes['disabled'].currentValue : this.disabled;\r\n const loading = changes['loading']?.currentValue !== undefined ? changes['loading'].currentValue : this.loading;\r\n\r\n if (disabled || loading) {\r\n this.classAttr = 'pointer-events-none';\r\n } else {\r\n this.classAttr = '';\r\n }\r\n }\r\n}\r\n","<button\r\n mat-button\r\n [ngClass]=\"{\r\n '!w-full': full,\r\n 'mat-stroked-button': stroked,\r\n 'mat-raised-button': raised\r\n }\"\r\n [color]=\"color\"\r\n [disabled]=\"disabled\"\r\n [type]=\"type\"\r\n [attr.form]=\"form\"\r\n>\r\n <ecabs-loading-spinner size=\"tiny\" *ngIf=\"loading\"></ecabs-loading-spinner>\r\n <ng-container *ngIf=\"!loading\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n</button>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ecabs-ecabs-loading',\r\n templateUrl: './ecabs-loading.component.html',\r\n})\r\nexport class EcabsLoadingComponent {\r\n @Input() loading = false;\r\n @Input() backgroundColor = 'white';\r\n @Input() size: 'large' | 'medium' | 'tiny' = 'medium';\r\n}\r\n","<div\r\n class=\"flex absolute left-0 top-0 right-0 bottom-0 z-50 items-center justify-center\"\r\n [ngStyle]=\"{ backgroundColor: backgroundColor }\"\r\n *ngIf=\"loading\"\r\n>\r\n <ecabs-loading-spinner [size]=\"size\" *ngIf=\"loading\"></ecabs-loading-spinner>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EcabsLoadingComponent } from './ecabs-loading.component';\r\nimport { EcabsSpinnerComponent } from './spinner/spinner.component';\r\n\r\n@NgModule({\r\n declarations: [EcabsLoadingComponent, EcabsSpinnerComponent],\r\n imports: [CommonModule],\r\n exports: [EcabsLoadingComponent, EcabsSpinnerComponent],\r\n})\r\nexport class EcabsLoadingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonsComponent } from './ecabs-buttons.component';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { EcabsLoadingModule } from '../ecabs-loading/ecabs-loading.module';\r\n\r\n@NgModule({\r\n declarations: [ButtonsComponent],\r\n imports: [CommonModule, MatButtonModule, EcabsLoadingModule, MatIconModule],\r\n exports: [ButtonsComponent],\r\n})\r\nexport class EcabsButtonsModule {}\r\n","import { Input, Output, EventEmitter, Component } from '@angular/core';\r\nimport { AbstractControl, UntypedFormControl } from '@angular/forms';\r\n\r\n@Component({\r\n template: '',\r\n})\r\nexport default class ElementBaseComponent {\r\n @Input() type!:string;\r\n @Input() name!:string;\r\n @Input() label!:string;\r\n @Input() placeholder = '';\r\n @Input() validationLabel!:string;\r\n @Input() disabled = false;\r\n @Input() showValidation = true;\r\n @Input() showValidationOnNotTouched = false;\r\n @Input() hideValidationMessage = false;\r\n @Input() iconClass = '';\r\n @Input() loading = false;\r\n @Input() showHint: boolean = false;\r\n @Input() maxLength!: number;\r\n @Input() tooltip!: string;\r\n @Input() showAsterisk: boolean = true;\r\n\r\n @Output() focused = new EventEmitter<any>();\r\n @Output() focusOuted = new EventEmitter<any>();\r\n\r\n control!: UntypedFormControl;\r\n required: boolean = false;\r\n\r\n getData(): any {\r\n return {\r\n type: this.type || 'text',\r\n label: this.label,\r\n placeholder: this.placeholder,\r\n validationLabel: this.validationLabel,\r\n disabled: this.disabled,\r\n showValidation: this.showValidation,\r\n showValidationOnNotTouched: this.showValidationOnNotTouched,\r\n hideValidationMessage: this.hideValidationMessage,\r\n iconClass: this.iconClass,\r\n control: this.control,\r\n loading: this.loading,\r\n showHint: this.showHint,\r\n maxLength: this.maxLength,\r\n tooltip: this.tooltip,\r\n name: this.name,\r\n required: this.isRequired(this.control),\r\n showAsterisk: this.showAsterisk,\r\n };\r\n }\r\n\r\n private isRequired = (ctrl: any): boolean => {\r\n if (ctrl?.validator) {\r\n const validator = ctrl.validator({} as AbstractControl);\r\n if (validator && validator['required']) {\r\n return true;\r\n }\r\n }\r\n\r\n if (ctrl?.['controls']) {\r\n for (const name in ctrl['controls']) {\r\n if (ctrl['controls'][name]) {\r\n if (this.isRequired(ctrl['controls'][name])) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n}\r\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EcabsComponentsService {\n config: EcabsComponentsConfig = {\n errorMessages: [\n { type: 'required', message: '[label] is required' },\n { type: 'minlength', message: '[label] should be atleast [requiredLength] character' },\n { type: 'maxLength', message: '[label] should be maximum [requiredLength] character' },\n { type: 'min', message: '[label] should be minmum [min]' },\n { type: 'max', message: '[label] should be maximum [max]' },\n { type: 'minValue', message: '[label] should be minmum [requiredMin]' },\n { type: 'maxValue', message: '[label] should be maximum [requiredMax]' },\n ],\n };\n constructor() {}\n setConfig(c: EcabsComponentsConfig) {\n this.config.errorMessages = c.errorMessages;\n }\n getConfig(): EcabsComponentsConfig {\n return this.config;\n }\n}\n\nexport interface EcabsComponentsConfig {\n errorMessages: ErrorMessage[];\n}\nexport interface ErrorMessage {\n type: string;\n message: string;\n}\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport {\r\n EcabsComponentsConfig,\r\n EcabsComponentsService,\r\n} from '../../services/ecabs-components.service';\r\n\r\n@Component({\r\n selector: 'app-validations-messages',\r\n templateUrl: './validation.component.html',\r\n styleUrls: ['./validation.component.scss'],\r\n})\r\nexport class ValidationComponent implements OnInit, OnChanges {\r\n @Input() element!: any;\r\n @Input() label!: string;\r\n @Input() showValidationOnNotTouched = false;\r\n @Input() updatedErrors!: { type: string; message: string }[];\r\n config!: EcabsComponentsConfig;\r\n private _messages: any = {};\r\n\r\n get messages(): any {\r\n if (this.element) {\r\n for (const errorKey in this.element.errors) {\r\n for (const key in this.element.errors[errorKey]) {\r\n if (this._messages[errorKey]) {\r\n this._messages[errorKey] = this._messages[errorKey].replace(\r\n `[${key}]`,\r\n this.element.errors[errorKey][key]\r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n return this._messages;\r\n }\r\n\r\n set messages(m) {\r\n this._messages = m;\r\n }\r\n\r\n constructor(private ecabsService: EcabsComponentsService) {}\r\n\r\n ngOnInit() {\r\n this.config = this.ecabsService.getConfig();\r\n for (let error of this.config.errorMessages) {\r\n this.messages[error.type] = this.replaceTokens(error.message);\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { updatedErrors } = changes;\r\n\r\n if (\r\n updatedErrors &&\r\n updatedErrors.currentValue &&\r\n updatedErrors.currentValue.length > 0\r\n ) {\r\n for (const error of updatedErrors.currentValue) {\r\n this.messages[error.type] = error.message;\r\n }\r\n }\r\n }\r\n\r\n replaceTokens(message: string): string {\r\n let retMessage: string;\r\n if (this.label) {\r\n retMessage = message.replace('[label]', this.label);\r\n } else {\r\n retMessage = message;\r\n }\r\n\r\n return retMessage;\r\n }\r\n\r\n getMessageDetail(key: any): string {\r\n return this.messages[key];\r\n }\r\n}\r\n","<div\r\n class=\"form-field__validation\"\r\n *ngIf=\"element && (element?.touched || showValidationOnNotTouched) && element?.invalid\"\r\n>\r\n <div class=\"form-field__validation__item\" *ngFor=\"let item of element?.errors | keyvalue\">\r\n {{ getMessageDetail(item.key) }}\r\n </div>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-hint',\r\n templateUrl: './hint.component.html',\r\n styleUrls: ['./hint.component.scss'],\r\n})\r\nexport class HintComponent {\r\n @Input() element!:any;\r\n @Input() maxValue!:number;\r\n @Input() showHint = false;\r\n}\r\n","<div class=\"hint\" *ngIf=\"element && showHint\">{{ element?.value?.length || 0 }}/{{ this.maxValue }}</div>\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-element-wrapper',\r\n templateUrl: './element-wrapper.component.html',\r\n})\r\nexport class ElementWrapperComponent {\r\n @Input() data!:any;\r\n @Input() showCloseIcon!:boolean;\r\n @Input() focusedFlag!:any;\r\n @Input() showPassword!:boolean;\r\n @Input() control!:any;\r\n @Output() showHidePassword = new EventEmitter<any>();\r\n @Output() clear = new EventEmitter<any>();\r\n @Output() increase = new EventEmitter<any>();\r\n @Output() decrease = new EventEmitter<any>();\r\n\r\n showHidePasswordFn(event:any): void {\r\n this.showHidePassword.emit(event);\r\n }\r\n\r\n clearFn(): void {\r\n this.clear.emit();\r\n }\r\n\r\n increaseFn(): void {\r\n this.increase.emit();\r\n }\r\n\r\n decreaseFn(): void {\r\n this.decrease.emit();\r\n }\r\n}\r\n","<div\r\n class=\"form-field\"\r\n [ngClass]=\"{\r\n 'form-field--invalid':\r\n data?.showValidation && (data?.control?.touched || data?.showValidationOnNotTouched) && data?.control?.invalid,\r\n disabled: data?.disabled,\r\n 'form-field--required': data?.required && data?.showAsterisk\r\n }\"\r\n>\r\n <div>\r\n <label class=\"form-field__label\" [attr.for]=\"data?.name\" *ngIf=\"data?.label\">\r\n <span [innerHTML]=\"data?.label\"></span>\r\n <mat-icon class=\"icon\" *ngIf=\"data?.tooltip\" [matTooltip]=\"data?.tooltip\">error_outline</mat-icon>\r\n </label>\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ecabs-loading-spinner class=\"spinner\" size=\"tiny\" *ngIf=\"data.loading\"></ecabs-loading-spinner>\r\n\r\n <app-hint [element]=\"data?.control\" [showHint]=\"data?.showHint\" [maxValue]=\"data?.maxLength\"></app-hint>\r\n\r\n <app-validations-messages\r\n *ngIf=\"data?.showValidation && !data?.hideValidationMessage\"\r\n [element]=\"data?.control\"\r\n [label]=\"data?.label ? data?.label : data?.placeholder ? data.placeholder : data?.validationLabel\"\r\n [showValidationOnNotTouched]=\"data?.showValidationOnNotTouched\"\r\n >\r\n </app-validations-messages>\r\n</div>\r\n","import { Directive, ElementRef, HostListener, Input, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appDigitsOnly]',\r\n})\r\nexport class DigitsOnlyDirective implements OnInit {\r\n @Input()\r\n digitsOnly = false;\r\n\r\n @Input()\r\n allowHyphen = false;\r\n\r\n @Input() decimal? = false;\r\n @Input() decimalSeparator? = '.';\r\n @Input() unit? = 0;\r\n\r\n inputElement: HTMLInputElement;\r\n minus = '-';\r\n minusCounter = 0;\r\n regex!: RegExp;\r\n\r\n private decimalCounter = 0;\r\n private readonly navigationKeys = [\r\n 'Backspace',\r\n 'Delete',\r\n 'Tab',\r\n 'Escape',\r\n 'Enter',\r\n 'Home',\r\n 'End',\r\n 'ArrowLeft',\r\n 'ArrowRight',\r\n 'Clear',\r\n 'Copy',\r\n 'Paste',\r\n ];\r\n\r\n constructor(public el: ElementRef) {\r\n this.inputElement = el.nativeElement;\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: KeyboardEvent): void {\r\n if (this.digitsOnly) {\r\n if (\r\n this.navigationKeys.indexOf(e.key) > -1 || // Allow: navigation keys: backspace, delete, arrows etc.\r\n (e.key === 'a' && e.ctrlKey) || // Allow: Ctrl+A\r\n (e.key === 'c' && e.ctrlKey) || // Allow: Ctrl+C\r\n (e.key === 'v' && e.ctrlKey) || // Allow: Ctrl+V\r\n (e.key === 'x' && e.ctrlKey) || // Allow: Ctrl+X\r\n (e.key === 'a' && e.metaKey) || // Allow: Cmd+A (Mac)\r\n (e.key === 'c' && e.metaKey) || // Allow: Cmd+C (Mac)\r\n (e.key === 'v' && e.metaKey) || // Allow: Cmd+V (Mac)\r\n (e.key === 'x' && e.metaKey) || // Allow: Cmd+X (Mac)\r\n (this.decimal && e.key === this.decimalSeparator && this.decimalCounter < 1) || // Allow: only one decimal point\r\n (this.decimal && e.key === this.minus && this.minusCounter < 1) // Allow: only one minus\r\n ) {\r\n return;\r\n }\r\n\r\n // Ensure that it is a number and stop the keypress\r\n if (e.key === ' ' || !this.regex.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n }\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n onKeyUp(): void {\r\n if (this.digitsOnly) {\r\n if (!this.decimal) {\r\n return;\r\n }\r\n\r\n this.decimalCounter = this.el.nativeElement.value.split(this.decimalSeparator).length - 1;\r\n this.minusCounter = this.el.nativeElement.value.split(this.minus).length - 1;\r\n\r\n if (isNaN(+this.inputElement.value)) {\r\n this.inputElement.value = this.sanitizeInput(this.inputElement.value);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('paste', ['$event'])\r\n onPaste(event: ClipboardEvent): void {\r\n if (this.digitsOnly) {\r\n const pastedInput = event.clipboardData?.getData('text/plain') as string;\r\n this.pasteData(pastedInput);\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.regex = new RegExp(this.allowHyphen ? '^[\\\\d -]+$' : '\\\\d');\r\n }\r\n\r\n private pasteData(pastedContent: string): void {\r\n const sanitizedContent = isNaN(+pastedContent) ? this.sanitizeInput(pastedContent) : pastedContent;\r\n const pasted = document.execCommand('insertText', false, sanitizedContent);\r\n if (!pasted) {\r\n const { selectionStart: start, selectionEnd: end } = this.inputElement;\r\n this.inputElement.setRangeText(sanitizedContent, start as number, end as number, 'end');\r\n }\r\n }\r\n\r\n private sanitizeInput(input: string): string {\r\n let result = '';\r\n if (this.decimal && this.isValidDecimal(input)) {\r\n const regex = new RegExp(`^[\\d -${this.decimalSeparator}]+$`, 'g');\r\n result = input.replace(regex, '');\r\n } else {\r\n result = input.replace(`/${this.regex}/g`, '');\r\n }\r\n\r\n const maxLength = this.inputElement.maxLength;\r\n\r\n if (maxLength > 0) {\r\n // the input element has maxLength limit\r\n const allowedLength = maxLength - this.inputElement.value.length;\r\n result = allowedLength > 0 ? result.substring(0, allowedLength) : '';\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private isValidDecimal(inputString: string): boolean {\r\n return inputString.split(this.decimalSeparator as string).length <= 2;\r\n }\r\n}\r\n","import { AfterViewInit, Component, EventEmitter, Injector, Input, OnInit, Output } from '@angular/core';\r\nimport { ControlValueAccessor, UntypedFormControl, NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport ElementBaseComponent from '../base/element-base';\r\n\r\n@Component({\r\n selector: 'ecabs-input',\r\n templateUrl: './ecabs-input.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EcabsInputComponent,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class EcabsInputComponent\r\n extends ElementBaseComponent\r\n implements ControlValueAccessor, AfterViewInit, OnInit\r\n{\r\n @Input()\r\n digitsOnly!: boolean;\r\n\r\n @Input()\r\n allowDecimal!: boolean;\r\n\r\n @Input()\r\n allowHyphen!: boolean;\r\n\r\n @Input() max!: number;\r\n @Input() step!: number;\r\n\r\n @Output() onblur = new EventEmitter<any>();\r\n val!: string | number;\r\n\r\n get value(): string | number {\r\n return this.val;\r\n }\r\n\r\n set value(val) {\r\n if (val !== undefined && this.val !== val) {\r\n this.val = val;\r\n this.onChange(val);\r\n this.onTouch(val);\r\n }\r\n }\r\n\r\n constructor(private injector: Injector) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.type === 'number') {\r\n this.digitsOnly = true;\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get(NgControl, null) as NgControl;\r\n if (ngControl) {\r\n this.control = ngControl.control as UntypedFormControl;\r\n }\r\n }\r\n\r\n onChange: any = () => {};\r\n\r\n onTouch: any = () => {};\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n blurChange(e:any): void {\r\n this.onblur.emit(e);\r\n }\r\n}\r\n","<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input\r\n appDigitsOnly\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</app-element-wrapper>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\n\r\nimport { HintComponent } from './hint.component';\r\n\r\n@NgModule({\r\n declarations: [HintComponent],\r\n imports: [CommonModule, FormsModule, MatFormFieldModule],\r\n exports: [HintComponent],\r\n})\r\nexport class HintModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { ValidationComponent } from './validation.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\n\r\n@NgModule({\r\n declarations: [ValidationComponent],\r\n imports: [CommonModule, FormsModule, MatFormFieldModule],\r\n exports: [ValidationComponent],\r\n})\r\nexport class ValidationModule {}\r\n","\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\nimport { HintModule } from '../hint/hint.module';\r\nimport { ValidationModule } from '../validation/validation.module';\r\nimport { ElementWrapperComponent } from './element-wrapper.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { EcabsLoadingModule } from '../../ecabs-loading/ecabs-loading.module';\r\n\r\n@NgModule({\r\n declarations: [ElementWrapperComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n EcabsLoadingModule,\r\n ValidationModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n HintModule,\r\n ],\r\n exports: [ElementWrapperComponent],\r\n})\r\nexport class ElementWrapperModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EcabsInputComponent } from './ecabs-input.component';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DigitsOnlyDirective } from '../base/directives/digits-only.directive';\r\n\r\n@NgModule({\r\n declarations: [EcabsInputComponent, DigitsOnlyDirective],\r\n imports: [CommonModule, MatInputModule, ElementWrapperModule, FormsModule],\r\n exports: [EcabsInputComponent],\r\n})\r\nexport class EcabsInputModule {}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n EventEmitter,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n UntypedFormControl,\r\n NgControl,\r\n NG_VALUE_ACCESSOR,\r\n} from '@angular/forms';\r\nimport { MatOption } from '@angular/material/core';\r\nimport { MatSelectSearchComponent } from 'ngx-mat-select-search';\r\nimport {\r\n combineLatest,\r\n debounceTime,\r\n map,\r\n ReplaySubject,\r\n Subscription,\r\n} from 'rxjs';\r\nimport ElementBaseComponent from '../base/element-base';\r\n\r\n@Component({\r\n selector: 'ecabs-select',\r\n templateUrl: './ecabs-select.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EcabsSelectComponent,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class EcabsSelectComponent\r\n extends ElementBaseComponent\r\n implements OnInit, OnChanges, AfterViewInit, OnDestroy\r\n{\r\n @Input() items!: { label: string; value: any }[];\r\n @Input() multiple = false;\r\n @Input() useNoneOption: boolean = false;\r\n @Input() useOnlyDisabledClass = false;\r\n @Input() searchFieldPlaceholder: string = 'Search';\r\n @Input() useSearchOption = false;\r\n @Input() useSelectAllOption = false;\r\n @Input() setAllOptionAfterChosenAllItems = true;\r\n @Input() selectAllValue: any = 0;\r\n @Input() noEntriesFoundLabel = 'SELECT.NO_MATCHING_FOUND';\r\n @Output() updateFilterItems: EventEmitter<string> =\r\n new EventEmitter<string>();\r\n @Output() selectionChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @ViewChild('allSelected') allSelected!: MatOption;\r\n @ViewChild(MatSelectSearchComponent)\r\n matSelectSearchComponent!: MatSelectSearchComponent;\r\n\r\n val!: any;\r\n filteredItems$: ReplaySubject<{ label: string; value: any }[]> =\r\n new ReplaySubject<{ label: string; value: any }[]>(1);\r\n itemFilterCtrl = new UntypedFormControl();\r\n isClearAll = false;\r\n subscriptions = new Subscription();\r\n get value(): any {\r\n return this.val;\r\n }\r\n\r\n set value(val) {\r\n if (this.val !== val) {\r\n this.val = val;\r\n this.onChange(val);\r\n this.onTouch(val);\r\n }\r\n }\r\n\r\n constructor(private injector: Injector) {\r\n super();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['items'] && changes['items'].currentValue) {\r\n this.filteredItems$.next(changes['items'].currentValue.slice());\r\n this.filterItems();\r\n\r\n if (\r\n this.multiple &&\r\n this.useSelectAllOption &&\r\n this.allSelected?.selected\r\n ) {\r\n setTimeout(() => {\r\n this.control.patchValue([\r\n ...this.items.map((item) => item.value),\r\n this.selectAllValue,\r\n ]);\r\n }, 100);\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get(\r\n NgControl,\r\n null\r\n ) as NgControl;\r\n\r\n if (ngControl) {\r\n this.control = ngControl.control as UntypedFormControl;\r\n }\r\n\r\n if (this.matSelectSearchComponent) {\r\n this.matSelectSearchComponent._showNoEntriesFound$ = combineLatest([\r\n this.itemFilterCtrl.valueChanges,\r\n this.filteredItems$,\r\n ]).pipe(\r\n map(\r\n ([value, items]) =>\r\n this.matSelectSearchComponent.noEntriesFoundLabel &&\r\n value &&\r\n items.length === 0\r\n )\r\n );\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.subscriptions.add(\r\n this.itemFilterCtrl.valueChanges\r\n .pipe(debounceTime(200))\r\n .subscribe((value:any) => {\r\n this.filterItems();\r\n this.updateFilterItems.emit(value);\r\n\r\n if (this.isClearAll) {\r\n this.control.patchValue([]);\r\n this.isClearAll = false;\r\n }\r\n })\r\n );\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onChange: any = () => {};\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = () => {};\r\n\r\n toggleAllSelection(): void {\r\n if (this.allSelected.selected) {\r\n this.control.patchValue([\r\n ...this.items.map((item) => item.value),\r\n this.selectAllValue,\r\n ]);\r\n } else {\r\n this.control.patchValue([]);\r\n this.isClearAll = true;\r\n }\r\n }\r\n\r\n togglePerOne(): void {\r\n if (this.allSelected) {\r\n if (this.allSelected.selected) {\r\n this.allSelected.deselect();\r\n }\r\n if (\r\n this.setAllOptionAfterChosenAllItems &&\r\n this.control.value.length === this.items.length\r\n ) {\r\n this.allSelected.select();\r\n }\r\n }\r\n this.isClearAll = false;\r\n }\r\n\r\n getAllSelectedChecked(): boolean {\r\n return this.allSelected !== undefined && this.allSelected.selected;\r\n }\r\n\r\n getLabel(val: any): string {\r\n if (\r\n this.useSelectAllOption &&\r\n this.allSelected?.selected &&\r\n this.items &&\r\n this.items.length > 0\r\n ) {\r\n return this.items[0].label;\r\n }\r\n\r\n if (val !== undefined && this.items && this.items.length > 0) {\r\n // eslint-disable-next-line @typescript-eslint/no-shadow\r\n const item = this.items.find((item) => item.value === val);\r\n\r\n return item ? item.label : '';\r\n }\r\n\r\n return '';\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n onSelectionChanged($event: any): void {\r\n this.selectionChange.emit($event);\r\n }\r\n\r\n private filterItems(): void {\r\n if (!this.items) {\r\n return;\r\n }\r\n\r\n // get the search keyword\r\n let search: string = this.itemFilterCtrl.value;\r\n\r\n if (!search || search === '') {\r\n this.filteredItems$.next(this.items.slice());\r\n\r\n return;\r\n }\r\n\r\n search = search.toLowerCase();\r\n\r\n this.filteredItems$.next(\r\n this.items && this.items.length > 0\r\n ? this.items.filter((item) =>\r\n item.label.toLowerCase().includes(search.toLowerCase())\r\n )\r\n : []\r\n );\r\n }\r\n}\r\n","<app-element-wrapper [data]=\"getData()\">\r\n <mat-form-field floatLabel=\"always\" [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\r\n <mat-select\r\n [(ngModel)]=\"value\"\r\n (closed)=\"onTouch()\"\r\n appearance=\"outline\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n (selectionChange)=\"onSelectionChanged($event)\"\r\n >\r\n <mat-select-trigger>\r\n <span *ngIf=\"getAllSelectedChecked()\">{{ 'All' }}</span>\r\n <span *ngIf=\"!getAllSelectedChecked()\"\r\n >{{ val && multiple ? getLabel(val[0]) : getLabel(val) }}\r\n <span *ngIf=\"multiple && value?.length > 1\" class=\"additional-selection\">\r\n (+{{ useSelectAllOption && this.allSelected?.selected ? value?.length - 2 : value?.length - 1 }}\r\n {{ (value?.length === 2 ? 'Other' : 'Others') }})\r\n </span>\r\n </span>\r\n </mat-select-trigger>\r\n <mat-option *ngIf=\"useSearchOption\">\r\n [formControl]=\"itemFilterCtrl\"\r\n <ngx-mat-select-search\r\n [placeholderLabel]=\"searchFieldPlaceholder\"\r\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\r\n ></ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option *ngIf=\"useNoneOption\">{{ 'None' }}</mat-option>\r\n <mat-option #allSelected *ngIf=\"useSelectAllOption\" (click)=\"toggleAllSelection()\" [value]=\"selectAllValue\">{{\r\n 'All'\r\n }}</mat-option>\r\n <mat-option *ngFor=\"let item of filteredItems$ | async\" [value]=\"item.value\" (click)=\"togglePerOne()\">\r\n {{ item.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</app-element-wrapper>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { EcabsSelectComponent } from './ecabs-select.component';\r\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\r\nimport {\r\n MAT_SELECT_SCROLL_STRATEGY,\r\n MatSelectModule,\r\n} from '@angular/material/select';\r\nimport { BlockScrollStrategy, Overlay } from '@angular/cdk/overlay';\r\n\r\n@NgModule({\r\n declarations: [EcabsSelectComponent],\r\n imports: [\r\n CommonModule,\r\n ElementWrapperModule,\r\n MatSelectModule,\r\n FormsModule,\r\n NgxMatSelectSearchModule,\r\n ],\r\n exports: [EcabsSelectComponent],\r\n providers: [\r\n {\r\n provide: MAT_SELECT_SCROLL_STRATEGY,\r\n useFactory: scrollFactory,\r\n deps: [Overlay],\r\n },\r\n ],\r\n})\r\nexport class EcabsSelectModule {}\r\nexport function scrollFactory(overlay: Overlay): () => BlockScrollStrategy {\r\n return () => overlay.scrollStrategies.block();\r\n}\r\n","import { AfterViewInit, Component, Injector, Input } from '@angular/core';\r\nimport { ControlValueAccessor, UntypedFormControl, NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport ElementBaseComponent from '../base/element-base';\r\n\r\n@Component({\r\n selector: 'ecabs-textarea',\r\n templateUrl: './ecabs-textarea.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EcabsTextareaComponent,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class EcabsTextareaComponent extends ElementBaseComponent implements ControlValueAccessor, AfterViewInit {\r\n @Input()\r\n rows!: number;\r\n\r\n val!: string;\r\n\r\n get value(): string {\r\n return this.val;\r\n }\r\n\r\n set value(val) {\r\n if (val !== undefined && this.val !== val) {\r\n this.val = val;\r\n this.onChange(val);\r\n this.onTouch(val);\r\n }\r\n }\r\n\r\n constructor(private injector: Injector) {\r\n super();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get(NgControl, null) as NgControl;\r\n if (ngControl) {\r\n this.control = ngControl.control as UntypedFormControl;\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onChange: any = (): void => {};\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = (): void => {};\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n}\r\n","<app-element-wrapper [data]=\"getData()\">\r\n <textarea\r\n class=\"form-field__textarea\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [rows]=\"rows\"\r\n >\r\n </textarea>\r\n</app-element-wrapper>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EcabsTextareaComponent } from './ecabs-textarea.component';\r\nimport { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [EcabsTextareaComponent],\r\n imports: [CommonModule, ElementWrapperModule, FormsModule],\r\n exports: [EcabsTextareaComponent],\r\n})\r\nexport class EcabsTextAreaModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.EcabsSpinnerComponent","i2.EcabsSpinnerComponent","i1.EcabsComponentsService","i2","i3.ValidationComponent","i6.HintComponent","i2.ElementWrapperComponent","i4.DigitsOnlyDirective","i3","i4","i5","i6","i1.ElementWrapperComponent"],"mappings":"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"}
1
+ {"version":3,"file":"ecabs-components.mjs","sources":["../../../projects/ecabs-components/src/lib/ecabs-loading/spinner/spinner.component.ts","../../../projects/ecabs-components/src/lib/ecabs-loading/spinner/spinner.component.html","../../../projects/ecabs-components/src/lib/ecabs-buttons/ecabs-buttons.component.ts","../../../projects/ecabs-components/src/lib/ecabs-buttons/ecabs-buttons.component.html","../../../projects/ecabs-components/src/lib/ecabs-loading/ecabs-loading.component.ts","../../../projects/ecabs-components/src/lib/ecabs-loading/ecabs-loading.component.html","../../../projects/ecabs-components/src/lib/ecabs-loading/ecabs-loading.module.ts","../../../projects/ecabs-components/src/lib/ecabs-buttons/ecabs-buttons.module.ts","../../../projects/ecabs-components/src/lib/base/element-base.ts","../../../projects/ecabs-components/src/lib/services/ecabs-components.service.ts","../../../projects/ecabs-components/src/lib/base/validation/validation.component.ts","../../../projects/ecabs-components/src/lib/base/validation/validation.component.html","../../../projects/ecabs-components/src/lib/base/hint/hint.component.ts","../../../projects/ecabs-components/src/lib/base/hint/hint.component.html","../../../projects/ecabs-components/src/lib/base/element-wrapper/element-wrapper.component.ts","../../../projects/ecabs-components/src/lib/base/element-wrapper/element-wrapper.component.html","../../../projects/ecabs-components/src/lib/base/directives/digits-only.directive.ts","../../../projects/ecabs-components/src/lib/ecabs-input/ecabs-input.component.ts","../../../projects/ecabs-components/src/lib/ecabs-input/ecabs-input.component.html","../../../projects/ecabs-components/src/lib/base/hint/hint.module.ts","../../../projects/ecabs-components/src/lib/base/validation/validation.module.ts","../../../projects/ecabs-components/src/lib/base/element-wrapper/element-wrapper.module.ts","../../../projects/ecabs-components/src/lib/base/directives/digits-only.directive.module.ts","../../../projects/ecabs-components/src/lib/ecabs-input/ecabs-input.module.ts","../../../projects/ecabs-components/src/lib/ecabs-select/ecabs-select.component.ts","../../../projects/ecabs-components/src/lib/ecabs-select/ecabs-select.component.html","../../../projects/ecabs-components/src/lib/ecabs-select/ecabs-select.module.ts","../../../projects/ecabs-components/src/lib/ecabs-textarea/ecabs-textarea.component.ts","../../../projects/ecabs-components/src/lib/ecabs-textarea/ecabs-textarea.component.html","../../../projects/ecabs-components/src/lib/ecabs-textarea/ecabs-textarea.module.ts","../../../projects/ecabs-components/src/ecabs-components.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ecabs-loading-spinner',\r\n templateUrl: './spinner.component.html',\r\n styleUrls: ['./spinner.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class EcabsSpinnerComponent {\r\n @Input() size: 'large' | 'medium' | 'tiny' = 'medium';\r\n}\r\n","<div class=\"loadingio-spinner-rolling {{ size }}\">\r\n <div class=\"ldio-inner\">\r\n <div></div>\r\n </div>\r\n</div>\r\n","import { Component, HostBinding, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\n\r\n@Component({\r\n selector: 'ecabs-buttons',\r\n templateUrl: './ecabs-buttons.component.html',\r\n})\r\nexport class ButtonsComponent implements OnInit, OnChanges {\r\n @Input()\r\n label!: string;\r\n\r\n @Input()\r\n disabled!: boolean;\r\n\r\n @Input()\r\n loading!: boolean;\r\n\r\n @Input()\r\n form!: string;\r\n\r\n @Input()\r\n size: 'default' | 'large' = 'default';\r\n\r\n @Input()\r\n type: 'button' | 'submit' = 'button';\r\n\r\n @Input() raised = false;\r\n @Input() stroked = false;\r\n @Input() full = false;\r\n @Input()\r\n color: ThemePalette | 'success' = 'primary';\r\n\r\n @HostBinding('style.width')\r\n borderWidth = '';\r\n @HostBinding('class')\r\n classAttr = '';\r\n\r\n ngOnInit(): void {\r\n if (this.full) {\r\n this.borderWidth = '100%';\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const disabled = changes['disabled']?.currentValue !== undefined ? changes['disabled'].currentValue : this.disabled;\r\n const loading = changes['loading']?.currentValue !== undefined ? changes['loading'].currentValue : this.loading;\r\n\r\n if (disabled || loading) {\r\n this.classAttr = 'pointer-events-none';\r\n } else {\r\n this.classAttr = '';\r\n }\r\n }\r\n}\r\n","<button\r\n mat-button\r\n [ngClass]=\"{\r\n '!w-full': full,\r\n 'mat-stroked-button': stroked,\r\n 'mat-raised-button': raised\r\n }\"\r\n [color]=\"color\"\r\n [disabled]=\"disabled\"\r\n [type]=\"type\"\r\n [attr.form]=\"form\"\r\n>\r\n <ecabs-loading-spinner size=\"tiny\" *ngIf=\"loading\"></ecabs-loading-spinner>\r\n <ng-container *ngIf=\"!loading\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n</button>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ecabs-ecabs-loading',\r\n templateUrl: './ecabs-loading.component.html',\r\n})\r\nexport class EcabsLoadingComponent {\r\n @Input() loading = false;\r\n @Input() backgroundColor = 'white';\r\n @Input() size: 'large' | 'medium' | 'tiny' = 'medium';\r\n}\r\n","<div\r\n class=\"flex absolute left-0 top-0 right-0 bottom-0 z-50 items-center justify-center\"\r\n [ngStyle]=\"{ backgroundColor: backgroundColor }\"\r\n *ngIf=\"loading\"\r\n>\r\n <ecabs-loading-spinner [size]=\"size\" *ngIf=\"loading\"></ecabs-loading-spinner>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EcabsLoadingComponent } from './ecabs-loading.component';\r\nimport { EcabsSpinnerComponent } from './spinner/spinner.component';\r\n\r\n@NgModule({\r\n declarations: [EcabsLoadingComponent, EcabsSpinnerComponent],\r\n imports: [CommonModule],\r\n exports: [EcabsLoadingComponent, EcabsSpinnerComponent],\r\n})\r\nexport class EcabsLoadingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonsComponent } from './ecabs-buttons.component';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { EcabsLoadingModule } from '../ecabs-loading/ecabs-loading.module';\r\n\r\n@NgModule({\r\n declarations: [ButtonsComponent],\r\n imports: [CommonModule, MatButtonModule, EcabsLoadingModule, MatIconModule],\r\n exports: [ButtonsComponent],\r\n})\r\nexport class EcabsButtonsModule {}\r\n","import { Input, Output, EventEmitter, Component } from '@angular/core';\r\nimport { AbstractControl, UntypedFormControl } from '@angular/forms';\r\n\r\n@Component({\r\n template: '',\r\n})\r\nexport default class ElementBaseComponent {\r\n @Input() type!:string;\r\n @Input() name!:string;\r\n @Input() label!:string;\r\n @Input() placeholder = '';\r\n @Input() validationLabel!:string;\r\n @Input() disabled = false;\r\n @Input() showValidation = true;\r\n @Input() showValidationOnNotTouched = false;\r\n @Input() hideValidationMessage = false;\r\n @Input() iconClass = '';\r\n @Input() loading = false;\r\n @Input() showHint: boolean = false;\r\n @Input() maxLength!: number;\r\n @Input() tooltip!: string;\r\n @Input() showAsterisk: boolean = true;\r\n\r\n @Output() focused = new EventEmitter<any>();\r\n @Output() focusOuted = new EventEmitter<any>();\r\n\r\n control!: UntypedFormControl;\r\n required: boolean = false;\r\n\r\n getData(): any {\r\n return {\r\n type: this.type || 'text',\r\n label: this.label,\r\n placeholder: this.placeholder,\r\n validationLabel: this.validationLabel,\r\n disabled: this.disabled,\r\n showValidation: this.showValidation,\r\n showValidationOnNotTouched: this.showValidationOnNotTouched,\r\n hideValidationMessage: this.hideValidationMessage,\r\n iconClass: this.iconClass,\r\n control: this.control,\r\n loading: this.loading,\r\n showHint: this.showHint,\r\n maxLength: this.maxLength,\r\n tooltip: this.tooltip,\r\n name: this.name,\r\n required: this.isRequired(this.control),\r\n showAsterisk: this.showAsterisk,\r\n };\r\n }\r\n\r\n private isRequired = (ctrl: any): boolean => {\r\n if (ctrl?.validator) {\r\n const validator = ctrl.validator({} as AbstractControl);\r\n if (validator && validator['required']) {\r\n return true;\r\n }\r\n }\r\n\r\n if (ctrl?.['controls']) {\r\n for (const name in ctrl['controls']) {\r\n if (ctrl['controls'][name]) {\r\n if (this.isRequired(ctrl['controls'][name])) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EcabsComponentsService {\r\n config: EcabsComponentsConfig = {\r\n errorMessages: [\r\n { type: 'required', message: '[label] is required' },\r\n { type: 'minlength', message: '[label] should be atleast [requiredLength] character' },\r\n { type: 'maxLength', message: '[label] should be maximum [requiredLength] character' },\r\n { type: 'min', message: '[label] should be minmum [min]' },\r\n { type: 'max', message: '[label] should be maximum [max]' },\r\n { type: 'minValue', message: '[label] should be minmum [requiredMin]' },\r\n { type: 'maxValue', message: '[label] should be maximum [requiredMax]' },\r\n ],\r\n };\r\n constructor() {}\r\n setConfig(c: EcabsComponentsConfig) {\r\n this.config.errorMessages = c.errorMessages;\r\n }\r\n getConfig(): EcabsComponentsConfig {\r\n return this.config;\r\n }\r\n}\r\n\r\nexport interface EcabsComponentsConfig {\r\n errorMessages: ErrorMessage[];\r\n}\r\nexport interface ErrorMessage {\r\n type: string;\r\n message: string;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport {\r\n EcabsComponentsConfig,\r\n EcabsComponentsService,\r\n} from '../../services/ecabs-components.service';\r\n\r\n@Component({\r\n selector: 'app-validations-messages',\r\n templateUrl: './validation.component.html',\r\n styleUrls: ['./validation.component.scss'],\r\n})\r\nexport class ValidationComponent implements OnInit, OnChanges {\r\n @Input() element!: any;\r\n @Input() label!: string;\r\n @Input() showValidationOnNotTouched = false;\r\n @Input() updatedErrors!: { type: string; message: string }[];\r\n config!: EcabsComponentsConfig;\r\n private _messages: any = {};\r\n\r\n get messages(): any {\r\n if (this.element) {\r\n for (const errorKey in this.element.errors) {\r\n for (const key in this.element.errors[errorKey]) {\r\n if (this._messages[errorKey]) {\r\n this._messages[errorKey] = this._messages[errorKey].replace(\r\n `[${key}]`,\r\n this.element.errors[errorKey][key]\r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n return this._messages;\r\n }\r\n\r\n set messages(m) {\r\n this._messages = m;\r\n }\r\n\r\n constructor(private ecabsService: EcabsComponentsService) {}\r\n\r\n ngOnInit() {\r\n this.config = this.ecabsService.getConfig();\r\n for (let error of this.config.errorMessages) {\r\n this.messages[error.type] = this.replaceTokens(error.message);\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { updatedErrors } = changes;\r\n\r\n if (\r\n updatedErrors &&\r\n updatedErrors.currentValue &&\r\n updatedErrors.currentValue.length > 0\r\n ) {\r\n for (const error of updatedErrors.currentValue) {\r\n this.messages[error.type] = error.message;\r\n }\r\n }\r\n }\r\n\r\n replaceTokens(message: string): string {\r\n let retMessage: string;\r\n if (this.label) {\r\n retMessage = message.replace('[label]', this.label);\r\n } else {\r\n retMessage = message;\r\n }\r\n\r\n return retMessage;\r\n }\r\n\r\n getMessageDetail(key: any): string {\r\n return this.messages[key];\r\n }\r\n}\r\n","<div\r\n class=\"form-field__validation\"\r\n *ngIf=\"element && (element?.touched || showValidationOnNotTouched) && element?.invalid\"\r\n>\r\n <div class=\"form-field__validation__item\" *ngFor=\"let item of element?.errors | keyvalue\">\r\n {{ getMessageDetail(item.key) }}\r\n </div>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-hint',\r\n templateUrl: './hint.component.html',\r\n styleUrls: ['./hint.component.scss'],\r\n})\r\nexport class HintComponent {\r\n @Input() element!:any;\r\n @Input() maxValue!:number;\r\n @Input() showHint = false;\r\n}\r\n","<div class=\"hint\" *ngIf=\"element && showHint\">{{ element?.value?.length || 0 }}/{{ this.maxValue }}</div>\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-element-wrapper',\r\n templateUrl: './element-wrapper.component.html',\r\n})\r\nexport class ElementWrapperComponent {\r\n @Input() data!:any;\r\n @Input() showCloseIcon!:boolean;\r\n @Input() focusedFlag!:any;\r\n @Input() showPassword!:boolean;\r\n @Input() control!:any;\r\n @Output() showHidePassword = new EventEmitter<any>();\r\n @Output() clear = new EventEmitter<any>();\r\n @Output() increase = new EventEmitter<any>();\r\n @Output() decrease = new EventEmitter<any>();\r\n\r\n showHidePasswordFn(event:any): void {\r\n this.showHidePassword.emit(event);\r\n }\r\n\r\n clearFn(): void {\r\n this.clear.emit();\r\n }\r\n\r\n increaseFn(): void {\r\n this.increase.emit();\r\n }\r\n\r\n decreaseFn(): void {\r\n this.decrease.emit();\r\n }\r\n}\r\n","<div\r\n class=\"form-field\"\r\n [ngClass]=\"{\r\n 'form-field--invalid':\r\n data?.showValidation && (data?.control?.touched || data?.showValidationOnNotTouched) && data?.control?.invalid,\r\n disabled: data?.disabled,\r\n 'form-field--required': data?.required && data?.showAsterisk\r\n }\"\r\n>\r\n <div>\r\n <label class=\"form-field__label\" [attr.for]=\"data?.name\" *ngIf=\"data?.label\">\r\n <span [innerHTML]=\"data?.label\"></span>\r\n <mat-icon class=\"icon\" *ngIf=\"data?.tooltip\" [matTooltip]=\"data?.tooltip\">error_outline</mat-icon>\r\n </label>\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ecabs-loading-spinner class=\"spinner\" size=\"tiny\" *ngIf=\"data.loading\"></ecabs-loading-spinner>\r\n\r\n <app-hint [element]=\"data?.control\" [showHint]=\"data?.showHint\" [maxValue]=\"data?.maxLength\"></app-hint>\r\n\r\n <app-validations-messages\r\n *ngIf=\"data?.showValidation && !data?.hideValidationMessage\"\r\n [element]=\"data?.control\"\r\n [label]=\"data?.label ? data?.label : data?.placeholder ? data.placeholder : data?.validationLabel\"\r\n [showValidationOnNotTouched]=\"data?.showValidationOnNotTouched\"\r\n >\r\n </app-validations-messages>\r\n</div>\r\n","import { Directive, ElementRef, HostListener, Input, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appDigitsOnly]',\r\n})\r\nexport class DigitsOnlyDirective implements OnInit {\r\n @Input()\r\n digitsOnly = false;\r\n\r\n @Input()\r\n allowHyphen = false;\r\n\r\n @Input() decimal? = false;\r\n @Input() decimalSeparator? = '.';\r\n @Input() unit? = 0;\r\n\r\n inputElement: HTMLInputElement;\r\n minus = '-';\r\n minusCounter = 0;\r\n regex!: RegExp;\r\n\r\n private decimalCounter = 0;\r\n private readonly navigationKeys = [\r\n 'Backspace',\r\n 'Delete',\r\n 'Tab',\r\n 'Escape',\r\n 'Enter',\r\n 'Home',\r\n 'End',\r\n 'ArrowLeft',\r\n 'ArrowRight',\r\n 'Clear',\r\n 'Copy',\r\n 'Paste',\r\n ];\r\n\r\n constructor(public el: ElementRef) {\r\n this.inputElement = el.nativeElement;\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: KeyboardEvent): void {\r\n if (this.digitsOnly) {\r\n if (\r\n this.navigationKeys.indexOf(e.key) > -1 || // Allow: navigation keys: backspace, delete, arrows etc.\r\n (e.key === 'a' && e.ctrlKey) || // Allow: Ctrl+A\r\n (e.key === 'c' && e.ctrlKey) || // Allow: Ctrl+C\r\n (e.key === 'v' && e.ctrlKey) || // Allow: Ctrl+V\r\n (e.key === 'x' && e.ctrlKey) || // Allow: Ctrl+X\r\n (e.key === 'a' && e.metaKey) || // Allow: Cmd+A (Mac)\r\n (e.key === 'c' && e.metaKey) || // Allow: Cmd+C (Mac)\r\n (e.key === 'v' && e.metaKey) || // Allow: Cmd+V (Mac)\r\n (e.key === 'x' && e.metaKey) || // Allow: Cmd+X (Mac)\r\n (this.decimal && e.key === this.decimalSeparator && this.decimalCounter < 1) || // Allow: only one decimal point\r\n (this.decimal && e.key === this.minus && this.minusCounter < 1) // Allow: only one minus\r\n ) {\r\n return;\r\n }\r\n\r\n // Ensure that it is a number and stop the keypress\r\n if (e.key === ' ' || !this.regex.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n }\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n onKeyUp(): void {\r\n if (this.digitsOnly) {\r\n if (!this.decimal) {\r\n return;\r\n }\r\n\r\n this.decimalCounter = this.el.nativeElement.value.split(this.decimalSeparator).length - 1;\r\n this.minusCounter = this.el.nativeElement.value.split(this.minus).length - 1;\r\n\r\n if (isNaN(+this.inputElement.value)) {\r\n this.inputElement.value = this.sanitizeInput(this.inputElement.value);\r\n }\r\n }\r\n }\r\n\r\n @HostListener('paste', ['$event'])\r\n onPaste(event: ClipboardEvent): void {\r\n if (this.digitsOnly) {\r\n const pastedInput = event.clipboardData?.getData('text/plain') as string;\r\n this.pasteData(pastedInput);\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.regex = new RegExp(this.allowHyphen ? '^[\\\\d -]+$' : '\\\\d');\r\n }\r\n\r\n private pasteData(pastedContent: string): void {\r\n const sanitizedContent = isNaN(+pastedContent) ? this.sanitizeInput(pastedContent) : pastedContent;\r\n const pasted = document.execCommand('insertText', false, sanitizedContent);\r\n if (!pasted) {\r\n const { selectionStart: start, selectionEnd: end } = this.inputElement;\r\n this.inputElement.setRangeText(sanitizedContent, start as number, end as number, 'end');\r\n }\r\n }\r\n\r\n private sanitizeInput(input: string): string {\r\n let result = '';\r\n if (this.decimal && this.isValidDecimal(input)) {\r\n const regex = new RegExp(`^[\\d -${this.decimalSeparator}]+$`, 'g');\r\n result = input.replace(regex, '');\r\n } else {\r\n result = input.replace(`/${this.regex}/g`, '');\r\n }\r\n\r\n const maxLength = this.inputElement.maxLength;\r\n\r\n if (maxLength > 0) {\r\n // the input element has maxLength limit\r\n const allowedLength = maxLength - this.inputElement.value.length;\r\n result = allowedLength > 0 ? result.substring(0, allowedLength) : '';\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private isValidDecimal(inputString: string): boolean {\r\n return inputString.split(this.decimalSeparator as string).length <= 2;\r\n }\r\n}\r\n","import { AfterViewInit, Component, EventEmitter, Injector, Input, OnInit, Output } from '@angular/core';\r\nimport { ControlValueAccessor, UntypedFormControl, NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport ElementBaseComponent from '../base/element-base';\r\n\r\n@Component({\r\n selector: 'ecabs-input',\r\n templateUrl: './ecabs-input.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EcabsInputComponent,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class EcabsInputComponent\r\n extends ElementBaseComponent\r\n implements ControlValueAccessor, AfterViewInit, OnInit\r\n{\r\n @Input()\r\n digitsOnly!: boolean;\r\n\r\n @Input()\r\n allowDecimal!: boolean;\r\n\r\n @Input()\r\n allowHyphen!: boolean;\r\n\r\n @Input() max!: number;\r\n @Input() step!: number;\r\n\r\n @Output() onblur = new EventEmitter<any>();\r\n val!: string | number;\r\n\r\n get value(): string | number {\r\n return this.val;\r\n }\r\n\r\n set value(val) {\r\n if (val !== undefined && this.val !== val) {\r\n this.val = val;\r\n this.onChange(val);\r\n this.onTouch(val);\r\n }\r\n }\r\n\r\n constructor(private injector: Injector) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.type === 'number') {\r\n this.digitsOnly = true;\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get(NgControl, null) as NgControl;\r\n if (ngControl) {\r\n this.control = ngControl.control as UntypedFormControl;\r\n }\r\n }\r\n\r\n onChange: any = () => {};\r\n\r\n onTouch: any = () => {};\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n blurChange(e:any): void {\r\n this.onblur.emit(e);\r\n }\r\n}\r\n","<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input\r\n appDigitsOnly\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</app-element-wrapper>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\n\r\nimport { HintComponent } from './hint.component';\r\n\r\n@NgModule({\r\n declarations: [HintComponent],\r\n imports: [CommonModule, FormsModule, MatFormFieldModule],\r\n exports: [HintComponent],\r\n})\r\nexport class HintModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { ValidationComponent } from './validation.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\n\r\n@NgModule({\r\n declarations: [ValidationComponent],\r\n imports: [CommonModule, FormsModule, MatFormFieldModule],\r\n exports: [ValidationComponent],\r\n})\r\nexport class ValidationModule {}\r\n","\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\nimport { HintModule } from '../hint/hint.module';\r\nimport { ValidationModule } from '../validation/validation.module';\r\nimport { ElementWrapperComponent } from './element-wrapper.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { EcabsLoadingModule } from '../../ecabs-loading/ecabs-loading.module';\r\n\r\n@NgModule({\r\n declarations: [ElementWrapperComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n EcabsLoadingModule,\r\n ValidationModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n HintModule,\r\n ],\r\n exports: [ElementWrapperComponent],\r\n})\r\nexport class ElementWrapperModule {}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { DigitsOnlyDirective } from './digits-only.directive';\r\n\r\n@NgModule( {\r\n imports: [ CommonModule ],\r\n declarations: [\r\n DigitsOnlyDirective,\r\n ],\r\n exports: [\r\n DigitsOnlyDirective,\r\n ],\r\n} )\r\nexport class DigitsOnlyDirectivesModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EcabsInputComponent } from './ecabs-input.component';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DigitsOnlyDirectivesModule } from '../base/directives/digits-only.directive.module';\r\n\r\n@NgModule( {\r\n declarations: [ EcabsInputComponent ],\r\n imports: [ CommonModule, MatInputModule, ElementWrapperModule, FormsModule, DigitsOnlyDirectivesModule ],\r\n exports: [ EcabsInputComponent ],\r\n} )\r\nexport class EcabsInputModule { }\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n EventEmitter,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n UntypedFormControl,\r\n NgControl,\r\n NG_VALUE_ACCESSOR,\r\n} from '@angular/forms';\r\nimport { MatOption } from '@angular/material/core';\r\nimport { MatSelectSearchComponent } from 'ngx-mat-select-search';\r\nimport {\r\n combineLatest,\r\n debounceTime,\r\n map,\r\n ReplaySubject,\r\n Subscription,\r\n tap,\r\n} from 'rxjs';\r\nimport ElementBaseComponent from '../base/element-base';\r\n\r\n@Component( {\r\n selector: 'ecabs-select',\r\n templateUrl: './ecabs-select.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EcabsSelectComponent,\r\n multi: true,\r\n },\r\n ],\r\n} )\r\nexport class EcabsSelectComponent\r\n extends ElementBaseComponent\r\n implements OnInit, OnChanges, AfterViewInit, OnDestroy {\r\n @Input() items!: { label: string; value: any }[];\r\n @Input() multiple = false;\r\n @Input() useNoneOption: boolean = false;\r\n @Input() useOnlyDisabledClass = false;\r\n @Input() searchFieldPlaceholder: string = 'Search';\r\n @Input() useSearchOption = false;\r\n @Input() useSelectAllOption = false;\r\n @Input() setAllOptionAfterChosenAllItems = true;\r\n @Input() selectAllValue: any = 0;\r\n @Input() noEntriesFoundLabel = 'No matching found';\r\n @Input() noneLabel = 'None';\r\n @Input() allLabel = 'All';\r\n @Input() otherLabel = 'Other';\r\n @Input() othersLabel = 'Others';\r\n @Output() updateFilterItems: EventEmitter<string> =\r\n new EventEmitter<string>();\r\n @Output() selectionChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @ViewChild( 'allSelected' ) allSelected!: MatOption;\r\n @ViewChild( MatSelectSearchComponent )\r\n matSelectSearchComponent!: MatSelectSearchComponent;\r\n\r\n val!: any;\r\n filteredItems$: ReplaySubject<{ label: string; value: any }[]> =\r\n new ReplaySubject<{ label: string; value: any }[]>( 1 );\r\n itemFilterCtrl = new UntypedFormControl();\r\n isClearAll = false;\r\n subscriptions = new Subscription();\r\n get value(): any {\r\n return this.val;\r\n }\r\n\r\n set value( val ) {\r\n if ( this.val !== val ) {\r\n this.val = val;\r\n this.onChange( val );\r\n this.onTouch( val );\r\n }\r\n }\r\n\r\n constructor( private injector: Injector ) {\r\n super();\r\n }\r\n\r\n ngOnChanges( changes: SimpleChanges ): void {\r\n if ( changes[ 'items' ] && changes[ 'items' ].currentValue ) {\r\n this.filteredItems$.next( changes[ 'items' ].currentValue.slice() );\r\n this.filterItems();\r\n\r\n if (\r\n this.multiple &&\r\n this.useSelectAllOption &&\r\n this.allSelected?.selected\r\n ) {\r\n setTimeout( () => {\r\n this.control.patchValue( [\r\n ...this.items.map( ( item ) => item.value ),\r\n this.selectAllValue,\r\n ] );\r\n }, 100 );\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get(\r\n NgControl,\r\n null\r\n ) as NgControl;\r\n\r\n if ( ngControl ) {\r\n this.control = ngControl.control as UntypedFormControl;\r\n }\r\n\r\n if ( this.matSelectSearchComponent ) {\r\n this.matSelectSearchComponent._showNoEntriesFound$ = combineLatest( [\r\n this.itemFilterCtrl.valueChanges,\r\n this.filteredItems$,\r\n ] ).pipe(\r\n map(\r\n ( [ value, items ] ) =>\r\n this.matSelectSearchComponent.noEntriesFoundLabel &&\r\n value &&\r\n items.length === 0\r\n )\r\n );\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.subscriptions.add(\r\n this.itemFilterCtrl.valueChanges\r\n .pipe( debounceTime( 200 ) )\r\n .subscribe( ( value: any ) => {\r\n this.filterItems();\r\n this.updateFilterItems.emit( value );\r\n\r\n if ( this.isClearAll ) {\r\n this.control.patchValue( [] );\r\n this.isClearAll = false;\r\n }\r\n } )\r\n );\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onChange: any = () => { };\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = () => { };\r\n\r\n toggleAllSelection(): void {\r\n if ( this.allSelected.selected ) {\r\n this.control.patchValue( [\r\n ...this.items.map( ( item ) => item.value ),\r\n this.selectAllValue,\r\n ] );\r\n } else {\r\n this.control.patchValue( [] );\r\n this.isClearAll = true;\r\n }\r\n }\r\n\r\n togglePerOne(): void {\r\n if ( this.allSelected ) {\r\n if ( this.allSelected.selected ) {\r\n this.allSelected.deselect();\r\n }\r\n if (\r\n this.setAllOptionAfterChosenAllItems &&\r\n this.control.value.length === this.items.length\r\n ) {\r\n this.allSelected.select();\r\n }\r\n }\r\n this.isClearAll = false;\r\n }\r\n\r\n getAllSelectedChecked(): boolean {\r\n return this.allSelected !== undefined && this.allSelected.selected;\r\n }\r\n\r\n getLabel( val: any ): string {\r\n if (\r\n this.useSelectAllOption &&\r\n this.allSelected?.selected &&\r\n this.items &&\r\n this.items.length > 0\r\n ) {\r\n return this.items[ 0 ].label;\r\n }\r\n\r\n if ( val !== undefined && this.items && this.items.length > 0 ) {\r\n // eslint-disable-next-line @typescript-eslint/no-shadow\r\n const item = this.items.find( ( item ) => item.value === val );\r\n\r\n return item ? item.label : '';\r\n }\r\n\r\n return '';\r\n }\r\n\r\n writeValue( value: any ): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange( fn: any ): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched( fn: any ): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n onSelectionChanged( $event: any ): void {\r\n this.selectionChange.emit( $event );\r\n }\r\n\r\n private filterItems(): void {\r\n if ( !this.items ) {\r\n return;\r\n }\r\n\r\n // get the search keyword\r\n let search: string = this.itemFilterCtrl.value;\r\n\r\n if ( !search || search === '' ) {\r\n this.filteredItems$.next( this.items.slice() );\r\n\r\n return;\r\n }\r\n\r\n search = search.toLowerCase();\r\n\r\n this.filteredItems$.next(\r\n this.items && this.items.length > 0\r\n ? this.items.filter( ( item ) =>\r\n item.label.toLowerCase().includes( search.toLowerCase() )\r\n )\r\n : []\r\n );\r\n }\r\n}\r\n","<app-element-wrapper [data]=\"getData()\">\r\n <mat-form-field [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\r\n <mat-select\r\n [(ngModel)]=\"value\"\r\n (closed)=\"onTouch()\"\r\n appearance=\"outline\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n (selectionChange)=\"onSelectionChanged($event)\"\r\n >\r\n <mat-select-trigger>\r\n <span *ngIf=\"getAllSelectedChecked()\">{{ allLabel }}</span>\r\n <span *ngIf=\"!getAllSelectedChecked()\"\r\n >{{ val && multiple ? getLabel(val[0]) : getLabel(val) }}\r\n <span *ngIf=\"multiple && value?.length > 1\" class=\"additional-selection\">\r\n (+{{ useSelectAllOption && this.allSelected.selected ? value?.length - 2 : value?.length - 1 }}\r\n {{ (value?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </span>\r\n </mat-select-trigger>\r\n <mat-option *ngIf=\"useSearchOption\">\r\n <ngx-mat-select-search\r\n [formControl]=\"itemFilterCtrl\"\r\n [placeholderLabel]=\"searchFieldPlaceholder\"\r\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\r\n ></ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option *ngIf=\"useNoneOption\">{{ noneLabel }}</mat-option>\r\n <mat-option #allSelected *ngIf=\"useSelectAllOption\" (click)=\"toggleAllSelection()\" [value]=\"selectAllValue\">{{\r\n allLabel\r\n }}</mat-option>\r\n <mat-option *ngFor=\"let item of filteredItems$ | async\" [value]=\"item.value\" (click)=\"togglePerOne()\">\r\n {{ item.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</app-element-wrapper>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { EcabsSelectComponent } from './ecabs-select.component';\r\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\r\nimport {\r\n MAT_SELECT_SCROLL_STRATEGY,\r\n MatSelectModule,\r\n} from '@angular/material/select';\r\nimport { BlockScrollStrategy, Overlay } from '@angular/cdk/overlay';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\n\r\n@NgModule( {\r\n declarations: [ EcabsSelectComponent ],\r\n imports: [\r\n CommonModule,\r\n ElementWrapperModule,\r\n MatSelectModule,\r\n MatFormFieldModule,\r\n FormsModule,\r\n NgxMatSelectSearchModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [ EcabsSelectComponent ],\r\n providers: [\r\n {\r\n provide: MAT_SELECT_SCROLL_STRATEGY,\r\n useFactory: scrollFactory,\r\n deps: [ Overlay ],\r\n },\r\n ],\r\n} )\r\nexport class EcabsSelectModule { }\r\nexport function scrollFactory( overlay: Overlay ): () => BlockScrollStrategy {\r\n return () => overlay.scrollStrategies.block();\r\n}\r\n","import { AfterViewInit, Component, Injector, Input } from '@angular/core';\r\nimport { ControlValueAccessor, UntypedFormControl, NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport ElementBaseComponent from '../base/element-base';\r\n\r\n@Component({\r\n selector: 'ecabs-textarea',\r\n templateUrl: './ecabs-textarea.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: EcabsTextareaComponent,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class EcabsTextareaComponent extends ElementBaseComponent implements ControlValueAccessor, AfterViewInit {\r\n @Input()\r\n rows!: number;\r\n\r\n val!: string;\r\n\r\n get value(): string {\r\n return this.val;\r\n }\r\n\r\n set value(val) {\r\n if (val !== undefined && this.val !== val) {\r\n this.val = val;\r\n this.onChange(val);\r\n this.onTouch(val);\r\n }\r\n }\r\n\r\n constructor(private injector: Injector) {\r\n super();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get(NgControl, null) as NgControl;\r\n if (ngControl) {\r\n this.control = ngControl.control as UntypedFormControl;\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onChange: any = (): void => {};\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n onTouch: any = (): void => {};\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n}\r\n","<app-element-wrapper [data]=\"getData()\">\r\n <textarea\r\n class=\"form-field__textarea\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [rows]=\"rows\"\r\n >\r\n </textarea>\r\n</app-element-wrapper>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EcabsTextareaComponent } from './ecabs-textarea.component';\r\nimport { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [EcabsTextareaComponent],\r\n imports: [CommonModule, ElementWrapperModule, FormsModule],\r\n exports: [EcabsTextareaComponent],\r\n})\r\nexport class EcabsTextAreaModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.EcabsSpinnerComponent","i2.EcabsSpinnerComponent","i1.EcabsComponentsService","i2","i3.ValidationComponent","i6.HintComponent","i2.ElementWrapperComponent","i4.DigitsOnlyDirective","i3","i4","i5","i6","i1.ElementWrapperComponent"],"mappings":"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"}
@@ -7,7 +7,7 @@ import { MatButtonModule } from '@angular/material/button';
7
7
  import * as i4 from '@angular/material/icon';
8
8
  import { MatIconModule } from '@angular/material/icon';
9
9
  import * as i3 from '@angular/forms';
10
- import { NgControl, NG_VALUE_ACCESSOR, FormsModule, UntypedFormControl } from '@angular/forms';
10
+ import { NgControl, NG_VALUE_ACCESSOR, FormsModule, UntypedFormControl, ReactiveFormsModule } from '@angular/forms';
11
11
  import * as i5 from '@angular/material/tooltip';
12
12
  import { MatTooltipModule } from '@angular/material/tooltip';
13
13
  import { MatInputModule } from '@angular/material/input';
@@ -669,16 +669,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
669
669
  }]
670
670
  }] });
671
671
 
672
+ class DigitsOnlyDirectivesModule {
673
+ }
674
+ DigitsOnlyDirectivesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DigitsOnlyDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
675
+ DigitsOnlyDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DigitsOnlyDirectivesModule, declarations: [DigitsOnlyDirective], imports: [CommonModule], exports: [DigitsOnlyDirective] });
676
+ DigitsOnlyDirectivesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DigitsOnlyDirectivesModule, imports: [CommonModule] });
677
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DigitsOnlyDirectivesModule, decorators: [{
678
+ type: NgModule,
679
+ args: [{
680
+ imports: [CommonModule],
681
+ declarations: [
682
+ DigitsOnlyDirective,
683
+ ],
684
+ exports: [
685
+ DigitsOnlyDirective,
686
+ ],
687
+ }]
688
+ }] });
689
+
672
690
  class EcabsInputModule {
673
691
  }
674
692
  EcabsInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EcabsInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
675
- EcabsInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: EcabsInputModule, declarations: [EcabsInputComponent, DigitsOnlyDirective], imports: [CommonModule, MatInputModule, ElementWrapperModule, FormsModule], exports: [EcabsInputComponent] });
676
- EcabsInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EcabsInputModule, imports: [CommonModule, MatInputModule, ElementWrapperModule, FormsModule] });
693
+ EcabsInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: EcabsInputModule, declarations: [EcabsInputComponent], imports: [CommonModule, MatInputModule, ElementWrapperModule, FormsModule, DigitsOnlyDirectivesModule], exports: [EcabsInputComponent] });
694
+ EcabsInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EcabsInputModule, imports: [CommonModule, MatInputModule, ElementWrapperModule, FormsModule, DigitsOnlyDirectivesModule] });
677
695
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EcabsInputModule, decorators: [{
678
696
  type: NgModule,
679
697
  args: [{
680
- declarations: [EcabsInputComponent, DigitsOnlyDirective],
681
- imports: [CommonModule, MatInputModule, ElementWrapperModule, FormsModule],
698
+ declarations: [EcabsInputComponent],
699
+ imports: [CommonModule, MatInputModule, ElementWrapperModule, FormsModule, DigitsOnlyDirectivesModule],
682
700
  exports: [EcabsInputComponent],
683
701
  }]
684
702
  }] });
@@ -695,7 +713,11 @@ class EcabsSelectComponent extends ElementBaseComponent {
695
713
  this.useSelectAllOption = false;
696
714
  this.setAllOptionAfterChosenAllItems = true;
697
715
  this.selectAllValue = 0;
698
- this.noEntriesFoundLabel = 'SELECT.NO_MATCHING_FOUND';
716
+ this.noEntriesFoundLabel = 'No matching found';
717
+ this.noneLabel = 'None';
718
+ this.allLabel = 'All';
719
+ this.otherLabel = 'Other';
720
+ this.othersLabel = 'Others';
699
721
  this.updateFilterItems = new EventEmitter();
700
722
  this.selectionChange = new EventEmitter();
701
723
  this.filteredItems$ = new ReplaySubject(1);
@@ -832,13 +854,13 @@ class EcabsSelectComponent extends ElementBaseComponent {
832
854
  }
833
855
  }
834
856
  EcabsSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EcabsSelectComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
835
- EcabsSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: EcabsSelectComponent, selector: "ecabs-select", inputs: { items: "items", multiple: "multiple", useNoneOption: "useNoneOption", useOnlyDisabledClass: "useOnlyDisabledClass", searchFieldPlaceholder: "searchFieldPlaceholder", useSearchOption: "useSearchOption", useSelectAllOption: "useSelectAllOption", setAllOptionAfterChosenAllItems: "setAllOptionAfterChosenAllItems", selectAllValue: "selectAllValue", noEntriesFoundLabel: "noEntriesFoundLabel" }, outputs: { updateFilterItems: "updateFilterItems", selectionChange: "selectionChange" }, providers: [
857
+ EcabsSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: EcabsSelectComponent, selector: "ecabs-select", inputs: { items: "items", multiple: "multiple", useNoneOption: "useNoneOption", useOnlyDisabledClass: "useOnlyDisabledClass", searchFieldPlaceholder: "searchFieldPlaceholder", useSearchOption: "useSearchOption", useSelectAllOption: "useSelectAllOption", setAllOptionAfterChosenAllItems: "setAllOptionAfterChosenAllItems", selectAllValue: "selectAllValue", noEntriesFoundLabel: "noEntriesFoundLabel", noneLabel: "noneLabel", allLabel: "allLabel", otherLabel: "otherLabel", othersLabel: "othersLabel" }, outputs: { updateFilterItems: "updateFilterItems", selectionChange: "selectionChange" }, providers: [
836
858
  {
837
859
  provide: NG_VALUE_ACCESSOR,
838
860
  useExisting: EcabsSelectComponent,
839
861
  multi: true,
840
862
  },
841
- ], viewQueries: [{ propertyName: "allSelected", first: true, predicate: ["allSelected"], descendants: true }, { propertyName: "matSelectSearchComponent", first: true, predicate: MatSelectSearchComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <mat-form-field floatLabel=\"always\" [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\r\n <mat-select\r\n [(ngModel)]=\"value\"\r\n (closed)=\"onTouch()\"\r\n appearance=\"outline\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n (selectionChange)=\"onSelectionChanged($event)\"\r\n >\r\n <mat-select-trigger>\r\n <span *ngIf=\"getAllSelectedChecked()\">{{ 'All' }}</span>\r\n <span *ngIf=\"!getAllSelectedChecked()\"\r\n >{{ val && multiple ? getLabel(val[0]) : getLabel(val) }}\r\n <span *ngIf=\"multiple && value?.length > 1\" class=\"additional-selection\">\r\n (+{{ useSelectAllOption && this.allSelected?.selected ? value?.length - 2 : value?.length - 1 }}\r\n {{ (value?.length === 2 ? 'Other' : 'Others') }})\r\n </span>\r\n </span>\r\n </mat-select-trigger>\r\n <mat-option *ngIf=\"useSearchOption\">\r\n [formControl]=\"itemFilterCtrl\"\r\n <ngx-mat-select-search\r\n [placeholderLabel]=\"searchFieldPlaceholder\"\r\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\r\n ></ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option *ngIf=\"useNoneOption\">{{ 'None' }}</mat-option>\r\n <mat-option #allSelected *ngIf=\"useSelectAllOption\" (click)=\"toggleAllSelection()\" [value]=\"selectAllValue\">{{\r\n 'All'\r\n }}</mat-option>\r\n <mat-option *ngFor=\"let item of filteredItems$ | async\" [value]=\"item.value\" (click)=\"togglePerOne()\">\r\n {{ item.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</app-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: ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$1.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { 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: i7.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "indexAndLengthScreenReaderText", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toogleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
863
+ ], viewQueries: [{ propertyName: "allSelected", first: true, predicate: ["allSelected"], descendants: true }, { propertyName: "matSelectSearchComponent", first: true, predicate: MatSelectSearchComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <mat-form-field [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\r\n <mat-select\r\n [(ngModel)]=\"value\"\r\n (closed)=\"onTouch()\"\r\n appearance=\"outline\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n (selectionChange)=\"onSelectionChanged($event)\"\r\n >\r\n <mat-select-trigger>\r\n <span *ngIf=\"getAllSelectedChecked()\">{{ allLabel }}</span>\r\n <span *ngIf=\"!getAllSelectedChecked()\"\r\n >{{ val && multiple ? getLabel(val[0]) : getLabel(val) }}\r\n <span *ngIf=\"multiple && value?.length > 1\" class=\"additional-selection\">\r\n (+{{ useSelectAllOption && this.allSelected.selected ? value?.length - 2 : value?.length - 1 }}\r\n {{ (value?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </span>\r\n </mat-select-trigger>\r\n <mat-option *ngIf=\"useSearchOption\">\r\n <ngx-mat-select-search\r\n [formControl]=\"itemFilterCtrl\"\r\n [placeholderLabel]=\"searchFieldPlaceholder\"\r\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\r\n ></ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option *ngIf=\"useNoneOption\">{{ noneLabel }}</mat-option>\r\n <mat-option #allSelected *ngIf=\"useSelectAllOption\" (click)=\"toggleAllSelection()\" [value]=\"selectAllValue\">{{\r\n allLabel\r\n }}</mat-option>\r\n <mat-option *ngFor=\"let item of filteredItems$ | async\" [value]=\"item.value\" (click)=\"togglePerOne()\">\r\n {{ item.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</app-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: ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$1.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { 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: i7.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "indexAndLengthScreenReaderText", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toogleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
842
864
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EcabsSelectComponent, decorators: [{
843
865
  type: Component,
844
866
  args: [{ selector: 'ecabs-select', providers: [
@@ -847,7 +869,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
847
869
  useExisting: EcabsSelectComponent,
848
870
  multi: true,
849
871
  },
850
- ], template: "<app-element-wrapper [data]=\"getData()\">\r\n <mat-form-field floatLabel=\"always\" [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\r\n <mat-select\r\n [(ngModel)]=\"value\"\r\n (closed)=\"onTouch()\"\r\n appearance=\"outline\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n (selectionChange)=\"onSelectionChanged($event)\"\r\n >\r\n <mat-select-trigger>\r\n <span *ngIf=\"getAllSelectedChecked()\">{{ 'All' }}</span>\r\n <span *ngIf=\"!getAllSelectedChecked()\"\r\n >{{ val && multiple ? getLabel(val[0]) : getLabel(val) }}\r\n <span *ngIf=\"multiple && value?.length > 1\" class=\"additional-selection\">\r\n (+{{ useSelectAllOption && this.allSelected?.selected ? value?.length - 2 : value?.length - 1 }}\r\n {{ (value?.length === 2 ? 'Other' : 'Others') }})\r\n </span>\r\n </span>\r\n </mat-select-trigger>\r\n <mat-option *ngIf=\"useSearchOption\">\r\n [formControl]=\"itemFilterCtrl\"\r\n <ngx-mat-select-search\r\n [placeholderLabel]=\"searchFieldPlaceholder\"\r\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\r\n ></ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option *ngIf=\"useNoneOption\">{{ 'None' }}</mat-option>\r\n <mat-option #allSelected *ngIf=\"useSelectAllOption\" (click)=\"toggleAllSelection()\" [value]=\"selectAllValue\">{{\r\n 'All'\r\n }}</mat-option>\r\n <mat-option *ngFor=\"let item of filteredItems$ | async\" [value]=\"item.value\" (click)=\"togglePerOne()\">\r\n {{ item.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</app-element-wrapper>\r\n" }]
872
+ ], template: "<app-element-wrapper [data]=\"getData()\">\r\n <mat-form-field [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\r\n <mat-select\r\n [(ngModel)]=\"value\"\r\n (closed)=\"onTouch()\"\r\n appearance=\"outline\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n (selectionChange)=\"onSelectionChanged($event)\"\r\n >\r\n <mat-select-trigger>\r\n <span *ngIf=\"getAllSelectedChecked()\">{{ allLabel }}</span>\r\n <span *ngIf=\"!getAllSelectedChecked()\"\r\n >{{ val && multiple ? getLabel(val[0]) : getLabel(val) }}\r\n <span *ngIf=\"multiple && value?.length > 1\" class=\"additional-selection\">\r\n (+{{ useSelectAllOption && this.allSelected.selected ? value?.length - 2 : value?.length - 1 }}\r\n {{ (value?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </span>\r\n </mat-select-trigger>\r\n <mat-option *ngIf=\"useSearchOption\">\r\n <ngx-mat-select-search\r\n [formControl]=\"itemFilterCtrl\"\r\n [placeholderLabel]=\"searchFieldPlaceholder\"\r\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\r\n ></ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option *ngIf=\"useNoneOption\">{{ noneLabel }}</mat-option>\r\n <mat-option #allSelected *ngIf=\"useSelectAllOption\" (click)=\"toggleAllSelection()\" [value]=\"selectAllValue\">{{\r\n allLabel\r\n }}</mat-option>\r\n <mat-option *ngFor=\"let item of filteredItems$ | async\" [value]=\"item.value\" (click)=\"togglePerOne()\">\r\n {{ item.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</app-element-wrapper>\r\n" }]
851
873
  }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { items: [{
852
874
  type: Input
853
875
  }], multiple: [{
@@ -868,6 +890,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
868
890
  type: Input
869
891
  }], noEntriesFoundLabel: [{
870
892
  type: Input
893
+ }], noneLabel: [{
894
+ type: Input
895
+ }], allLabel: [{
896
+ type: Input
897
+ }], otherLabel: [{
898
+ type: Input
899
+ }], othersLabel: [{
900
+ type: Input
871
901
  }], updateFilterItems: [{
872
902
  type: Output
873
903
  }], selectionChange: [{
@@ -886,8 +916,10 @@ EcabsSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", versio
886
916
  EcabsSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: EcabsSelectModule, declarations: [EcabsSelectComponent], imports: [CommonModule,
887
917
  ElementWrapperModule,
888
918
  MatSelectModule,
919
+ MatFormFieldModule,
889
920
  FormsModule,
890
- NgxMatSelectSearchModule], exports: [EcabsSelectComponent] });
921
+ NgxMatSelectSearchModule,
922
+ ReactiveFormsModule], exports: [EcabsSelectComponent] });
891
923
  EcabsSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EcabsSelectModule, providers: [
892
924
  {
893
925
  provide: MAT_SELECT_SCROLL_STRATEGY,
@@ -897,8 +929,10 @@ EcabsSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versi
897
929
  ], imports: [CommonModule,
898
930
  ElementWrapperModule,
899
931
  MatSelectModule,
932
+ MatFormFieldModule,
900
933
  FormsModule,
901
- NgxMatSelectSearchModule] });
934
+ NgxMatSelectSearchModule,
935
+ ReactiveFormsModule] });
902
936
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EcabsSelectModule, decorators: [{
903
937
  type: NgModule,
904
938
  args: [{
@@ -907,8 +941,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
907
941
  CommonModule,
908
942
  ElementWrapperModule,
909
943
  MatSelectModule,
944
+ MatFormFieldModule,
910
945
  FormsModule,
911
946
  NgxMatSelectSearchModule,
947
+ ReactiveFormsModule
912
948
  ],
913
949
  exports: [EcabsSelectComponent],
914
950
  providers: [