ecabs-components 2.0.0-alpha.1 → 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 -46
  2. package/fesm2022/ecabs-components.mjs +4988 -1255
  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 -16
  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 -29
  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 +34 -1
  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 +16 -22
  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
@@ -20,25 +20,30 @@ 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;
39
- width?: string;
43
+ popoverResult?: any;
40
44
  content?: string;
41
45
  useFullButtonSize?: boolean;
46
+ splitButtonsWidth?: boolean;
42
47
  loading$?: Observable<boolean>;
43
48
  disableConfirm$?: Observable<boolean>;
44
49
  }
@@ -0,0 +1,33 @@
1
+ import { DestroyRef, OnInit } from '@angular/core';
2
+ import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
3
+ import { ThemePalette } from '@angular/material/core';
4
+ import { MatDialogRef } from '@angular/material/dialog';
5
+ import { EcabsComponentsService } from '../base/services/ecabs-components.service';
6
+ import * as i0 from "@angular/core";
7
+ export declare class EcabsDialogConfirmationDeletionComponent implements OnInit {
8
+ dialogRef: MatDialogRef<EcabsDialogConfirmationDeletionComponent>;
9
+ data: EcabsDeleteConfirmationModal;
10
+ private readonly fb;
11
+ private readonly componentsService;
12
+ private readonly destroyRef;
13
+ form: UntypedFormGroup;
14
+ color: ThemePalette;
15
+ constructor(dialogRef: MatDialogRef<EcabsDialogConfirmationDeletionComponent>, data: EcabsDeleteConfirmationModal, fb: UntypedFormBuilder, componentsService: EcabsComponentsService, destroyRef: DestroyRef);
16
+ ngOnInit(): void;
17
+ onConfirm(): void;
18
+ onCancel(): void;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsDialogConfirmationDeletionComponent, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsDialogConfirmationDeletionComponent, "ecabs-dialog-confirm-deletion", never, {}, {}, never, never, false, never>;
21
+ }
22
+ export interface EcabsDeleteConfirmationModal {
23
+ actionName?: string;
24
+ alertText?: string;
25
+ color?: ThemePalette;
26
+ comparisonText?: string;
27
+ confirmLabel?: string;
28
+ cancelLabel?: string;
29
+ entityName?: string;
30
+ entityNameLabel?: string;
31
+ entityNamePlaceholder?: string;
32
+ showEntityNameInHeader?: boolean;
33
+ }
@@ -0,0 +1,12 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./ecabs-dialog-confirm-deletion.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/forms";
5
+ import * as i4 from "@angular/material/dialog";
6
+ import * as i5 from "../ecabs-buttons/ecabs-buttons.module";
7
+ import * as i6 from "../ecabs-input/ecabs-input.module";
8
+ export declare class EcabsDialogConfirmDeletionModule {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsDialogConfirmDeletionModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsDialogConfirmDeletionModule, [typeof i1.EcabsDialogConfirmationDeletionComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.MatDialogModule, typeof i5.EcabsButtonsModule, typeof i6.EcabsInputModule], never>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<EcabsDialogConfirmDeletionModule>;
12
+ }
@@ -5,11 +5,12 @@ export interface PlaceholderRedirectPath {
5
5
  path: string;
6
6
  }
7
7
  export declare class EcabsEmptyPlaceholderComponent implements OnChanges {
8
+ title?: string;
8
9
  isEmptyMessage: string;
9
10
  redirectPath: PlaceholderRedirectPath;
10
11
  srcImage: string;
11
12
  image: string;
12
13
  ngOnChanges(changes: SimpleChanges): void;
13
14
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsEmptyPlaceholderComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<EcabsEmptyPlaceholderComponent, "ecabs-empty-placeholder", never, { "isEmptyMessage": { "alias": "isEmptyMessage"; "required": false; }; "redirectPath": { "alias": "redirectPath"; "required": false; }; "srcImage": { "alias": "srcImage"; "required": false; }; }, {}, never, never, false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsEmptyPlaceholderComponent, "ecabs-empty-placeholder", never, { "title": { "alias": "title"; "required": false; }; "isEmptyMessage": { "alias": "isEmptyMessage"; "required": false; }; "redirectPath": { "alias": "redirectPath"; "required": false; }; "srcImage": { "alias": "srcImage"; "required": false; }; }, {}, never, ["*"], false, never>;
15
16
  }
