ecabs-components 2.0.0-alpha.0 → 2.0.0-alpha.2

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 (45) hide show
  1. package/README.md +73 -38
  2. package/fesm2022/ecabs-components.mjs +1791 -660
  3. package/fesm2022/ecabs-components.mjs.map +1 -1
  4. package/lib/base/adapters/date.adapter.d.ts +12 -0
  5. package/lib/base/consts/country-codes.d.ts +7 -0
  6. package/lib/base/consts/waypoint.consts.d.ts +8 -0
  7. package/lib/base/directives/digits-only.directive.d.ts +1 -0
  8. package/lib/base/models/phone.models.d.ts +10 -0
  9. package/lib/base/models/sidebar.models.d.ts +1 -0
  10. package/lib/base/models/timepicker.models.d.ts +1 -0
  11. package/lib/base/pipes/search.pipe.d.ts +8 -0
  12. package/lib/base/services/ecabs-components.service.d.ts +4 -1
  13. package/lib/base/utils/object-utils.d.ts +0 -1
  14. package/lib/base/validators/phone-number.validator.d.ts +4 -0
  15. package/lib/ecabs-base-phone-input/ecabs-base-phone.component.d.ts +90 -0
  16. package/lib/ecabs-base-phone-input/ecabs-base-phone.module.d.ts +17 -0
  17. package/lib/ecabs-buttons/ecabs-buttons.component.d.ts +2 -0
  18. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.d.ts +6 -2
  19. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +10 -4
  20. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.d.ts +2 -1
  21. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +5 -0
  22. package/lib/ecabs-input/ecabs-input.component.d.ts +2 -1
  23. package/lib/ecabs-phone/ecabs-phone.component.d.ts +7 -8
  24. package/lib/ecabs-phone/ecabs-phone.module.d.ts +2 -2
  25. package/lib/ecabs-place-autocomplete/ecabs-place-autocomplete.component.d.ts +4 -1
  26. package/lib/ecabs-select/ecabs-select.component.d.ts +1 -2
  27. package/lib/ecabs-select-v2/ecabs-select-v2.component.d.ts +5 -3
  28. package/lib/ecabs-textarea/ecabs-textarea.component.d.ts +2 -1
  29. package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +6 -6
  30. package/package.json +10 -10
  31. package/public-api.d.ts +4 -0
  32. package/src/assets/styles/material/overrides/_chip.scss +7 -3
  33. package/src/assets/styles/material/overrides/_datepicker.scss +0 -6
  34. package/src/assets/styles/material/overrides/_dialog.scss +0 -1
  35. package/src/assets/styles/material/overrides/_expansion.scss +1 -0
  36. package/src/assets/styles/material/overrides/_phone.scss +10 -6
  37. package/src/assets/styles/material/overrides/_table.scss +4 -0
  38. package/src/assets/styles/material/overrides/_toggle.scss +26 -2
  39. package/src/assets/styles/scss/base/_normalize.scss +6 -1
  40. package/src/assets/styles/scss/modules/_button.scss +8 -0
  41. package/src/assets/styles/scss/modules/_map.scss +81 -0
  42. package/src/assets/styles/scss/modules/_phone.scss +8 -6
  43. package/src/assets/styles/scss/modules/_statuses.scss +4 -4
  44. package/src/assets/styles/styles.scss +24 -3
  45. package/src/assets/styles/tailwind/index.scss +2 -1
