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

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 (161) hide show
  1. package/README.md +186 -43
  2. package/fesm2022/ecabs-components.mjs +4989 -1256
  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/badge.consts.d.ts +5 -0
  6. package/lib/base/consts/buttons.consts.d.ts +2 -0
  7. package/lib/base/consts/country-codes.d.ts +7 -0
  8. package/lib/base/consts/icon.consts.d.ts +1 -0
  9. package/lib/base/consts/input.consts.d.ts +1 -0
  10. package/lib/base/consts/status-badge.consts.d.ts +3 -0
  11. package/lib/base/consts/waypoint.consts.d.ts +8 -0
  12. package/lib/base/directives/action-menu-trigger.directive.d.ts +8 -0
  13. package/lib/base/directives/badge.directive.d.ts +26 -0
  14. package/lib/base/directives/badge.directive.module.d.ts +8 -0
  15. package/lib/base/directives/date-mask.directive.d.ts +6 -7
  16. package/lib/base/directives/digits-only.directive.d.ts +14 -2
  17. package/lib/base/directives/time-mask.directive.d.ts +2 -3
  18. package/lib/base/directives/time-range.directive.d.ts +1 -2
  19. package/lib/base/directives/tooltip-if-truncated.directive.module.d.ts +2 -1
  20. package/lib/base/models/action-menu.models.d.ts +13 -0
  21. package/lib/base/models/ecabs-date-picker-translations.models.d.ts +1 -0
  22. package/lib/base/models/element.models.d.ts +0 -5
  23. package/lib/base/models/phone.models.d.ts +17 -0
  24. package/lib/base/models/select.models.d.ts +6 -2
  25. package/lib/base/models/sidebar.models.d.ts +10 -4
  26. package/lib/base/models/timepicker.models.d.ts +1 -0
  27. package/lib/base/models/waypoint.models.d.ts +30 -0
  28. package/lib/base/pipes/phone-number-country-code.pipe.d.ts +8 -0
  29. package/lib/base/pipes/search.pipe.d.ts +8 -0
  30. package/lib/base/pipes/separator-append.pipe.d.ts +7 -0
  31. package/lib/base/pipes/status-badge-variant.pipe.d.ts +8 -0
  32. package/lib/base/services/ecabs-components.service.d.ts +4 -1
  33. package/lib/base/utils/icon.utils.d.ts +2 -0
  34. package/lib/base/utils/object-utils.d.ts +1 -1
  35. package/lib/base/utils/phone-number.utils.d.ts +7 -0
  36. package/lib/base/utils/select.utils.d.ts +2 -0
  37. package/lib/base/utils/time-mask.util.d.ts +3 -0
  38. package/lib/base/validators/date-range.validator.d.ts +14 -0
  39. package/lib/base/validators/phone-number.validator.d.ts +4 -0
  40. package/lib/ecabs-action-menu/ecabs-action-menu.component.d.ts +26 -0
  41. package/lib/ecabs-action-menu/ecabs-action-menu.module.d.ts +13 -0
  42. package/lib/ecabs-badge/ecabs-badge.component.d.ts +41 -0
  43. package/lib/ecabs-badge/ecabs-badge.module.d.ts +13 -0
  44. package/lib/ecabs-base-phone-input/ecabs-base-phone.component.d.ts +94 -0
  45. package/lib/ecabs-base-phone-input/ecabs-base-phone.module.d.ts +17 -0
  46. package/lib/ecabs-button-toggle/ecabs-button-toggle.component.d.ts +25 -0
  47. package/lib/ecabs-button-toggle/ecabs-button-toggle.module.d.ts +9 -0
  48. package/lib/ecabs-buttons/ecabs-buttons.component.d.ts +2 -0
  49. package/lib/ecabs-buttons-v2/ecabs-buttons-v2.component.d.ts +23 -0
  50. package/lib/ecabs-buttons-v2/ecabs-buttons-v2.module.d.ts +11 -0
  51. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.d.ts +6 -2
  52. package/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.component.d.ts +30 -0
  53. package/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.module.d.ts +12 -0
  54. package/lib/ecabs-chip-autocomplete/ecabs-chip-autocomplete.component.d.ts +56 -0
  55. package/lib/ecabs-chip-group/ecabs-chip-group.component.d.ts +24 -0
  56. package/lib/ecabs-chip-group/ecabs-chip-group.module.d.ts +12 -0
  57. package/lib/ecabs-date-picker/ecabs-date-picker.component.d.ts +3 -0
  58. package/lib/ecabs-date-picker-actions/ecabs-date-picker-actions.component.d.ts +3 -1
  59. package/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.d.ts +3 -0
  60. package/lib/ecabs-date-range-picker-v2/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header-v2.component.d.ts +9 -0
  61. package/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.component.d.ts +69 -0
  62. package/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.module.d.ts +21 -0
  63. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +13 -5
  64. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.d.ts +2 -1
  65. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +6 -1
  66. package/lib/ecabs-dialog-confirm-deletion/ecabs-dialog-confirm-deletion.component.d.ts +33 -0
  67. package/lib/ecabs-dialog-confirm-deletion/ecabs-dialog-confirm-deletion.module.d.ts +12 -0
  68. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.d.ts +2 -1
  69. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.d.ts +3 -2
  70. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.d.ts +3 -3
  71. package/lib/ecabs-input/ecabs-input.component.d.ts +13 -4
  72. package/lib/ecabs-input-range/ecabs-input-range.component.d.ts +44 -0
  73. package/lib/ecabs-input-range/ecabs-input-range.module.d.ts +13 -0
  74. package/lib/ecabs-phone/ecabs-phone.component.d.ts +8 -8
  75. package/lib/ecabs-phone/ecabs-phone.module.d.ts +5 -4
  76. package/lib/ecabs-place-autocomplete/ecabs-place-autocomplete.component.d.ts +4 -1
  77. package/lib/ecabs-place-autocomplete-v2/ecabs-place-autocomplete-v2.component.d.ts +64 -0
  78. package/lib/ecabs-place-autocomplete-v2/ecabs-place-autocomplete-v2.module.d.ts +13 -0
  79. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.d.ts +3 -1
  80. package/lib/ecabs-segment/ecabs-segment.component.d.ts +10 -0
  81. package/lib/ecabs-select/ecabs-select.component.d.ts +5 -12
  82. package/lib/ecabs-select/ecabs-select.module.d.ts +5 -4
  83. package/lib/ecabs-select-icon/ecabs-select-icon.component.d.ts +8 -0
  84. package/lib/ecabs-select-icon/ecabs-select-icon.module.d.ts +9 -0
  85. package/lib/ecabs-select-v2/ecabs-select-v2.component.d.ts +26 -24
  86. package/lib/ecabs-select-v2/ecabs-select-v2.module.d.ts +2 -1
  87. package/lib/ecabs-table/ecabs-table.component.d.ts +4 -1
  88. package/lib/ecabs-textarea/ecabs-textarea.component.d.ts +2 -1
  89. package/lib/ecabs-time-range-input-v2/config.model.d.ts +5 -0
  90. package/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.component.d.ts +52 -0
  91. package/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.module.d.ts +11 -0
  92. package/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.service.d.ts +12 -0
  93. package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +6 -11
  94. package/package.json +18 -17
  95. package/public-api.d.ts +44 -0
  96. package/src/assets/images/nothing-here.svg +22 -22
  97. package/src/assets/images/promotions.svg +3 -3
  98. package/src/assets/styles/material/_theme.scss +17 -12
  99. package/src/assets/styles/material/overrides/_autocomplete.scss +27 -0
  100. package/src/assets/styles/material/overrides/_badge.scss +122 -0
  101. package/src/assets/styles/material/overrides/_button.scss +95 -10
  102. package/src/assets/styles/material/overrides/_card.scss +64 -2
  103. package/src/assets/styles/material/overrides/_chip.scss +122 -2
  104. package/src/assets/styles/material/overrides/_datepicker.scss +32 -12
  105. package/src/assets/styles/material/overrides/_dialog.scss +4 -2
  106. package/src/assets/styles/material/overrides/_divider.scss +5 -2
  107. package/src/assets/styles/material/overrides/_expansion.scss +55 -7
  108. package/src/assets/styles/material/overrides/_form.scss +14 -2
  109. package/src/assets/styles/material/overrides/_icon.scss +6 -0
  110. package/src/assets/styles/material/overrides/_menu.scss +56 -1
  111. package/src/assets/styles/material/overrides/_paginator.scss +47 -12
  112. package/src/assets/styles/material/overrides/_phone.scss +27 -19
  113. package/src/assets/styles/material/overrides/_progress.scss +0 -1
  114. package/src/assets/styles/material/overrides/_select.scss +73 -51
  115. package/src/assets/styles/material/overrides/_sidebar.scss +3 -1
  116. package/src/assets/styles/material/overrides/_tab.scss +27 -1
  117. package/src/assets/styles/material/overrides/_table.scss +8 -1
  118. package/src/assets/styles/material/overrides/_toaster.scss +1 -0
  119. package/src/assets/styles/material/overrides/_toggle.scss +33 -0
  120. package/src/assets/styles/material/overrides/_toolbar.scss +3 -3
  121. package/src/assets/styles/material/overrides/_tooltip.scss +1 -0
  122. package/src/assets/styles/material/overrides/index.scss +23 -22
  123. package/src/assets/styles/scss/base/_heading.scss +11 -8
  124. package/src/assets/styles/scss/base/_normalize.scss +23 -23
  125. package/src/assets/styles/scss/base/index.scss +2 -2
  126. package/src/assets/styles/scss/modules/_autocomplete.scss +26 -8
  127. package/src/assets/styles/scss/modules/_badge.scss +132 -0
  128. package/src/assets/styles/scss/modules/_button.scss +114 -49
  129. package/src/assets/styles/scss/modules/_card.scss +54 -10
  130. package/src/assets/styles/scss/modules/_chip.scss +36 -20
  131. package/src/assets/styles/scss/modules/_datepicker.scss +6 -4
  132. package/src/assets/styles/scss/modules/_dialog.scss +10 -6
  133. package/src/assets/styles/scss/modules/_divider.scss +4 -3
  134. package/src/assets/styles/scss/modules/_form.scss +209 -56
  135. package/src/assets/styles/scss/modules/_icon.scss +6 -2
  136. package/src/assets/styles/scss/modules/_img.scss +32 -32
  137. package/src/assets/styles/scss/modules/_legend.scss +21 -15
  138. package/src/assets/styles/scss/modules/_list.scss +9 -6
  139. package/src/assets/styles/scss/modules/_map.scss +93 -8
  140. package/src/assets/styles/scss/modules/_menu.scss +52 -0
  141. package/src/assets/styles/scss/modules/_percentage.scss +41 -41
  142. package/src/assets/styles/scss/modules/_phone.scss +17 -20
  143. package/src/assets/styles/scss/modules/_select.scss +9 -5
  144. package/src/assets/styles/scss/modules/_statuses.scss +36 -31
  145. package/src/assets/styles/scss/modules/_tab.scss +3 -1
  146. package/src/assets/styles/scss/modules/_table.scss +31 -20
  147. package/src/assets/styles/scss/modules/_timepicker.scss +11 -7
  148. package/src/assets/styles/scss/modules/_toaster.scss +53 -53
  149. package/src/assets/styles/scss/modules/_tooltip.scss +7 -3
  150. package/src/assets/styles/scss/modules/drag-drop.scss +13 -9
  151. package/src/assets/styles/scss/modules/index.scss +25 -23
  152. package/src/assets/styles/scss/utilities/_colors.scss +62 -52
  153. package/src/assets/styles/scss/utilities/_fonts.scss +31 -26
  154. package/src/assets/styles/scss/utilities/_functions.scss +4 -3
  155. package/src/assets/styles/scss/utilities/_helpers.scss +14 -14
  156. package/src/assets/styles/scss/utilities/_mixins.scss +50 -6
  157. package/src/assets/styles/scss/utilities/_variables.scss +14 -0
  158. package/src/assets/styles/scss/utilities/index.scss +6 -6
  159. package/src/assets/styles/styles.scss +5 -5
  160. package/src/assets/styles/tailwind/index.scss +2 -1
  161. package/lib/base/consts/date-mask.consts.d.ts +0 -7