@@ -16,14 +16,15 @@ export declare class EcabsExpansionPanelComponent implements OnChanges {
16
16
  showCheckbox: boolean;
17
17
  showStatus: boolean;
18
18
  status: string;
19
- hideToggle: boolean;
19
+ collapsible: boolean;
20
20
  checked: EventEmitter<boolean>;
21
21
  opened: EventEmitter<void>;
22
22
  expansionPanel: MatExpansionPanel;
23
23
  toggle: boolean;
24
+ get statusLabel(): string;
24
25
  onOpened(): void;
25
26
  ngOnChanges(changes: SimpleChanges): void;
26
27
  toggleAction(event: Event): void;
27
28
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsExpansionPanelComponent, never>;
28
- static ɵcmp: i0.ɵɵComponentDeclaration<EcabsExpansionPanelComponent, "ecabs-expansion-panel", never, { "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "actionTitle": { "alias": "actionTitle"; "required": false; }; "index": { "alias": "index"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "showErrorMessage": { "alias": "showErrorMessage"; "required": false; }; "closePanel": { "alias": "closePanel"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "iconName": { "alias": "iconName"; "required": false; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; }; "showStatus": { "alias": "showStatus"; "required": false; }; "status": { "alias": "status"; "required": false; }; "hideToggle": { "alias": "hideToggle"; "required": false; }; }, { "checked": "checked"; "opened": "opened"; }, never, ["*"], false, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsExpansionPanelComponent, "ecabs-expansion-panel", never, { "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "actionTitle": { "alias": "actionTitle"; "required": false; }; "index": { "alias": "index"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "showErrorMessage": { "alias": "showErrorMessage"; "required": false; }; "closePanel": { "alias": "closePanel"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "iconName": { "alias": "iconName"; "required": false; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; }; "showStatus": { "alias": "showStatus"; "required": false; }; "status": { "alias": "status"; "required": false; }; "collapsible": { "alias": "collapsible"; "required": false; }; }, { "checked": "checked"; "opened": "opened"; }, never, ["*"], false, never>;
29
30
  }
@@ -5,10 +5,10 @@ import * as i3 from "@angular/forms";
5
5
  import * as i4 from "@angular/material/button";
6
6
  import * as i5 from "@angular/material/expansion";
7
7
  import * as i6 from "@angular/material/icon";
8
- import * as i7 from "@angular/material/chips";
9
- import * as i8 from "../ecabs-checkbox-toggle/ecabs-checkbox-toggle.module";
8
+ import * as i7 from "../ecabs-checkbox-toggle/ecabs-checkbox-toggle.module";
9
+ import * as i8 from "../ecabs-badge/ecabs-badge.module";
10
10
  export declare class EcabsExpansionPanelModule {
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsExpansionPanelModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsExpansionPanelModule, [typeof i1.EcabsExpansionPanelComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.MatButtonModule, typeof i5.MatExpansionModule, typeof i6.MatIconModule, typeof i7.MatChipsModule, typeof i8.EcabsCheckboxToggleModule], [typeof i1.EcabsExpansionPanelComponent]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsExpansionPanelModule, [typeof i1.EcabsExpansionPanelComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.MatButtonModule, typeof i5.MatExpansionModule, typeof i6.MatIconModule, typeof i7.EcabsCheckboxToggleModule, typeof i8.EcabsBadgeModule], [typeof i1.EcabsExpansionPanelComponent]>;
13
13
  static ɵinj: i0.ɵɵInjectorDeclaration<EcabsExpansionPanelModule>;
14
14
  }
@@ -1,22 +1,28 @@
1
- import { AfterViewInit, DestroyRef, EventEmitter, Injector, OnInit } from '@angular/core';
1
+ import { AfterViewInit, DestroyRef, ElementRef, EventEmitter, Injector, OnInit, Renderer2 } 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
- private injector;
6
+ private readonly injector;
7
7
  private readonly destroyRef;
8
+ private readonly renderer;
9
+ matCustomInput: ElementRef;
10
+ autoSizer: ElementRef<HTMLElement>;
8
11
  digitsOnly: boolean;
9
12
  allowDecimal: boolean;
10
13
  allowHyphen: boolean;
14
+ allowRange: boolean;
15
+ autoResize: boolean;
11
16
  max: number;
12
17
  mini: number;
13
18
  maxi: number;
14
19
  step: number;
15
20
  onblur: EventEmitter<any>;
16
21
  val: string | number;
22
+ get fluidHost(): boolean;
17
23
  get value(): string | number;
18
24
  set value(val: string | number);
19
- constructor(injector: Injector, destroyRef: DestroyRef);
25
+ constructor(injector: Injector, destroyRef: DestroyRef, renderer: Renderer2);
20
26
  ngOnInit(): void;
21
27
  ngAfterViewInit(): void;
22
28
  onChange: any;
@@ -25,6 +31,9 @@ export declare class EcabsInputComponent extends EcabsElementBaseComponent imple
25
31
  registerOnChange(fn: any): void;
26
32
  registerOnTouched(fn: any): void;
27
33
  blurChange(e: any): void;
34
+ onInput(): void;
35
+ private trackAutoResize;
36
+ private measureAutoResizeWidth;
28
37
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsInputComponent, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<EcabsInputComponent, "ecabs-input", never, { "digitsOnly": { "alias": "digitsOnly"; "required": false; }; "allowDecimal": { "alias": "allowDecimal"; "required": false; }; "allowHyphen": { "alias": "allowHyphen"; "required": false; }; "max": { "alias": "max"; "required": false; }; "mini": { "alias": "mini"; "required": false; }; "maxi": { "alias": "maxi"; "required": false; }; "step": { "alias": "step"; "required": false; }; }, { "onblur": "onblur"; }, never, ["mat-icon", ".suffix"], false, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsInputComponent, "ecabs-input", never, { "digitsOnly": { "alias": "digitsOnly"; "required": false; }; "allowDecimal": { "alias": "allowDecimal"; "required": false; }; "allowHyphen": { "alias": "allowHyphen"; "required": false; }; "allowRange": { "alias": "allowRange"; "required": false; }; "autoResize": { "alias": "autoResize"; "required": false; }; "max": { "alias": "max"; "required": false; }; "mini": { "alias": "mini"; "required": false; }; "maxi": { "alias": "maxi"; "required": false; }; "step": { "alias": "step"; "required": false; }; }, { "onblur": "onblur"; }, never, ["mat-icon", ".suffix"], false, never>;
30
39
  }
@@ -0,0 +1,44 @@
1
+ import { EventEmitter, ElementRef, AfterViewInit, Injector, DestroyRef } from '@angular/core';
2
+ import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
3
+ import EcabsElementBaseComponent from '../base/element-base';
4
+ import * as i0 from "@angular/core";
5
+ export interface RangeValue {
6
+ from: number | null;
7
+ to: number | null;
8
+ }
9
+ export declare class EcabsInputRangeComponent extends EcabsElementBaseComponent implements ControlValueAccessor, Validator, AfterViewInit {
10
+ private readonly injector;
11
+ private readonly destroyRef;
12
+ toInput: ElementRef;
13
+ digitsOnly: boolean;
14
+ allowDecimal: boolean;
15
+ allowHyphen: boolean;
16
+ min: number;
17
+ max: number;
18
+ step: number;
19
+ separatorText: string;
20
+ fromPlaceholder: string;
21
+ toPlaceholder: string;
22
+ rangeChange: EventEmitter<RangeValue>;
23
+ val: RangeValue;
24
+ isFocused: boolean;
25
+ constructor(injector: Injector, destroyRef: DestroyRef);
26
+ ngAfterViewInit(): void;
27
+ get value(): RangeValue;
28
+ set value(v: RangeValue);
29
+ setFocus(focus: boolean): void;
30
+ focusToInput(): void;
31
+ updateValue(key: 'from' | 'to', val: any): void;
32
+ getFromError(value?: RangeValue): ValidationErrors | null;
33
+ getToError(value?: RangeValue): ValidationErrors | null;
34
+ getIncompleteRangeError(value?: RangeValue): ValidationErrors | null;
35
+ get hasAnyError(): boolean;
36
+ validate(control: AbstractControl): ValidationErrors | null;
37
+ onChange: (value: RangeValue) => void;
38
+ onTouched: () => void;
39
+ writeValue(v: RangeValue): void;
40
+ registerOnChange(fn: (value: RangeValue) => void): void;
41
+ registerOnTouched(fn: () => void): void;
42
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsInputRangeComponent, never>;
43
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsInputRangeComponent, "ecabs-input-range", never, { "digitsOnly": { "alias": "digitsOnly"; "required": false; }; "allowDecimal": { "alias": "allowDecimal"; "required": false; }; "allowHyphen": { "alias": "allowHyphen"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "separatorText": { "alias": "separatorText"; "required": false; }; "fromPlaceholder": { "alias": "fromPlaceholder"; "required": false; }; "toPlaceholder": { "alias": "toPlaceholder"; "required": false; }; }, { "rangeChange": "rangeChange"; }, never, never, false, never>;
44
+ }
@@ -0,0 +1,13 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./ecabs-input-range.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/forms";
5
+ import * as i4 from "../base/element-wrapper/element-wrapper.module";
6
+ import * as i5 from "../base/directives/digits-only.directive.module";
7
+ import * as i6 from "../base/directives/min-max.directive.module";
8
+ import * as i7 from "../ecabs-buttons-v2/ecabs-buttons-v2.module";
9
+ export declare class EcabsInputRangeModule {
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsInputRangeModule, never>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsInputRangeModule, [typeof i1.EcabsInputRangeComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.ElementWrapperModule, typeof i5.EcabsDigitsOnlyDirectivesModule, typeof i6.EcabsMinMaxDirectiveModule, typeof i7.EcabsButtonsV2Module], [typeof i1.EcabsInputRangeComponent]>;
12
+ static ɵinj: i0.ɵɵInjectorDeclaration<EcabsInputRangeModule>;
13
+ }
@@ -1,31 +1,31 @@
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;
28
+ setDisabledState(isDisabled: boolean): void;
29
29
  ngOnInit(): void;
30
30
  ngAfterViewInit(): void;
31
31
  ngOnChanges(changes: SimpleChanges): void;
@@ -39,5 +39,5 @@ export declare class EcabsPhoneComponent extends EcabsElementBaseComponent imple
39
39
  onBlur(): void;
40
40
  handleErrors(): void;
41
41
  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>;
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; }; "debounceTimeMs": { "alias": "debounceTimeMs"; "required": false; }; }, { "onblur": "onblur"; }, never, never, false, never>;
43
43
  }