@@ -0,0 +1,12 @@
1
+ import { WeekDay } from '@angular/common';
2
+ import { NativeDateAdapter } from '@angular/material/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class EcabsDateAdapter extends NativeDateAdapter {
5
+ constructor(dateTimeLocale: string);
6
+ parse(value: string): Date;
7
+ format(date: Date): string;
8
+ getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): any[];
9
+ getFirstDayOfWeek(): WeekDay;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsDateAdapter, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<EcabsDateAdapter>;
12
+ }
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class CountryCode {
3
+ allCountries: (string | number | string[])[][];
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<CountryCode, never>;
5
+ static ɵprov: i0.ɵɵInjectableDeclaration<CountryCode>;
6
+ }
7
+ export declare const Examples: any;
@@ -0,0 +1,8 @@
1
+ export declare enum WaypointTypeEnum {
2
+ PICKUP = "PICKUP",
3
+ DROPOFF = "DROPOFF",
4
+ GENERIC = "GENERIC",
5
+ DIVERSION = "DIVERSION",
6
+ CUSTOM = "CUSTOM",
7
+ LOCATION = "LOCATION"
8
+ }
@@ -17,6 +17,7 @@ export declare class EcabsDigitsOnlyDirective implements OnInit {
17
17
  onKeyDown(e: KeyboardEvent): void;
18
18
  onKeyUp(): void;
19
19
  onPaste(event: ClipboardEvent): void;
20
+ onWheel(event: Event): void;
20
21
  ngOnInit(): void;
21
22
  private pasteData;
22
23
  private sanitizeInput;
@@ -0,0 +1,10 @@
1
+ export type PhoneNumberFormat = 'default' | 'national' | 'international';
2
+ export type Country = {
3
+ name: string;
4
+ iso2: string;
5
+ dialCode: string;
6
+ priority: number;
7
+ areaCodes?: string[];
8
+ flagClass: string;
9
+ placeHolder?: string;
10
+ };
@@ -6,6 +6,7 @@ export interface SidebarMenuItem {
6
6
  subItems?: SidebarMenuItem[];
7
7
  permissions?: PermissionValueEnum<string>[];
8
8
  iconResource?: SidebarIconResource;
9
+ badget?: string;
9
10
  }
10
11
  type PermissionValueEnum<T extends string> = {
11
12
  values: Record<T, string>;
@@ -1,4 +1,5 @@
1
1
  export type ListPlacement = 'bottom' | 'top' | 'auto';
2
+ export type TimepickerSpecialKey = 'bottom' | 'top' | 'auto' | ':' | ' ' | 'Tab' | 'tab' | 'stop' | 'ArrowDown' | 'ArrowUp' | 'continue';
2
3
  export interface ListPosition {
3
4
  left?: number;
4
5
  top?: number;
@@ -0,0 +1,8 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { Country } from '../models/phone.models';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SearchPipe implements PipeTransform {
5
+ transform(country: Country, searchCriteria?: string): boolean;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<SearchPipe, never>;
7
+ static ɵpipe: i0.ɵɵPipeDeclaration<SearchPipe, "search", true>;
8
+ }
@@ -3,7 +3,8 @@ import { UserClaim } from '../models/user-claim.models';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class EcabsComponentsService {
5
5
  defaultConfig: EcabsComponentsConfig;
6
- private _config;
6
+ config: EcabsComponentsConfig;
7
+ private readonly _config;
7
8
  setConfig(config: EcabsComponentsConfig): void;
8
9
  getConfig(): Observable<EcabsComponentsConfig>;
9
10
  updateConfig(configUpdate: EcabsComponentsConfig): void;
@@ -16,6 +17,7 @@ export interface EcabsComponentsConfig {
16
17
  errorMessages?: ErrorMessage[];
17
18
  i18n?: Ecabsi18n;
18
19
  claims?: UserClaim[];
20
+ defaultPhoneDebounceTimeMs?: number;
19
21
  }
20
22
  export interface ErrorMessage {
21
23
  type: string;
@@ -29,4 +31,5 @@ export declare class GenericComponentConfig implements EcabsComponentsConfig {
29
31
  defaultCountries: string[];
30
32
  errorMessages: ErrorMessage[];
31
33
  i18n: Ecabsi18n;
34
+ claims: UserClaim[];
32
35
  }
@@ -6,4 +6,3 @@ export interface Sorter<T> {
6
6
  export declare const sortGeneric: <T>(objX: T, objY: T, sortParams: Sorter<T>) => number;
7
7
  export declare const removeNullUndefineds: <T>(obj: any, exceptProperties?: string[]) => T;
8
8
  export declare const removeEmpty: <T>(o: any, exceptProperties?: string[]) => T;
9
- export declare const mergeUniqueByKey: <T>(arr: T[], key?: keyof T) => T[];
@@ -0,0 +1,4 @@
1
+ import { UntypedFormControl } from '@angular/forms';
2
+ export declare const phoneNumberValidator: (control: UntypedFormControl) => {
3
+ validatePhoneNumber: boolean;
4
+ };
@@ -0,0 +1,90 @@
1
+ import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
+ import { MatFormFieldControl } from '@angular/material/form-field';
3
+ import { NgControl } from '@angular/forms';
4
+ import { CountryCode as CC, E164Number, NationalNumber, PhoneNumber } from 'libphonenumber-js';
5
+ import { FocusMonitor } from '@angular/cdk/a11y';
6
+ import { ErrorStateMatcher } from '@angular/material/core';
7
+ import { MatMenu } from '@angular/material/menu';
8
+ import { Subject } from 'rxjs';
9
+ import { CountryCode } from '../base/consts/country-codes';
10
+ import { Country, PhoneNumberFormat } from '../base/models/phone.models';
11
+ import * as i0 from "@angular/core";
12
+ export declare class EcabsBasePhoneComponent implements OnInit, OnDestroy, MatFormFieldControl<any> {
13
+ private changeDetectorRef;
14
+ private countryCodeData;
15
+ private fm;
16
+ private elRef;
17
+ ngControl: NgControl;
18
+ preferredCountries: string[];
19
+ enablePlaceholder: boolean;
20
+ inputPlaceholder: string | undefined;
21
+ cssClass: string | undefined;
22
+ name: string | undefined;
23
+ onlyCountries: string[];
24
+ errorStateMatcher: ErrorStateMatcher;
25
+ enableSearch: boolean;
26
+ searchPlaceholder: string | undefined;
27
+ describedBy: string;
28
+ debounceTimeMs: any;
29
+ get format(): PhoneNumberFormat;
30
+ get placeholder(): string;
31
+ get required(): boolean;
32
+ get disabled(): boolean;
33
+ countryChanged: EventEmitter<Country>;
34
+ matMenu: MatMenu | undefined;
35
+ searchInput: ElementRef;
36
+ matCustomInput: ElementRef;
37
+ static nextId: number;
38
+ id: string;
39
+ get shouldLabelFloat(): boolean;
40
+ private _changeSubject;
41
+ private _placeholder;
42
+ private _required;
43
+ private _disabled;
44
+ private _previousFormattedNumber;
45
+ private _format;
46
+ stateChanges: Subject<void>;
47
+ focused: boolean;
48
+ phoneNumber: NationalNumber | string | undefined;
49
+ allCountries: Country[];
50
+ preferredCountriesInDropDown: Country[];
51
+ selectedCountry: Country | undefined;
52
+ numberInstance: PhoneNumber | undefined;
53
+ value: E164Number | string | undefined;
54
+ searchCriteria: string | undefined;
55
+ get empty(): boolean;
56
+ set format(value: PhoneNumberFormat);
57
+ set placeholder(value: string);
58
+ set required(value: boolean);
59
+ set disabled(value: boolean);
60
+ static getPhoneNumberPlaceHolder(countryISOCode: CC): string | undefined;
61
+ onTouched: () => void;
62
+ propagateChange: (_: unknown) => void;
63
+ constructor(changeDetectorRef: ChangeDetectorRef, countryCodeData: CountryCode, fm: FocusMonitor, elRef: ElementRef<HTMLElement>, ngControl: NgControl);
64
+ errorState: boolean;
65
+ controlType?: string;
66
+ autofilled?: boolean;
67
+ userAriaDescribedBy?: string;
68
+ disableAutomaticLabeling?: boolean;
69
+ ngOnInit(): void;
70
+ ngOnDestroy(): void;
71
+ onPhoneNumberChangeDebounce(): void;
72
+ onPhoneNumberChange(): void;
73
+ onCountrySelect(country: Country): void;
74
+ getCountry(code: string): Country;
75
+ onInputKeyPress(event: KeyboardEvent): void;
76
+ flagClass(lang: string): string;
77
+ registerOnChange(fn: any): void;
78
+ registerOnTouched(fn: any): void;
79
+ setDisabledState(isDisabled: boolean): void;
80
+ writeValue(value: any): void;
81
+ setDescribedByIds(ids: string[]): void;
82
+ onContainerClick(event: MouseEvent): void;
83
+ reset(): void;
84
+ onSearchInput(): void;
85
+ protected fetchCountryData(): void;
86
+ private get formattedPhoneNumber();
87
+ private formatAsYouTypeIfEnabled;
88
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsBasePhoneComponent, [null, null, null, null, { optional: true; self: true; }]>;
89
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsBasePhoneComponent, "ecabs-base-phone", never, { "preferredCountries": { "alias": "preferredCountries"; "required": false; }; "enablePlaceholder": { "alias": "enablePlaceholder"; "required": false; }; "inputPlaceholder": { "alias": "inputPlaceholder"; "required": false; }; "cssClass": { "alias": "cssClass"; "required": false; }; "name": { "alias": "name"; "required": false; }; "onlyCountries": { "alias": "onlyCountries"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "enableSearch": { "alias": "enableSearch"; "required": false; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; }; "describedBy": { "alias": "describedBy"; "required": false; }; "debounceTimeMs": { "alias": "debounceTimeMs"; "required": false; }; "format": { "alias": "format"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "countryChanged": "countryChanged"; }, never, never, false, never>;
90
+ }
@@ -0,0 +1,17 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./ecabs-base-phone.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/material/icon";
5
+ import * as i4 from "@angular/router";
6
+ import * as i5 from "@angular/forms";
7
+ import * as i6 from "@angular/material/input";
8
+ import * as i7 from "@angular/material/menu";
9
+ import * as i8 from "@angular/material/button";
10
+ import * as i9 from "@angular/material/divider";
11
+ import * as i10 from "../base/pipes/search.pipe";
12
+ import * as i11 from "../base/element-wrapper/element-wrapper.module";
13
+ export declare class EcabsBasePhoneModule {
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsBasePhoneModule, never>;
15
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsBasePhoneModule, [typeof i1.EcabsBasePhoneComponent], [typeof i2.CommonModule, typeof i3.MatIconModule, typeof i4.RouterModule, typeof i5.FormsModule, typeof i6.MatInputModule, typeof i7.MatMenuModule, typeof i8.MatButtonModule, typeof i9.MatDividerModule, typeof i5.ReactiveFormsModule, typeof i10.SearchPipe, typeof i11.ElementWrapperModule], [typeof i1.EcabsBasePhoneComponent]>;
16
+ static ɵinj: i0.ɵɵInjectorDeclaration<EcabsBasePhoneModule>;
17
+ }
@@ -1,8 +1,10 @@
1
1
  import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { ThemePalette } from '@angular/material/core';
3
3
  import { ButtonStyle } from '../base/consts/buttons.consts';
4
+ import { MatButton } from '@angular/material/button';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare class ButtonsComponent implements OnInit, OnChanges {
7
+ matButton: MatButton;
6
8
  disabled: boolean;
7
9
  loading: boolean;
8
10
  size: 'default' | 'large';
@@ -1,18 +1,22 @@
1
1
  import { AfterViewInit, DestroyRef, EventEmitter, Injector, OnChanges, SimpleChanges } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
3
  import EcabsElementBaseComponent from '../base/element-base';
4
+ import { MatCheckbox } from '@angular/material/checkbox';
5
+ import { MatSlideToggle } from '@angular/material/slide-toggle';
4
6
  import * as i0 from "@angular/core";
5
7
  export declare class EcabsCheckboxToggleComponent extends EcabsElementBaseComponent implements ControlValueAccessor, AfterViewInit, OnChanges {
6
8
  private readonly injector;
7
9
  private readonly destroyRef;
10
+ matCheckbox: MatCheckbox;
11
+ matSlideToggle: MatSlideToggle;
8
12
  type: 'checkbox' | 'toggle';
9
13
  text: string;
10
14
  readonly label: string;
11
15
  labelPosition: 'before' | 'after';
12
16
  indeterminate: boolean;
13
17
  checked: boolean;
14
- click: EventEmitter<any>;
15
- changed: EventEmitter<any>;
18
+ readonly click: EventEmitter<any>;
19
+ readonly changed: EventEmitter<any>;
16
20
  val: boolean;
17
21
  get value(): boolean;
18
22
  set value(val: boolean);
@@ -1,11 +1,12 @@
1
1
  import { DecimalPipe } from '@angular/common';
2
- import { AfterViewInit, ChangeDetectorRef, EventEmitter, Injector, OnInit } from '@angular/core';
2
+ import { AfterViewInit, ChangeDetectorRef, ElementRef, Injector, OnInit } from '@angular/core';
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
4
  import EcabsElementBaseComponent from '../base/element-base';
5
5
  import { EcabsDatePickerTranslations } from '../base/models/ecabs-date-picker-translations.models';
6
6
  import { EcabsDatePickerHeaderService } from '../base/services/ecabs-date-picker-translations.service';
7
7
  import { UnsubscribeService } from '../base/services/unsubscribe.service';
8
8
  import { EcabsDateTimePickerHeaderComponent } from './components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component';
9
+ import { MatDatepicker } from '@angular/material/datepicker';
9
10
  import * as i0 from "@angular/core";
10
11
  export declare class EcabsDateTimePickerComponent extends EcabsElementBaseComponent implements ControlValueAccessor, AfterViewInit, OnInit {
11
12
  private readonly injector;
@@ -13,6 +14,8 @@ export declare class EcabsDateTimePickerComponent extends EcabsElementBaseCompon
13
14
  private readonly cd;
14
15
  private readonly ecabsDatePickerHeaderService;
15
16
  private readonly unsubscribeService;
17
+ matCustomInput: ElementRef;
18
+ matCustomPicker: MatDatepicker<Date>;
16
19
  minDate: Date;
17
20
  maxDate: Date;
18
21
  touchUi: boolean;
@@ -20,11 +23,14 @@ export declare class EcabsDateTimePickerComponent extends EcabsElementBaseCompon
20
23
  cancelLabel: string;
21
24
  applyLabel: string;
22
25
  applyMinDateAuto: boolean;
23
- onblur: EventEmitter<any>;
26
+ /** When true, preserves the original value (with timezone) if user hasn't changed the date/time */
27
+ preserveOriginalValue: boolean;
24
28
  _hours: string;
25
29
  _minutes: string;
26
30
  _seconds: string;
27
31
  _date: Date;
32
+ /** Stores the original input value to preserve string format with timezone */
33
+ private _originalValue;
28
34
  _pickerValue: string;
29
35
  val: Date;
30
36
  header: typeof EcabsDateTimePickerHeaderComponent;
@@ -33,6 +39,7 @@ export declare class EcabsDateTimePickerComponent extends EcabsElementBaseCompon
33
39
  preventCallSetterPickerValue: boolean;
34
40
  runTimeout: boolean;
35
41
  translationConfig: EcabsDatePickerTranslations;
42
+ isEmptyFormat: string;
36
43
  get value(): Date;
37
44
  get pickerValue(): string;
38
45
  get hours(): string;
@@ -51,12 +58,11 @@ export declare class EcabsDateTimePickerComponent extends EcabsElementBaseCompon
51
58
  writeValue(value: any): void;
52
59
  registerOnChange(fn: any): void;
53
60
  registerOnTouched(fn: any): void;
54
- blurChange(e: any): void;
55
61
  onApply(): void;
56
62
  refreshPickerValue(date: Date): void;
57
63
  private formatDateTime;
58
64
  private roundNumber;
59
65
  private setValues;
60
66
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsDateTimePickerComponent, never>;
61
- static ɵcmp: i0.ɵɵComponentDeclaration<EcabsDateTimePickerComponent, "ecabs-date-time-picker", never, { "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "touchUi": { "alias": "touchUi"; "required": false; }; "hideSeconds": { "alias": "hideSeconds"; "required": false; }; "cancelLabel": { "alias": "cancelLabel"; "required": false; }; "applyLabel": { "alias": "applyLabel"; "required": false; }; "applyMinDateAuto": { "alias": "applyMinDateAuto"; "required": false; }; }, { "onblur": "onblur"; }, never, never, false, never>;
67
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsDateTimePickerComponent, "ecabs-date-time-picker", never, { "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "touchUi": { "alias": "touchUi"; "required": false; }; "hideSeconds": { "alias": "hideSeconds"; "required": false; }; "cancelLabel": { "alias": "cancelLabel"; "required": false; }; "applyLabel": { "alias": "applyLabel"; "required": false; }; "applyMinDateAuto": { "alias": "applyMinDateAuto"; "required": false; }; "preserveOriginalValue": { "alias": "preserveOriginalValue"; "required": false; }; }, {}, never, never, false, never>;
62
68
  }
@@ -13,8 +13,9 @@ import * as i11 from "../base/directives/digits-only.directive.module";
13
13
  import * as i12 from "../base/directives/number-border.directive.module";
14
14
  import * as i13 from "../base/directives/date-mask.directive.module";
15
15
  import * as i14 from "../ecabs-date-picker-actions/ecabs-date-picker-actions.module";
16
+ import * as i15 from "@angular/material/form-field";
16
17
  export declare class EcabsDatetimePickerModule {
17
18
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsDatetimePickerModule, never>;
18
- static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsDatetimePickerModule, [typeof i1.EcabsDateTimePickerComponent, typeof i2.EcabsDateTimePickerHeaderComponent], [typeof i3.CommonModule, typeof i4.ElementWrapperModule, typeof i5.MatIconModule, typeof i6.MatDatepickerModule, typeof i7.MatButtonModule, typeof i8.FormsModule, typeof i8.ReactiveFormsModule, typeof i9.EcabsPickerHeaderModule, typeof i10.EcabsButtonsModule, typeof i11.EcabsDigitsOnlyDirectivesModule, typeof i12.EcabsNumberBorderDirectiveModule, typeof i13.EcabsMaskDateDirectiveModule, typeof i14.EcabsDatePickerActionsModule], [typeof i1.EcabsDateTimePickerComponent, typeof i2.EcabsDateTimePickerHeaderComponent]>;
19
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsDatetimePickerModule, [typeof i1.EcabsDateTimePickerComponent, typeof i2.EcabsDateTimePickerHeaderComponent], [typeof i3.CommonModule, typeof i4.ElementWrapperModule, typeof i5.MatIconModule, typeof i6.MatDatepickerModule, typeof i7.MatButtonModule, typeof i8.FormsModule, typeof i8.ReactiveFormsModule, typeof i9.EcabsPickerHeaderModule, typeof i10.EcabsButtonsModule, typeof i11.EcabsDigitsOnlyDirectivesModule, typeof i12.EcabsNumberBorderDirectiveModule, typeof i13.EcabsMaskDateDirectiveModule, typeof i14.EcabsDatePickerActionsModule, typeof i15.MatFormFieldModule], [typeof i1.EcabsDateTimePickerComponent, typeof i2.EcabsDateTimePickerHeaderComponent]>;
19
20
  static ɵinj: i0.ɵɵInjectorDeclaration<EcabsDatetimePickerModule>;
20
21
  }
@@ -20,22 +20,27 @@ export declare class EcabsDialogConfirmComponent implements OnInit, OnDestroy {
20
20
  ngOnDestroy(): void;
21
21
  closeDialog(): void;
22
22
  closeFalsey(): void;
23
+ closeOnPopover(): void;
23
24
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsDialogConfirmComponent, never>;
24
25
  static ɵcmp: i0.ɵɵComponentDeclaration<EcabsDialogConfirmComponent, "ecabs-dialog-confirm", never, {}, {}, never, never, false, never>;
25
26
  }
26
27
  export interface EcabsDialogConfirmComponentConfig {
27
28
  title?: string;
29
+ titleTemplate?: TemplateRef<NonNullable<unknown>>;
28
30
  message?: TemplateRef<NonNullable<unknown>>;
29
31
  color?: ThemePalette;
30
32
  titleColor?: ThemePalette;
31
33
  confirmLabel?: string;
32
34
  confirmStyle?: ButtonStyle;
35
+ confirmResult?: any;
33
36
  cancelLabel?: string;
34
37
  cancelStyle?: ButtonStyle;
38
+ cancelResult?: any;
35
39
  hideCtaButtons?: boolean;
36
40
  hideConfirmButton?: boolean;
37
41
  hideCancelButton?: boolean;
38
42
  isPopover?: boolean;
43
+ popoverResult?: any;
39
44
  width?: string;
40
45
  content?: string;
41
46
  useFullButtonSize?: boolean;
@@ -1,10 +1,11 @@
1
- import { AfterViewInit, DestroyRef, EventEmitter, Injector, OnInit } from '@angular/core';
1
+ import { AfterViewInit, DestroyRef, ElementRef, EventEmitter, Injector, OnInit } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
3
  import EcabsElementBaseComponent from '../base/element-base';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class EcabsInputComponent extends EcabsElementBaseComponent implements ControlValueAccessor, AfterViewInit, OnInit {
6
6
  private injector;
7
7
  private readonly destroyRef;
8
+ matCustomInput: ElementRef;
8
9
  digitsOnly: boolean;
9
10
  allowDecimal: boolean;
10
11
  allowHyphen: boolean;
@@ -1,30 +1,29 @@
1
- import { AfterViewInit, EventEmitter, Injector, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
1
+ import { AfterViewInit, DestroyRef, EventEmitter, Injector, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { ControlValueAccessor, UntypedFormGroup } from '@angular/forms';
3
3
  import EcabsElementBaseComponent from '../base/element-base';
4
4
  import { EcabsComponentsService } from '../base/services/ecabs-components.service';
5
- import { UnsubscribeService } from '../base/services/unsubscribe.service';
6
- import { NgxIntlTelInputComponent, SearchCountryField } from 'ngx-intl-tel-input';
5
+ import { EcabsBasePhoneComponent } from '../ecabs-base-phone-input/ecabs-base-phone.component';
7
6
  import * as i0 from "@angular/core";
8
7
  export declare class EcabsPhoneComponent extends EcabsElementBaseComponent implements ControlValueAccessor, AfterViewInit, OnDestroy, OnInit, OnChanges {
9
8
  private readonly injector;
10
9
  private readonly ecabsComponentsService;
11
- private readonly unsubscribeService;
10
+ private readonly destroyRef;
12
11
  preferredCountries: string[];
13
12
  enablePlaceholder: boolean;
14
13
  enableSearch: boolean;
15
14
  useOnlyDisabledClass: boolean;
16
15
  required: boolean;
16
+ debounceTimeMs: any;
17
17
  onblur: EventEmitter<{
18
18
  value: string;
19
19
  }>;
20
- phoneInput: NgxIntlTelInputComponent;
20
+ phoneInput: EcabsBasePhoneComponent;
21
21
  phoneForm: UntypedFormGroup;
22
22
  phoneSub: any;
23
23
  prohibitedCharacters: string[];
24
- searchCountryField: typeof SearchCountryField;
25
24
  get value(): any;
26
25
  set value(val: any);
27
- constructor(injector: Injector, ecabsComponentsService: EcabsComponentsService, unsubscribeService: UnsubscribeService);
26
+ constructor(injector: Injector, ecabsComponentsService: EcabsComponentsService, destroyRef: DestroyRef);
28
27
  onInput(event: KeyboardEvent): void;
29
28
  ngOnInit(): void;
30
29
  ngAfterViewInit(): void;
@@ -39,5 +38,5 @@ export declare class EcabsPhoneComponent extends EcabsElementBaseComponent imple
39
38
  onBlur(): void;
40
39
  handleErrors(): void;
41
40
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsPhoneComponent, never>;
42
- static ɵcmp: i0.ɵɵComponentDeclaration<EcabsPhoneComponent, "ecabs-phone", never, { "preferredCountries": { "alias": "preferredCountries"; "required": false; }; "enablePlaceholder": { "alias": "enablePlaceholder"; "required": false; }; "enableSearch": { "alias": "enableSearch"; "required": false; }; "useOnlyDisabledClass": { "alias": "useOnlyDisabledClass"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "onblur": "onblur"; }, never, never, false, never>;
41
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsPhoneComponent, "ecabs-phone", never, { "preferredCountries": { "alias": "preferredCountries"; "required": false; }; "enablePlaceholder": { "alias": "enablePlaceholder"; "required": false; }; "enableSearch": { "alias": "enableSearch"; "required": false; }; "useOnlyDisabledClass": { "alias": "useOnlyDisabledClass"; "required": false; }; "required": { "alias": "required"; "required": false; }; "debounceTimeMs": { "alias": "debounceTimeMs"; "required": false; }; }, { "onblur": "onblur"; }, never, never, false, never>;
43
42
  }
@@ -3,9 +3,9 @@ import * as i1 from "./ecabs-phone.component";
3
3
  import * as i2 from "@angular/common";
4
4
  import * as i3 from "../base/element-wrapper/element-wrapper.module";
5
5
  import * as i4 from "@angular/forms";
6
- import * as i5 from "ngx-intl-tel-input";
6
+ import * as i5 from "../ecabs-base-phone-input/ecabs-base-phone.module";
7
7
  export declare class EcabsPhoneModule {
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsPhoneModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsPhoneModule, [typeof i1.EcabsPhoneComponent], [typeof i2.CommonModule, typeof i3.ElementWrapperModule, typeof i4.FormsModule, typeof i5.NgxIntlTelInputModule, typeof i4.ReactiveFormsModule], [typeof i1.EcabsPhoneComponent]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsPhoneModule, [typeof i1.EcabsPhoneComponent], [typeof i2.CommonModule, typeof i3.ElementWrapperModule, typeof i4.FormsModule, typeof i4.ReactiveFormsModule, typeof i5.EcabsBasePhoneModule], [typeof i1.EcabsPhoneComponent]>;
10
10
  static ɵinj: i0.ɵɵInjectorDeclaration<EcabsPhoneModule>;
11
11
  }
@@ -3,16 +3,19 @@ import { ControlValueAccessor } from '@angular/forms';
3
3
  import { UnsubscribeService } from '../../public-api';
4
4
  import EcabsElementBaseComponent from '../base/element-base';
5
5
  import PlaceResult = google.maps.places.PlaceResult;
6
+ import { WaypointTypeEnum } from '../base/consts/waypoint.consts';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare class EcabsPlaceAutocompleteComponent extends EcabsElementBaseComponent implements OnDestroy, OnChanges, AfterViewInit, ControlValueAccessor {
8
9
  private readonly ngZone;
9
10
  private readonly unsubscribeService;
10
11
  private readonly elementRef;
11
12
  private readonly injector;
13
+ matCustomInput: ElementRef;
12
14
  showDeleteItem: boolean;
13
15
  showSuffix: boolean;
14
16
  countryCode: string;
15
17
  googleLoaded: boolean;
18
+ waypointType: WaypointTypeEnum;
16
19
  readonly placeResult: EventEmitter<{
17
20
  place: PlaceResult;
18
21
  text: string;
@@ -36,5 +39,5 @@ export declare class EcabsPlaceAutocompleteComponent extends EcabsElementBaseCom
36
39
  private initGoogle;
37
40
  private getElement;
38
41
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsPlaceAutocompleteComponent, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<EcabsPlaceAutocompleteComponent, "ecabs-place-autocomplete", never, { "showDeleteItem": { "alias": "showDeleteItem"; "required": false; }; "showSuffix": { "alias": "showSuffix"; "required": false; }; "countryCode": { "alias": "countryCode"; "required": false; }; "googleLoaded": { "alias": "googleLoaded"; "required": false; }; }, { "placeResult": "placeResult"; "deleteItem": "deleteItem"; }, never, never, false, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsPlaceAutocompleteComponent, "ecabs-place-autocomplete", never, { "showDeleteItem": { "alias": "showDeleteItem"; "required": false; }; "showSuffix": { "alias": "showSuffix"; "required": false; }; "countryCode": { "alias": "countryCode"; "required": false; }; "googleLoaded": { "alias": "googleLoaded"; "required": false; }; "waypointType": { "alias": "waypointType"; "required": false; }; }, { "placeResult": "placeResult"; "deleteItem": "deleteItem"; }, never, never, false, never>;
40
43
  }
@@ -13,7 +13,6 @@ export declare class EcabsSelectComponent extends EcabsElementBaseComponent impl
13
13
  items: SelectOption[];
14
14
  multiple: boolean;
15
15
  useNoneOption: boolean;
16
- useOnlyDisabledClass: boolean;
17
16
  searchFieldPlaceholder: string;
18
17
  useSearchOption: boolean;
19
18
  useSelectAllOption: boolean;
@@ -67,5 +66,5 @@ export declare class EcabsSelectComponent extends EcabsElementBaseComponent impl
67
66
  private filterItems;
68
67
  private setSelectedItems;
69
68
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsSelectComponent, never>;
70
- static ɵcmp: i0.ɵɵComponentDeclaration<EcabsSelectComponent, "ecabs-select", never, { "items": { "alias": "items"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "useNoneOption": { "alias": "useNoneOption"; "required": false; }; "useOnlyDisabledClass": { "alias": "useOnlyDisabledClass"; "required": false; }; "searchFieldPlaceholder": { "alias": "searchFieldPlaceholder"; "required": false; }; "useSearchOption": { "alias": "useSearchOption"; "required": false; }; "useSelectAllOption": { "alias": "useSelectAllOption"; "required": false; }; "setAllOptionAfterChosenAllItems": { "alias": "setAllOptionAfterChosenAllItems"; "required": false; }; "selectAllValue": { "alias": "selectAllValue"; "required": false; }; "noEntriesFoundLabel": { "alias": "noEntriesFoundLabel"; "required": false; }; "noneLabel": { "alias": "noneLabel"; "required": false; }; "allLabel": { "alias": "allLabel"; "required": false; }; "otherLabel": { "alias": "otherLabel"; "required": false; }; "othersLabel": { "alias": "othersLabel"; "required": false; }; }, { "updateFilterItems": "updateFilterItems"; "selectionChange": "selectionChange"; }, never, never, false, never>;
69
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsSelectComponent, "ecabs-select", never, { "items": { "alias": "items"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "useNoneOption": { "alias": "useNoneOption"; "required": false; }; "searchFieldPlaceholder": { "alias": "searchFieldPlaceholder"; "required": false; }; "useSearchOption": { "alias": "useSearchOption"; "required": false; }; "useSelectAllOption": { "alias": "useSelectAllOption"; "required": false; }; "setAllOptionAfterChosenAllItems": { "alias": "setAllOptionAfterChosenAllItems"; "required": false; }; "selectAllValue": { "alias": "selectAllValue"; "required": false; }; "noEntriesFoundLabel": { "alias": "noEntriesFoundLabel"; "required": false; }; "noneLabel": { "alias": "noneLabel"; "required": false; }; "allLabel": { "alias": "allLabel"; "required": false; }; "otherLabel": { "alias": "otherLabel"; "required": false; }; "othersLabel": { "alias": "othersLabel"; "required": false; }; }, { "updateFilterItems": "updateFilterItems"; "selectionChange": "selectionChange"; }, never, never, false, never>;
71
70
  }
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, DestroyRef, Injector, OnChanges, OnInit, SimpleChanges } from '@angular/core';
1
+ import { AfterViewInit, DestroyRef, EventEmitter, Injector, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
3
  import { NgSelectComponent } from '@ng-select/ng-select';
4
4
  import { Subject } from 'rxjs';
@@ -10,6 +10,7 @@ export declare class EcabsSelectV2Component extends EcabsElementBaseComponent im
10
10
  private readonly destroyRef;
11
11
  ngSelect: NgSelectComponent;
12
12
  appearance: 'underline' | 'outline';
13
+ appendTo: string;
13
14
  items: SelectValue[];
14
15
  bindLabel: string;
15
16
  bindValue: string;
@@ -30,6 +31,7 @@ export declare class EcabsSelectV2Component extends EcabsElementBaseComponent im
30
31
  selectAllLabel: string;
31
32
  otherLabel: string;
32
33
  othersLabel: string;
34
+ readonly selectionChange: EventEmitter<any>;
33
35
  touched: boolean;
34
36
  val: string | number;
35
37
  isOpen: boolean;
@@ -51,8 +53,8 @@ export declare class EcabsSelectV2Component extends EcabsElementBaseComponent im
51
53
  onTouch: any;
52
54
  onBlur(): void;
53
55
  selectAllFn(items: SelectValue[]): void;
54
- changed(event: SelectValue[]): void;
56
+ changed($event: SelectValue[]): void;
55
57
  protected initTrackBy(): void;
56
58
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsSelectV2Component, never>;
57
- static ɵcmp: i0.ɵɵComponentDeclaration<EcabsSelectV2Component, "ecabs-select-v2", never, { "appearance": { "alias": "appearance"; "required": false; }; "items": { "alias": "items"; "required": false; }; "bindLabel": { "alias": "bindLabel"; "required": false; }; "bindValue": { "alias": "bindValue"; "required": false; }; "editableSearchTerm": { "alias": "editableSearchTerm"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "notFoundText": { "alias": "notFoundText"; "required": false; }; "hideSelected": { "alias": "hideSelected"; "required": false; }; "clearOnBackspace": { "alias": "clearOnBackspace"; "required": false; }; "clearSearchOnAdd": { "alias": "clearSearchOnAdd"; "required": false; }; "trackByFn": { "alias": "trackByFn"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; }; "typeahead": { "alias": "typeahead"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; }; "clearAllText": { "alias": "clearAllText"; "required": false; }; "selectAllLabel": { "alias": "selectAllLabel"; "required": false; }; "otherLabel": { "alias": "otherLabel"; "required": false; }; "othersLabel": { "alias": "othersLabel"; "required": false; }; }, {}, never, never, false, never>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsSelectV2Component, "ecabs-select-v2", never, { "appearance": { "alias": "appearance"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "items": { "alias": "items"; "required": false; }; "bindLabel": { "alias": "bindLabel"; "required": false; }; "bindValue": { "alias": "bindValue"; "required": false; }; "editableSearchTerm": { "alias": "editableSearchTerm"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "notFoundText": { "alias": "notFoundText"; "required": false; }; "hideSelected": { "alias": "hideSelected"; "required": false; }; "clearOnBackspace": { "alias": "clearOnBackspace"; "required": false; }; "clearSearchOnAdd": { "alias": "clearSearchOnAdd"; "required": false; }; "trackByFn": { "alias": "trackByFn"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; }; "typeahead": { "alias": "typeahead"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; }; "clearAllText": { "alias": "clearAllText"; "required": false; }; "selectAllLabel": { "alias": "selectAllLabel"; "required": false; }; "otherLabel": { "alias": "otherLabel"; "required": false; }; "othersLabel": { "alias": "othersLabel"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, false, never>;
58
60
  }
@@ -1,9 +1,10 @@
1
- import { AfterViewInit, Injector } from '@angular/core';
1
+ import { AfterViewInit, ElementRef, Injector } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
3
  import EcabsElementBaseComponent from '../base/element-base';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class EcabsTextareaComponent extends EcabsElementBaseComponent implements ControlValueAccessor, AfterViewInit {
6
6
  private injector;
7
+ matCustomInput: ElementRef;
7
8
  rows: number;
8
9
  val: string;
9
10
  get value(): string;
@@ -2,7 +2,7 @@ import { AfterViewInit, DestroyRef, ElementRef, Injector } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
3
  import { FormTimePickerService } from './ecabs-timepicker.service';
4
4
  import EcabsElementBaseComponent from '../base/element-base';
5
- import { ListPlacement, ListPosition } from '../base/models/timepicker.models';
5
+ import { ListPlacement, ListPosition, TimepickerSpecialKey } from '../base/models/timepicker.models';
6
6
  import { EcabsDatePickerTranslations } from '../base/models/ecabs-date-picker-translations.models';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class EcabsTimepickerComponent extends EcabsElementBaseComponent implements ControlValueAccessor, AfterViewInit {
@@ -10,8 +10,8 @@ export declare class EcabsTimepickerComponent extends EcabsElementBaseComponent
10
10
  private readonly timepickerService;
11
11
  private readonly injector;
12
12
  private readonly destroyRef;
13
- showCloseIcon: boolean;
14
13
  focusedFlag: boolean;
14
+ showCloseIcon: boolean;
15
15
  listPlacement: ListPlacement;
16
16
  appendTo: string;
17
17
  min: string;
@@ -32,8 +32,8 @@ export declare class EcabsTimepickerComponent extends EcabsElementBaseComponent
32
32
  translationConfig: EcabsDatePickerTranslations;
33
33
  isHoverItemChanged: boolean;
34
34
  get allLabel(): string;
35
- get data(): any;
36
- set data(value: any);
35
+ get data(): string;
36
+ set data(value: string);
37
37
  constructor(elementRef: ElementRef, timepickerService: FormTimePickerService, injector: Injector, destroyRef: DestroyRef);
38
38
  handleMousedown($event: MouseEvent): void;
39
39
  ngAfterViewInit(): void;
@@ -41,7 +41,7 @@ export declare class EcabsTimepickerComponent extends EcabsElementBaseComponent
41
41
  calcListPosition(): void;
42
42
  inputKeyDown(event: any): boolean;
43
43
  updateInputData(event: string): void;
44
- checkSpecialKeys(key: any): 'stop' | 'continue' | 'tab';
44
+ checkSpecialKeys(key: TimepickerSpecialKey): TimepickerSpecialKey;
45
45
  checkUnUsedKeys(key: string): boolean;
46
46
  checkOutOfRangeNumber(time: any): boolean;
47
47
  makeHourFull(): void;
@@ -55,5 +55,5 @@ export declare class EcabsTimepickerComponent extends EcabsElementBaseComponent
55
55
  show(): void;
56
56
  close(val?: any): void;
57
57
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsTimepickerComponent, never>;
58
- static ɵcmp: i0.ɵɵComponentDeclaration<EcabsTimepickerComponent, "ecabs-timepicker", never, { "showCloseIcon": { "alias": "showCloseIcon"; "required": false; }; "focusedFlag": { "alias": "focusedFlag"; "required": false; }; "listPlacement": { "alias": "listPlacement"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "showDayStart": { "alias": "showDayStart"; "required": false; }; "showDayEnd": { "alias": "showDayEnd"; "required": false; }; "addSecond": { "alias": "addSecond"; "required": false; }; "dayStartLabel": { "alias": "dayStartLabel"; "required": false; }; "dayEndLabel": { "alias": "dayEndLabel"; "required": false; }; }, {}, never, ["mat-icon"], false, never>;
58
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsTimepickerComponent, "ecabs-timepicker", never, { "focusedFlag": { "alias": "focusedFlag"; "required": false; }; "showCloseIcon": { "alias": "showCloseIcon"; "required": false; }; "listPlacement": { "alias": "listPlacement"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "showDayStart": { "alias": "showDayStart"; "required": false; }; "showDayEnd": { "alias": "showDayEnd"; "required": false; }; "addSecond": { "alias": "addSecond"; "required": false; }; "dayStartLabel": { "alias": "dayStartLabel"; "required": false; }; "dayEndLabel": { "alias": "dayEndLabel"; "required": false; }; }, {}, never, ["mat-icon"], false, never>;
59
59
  }