@@ -0,0 +1,94 @@
1
+ import { ChangeDetectorRef, DoCheck, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
+ import { MatFormFieldControl } from '@angular/material/form-field';
3
+ import { FormGroupDirective, NgControl, NgForm } 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, DoCheck, 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
+ get errorStateMatcher(): ErrorStateMatcher;
25
+ set errorStateMatcher(value: ErrorStateMatcher);
26
+ enableSearch: boolean;
27
+ searchPlaceholder: string | undefined;
28
+ describedBy: string;
29
+ debounceTimeMs: any;
30
+ get format(): PhoneNumberFormat;
31
+ get placeholder(): string;
32
+ get required(): boolean;
33
+ get disabled(): boolean;
34
+ countryChanged: EventEmitter<Country>;
35
+ matMenu: MatMenu | undefined;
36
+ searchInput: ElementRef;
37
+ matCustomInput: ElementRef;
38
+ static nextId: number;
39
+ id: string;
40
+ get shouldLabelFloat(): boolean;
41
+ private _changeSubject;
42
+ private _placeholder;
43
+ private _required;
44
+ private _disabled;
45
+ private _previousFormattedNumber;
46
+ private _format;
47
+ stateChanges: Subject<void>;
48
+ focused: boolean;
49
+ phoneNumber: NationalNumber | string | undefined;
50
+ allCountries: Country[];
51
+ preferredCountriesInDropDown: Country[];
52
+ selectedCountry: Country | undefined;
53
+ numberInstance: PhoneNumber | undefined;
54
+ value: E164Number | string | undefined;
55
+ searchCriteria: string | undefined;
56
+ get empty(): boolean;
57
+ set format(value: PhoneNumberFormat);
58
+ set placeholder(value: string);
59
+ set required(value: boolean);
60
+ set disabled(value: boolean);
61
+ static getPhoneNumberPlaceHolder(countryISOCode: CC): string | undefined;
62
+ onTouched: () => void;
63
+ propagateChange: (_: unknown) => void;
64
+ private readonly _errorStateTracker;
65
+ constructor(changeDetectorRef: ChangeDetectorRef, countryCodeData: CountryCode, fm: FocusMonitor, elRef: ElementRef<HTMLElement>, defaultErrorStateMatcher: ErrorStateMatcher, ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective);
66
+ get errorState(): boolean;
67
+ set errorState(value: boolean);
68
+ ngDoCheck(): void;
69
+ controlType?: string;
70
+ autofilled?: boolean;
71
+ userAriaDescribedBy?: string;
72
+ disableAutomaticLabeling?: boolean;
73
+ ngOnInit(): void;
74
+ ngOnDestroy(): void;
75
+ onPhoneNumberChangeDebounce(): void;
76
+ onPhoneNumberChange(): void;
77
+ onCountrySelect(country: Country): void;
78
+ getCountry(code: string): Country;
79
+ onInputKeyPress(event: KeyboardEvent): void;
80
+ flagClass(lang: string): string;
81
+ registerOnChange(fn: any): void;
82
+ registerOnTouched(fn: any): void;
83
+ setDisabledState(isDisabled: boolean): void;
84
+ writeValue(value: any): void;
85
+ setDescribedByIds(ids: string[]): void;
86
+ onContainerClick(event: MouseEvent): void;
87
+ reset(): void;
88
+ onSearchInput(): void;
89
+ protected fetchCountryData(): void;
90
+ private get formattedPhoneNumber();
91
+ private formatAsYouTypeIfEnabled;
92
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsBasePhoneComponent, [null, null, null, null, null, { optional: true; self: true; }, { optional: true; }, { optional: true; }]>;
93
+ 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>;
94
+ }
@@ -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
+ }
@@ -0,0 +1,25 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { MatButtonToggleChange } from '@angular/material/button-toggle';
4
+ import { SelectOption } from '../base/models/select.models';
5
+ import * as i0 from "@angular/core";
6
+ export type ButtonToggleSize = 'small' | 'medium' | 'large';
7
+ export declare class EcabsButtonToggleComponent<T = unknown> implements ControlValueAccessor {
8
+ options: SelectOption<T>[];
9
+ multiple: boolean;
10
+ size: ButtonToggleSize;
11
+ value: T | T[];
12
+ valueChange: EventEmitter<T | T[]>;
13
+ isDisabled: boolean;
14
+ private onChange;
15
+ private onTouched;
16
+ private readonly cdr;
17
+ onGroupChange(event: MatButtonToggleChange): void;
18
+ trackByOptionValue(index: number, option: SelectOption<T>): T | number;
19
+ writeValue(value: T | T[]): void;
20
+ registerOnChange(fn: (value: T | T[]) => void): void;
21
+ registerOnTouched(fn: () => void): void;
22
+ setDisabledState(isDisabled: boolean): void;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsButtonToggleComponent<any>, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsButtonToggleComponent<any>, "ecabs-button-toggle", never, { "options": { "alias": "options"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "size": { "alias": "size"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, false, never>;
25
+ }
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./ecabs-button-toggle.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/material/button-toggle";
5
+ export declare class EcabsButtonToggleModule {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsButtonToggleModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsButtonToggleModule, [typeof i1.EcabsButtonToggleComponent], [typeof i2.CommonModule, typeof i3.MatButtonToggleModule], [typeof i1.EcabsButtonToggleComponent, typeof i3.MatButtonToggleModule]>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<EcabsButtonToggleModule>;
9
+ }
@@ -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';
@@ -0,0 +1,23 @@
1
+ import { ThemePalette } from '@angular/material/core';
2
+ import { ButtonLoadingStyle, ButtonSize, ButtonStyle } from '../base/consts/buttons.consts';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ButtonsV2Component {
5
+ disabled: boolean;
6
+ loading: boolean;
7
+ loadingStyle: ButtonLoadingStyle;
8
+ size: ButtonSize;
9
+ type: 'button' | 'submit';
10
+ style: ButtonStyle;
11
+ color: ThemePalette | 'success' | null;
12
+ fullWidth: boolean;
13
+ get isDisabled(): boolean;
14
+ get hostWidth(): string;
15
+ get sizeClass(): string;
16
+ get matColor(): ThemePalette;
17
+ get showLabel(): boolean;
18
+ get buttonClasses(): {
19
+ [key: string]: boolean;
20
+ };
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<ButtonsV2Component, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<ButtonsV2Component, "ecabs-buttons-v2", never, { "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "loadingStyle": { "alias": "loadingStyle"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "style": { "alias": "style"; "required": false; }; "color": { "alias": "color"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; }, {}, never, ["mat-icon", "*"], false, never>;
23
+ }
@@ -0,0 +1,11 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./ecabs-buttons-v2.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/material/button";
5
+ import * as i4 from "../ecabs-loading/ecabs-loading.module";
6
+ import * as i5 from "@angular/material/icon";
7
+ export declare class EcabsButtonsV2Module {
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsButtonsV2Module, never>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsButtonsV2Module, [typeof i1.ButtonsV2Component], [typeof i2.CommonModule, typeof i3.MatButtonModule, typeof i4.EcabsLoadingModule, typeof i5.MatIconModule], [typeof i1.ButtonsV2Component]>;
10
+ static ɵinj: i0.ɵɵInjectorDeclaration<EcabsButtonsV2Module>;
11
+ }
@@ -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);
@@ -0,0 +1,30 @@
1
+ import { AfterViewInit, DestroyRef, EventEmitter, Injector } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { MatCheckboxChange } from '@angular/material/checkbox';
4
+ import EcabsElementBaseComponent from '../base/element-base';
5
+ import * as i0 from "@angular/core";
6
+ export declare class EcabsCheckboxV2Component extends EcabsElementBaseComponent implements ControlValueAccessor, AfterViewInit {
7
+ private readonly injector;
8
+ private readonly destroyRef;
9
+ label: string;
10
+ showLabel: boolean;
11
+ set checked(value: boolean);
12
+ readonly checkboxChanged: EventEmitter<boolean>;
13
+ val: boolean;
14
+ get value(): boolean;
15
+ get hasError(): boolean;
16
+ set value(value: boolean);
17
+ constructor(injector: Injector, destroyRef: DestroyRef);
18
+ onChange: (value: boolean) => void;
19
+ onTouched: () => void;
20
+ ngAfterViewInit(): void;
21
+ toggle(event: MatCheckboxChange): void;
22
+ onRowClick(): void;
23
+ onKeyDown(event: KeyboardEvent): void;
24
+ onBlur(): void;
25
+ writeValue(value: boolean | null | undefined): void;
26
+ registerOnChange(fn: (value: boolean) => void): void;
27
+ registerOnTouched(fn: () => void): void;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsCheckboxV2Component, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsCheckboxV2Component, "ecabs-checkbox-v2", never, { "label": { "alias": "label"; "required": false; }; "showLabel": { "alias": "showLabel"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; }, { "checkboxChanged": "checkboxChanged"; }, never, never, false, never>;
30
+ }
@@ -0,0 +1,12 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./ecabs-checkbox-v2.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "../base/element-wrapper/element-wrapper.module";
5
+ import * as i4 from "@angular/forms";
6
+ import * as i5 from "@angular/material/icon";
7
+ import * as i6 from "@angular/material/checkbox";
8
+ export declare class EcabsCheckboxV2Module {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsCheckboxV2Module, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsCheckboxV2Module, [typeof i1.EcabsCheckboxV2Component], [typeof i2.CommonModule, typeof i3.ElementWrapperModule, typeof i4.FormsModule, typeof i5.MatIconModule, typeof i6.MatCheckboxModule], [typeof i1.EcabsCheckboxV2Component]>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<EcabsCheckboxV2Module>;
12
+ }
@@ -0,0 +1,56 @@
1
+ import { EventEmitter, OnChanges, SimpleChanges, TemplateRef } from '@angular/core';
2
+ import { ControlValueAccessor, FormControl } from '@angular/forms';
3
+ import { SelectOption } from '../base/models/select.models';
4
+ import EcabsElementBaseComponent from '../base/element-base';
5
+ import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
6
+ import * as i0 from "@angular/core";
7
+ export declare class EcabsChipAutocompleteComponent<T = unknown> extends EcabsElementBaseComponent implements ControlValueAccessor, OnChanges {
8
+ private readonly document;
9
+ private readonly inputRef?;
10
+ visibleOptions: number;
11
+ autoActiveFirstOption: boolean;
12
+ noResultsText: string;
13
+ loadingText: string;
14
+ compareFn: (a: T, b: T) => boolean;
15
+ avatarTemplate: TemplateRef<{
16
+ $implicit: SelectOption<T>;
17
+ }> | null;
18
+ truncateAt: number;
19
+ suppressNextTermOnRefocus: boolean;
20
+ useExternalFilter: boolean;
21
+ set options(value: SelectOption<T>[] | null);
22
+ readonly selectionChange: EventEmitter<T[]>;
23
+ readonly termChange: EventEmitter<string>;
24
+ protected readonly inputControl: FormControl<string>;
25
+ private readonly normalizedTerm$;
26
+ private readonly _loading;
27
+ private readonly _options;
28
+ private readonly _values;
29
+ private readonly _suppressNextTermOnRefocus;
30
+ private readonly _term;
31
+ private readonly destroyRef;
32
+ protected readonly overlayPanelClass = "ecabs-chip-autocomplete-overlay-panel";
33
+ protected readonly selectedOptions: import("@angular/core").Signal<SelectOption<T>[]>;
34
+ protected readonly filteredOptions: import("@angular/core").Signal<SelectOption<T>[]>;
35
+ protected readonly noMatchResult: import("@angular/core").Signal<boolean>;
36
+ get options(): SelectOption<T>[] | null;
37
+ constructor(document: Document);
38
+ ngOnChanges(changes: SimpleChanges): void;
39
+ setOverlayHeight(): void;
40
+ setSelection(event: MatAutocompleteSelectedEvent): void;
41
+ removeSelection(option: SelectOption<T>): void;
42
+ trackByFn(_index: number, option: SelectOption<T>): T | number;
43
+ writeValue(value: T[] | null): void;
44
+ registerOnChange(fn: typeof this.onChange): void;
45
+ registerOnTouched(fn: () => void): void;
46
+ setDisabledState(isDisabled: boolean): void;
47
+ blur(): void;
48
+ private onChange;
49
+ private onTouched;
50
+ private updateValues;
51
+ private clearAndRefocusInput;
52
+ private setValidSelectedOptions;
53
+ private setFilteredOptions;
54
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsChipAutocompleteComponent<any>, never>;
55
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsChipAutocompleteComponent<any>, "ecabs-chip-autocomplete", never, { "visibleOptions": { "alias": "visibleOptions"; "required": false; }; "autoActiveFirstOption": { "alias": "autoActiveFirstOption"; "required": false; }; "noResultsText": { "alias": "noResultsText"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "compareFn": { "alias": "compareFn"; "required": false; }; "avatarTemplate": { "alias": "avatarTemplate"; "required": false; }; "truncateAt": { "alias": "truncateAt"; "required": false; }; "suppressNextTermOnRefocus": { "alias": "suppressNextTermOnRefocus"; "required": false; }; "useExternalFilter": { "alias": "useExternalFilter"; "required": false; }; "options": { "alias": "options"; "required": true; }; }, { "selectionChange": "selectionChange"; "termChange": "termChange"; }, never, never, true, never>;
56
+ }
@@ -0,0 +1,24 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { SelectOption } from '../base/models/select.models';
4
+ import * as i0 from "@angular/core";
5
+ export declare class EcabsChipGroupComponent<T = unknown> implements ControlValueAccessor {
6
+ options: SelectOption<T>[];
7
+ multiple: boolean;
8
+ disableRipple: boolean;
9
+ truncateAt: number;
10
+ compareFn: (a: T, b: T) => boolean;
11
+ trackByFn: (index: number, option: SelectOption<T>) => unknown;
12
+ selectedChange: EventEmitter<T | T[]>;
13
+ protected readonly _value: import("@angular/core").WritableSignal<T | T[]>;
14
+ protected readonly isDisabled: import("@angular/core").WritableSignal<boolean>;
15
+ chipValueChange(value: T | T[]): void;
16
+ writeValue(value: T | T[] | null): void;
17
+ registerOnChange(fn: typeof this.onChange): void;
18
+ registerOnTouched(fn: () => void): void;
19
+ setDisabledState(isDisabled: boolean): void;
20
+ private onChange;
21
+ private onTouched;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsChipGroupComponent<any>, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsChipGroupComponent<any>, "ecabs-chip-group", never, { "options": { "alias": "options"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "truncateAt": { "alias": "truncateAt"; "required": false; }; "compareFn": { "alias": "compareFn"; "required": false; }; "trackByFn": { "alias": "trackByFn"; "required": false; }; }, { "selectedChange": "selectedChange"; }, never, never, false, never>;
24
+ }
@@ -0,0 +1,12 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./ecabs-chip-group.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/material/chips";
5
+ import * as i4 from "@angular/forms";
6
+ import * as i5 from "@angular/material/tooltip";
7
+ import * as i6 from "../base/pipes/pipes.module";
8
+ export declare class EcabsChipGroupModule {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsChipGroupModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsChipGroupModule, [typeof i1.EcabsChipGroupComponent], [typeof i2.CommonModule, typeof i3.MatChipsModule, typeof i4.FormsModule, typeof i5.MatTooltipModule, typeof i6.EcabsPipesModule], [typeof i1.EcabsChipGroupComponent]>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<EcabsChipGroupModule>;
12
+ }
@@ -5,6 +5,7 @@ import { EcabsDatePickerHolidayOptions, EcabsDatePickerTranslations } from '../b
5
5
  import { EcabsDatePickerHeaderService } from '../base/services/ecabs-date-picker-translations.service';
6
6
  import { UnsubscribeService } from '../base/services/unsubscribe.service';
7
7
  import { EcabsDatePickerHeaderComponent } from './components/ecabs-date-picker-header/ecabs-date-picker-header.component';
8
+ import { MatDatepicker } from '@angular/material/datepicker';
8
9
  import * as i0 from "@angular/core";
9
10
  export declare class EcabsDatePickerComponent extends EcabsElementBaseComponent implements ControlValueAccessor, AfterViewInit, OnInit {
10
11
  private readonly injector;
@@ -20,9 +21,11 @@ export declare class EcabsDatePickerComponent extends EcabsElementBaseComponent
20
21
  specificDates: Date[];
21
22
  holidayOptions: EcabsDatePickerHolidayOptions;
22
23
  onblur: EventEmitter<any>;
24
+ datepicker: MatDatepicker<any> | undefined;
23
25
  val: string | number;
24
26
  header: typeof EcabsDatePickerHeaderComponent;
25
27
  translationConfig: EcabsDatePickerTranslations;
28
+ disabledApplyButton: boolean;
26
29
  get value(): string | number;
27
30
  set value(val: string | number);
28
31
  constructor(injector: Injector, ecabsDatePickerHeaderService: EcabsDatePickerHeaderService, unsubscribeService: UnsubscribeService);
@@ -3,7 +3,9 @@ import * as i0 from "@angular/core";
3
3
  export declare class EcabsDatePickerActionsComponent {
4
4
  cancelLabel: string;
5
5
  applyLabel: string;
6
+ isDateRange: boolean;
7
+ disabledApplyButton: boolean;
6
8
  readonly apply: EventEmitter<void>;
7
9
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsDatePickerActionsComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<EcabsDatePickerActionsComponent, "ecabs-date-picker-actions", never, { "cancelLabel": { "alias": "cancelLabel"; "required": false; }; "applyLabel": { "alias": "applyLabel"; "required": false; }; }, { "apply": "apply"; }, never, never, false, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsDatePickerActionsComponent, "ecabs-date-picker-actions", never, { "cancelLabel": { "alias": "cancelLabel"; "required": false; }; "applyLabel": { "alias": "applyLabel"; "required": false; }; "isDateRange": { "alias": "isDateRange"; "required": false; }; "disabledApplyButton": { "alias": "disabledApplyButton"; "required": false; }; }, { "apply": "apply"; }, never, never, false, never>;
9
11
  }
@@ -5,6 +5,7 @@ import { EcabsDatePickerTranslations } from '../base/models/ecabs-date-picker-tr
5
5
  import { EcabsDatePickerHeaderService } from '../base/services/ecabs-date-picker-translations.service';
6
6
  import { UnsubscribeService } from '../base/services/unsubscribe.service';
7
7
  import { EcabsDateRangePickerHeaderComponent } from './components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component';
8
+ import { MatDateRangePicker } from '@angular/material/datepicker';
8
9
  import * as i0 from "@angular/core";
9
10
  export declare class EcabsDateRangePickerComponent extends EcabsElementBaseComponent implements ControlValueAccessor, AfterViewInit, OnInit {
10
11
  private readonly injector;
@@ -22,10 +23,12 @@ export declare class EcabsDateRangePickerComponent extends EcabsElementBaseCompo
22
23
  dateFrom: string;
23
24
  dateTo: string;
24
25
  };
26
+ datepicker: MatDateRangePicker<any> | undefined;
25
27
  header: typeof EcabsDateRangePickerHeaderComponent;
26
28
  _dateFrom: string;
27
29
  _dateTo: string;
28
30
  translationConfig: EcabsDatePickerTranslations;
31
+ disabledApplyButton: boolean;
29
32
  get value(): {
30
33
  dateFrom: string;
31
34
  dateTo: string;
@@ -0,0 +1,9 @@
1
+ import { EcabsDatePickerHeaderService } from '../../../base/services/ecabs-date-picker-translations.service';
2
+ import * as i0 from "@angular/core";
3
+ export declare class EcabsDateRangePickerHeaderComponentV2 {
4
+ readonly ecabsDatePickerHeaderService: EcabsDatePickerHeaderService;
5
+ selectDateLabel: string;
6
+ constructor(ecabsDatePickerHeaderService: EcabsDatePickerHeaderService);
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsDateRangePickerHeaderComponentV2, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsDateRangePickerHeaderComponentV2, "ecabs-date-range-picker-header-v2", never, { "selectDateLabel": { "alias": "selectDateLabel"; "required": false; }; }, {}, never, never, false, never>;
9
+ }
@@ -0,0 +1,69 @@
1
+ import { AfterViewInit, DestroyRef, EventEmitter, Injector, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
+ import { ControlValueAccessor, UntypedFormControl } from '@angular/forms';
3
+ import { MatDateRangePicker } from '@angular/material/datepicker';
4
+ import EcabsElementBaseComponent from '../base/element-base';
5
+ import { EcabsDatePickerHolidayOptions, EcabsDatePickerTranslations } from '../base/models/ecabs-date-picker-translations.models';
6
+ import { EcabsDatePickerHeaderService } from '../base/services/ecabs-date-picker-translations.service';
7
+ import { EcabsDateRangePickerHeaderComponentV2 } from './components/ecabs-date-range-picker-header/ecabs-date-range-picker-header-v2.component';
8
+ import * as i0 from "@angular/core";
9
+ export declare class EcabsDateRangePickerComponentV2 extends EcabsElementBaseComponent implements ControlValueAccessor, AfterViewInit, OnInit, OnChanges {
10
+ private readonly injector;
11
+ private readonly ecabsDatePickerHeaderService;
12
+ private readonly destroyRef;
13
+ minDate: Date;
14
+ maxDate: Date;
15
+ touchUi: boolean;
16
+ cancelLabel: string;
17
+ applyLabel: string;
18
+ startDatePlaceholder: string;
19
+ endDatePlaceholder: string;
20
+ separatorLabel: string;
21
+ excludeHolidays: boolean;
22
+ excludeWeekends: boolean;
23
+ specificDates: Date[];
24
+ holidayOptions: EcabsDatePickerHolidayOptions;
25
+ onblur: EventEmitter<any>;
26
+ val: {
27
+ dateFrom: string;
28
+ dateTo: string;
29
+ };
30
+ pickerTo: MatDateRangePicker<any> | undefined;
31
+ header: typeof EcabsDateRangePickerHeaderComponentV2;
32
+ _dateFrom: string;
33
+ _dateTo: string;
34
+ translationConfig: EcabsDatePickerTranslations;
35
+ minDateFrom?: Date;
36
+ maxDateFrom?: Date;
37
+ minDateTo?: Date;
38
+ maxDateTo?: Date;
39
+ protected readonly panelClass = "ecabs-date-range-picker-v2";
40
+ private holidayInstance;
41
+ get value(): {
42
+ dateFrom: string;
43
+ dateTo: string;
44
+ };
45
+ get dateFrom(): string;
46
+ get dateTo(): string;
47
+ set value(val: {
48
+ dateFrom: string;
49
+ dateTo: string;
50
+ });
51
+ set dateFrom(val: string);
52
+ set dateTo(val: string);
53
+ constructor(injector: Injector, ecabsDatePickerHeaderService: EcabsDatePickerHeaderService, destroyRef: DestroyRef);
54
+ ngOnChanges(changes: SimpleChanges): void;
55
+ ngOnInit(): void;
56
+ ngAfterViewInit(): void;
57
+ onChange: any;
58
+ onTouch: any;
59
+ writeValue(value: any): void;
60
+ registerOnChange(fn: any): void;
61
+ registerOnTouched(fn: any): void;
62
+ blurChange(e: any): void;
63
+ onApply(): void;
64
+ filterDateRange: (date: Date) => boolean;
65
+ isDateNotHoliday(date: Date): boolean;
66
+ dateRangeValidator(control: UntypedFormControl): void;
67
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsDateRangePickerComponentV2, never>;
68
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsDateRangePickerComponentV2, "ecabs-date-range-picker-v2", never, { "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "touchUi": { "alias": "touchUi"; "required": false; }; "cancelLabel": { "alias": "cancelLabel"; "required": false; }; "applyLabel": { "alias": "applyLabel"; "required": false; }; "startDatePlaceholder": { "alias": "startDatePlaceholder"; "required": false; }; "endDatePlaceholder": { "alias": "endDatePlaceholder"; "required": false; }; "separatorLabel": { "alias": "separatorLabel"; "required": false; }; "excludeHolidays": { "alias": "excludeHolidays"; "required": false; }; "excludeWeekends": { "alias": "excludeWeekends"; "required": false; }; "specificDates": { "alias": "specificDates"; "required": false; }; "holidayOptions": { "alias": "holidayOptions"; "required": false; }; }, { "onblur": "onblur"; }, never, never, false, never>;
69
+ }
@@ -0,0 +1,21 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./ecabs-date-range-picker-v2.component";
3
+ import * as i2 from "./components/ecabs-date-range-picker-header/ecabs-date-range-picker-header-v2.component";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "../base/element-wrapper/element-wrapper.module";
6
+ import * as i5 from "@angular/material/icon";
7
+ import * as i6 from "@angular/material/datepicker";
8
+ import * as i7 from "@angular/material/button";
9
+ import * as i8 from "@angular/forms";
10
+ import * as i9 from "../ecabs-picker-header/ecabs-picker-header.module";
11
+ import * as i10 from "../ecabs-buttons/ecabs-buttons.module";
12
+ import * as i11 from "../base/directives/digits-only.directive.module";
13
+ import * as i12 from "../base/directives/number-border.directive.module";
14
+ import * as i13 from "../base/directives/date-mask.directive.module";
15
+ import * as i14 from "@angular/material/input";
16
+ import * as i15 from "../ecabs-date-picker-actions/ecabs-date-picker-actions.module";
17
+ export declare class EcabsDateRangeModuleV2 {
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsDateRangeModuleV2, never>;
19
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsDateRangeModuleV2, [typeof i1.EcabsDateRangePickerComponentV2, typeof i2.EcabsDateRangePickerHeaderComponentV2], [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.MatInputModule, typeof i15.EcabsDatePickerActionsModule], [typeof i1.EcabsDateRangePickerComponentV2, typeof i2.EcabsDateRangePickerHeaderComponentV2]>;
20
+ static ɵinj: i0.ɵɵInjectorDeclaration<EcabsDateRangeModuleV2>;
21
+ }
@@ -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: any;
36
43
  get value(): Date;
37
44
  get pickerValue(): string;
38
45
  get hours(): string;
@@ -51,12 +58,13 @@ 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
- private roundNumber;
64
+ private normalizeWithAutoPad;
65
+ private toDigits;
66
+ private formatTwoDigits;
59
67
  private setValues;
60
68
  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>;
69
+ 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
70
  }
@@ -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
  }