@@ -1,11 +1,12 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./ecabs-phone.component";
3
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 "ngx-intl-tel-input";
4
+ import * as i3 from "@angular/material/input";
5
+ import * as i4 from "../base/element-wrapper/element-wrapper.module";
6
+ import * as i5 from "@angular/forms";
7
+ import * as i6 from "../ecabs-base-phone-input/ecabs-base-phone.module";
7
8
  export declare class EcabsPhoneModule {
8
9
  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]>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsPhoneModule, [typeof i1.EcabsPhoneComponent], [typeof i2.CommonModule, typeof i3.MatInputModule, typeof i4.ElementWrapperModule, typeof i5.FormsModule, typeof i5.ReactiveFormsModule, typeof i6.EcabsBasePhoneModule], [typeof i1.EcabsPhoneComponent]>;
10
11
  static ɵinj: i0.ɵɵInjectorDeclaration<EcabsPhoneModule>;
11
12
  }
@@ -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
  }
@@ -0,0 +1,64 @@
1
+ import { AfterViewInit, ElementRef, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import EcabsElementBaseComponent from '../base/element-base';
4
+ import { WaypointTypeEnum } from '../base/consts/waypoint.consts';
5
+ import { GooglePlaceResult, WaypointQueryChange, WaypointSuggestion } from '../base/models/waypoint.models';
6
+ import { BehaviorSubject, Observable } from 'rxjs';
7
+ import * as i0 from "@angular/core";
8
+ export declare class EcabsPlaceAutocompleteV2Component extends EcabsElementBaseComponent implements OnChanges, AfterViewInit, ControlValueAccessor {
9
+ matCustomInput: ElementRef;
10
+ showDeleteItem: boolean;
11
+ set waypointsHistory(value: WaypointSuggestion[]);
12
+ showSuffix: boolean;
13
+ countryCode: string;
14
+ googleLoaded: boolean;
15
+ waypointType: WaypointTypeEnum;
16
+ debounceMs: number;
17
+ readonly placeResult: EventEmitter<GooglePlaceResult>;
18
+ readonly deleteItem: EventEmitter<any>;
19
+ readonly queryChanged: EventEmitter<WaypointQueryChange>;
20
+ isFocused$: BehaviorSubject<boolean>;
21
+ waypointSuggestions$: Observable<WaypointSuggestion[]>;
22
+ value$: BehaviorSubject<string>;
23
+ selectedIndex: number;
24
+ displayedSuggestions: WaypointSuggestion[];
25
+ private readonly inputQuery$;
26
+ private readonly waypointsHistory$;
27
+ private _value;
28
+ private autocompleteService;
29
+ private placesService;
30
+ private sessionToken;
31
+ private isResolvingPlace;
32
+ private readonly MAX_SUGGESTIONS;
33
+ private readonly emptySuggestions;
34
+ private readonly ngZone;
35
+ private readonly injector;
36
+ private readonly destroyRef;
37
+ get value(): string;
38
+ set value(value: string);
39
+ constructor();
40
+ ngOnChanges(changes: SimpleChanges): void;
41
+ ngAfterViewInit(): void;
42
+ private onChange;
43
+ private onTouch;
44
+ private getPlacesResults;
45
+ private toWaypointSuggestions;
46
+ onUserInput(query: string): void;
47
+ trackBySuggestion(index: number, suggestion: WaypointSuggestion): string;
48
+ onSelectSuggestion(suggestion: WaypointSuggestion): void;
49
+ private toLatLng;
50
+ private toPlaceFallback;
51
+ private resolveByPlaceId;
52
+ onKeyDown(event: KeyboardEvent): void;
53
+ onBlur(): void;
54
+ onFocus(): void;
55
+ writeValue(nextValue?: string | null): void;
56
+ registerOnChange(fn: (value: string) => void): void;
57
+ registerOnTouched(fn: () => void): void;
58
+ delete(): void;
59
+ clear(): void;
60
+ private initGoogle;
61
+ private resetSessionToken;
62
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsPlaceAutocompleteV2Component, never>;
63
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsPlaceAutocompleteV2Component, "ecabs-place-autocomplete-v2", never, { "showDeleteItem": { "alias": "showDeleteItem"; "required": false; }; "waypointsHistory": { "alias": "waypointsHistory"; "required": false; }; "showSuffix": { "alias": "showSuffix"; "required": false; }; "countryCode": { "alias": "countryCode"; "required": false; }; "googleLoaded": { "alias": "googleLoaded"; "required": false; }; "waypointType": { "alias": "waypointType"; "required": false; }; "debounceMs": { "alias": "debounceMs"; "required": false; }; }, { "placeResult": "placeResult"; "deleteItem": "deleteItem"; "queryChanged": "queryChanged"; }, never, never, false, never>;
64
+ }
@@ -0,0 +1,13 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./ecabs-place-autocomplete-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 "../base/pipes/separator-append.pipe";
8
+ import * as i7 from "@angular/cdk/overlay";
9
+ export declare class EcabsPlaceAutocompleteV2Module {
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsPlaceAutocompleteV2Module, never>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsPlaceAutocompleteV2Module, [typeof i1.EcabsPlaceAutocompleteV2Component], [typeof i2.CommonModule, typeof i3.ElementWrapperModule, typeof i4.FormsModule, typeof i5.MatIconModule, typeof i6.SeparatorAppendPipe, typeof i7.CdkOverlayOrigin, typeof i7.CdkConnectedOverlay], [typeof i1.EcabsPlaceAutocompleteV2Component]>;
12
+ static ɵinj: i0.ɵɵInjectorDeclaration<EcabsPlaceAutocompleteV2Module>;
13
+ }
@@ -2,12 +2,14 @@ import { AfterViewInit, EventEmitter, Injector } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
3
  import EcabsElementBaseComponent from '../base/element-base';
4
4
  import { SelectOption } from '../base/models/select.models';
5
+ import { MatRadioChange, MatRadioGroup } from '@angular/material/radio';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class EcabsRadioButtonListComponent extends EcabsElementBaseComponent implements ControlValueAccessor, AfterViewInit {
7
8
  private injector;
9
+ matRadioGroup: MatRadioGroup;
8
10
  items: SelectOption[];
9
11
  direction: 'horizontal' | 'vertical';
10
- changed: EventEmitter<any>;
12
+ readonly changed: EventEmitter<MatRadioChange<any>>;
11
13
  val: string;
12
14
  get value(): string;
13
15
  set value(val: string);
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class EcabsSegmentComponent {
3
+ title: string;
4
+ subtitle?: string;
5
+ showTitleDivider: boolean;
6
+ compact: boolean;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsSegmentComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsSegmentComponent, "ecabs-segment", never, { "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "showTitleDivider": { "alias": "showTitleDivider"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; }, {}, never, ["[ecabsSegmentHeaderEnd]", "[ecabsSegmentHeaderBottom]", "*"], true, never>;
9
+ static ngAcceptInputType_compact: unknown;
10
+ }
@@ -29,24 +29,16 @@ export declare class EcabsSelectComponent extends EcabsElementBaseComponent impl
29
29
  allSelected: MatOption;
30
30
  matSelectSearchComponent: MatSelectSearchComponent;
31
31
  val: any;
32
- filteredItems$: BehaviorSubject<{
33
- label: string;
34
- value: any;
35
- }[]>;
32
+ filteredItems$: BehaviorSubject<SelectOption[]>;
36
33
  itemFilterCtrl: UntypedFormControl;
37
34
  isClearAll: boolean;
38
35
  showFilteredAllOption: boolean;
39
- selectedItems: {
40
- label: string;
41
- value: any;
42
- }[];
43
- notSelectedItems: {
44
- label: string;
45
- value: any;
46
- }[];
36
+ selectedItems: SelectOption[];
37
+ notSelectedItems: SelectOption[];
47
38
  subscriptions: Subscription;
48
39
  get value(): any;
49
40
  get trigger(): string;
41
+ get triggerOption(): SelectOption | undefined;
50
42
  set value(val: any);
51
43
  constructor(injector: Injector, changeDetectorRef: ChangeDetectorRef, destroyRef: DestroyRef);
52
44
  ngOnChanges(changes: SimpleChanges): void;
@@ -59,6 +51,7 @@ export declare class EcabsSelectComponent extends EcabsElementBaseComponent impl
59
51
  toggleNone(): void;
60
52
  getAllSelectedChecked(): boolean;
61
53
  getLabel(val: any): string;
54
+ getOption(val: unknown): SelectOption | undefined;
62
55
  writeValue(value: any): void;
63
56
  registerOnChange(fn: any): void;
64
57
  registerOnTouched(fn: any): void;
@@ -5,12 +5,13 @@ import * as i2 from "@angular/common";
5
5
  import * as i3 from "../base/element-wrapper/element-wrapper.module";
6
6
  import * as i4 from "@angular/material/select";
7
7
  import * as i5 from "@angular/material/tooltip";
8
- import * as i6 from "@angular/forms";
9
- import * as i7 from "ngx-mat-select-search";
10
- import * as i8 from "../base/directives/tooltip-if-truncated.directive.module";
8
+ import * as i6 from "../ecabs-select-icon/ecabs-select-icon.module";
9
+ import * as i7 from "@angular/forms";
10
+ import * as i8 from "ngx-mat-select-search";
11
+ import * as i9 from "../base/directives/tooltip-if-truncated.directive.module";
11
12
  export declare class EcabsSelectModule {
12
13
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsSelectModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsSelectModule, [typeof i1.EcabsSelectComponent], [typeof i2.CommonModule, typeof i3.ElementWrapperModule, typeof i4.MatSelectModule, typeof i5.MatTooltipModule, typeof i6.FormsModule, typeof i7.NgxMatSelectSearchModule, typeof i6.ReactiveFormsModule, typeof i8.EcabsTooltipIfTruncatedDirectiveModule], [typeof i1.EcabsSelectComponent]>;
14
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsSelectModule, [typeof i1.EcabsSelectComponent], [typeof i2.CommonModule, typeof i3.ElementWrapperModule, typeof i4.MatSelectModule, typeof i5.MatTooltipModule, typeof i6.EcabsSelectIconModule, typeof i7.FormsModule, typeof i8.NgxMatSelectSearchModule, typeof i7.ReactiveFormsModule, typeof i9.EcabsTooltipIfTruncatedDirectiveModule], [typeof i1.EcabsSelectComponent]>;
14
15
  static ɵinj: i0.ɵɵInjectorDeclaration<EcabsSelectModule>;
15
16
  }
16
17
  export declare function scrollFactory(overlay: Overlay): () => BlockScrollStrategy;
@@ -0,0 +1,8 @@
1
+ import { SelectOption } from '../base/models/select.models';
2
+ import * as i0 from "@angular/core";
3
+ export declare class EcabsSelectIconComponent {
4
+ svgIcon: string;
5
+ set option(option: SelectOption | undefined);
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsSelectIconComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsSelectIconComponent, "ecabs-select-icon", never, { "option": { "alias": "option"; "required": false; }; }, {}, never, never, false, never>;
8
+ }
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./ecabs-select-icon.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/material/icon";
5
+ export declare class EcabsSelectIconModule {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsSelectIconModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsSelectIconModule, [typeof i1.EcabsSelectIconComponent], [typeof i2.CommonModule, typeof i3.MatIconModule], [typeof i1.EcabsSelectIconComponent]>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<EcabsSelectIconModule>;
9
+ }
@@ -1,16 +1,17 @@
1
- import { AfterViewInit, DestroyRef, Injector, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
- import { ControlValueAccessor } from '@angular/forms';
1
+ import { AfterViewInit, DestroyRef, EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
+ import { ControlValueAccessor, NgControl } from '@angular/forms';
3
3
  import { NgSelectComponent } from '@ng-select/ng-select';
4
4
  import { Subject } from 'rxjs';
5
5
  import EcabsElementBaseComponent from '../base/element-base';
6
- import { SelectValue } from '../base/models/element.models';
6
+ import { SelectOption } from '../base/models/select.models';
7
7
  import * as i0 from "@angular/core";
8
- export declare class EcabsSelectV2Component extends EcabsElementBaseComponent implements AfterViewInit, ControlValueAccessor, OnChanges, OnInit {
9
- private readonly injector;
8
+ export declare class EcabsSelectV2Component<T = unknown> extends EcabsElementBaseComponent implements AfterViewInit, ControlValueAccessor, OnChanges, OnInit {
9
+ readonly ngControl: NgControl;
10
10
  private readonly destroyRef;
11
11
  ngSelect: NgSelectComponent;
12
12
  appearance: 'underline' | 'outline';
13
- items: SelectValue[];
13
+ appendTo: string;
14
+ items: SelectOption<T>[];
14
15
  bindLabel: string;
15
16
  bindValue: string;
16
17
  editableSearchTerm: boolean;
@@ -21,7 +22,7 @@ export declare class EcabsSelectV2Component extends EcabsElementBaseComponent im
21
22
  hideSelected: boolean;
22
23
  clearOnBackspace: boolean;
23
24
  clearSearchOnAdd: boolean;
24
- trackByFn: any;
25
+ trackByFn: ((item: SelectOption<T>) => T | undefined) | undefined;
25
26
  minLength: number;
26
27
  searchPlaceholder: string;
27
28
  typeahead: Subject<string>;
@@ -30,29 +31,30 @@ export declare class EcabsSelectV2Component extends EcabsElementBaseComponent im
30
31
  selectAllLabel: string;
31
32
  otherLabel: string;
32
33
  othersLabel: string;
33
- touched: boolean;
34
- val: string | number;
34
+ readonly selectionChange: EventEmitter<SelectOption<T> | SelectOption<T>[]>;
35
+ val: T;
35
36
  isOpen: boolean;
36
37
  groupByKey: string;
37
- selectedMulti: any[];
38
- itemsList: SelectValue[];
38
+ selectedMulti: SelectOption<T>[];
39
+ itemsList: SelectOption<T>[];
39
40
  isTypeAhead: boolean;
40
- get value(): string | number;
41
- set value(val: string | number);
42
- constructor(injector: Injector, destroyRef: DestroyRef);
41
+ get value(): T;
42
+ set value(val: T);
43
+ constructor(ngControl: NgControl, destroyRef: DestroyRef);
43
44
  ngOnInit(): void;
44
45
  ngAfterViewInit(): void;
45
46
  ngOnChanges(changes: SimpleChanges): void;
46
- writeValue(value: number): void;
47
- registerOnChange(onChange: any): void;
48
- registerOnTouched(onTouched: any): void;
49
- markAsTouched(): void;
50
- onChange: any;
51
- onTouch: any;
47
+ writeValue(value: T): void;
48
+ registerOnChange(fn: (value: T) => void): void;
49
+ registerOnTouched(fn: () => void): void;
50
+ private onChange;
51
+ private onTouched;
52
52
  onBlur(): void;
53
- selectAllFn(items: SelectValue[]): void;
54
- changed(event: SelectValue[]): void;
53
+ selectAllFn(items: SelectOption<T>[]): SelectOption<T>[];
54
+ private refreshMultipleItems;
55
+ changed($event: SelectOption<T> | SelectOption<T>[]): void;
56
+ asOption(item: unknown): SelectOption<T>;
55
57
  protected initTrackBy(): void;
56
- 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>;
58
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsSelectV2Component<any>, [{ optional: true; self: true; }, null]>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsSelectV2Component<any>, "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
  }