ecabs-components 2.0.0-alpha.1 → 2.0.0-alpha.11

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 (163) hide show
  1. package/README.md +187 -46
  2. package/fesm2022/ecabs-components.mjs +4991 -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/breakpoints.consts.d.ts +1 -0
  7. package/lib/base/consts/buttons.consts.d.ts +2 -0
  8. package/lib/base/consts/country-codes.d.ts +7 -0
  9. package/lib/base/consts/icon.consts.d.ts +1 -0
  10. package/lib/base/consts/input.consts.d.ts +1 -0
  11. package/lib/base/consts/status-badge.consts.d.ts +3 -0
  12. package/lib/base/consts/waypoint.consts.d.ts +8 -0
  13. package/lib/base/directives/action-menu-trigger.directive.d.ts +8 -0
  14. package/lib/base/directives/badge.directive.d.ts +26 -0
  15. package/lib/base/directives/badge.directive.module.d.ts +8 -0
  16. package/lib/base/directives/date-mask.directive.d.ts +6 -7
  17. package/lib/base/directives/digits-only.directive.d.ts +14 -2
  18. package/lib/base/directives/time-mask.directive.d.ts +2 -3
  19. package/lib/base/directives/time-range.directive.d.ts +1 -2
  20. package/lib/base/directives/tooltip-if-truncated.directive.module.d.ts +2 -1
  21. package/lib/base/models/action-menu.models.d.ts +13 -0
  22. package/lib/base/models/ecabs-date-picker-translations.models.d.ts +1 -0
  23. package/lib/base/models/element.models.d.ts +0 -5
  24. package/lib/base/models/phone.models.d.ts +17 -0
  25. package/lib/base/models/select.models.d.ts +6 -2
  26. package/lib/base/models/sidebar.models.d.ts +10 -4
  27. package/lib/base/models/timepicker.models.d.ts +1 -0
  28. package/lib/base/models/waypoint.models.d.ts +30 -0
  29. package/lib/base/pipes/phone-number-country-code.pipe.d.ts +8 -0
  30. package/lib/base/pipes/search.pipe.d.ts +8 -0
  31. package/lib/base/pipes/separator-append.pipe.d.ts +7 -0
  32. package/lib/base/pipes/status-badge-variant.pipe.d.ts +8 -0
  33. package/lib/base/services/ecabs-components.service.d.ts +4 -1
  34. package/lib/base/utils/icon.utils.d.ts +2 -0
  35. package/lib/base/utils/object-utils.d.ts +1 -1
  36. package/lib/base/utils/phone-number.utils.d.ts +7 -0
  37. package/lib/base/utils/select.utils.d.ts +2 -0
  38. package/lib/base/utils/time-mask.util.d.ts +3 -0
  39. package/lib/base/validators/date-range.validator.d.ts +14 -0
  40. package/lib/base/validators/phone-number.validator.d.ts +4 -0
  41. package/lib/ecabs-action-menu/ecabs-action-menu.component.d.ts +26 -0
  42. package/lib/ecabs-action-menu/ecabs-action-menu.module.d.ts +13 -0
  43. package/lib/ecabs-badge/ecabs-badge.component.d.ts +41 -0
  44. package/lib/ecabs-badge/ecabs-badge.module.d.ts +13 -0
  45. package/lib/ecabs-base-phone-input/ecabs-base-phone.component.d.ts +94 -0
  46. package/lib/ecabs-base-phone-input/ecabs-base-phone.module.d.ts +17 -0
  47. package/lib/ecabs-button-toggle/ecabs-button-toggle.component.d.ts +25 -0
  48. package/lib/ecabs-button-toggle/ecabs-button-toggle.module.d.ts +9 -0
  49. package/lib/ecabs-buttons/ecabs-buttons.component.d.ts +2 -0
  50. package/lib/ecabs-buttons-v2/ecabs-buttons-v2.component.d.ts +23 -0
  51. package/lib/ecabs-buttons-v2/ecabs-buttons-v2.module.d.ts +11 -0
  52. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.d.ts +6 -2
  53. package/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.component.d.ts +30 -0
  54. package/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.module.d.ts +12 -0
  55. package/lib/ecabs-chip-autocomplete/ecabs-chip-autocomplete.component.d.ts +56 -0
  56. package/lib/ecabs-chip-group/ecabs-chip-group.component.d.ts +24 -0
  57. package/lib/ecabs-chip-group/ecabs-chip-group.module.d.ts +12 -0
  58. package/lib/ecabs-date-picker/ecabs-date-picker.component.d.ts +3 -0
  59. package/lib/ecabs-date-picker-actions/ecabs-date-picker-actions.component.d.ts +3 -1
  60. package/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.d.ts +3 -0
  61. package/lib/ecabs-date-range-picker-v2/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header-v2.component.d.ts +9 -0
  62. package/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.component.d.ts +69 -0
  63. package/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.module.d.ts +21 -0
  64. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +13 -5
  65. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.d.ts +2 -1
  66. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +6 -1
  67. package/lib/ecabs-dialog-confirm-deletion/ecabs-dialog-confirm-deletion.component.d.ts +33 -0
  68. package/lib/ecabs-dialog-confirm-deletion/ecabs-dialog-confirm-deletion.module.d.ts +12 -0
  69. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.d.ts +2 -1
  70. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.d.ts +3 -2
  71. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.d.ts +3 -3
  72. package/lib/ecabs-input/ecabs-input.component.d.ts +13 -4
  73. package/lib/ecabs-input-range/ecabs-input-range.component.d.ts +44 -0
  74. package/lib/ecabs-input-range/ecabs-input-range.module.d.ts +13 -0
  75. package/lib/ecabs-phone/ecabs-phone.component.d.ts +8 -8
  76. package/lib/ecabs-phone/ecabs-phone.module.d.ts +5 -4
  77. package/lib/ecabs-place-autocomplete/ecabs-place-autocomplete.component.d.ts +4 -1
  78. package/lib/ecabs-place-autocomplete-v2/ecabs-place-autocomplete-v2.component.d.ts +64 -0
  79. package/lib/ecabs-place-autocomplete-v2/ecabs-place-autocomplete-v2.module.d.ts +13 -0
  80. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.d.ts +3 -1
  81. package/lib/ecabs-segment/ecabs-segment.component.d.ts +10 -0
  82. package/lib/ecabs-select/ecabs-select.component.d.ts +5 -12
  83. package/lib/ecabs-select/ecabs-select.module.d.ts +5 -4
  84. package/lib/ecabs-select-icon/ecabs-select-icon.component.d.ts +8 -0
  85. package/lib/ecabs-select-icon/ecabs-select-icon.module.d.ts +9 -0
  86. package/lib/ecabs-select-v2/ecabs-select-v2.component.d.ts +26 -24
  87. package/lib/ecabs-select-v2/ecabs-select-v2.module.d.ts +2 -1
  88. package/lib/ecabs-table/ecabs-table.component.d.ts +4 -1
  89. package/lib/ecabs-textarea/ecabs-textarea.component.d.ts +2 -1
  90. package/lib/ecabs-time-range-input-v2/config.model.d.ts +5 -0
  91. package/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.component.d.ts +52 -0
  92. package/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.module.d.ts +11 -0
  93. package/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.service.d.ts +12 -0
  94. package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +6 -11
  95. package/package.json +21 -16
  96. package/public-api.d.ts +45 -0
  97. package/src/assets/images/nothing-here.svg +22 -22
  98. package/src/assets/images/promotions.svg +3 -3
  99. package/src/assets/styles/material/_theme.scss +17 -12
  100. package/src/assets/styles/material/overrides/_autocomplete.scss +27 -0
  101. package/src/assets/styles/material/overrides/_badge.scss +122 -0
  102. package/src/assets/styles/material/overrides/_button.scss +95 -10
  103. package/src/assets/styles/material/overrides/_card.scss +64 -2
  104. package/src/assets/styles/material/overrides/_chip.scss +122 -2
  105. package/src/assets/styles/material/overrides/_datepicker.scss +32 -12
  106. package/src/assets/styles/material/overrides/_dialog.scss +4 -2
  107. package/src/assets/styles/material/overrides/_divider.scss +5 -2
  108. package/src/assets/styles/material/overrides/_expansion.scss +55 -7
  109. package/src/assets/styles/material/overrides/_form.scss +14 -2
  110. package/src/assets/styles/material/overrides/_icon.scss +6 -0
  111. package/src/assets/styles/material/overrides/_menu.scss +56 -1
  112. package/src/assets/styles/material/overrides/_paginator.scss +47 -12
  113. package/src/assets/styles/material/overrides/_phone.scss +27 -29
  114. package/src/assets/styles/material/overrides/_progress.scss +0 -1
  115. package/src/assets/styles/material/overrides/_select.scss +73 -51
  116. package/src/assets/styles/material/overrides/_sidebar.scss +3 -1
  117. package/src/assets/styles/material/overrides/_tab.scss +27 -1
  118. package/src/assets/styles/material/overrides/_table.scss +8 -1
  119. package/src/assets/styles/material/overrides/_toaster.scss +1 -0
  120. package/src/assets/styles/material/overrides/_toggle.scss +34 -1
  121. package/src/assets/styles/material/overrides/_toolbar.scss +3 -3
  122. package/src/assets/styles/material/overrides/_tooltip.scss +1 -0
  123. package/src/assets/styles/material/overrides/index.scss +23 -22
  124. package/src/assets/styles/scss/base/_heading.scss +11 -8
  125. package/src/assets/styles/scss/base/_normalize.scss +23 -23
  126. package/src/assets/styles/scss/base/index.scss +2 -2
  127. package/src/assets/styles/scss/modules/_autocomplete.scss +26 -8
  128. package/src/assets/styles/scss/modules/_badge.scss +132 -0
  129. package/src/assets/styles/scss/modules/_button.scss +114 -49
  130. package/src/assets/styles/scss/modules/_card.scss +54 -10
  131. package/src/assets/styles/scss/modules/_chip.scss +36 -20
  132. package/src/assets/styles/scss/modules/_datepicker.scss +6 -4
  133. package/src/assets/styles/scss/modules/_dialog.scss +10 -6
  134. package/src/assets/styles/scss/modules/_divider.scss +4 -3
  135. package/src/assets/styles/scss/modules/_form.scss +209 -56
  136. package/src/assets/styles/scss/modules/_icon.scss +6 -2
  137. package/src/assets/styles/scss/modules/_img.scss +32 -32
  138. package/src/assets/styles/scss/modules/_legend.scss +21 -15
  139. package/src/assets/styles/scss/modules/_list.scss +9 -6
  140. package/src/assets/styles/scss/modules/_map.scss +93 -8
  141. package/src/assets/styles/scss/modules/_menu.scss +52 -0
  142. package/src/assets/styles/scss/modules/_percentage.scss +41 -41
  143. package/src/assets/styles/scss/modules/_phone.scss +16 -22
  144. package/src/assets/styles/scss/modules/_select.scss +9 -5
  145. package/src/assets/styles/scss/modules/_statuses.scss +36 -31
  146. package/src/assets/styles/scss/modules/_tab.scss +3 -1
  147. package/src/assets/styles/scss/modules/_table.scss +31 -20
  148. package/src/assets/styles/scss/modules/_timepicker.scss +11 -7
  149. package/src/assets/styles/scss/modules/_toaster.scss +53 -53
  150. package/src/assets/styles/scss/modules/_tooltip.scss +7 -3
  151. package/src/assets/styles/scss/modules/drag-drop.scss +13 -9
  152. package/src/assets/styles/scss/modules/index.scss +25 -23
  153. package/src/assets/styles/scss/utilities/_breakpoints.scss +43 -0
  154. package/src/assets/styles/scss/utilities/_colors.scss +62 -52
  155. package/src/assets/styles/scss/utilities/_fonts.scss +31 -26
  156. package/src/assets/styles/scss/utilities/_functions.scss +4 -3
  157. package/src/assets/styles/scss/utilities/_helpers.scss +14 -14
  158. package/src/assets/styles/scss/utilities/_mixins.scss +38 -23
  159. package/src/assets/styles/scss/utilities/_variables.scss +14 -9
  160. package/src/assets/styles/scss/utilities/index.scss +6 -6
  161. package/src/assets/styles/styles.scss +5 -5
  162. package/src/assets/styles/tailwind/index.scss +2 -1
  163. package/lib/base/consts/date-mask.consts.d.ts +0 -7
@@ -0,0 +1,12 @@
1
+ import { WeekDay } from '@angular/common';
2
+ import { NativeDateAdapter } from '@angular/material/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class EcabsDateAdapter extends NativeDateAdapter {
5
+ constructor(dateTimeLocale: string);
6
+ parse(value: string): Date;
7
+ format(date: Date): string;
8
+ getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): any[];
9
+ getFirstDayOfWeek(): WeekDay;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsDateAdapter, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<EcabsDateAdapter>;
12
+ }
@@ -0,0 +1,5 @@
1
+ import { PhosphorIconWeight } from './icon.consts';
2
+ export declare type BadgeVariant = 'default' | 'success' | 'warning' | 'danger' | 'info';
3
+ export declare type BadgeSize = 'small' | 'medium' | 'large';
4
+ export declare type BadgeIconWeight = PhosphorIconWeight;
5
+ export declare const CHIP_LABEL_CLASS = "mdc-evolution-chip__text-label";
@@ -0,0 +1 @@
1
+ export declare const PHONE_MEDIA_QUERY = "(max-width: 767.98px)";
@@ -1 +1,3 @@
1
1
  export declare type ButtonStyle = 'basic' | 'raised' | 'flat' | 'stroked' | undefined;
2
+ export declare type ButtonLoadingStyle = 'spinner-only' | 'spinner-label';
3
+ export declare type ButtonSize = 'small' | 'medium' | 'large';
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class CountryCode {
3
+ allCountries: (string | number | string[])[][];
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<CountryCode, never>;
5
+ static ɵprov: i0.ɵɵInjectableDeclaration<CountryCode>;
6
+ }
7
+ export declare const Examples: any;
@@ -0,0 +1 @@
1
+ export declare type PhosphorIconWeight = 'regular' | 'bold' | 'fill' | 'light' | 'thin' | 'duotone';
@@ -0,0 +1 @@
1
+ export declare const AUTO_RESIZE_SYMBOL_BUFFER_PX = 2;
@@ -0,0 +1,3 @@
1
+ import { BadgeVariant } from './badge.consts';
2
+ export declare const STATUS_BADGE_VARIANTS: Readonly<Record<string, BadgeVariant>>;
3
+ export declare const resolveStatusBadgeVariant: (status: string | null | undefined) => BadgeVariant;
@@ -0,0 +1,8 @@
1
+ export declare enum WaypointTypeEnum {
2
+ PICKUP = "PICKUP",
3
+ DROPOFF = "DROPOFF",
4
+ GENERIC = "GENERIC",
5
+ DIVERSION = "DIVERSION",
6
+ CUSTOM = "CUSTOM",
7
+ LOCATION = "LOCATION"
8
+ }
@@ -0,0 +1,8 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class EcabsActionMenuTriggerDirective {
4
+ readonly templateRef: TemplateRef<void>;
5
+ constructor(templateRef: TemplateRef<void>);
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsActionMenuTriggerDirective, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<EcabsActionMenuTriggerDirective, "[ecabsActionMenuTrigger]", never, {}, {}, never, never, false, never>;
8
+ }
@@ -0,0 +1,26 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import { MatChip } from '@angular/material/chips';
3
+ import { MatMenuTrigger } from '@angular/material/menu';
4
+ import { BadgeSize, BadgeVariant } from '../consts/badge.consts';
5
+ import { EcabsTooltipIfTruncatedDirective } from './tooltip-if-truncated.directive';
6
+ import * as i0 from "@angular/core";
7
+ export declare class EcabsBadgeDirective {
8
+ private readonly elementRef;
9
+ private readonly chip?;
10
+ private readonly truncationTooltip?;
11
+ variant: BadgeVariant;
12
+ size: BadgeSize;
13
+ set bordered(value: boolean | string);
14
+ set disableRipple(value: boolean | string);
15
+ set interactive(value: boolean | string);
16
+ get badgeClasses(): string;
17
+ private hasBorder;
18
+ private rippleDisabled?;
19
+ private isInteractive;
20
+ private get noRipple();
21
+ private syncChip;
22
+ constructor(elementRef: ElementRef<HTMLElement>, menuTrigger?: MatMenuTrigger, chip?: MatChip, truncationTooltip?: EcabsTooltipIfTruncatedDirective);
23
+ onKeydown(event: KeyboardEvent): void;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsBadgeDirective, [null, { optional: true; self: true; }, { optional: true; }, { optional: true; }]>;
25
+ static ɵdir: i0.ɵɵDirectiveDeclaration<EcabsBadgeDirective, "[ecabsBadge]", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "bordered": { "alias": "bordered"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "interactive": { "alias": "interactive"; "required": false; }; }, {}, never, never, false, never>;
26
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./badge.directive";
3
+ import * as i2 from "@angular/common";
4
+ export declare class EcabsBadgeDirectiveModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsBadgeDirectiveModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsBadgeDirectiveModule, [typeof i1.EcabsBadgeDirective], [typeof i2.CommonModule], [typeof i1.EcabsBadgeDirective]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<EcabsBadgeDirectiveModule>;
8
+ }
@@ -4,16 +4,15 @@ export declare class EcabsMaskDateDirective implements OnInit, OnDestroy {
4
4
  private readonly element;
5
5
  isDateTimeMask: boolean;
6
6
  considerSeconds: boolean;
7
- maskedInputController: any;
8
- mask: (string | RegExp)[];
9
- maskDateTime: (string | RegExp)[];
10
- maskDateTimeWithSeconds: (string | RegExp)[];
11
- config: any;
7
+ private maskedInput;
8
+ private readonly timeMaskOptions;
12
9
  constructor(element: ElementRef);
13
- onNgModelChange(value: any): void;
14
10
  ngOnInit(): void;
15
11
  ngOnDestroy(): void;
16
- private containsNumber;
12
+ private buildDynamicMask;
13
+ private getDaySegment;
14
+ private getMonthSegment;
15
+ private extractTimeValue;
17
16
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsMaskDateDirective, never>;
18
17
  static ɵdir: i0.ɵɵDirectiveDeclaration<EcabsMaskDateDirective, "[ecabsMaskDate]", never, { "isDateTimeMask": { "alias": "isDateTimeMask"; "required": false; }; "considerSeconds": { "alias": "considerSeconds"; "required": false; }; }, {}, never, never, false, never>;
19
18
  }
@@ -4,6 +4,7 @@ export declare class EcabsDigitsOnlyDirective implements OnInit {
4
4
  el: ElementRef;
5
5
  digitsOnly: boolean;
6
6
  allowHyphen: boolean;
7
+ allowRange: boolean;
7
8
  decimal?: boolean;
8
9
  decimalSeparator?: string;
9
10
  unit?: number;
@@ -11,16 +12,27 @@ export declare class EcabsDigitsOnlyDirective implements OnInit {
11
12
  minus: string;
12
13
  minusCounter: number;
13
14
  regex: RegExp;
15
+ rangeRegex?: RegExp;
14
16
  private decimalCounter;
15
17
  private readonly navigationKeys;
16
18
  constructor(el: ElementRef);
17
19
  onKeyDown(e: KeyboardEvent): void;
18
20
  onKeyUp(): void;
19
21
  onPaste(event: ClipboardEvent): void;
22
+ onWheel(event: Event): void;
20
23
  ngOnInit(): void;
21
24
  private pasteData;
22
25
  private sanitizeInput;
23
- private isValidDecimal;
26
+ private sanitizeRange;
27
+ private keepFirstSeparator;
28
+ private applyMaxLength;
29
+ private escapeRegExp;
30
+ private isMinusAllowed;
31
+ private hasRangeSeparator;
32
+ private isCaretAtStart;
33
+ private hasDigitBeforeCaret;
34
+ private isPartialRange;
35
+ private isPartialNegative;
24
36
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsDigitsOnlyDirective, never>;
25
- static ɵdir: i0.ɵɵDirectiveDeclaration<EcabsDigitsOnlyDirective, "[ecabsDigitsOnly]", never, { "digitsOnly": { "alias": "digitsOnly"; "required": false; }; "allowHyphen": { "alias": "allowHyphen"; "required": false; }; "decimal": { "alias": "decimal"; "required": false; }; "decimalSeparator": { "alias": "decimalSeparator"; "required": false; }; "unit": { "alias": "unit"; "required": false; }; }, {}, never, never, false, never>;
37
+ static ɵdir: i0.ɵɵDirectiveDeclaration<EcabsDigitsOnlyDirective, "[ecabsDigitsOnly]", never, { "digitsOnly": { "alias": "digitsOnly"; "required": false; }; "allowHyphen": { "alias": "allowHyphen"; "required": false; }; "allowRange": { "alias": "allowRange"; "required": false; }; "decimal": { "alias": "decimal"; "required": false; }; "decimalSeparator": { "alias": "decimalSeparator"; "required": false; }; "unit": { "alias": "unit"; "required": false; }; }, {}, never, never, false, never>;
26
38
  }
@@ -4,12 +4,11 @@ export declare class EcabsMaskTimeDirective implements OnInit, OnDestroy {
4
4
  private readonly element;
5
5
  timeRange?: boolean;
6
6
  all: string;
7
- maskedInputController: any;
8
- maskTimeRange: (string | RegExp)[];
9
- maskTime: (string | RegExp)[];
7
+ private maskedInput;
10
8
  constructor(element: ElementRef);
11
9
  ngOnInit(): void;
12
10
  ngOnDestroy(): void;
11
+ private getMaskOptions;
13
12
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsMaskTimeDirective, never>;
14
13
  static ɵdir: i0.ɵɵDirectiveDeclaration<EcabsMaskTimeDirective, "[ecabsTime]", never, { "timeRange": { "alias": "timeRange"; "required": false; }; "all": { "alias": "all"; "required": false; }; }, {}, never, never, false, never>;
15
14
  }
@@ -5,8 +5,7 @@ export declare class EcabsTimeRangeDirective implements OnInit, OnDestroy {
5
5
  isDateTimeMask: boolean;
6
6
  considerSeconds: boolean;
7
7
  all: string;
8
- maskedInputController: any;
9
- maskDateTime: (string | RegExp)[];
8
+ private maskedInput;
10
9
  constructor(element: ElementRef);
11
10
  ngOnInit(): void;
12
11
  ngOnDestroy(): void;
@@ -1,8 +1,9 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./tooltip-if-truncated.directive";
3
3
  import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/material/tooltip";
4
5
  export declare class EcabsTooltipIfTruncatedDirectiveModule {
5
6
  static ɵfac: i0.ɵɵFactoryDeclaration<EcabsTooltipIfTruncatedDirectiveModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsTooltipIfTruncatedDirectiveModule, [typeof i1.EcabsTooltipIfTruncatedDirective], [typeof i2.CommonModule], [typeof i1.EcabsTooltipIfTruncatedDirective]>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsTooltipIfTruncatedDirectiveModule, [typeof i1.EcabsTooltipIfTruncatedDirective], [typeof i2.CommonModule, typeof i3.MatTooltipModule], [typeof i1.EcabsTooltipIfTruncatedDirective, typeof i3.MatTooltipModule]>;
7
8
  static ɵinj: i0.ɵɵInjectorDeclaration<EcabsTooltipIfTruncatedDirectiveModule>;
8
9
  }
@@ -0,0 +1,13 @@
1
+ import { PhosphorIconWeight } from '../consts/icon.consts';
2
+ export interface ActionMenuItem {
3
+ label: string;
4
+ icon?: string;
5
+ iconWeight?: PhosphorIconWeight;
6
+ isDestructive?: boolean;
7
+ action: () => void;
8
+ }
9
+ export interface ActionMenuEntry {
10
+ isVisible: boolean;
11
+ item: ActionMenuItem;
12
+ }
13
+ export type ActionMenuGroup = ActionMenuItem[];
@@ -2,6 +2,7 @@ import { Locale } from 'date-fns';
2
2
  export interface EcabsDatePickerTranslations {
3
3
  cancelLabel?: string;
4
4
  applyLabel?: string;
5
+ deleteLabel?: string;
5
6
  selectDateLabel?: string;
6
7
  selectDateRangeLabel?: string;
7
8
  selectDateTimeLabel?: string;
@@ -23,8 +23,3 @@ export interface ElementData {
23
23
  labelPosition?: 'before' | 'after';
24
24
  readonly?: boolean;
25
25
  }
26
- export interface SelectValue {
27
- label: string | number;
28
- value: string | number;
29
- selectAllIdentifier?: string | number;
30
- }
@@ -0,0 +1,17 @@
1
+ export interface CountryPrefix {
2
+ dialing_code: string;
3
+ iso: string;
4
+ name: string;
5
+ phone_number?: string;
6
+ }
7
+ export type Country = {
8
+ name: string;
9
+ iso2: string;
10
+ dialCode: string;
11
+ priority: number;
12
+ areaCodes?: string[];
13
+ flagClass: string;
14
+ placeHolder?: string;
15
+ };
16
+ export type PhoneNumberCodeType = 'iso' | 'calling';
17
+ export type PhoneNumberFormat = 'default' | 'national' | 'international';
@@ -1,5 +1,9 @@
1
- export interface SelectOption {
1
+ import { PhosphorIconWeight } from '../consts/icon.consts';
2
+ export interface SelectOption<T = unknown> {
2
3
  label: string;
3
- value: any;
4
+ value: T;
4
5
  disabled?: boolean;
6
+ selectAllIdentifier?: string | number;
7
+ phosphorIcon?: string;
8
+ phosphorWeight?: PhosphorIconWeight;
5
9
  }
@@ -1,4 +1,4 @@
1
- export interface SidebarMenuItem {
1
+ export interface SidebarMenuItem<TEnv = unknown, TRole = unknown> {
2
2
  title: string;
3
3
  icon?: string;
4
4
  url?: string;
@@ -6,12 +6,18 @@ export interface SidebarMenuItem {
6
6
  subItems?: SidebarMenuItem[];
7
7
  permissions?: PermissionValueEnum<string>[];
8
8
  iconResource?: SidebarIconResource;
9
+ badge?: string;
10
+ isVisible?: (context: MenuItemVisibilityContext<TEnv, TRole>) => boolean;
11
+ }
12
+ export interface MenuItemVisibilityContext<TEnv, TRole> {
13
+ environment: TEnv;
14
+ role: TRole;
9
15
  }
10
- type PermissionValueEnum<T extends string> = {
11
- values: Record<T, string>;
12
- };
13
16
  export interface SidebarIconResource {
14
17
  path: string;
15
18
  name: string;
16
19
  }
20
+ interface PermissionValueEnum<T extends string> {
21
+ values: Record<T, string>;
22
+ }
17
23
  export {};
@@ -1,4 +1,5 @@
1
1
  export type ListPlacement = 'bottom' | 'top' | 'auto';
2
+ export type TimepickerSpecialKey = 'bottom' | 'top' | 'auto' | ':' | ' ' | 'Tab' | 'tab' | 'stop' | 'ArrowDown' | 'ArrowUp' | 'continue';
2
3
  export interface ListPosition {
3
4
  left?: number;
4
5
  top?: number;
@@ -0,0 +1,30 @@
1
+ import PlaceResult = google.maps.places.PlaceResult;
2
+ import PredictionTerm = google.maps.places.PredictionTerm;
3
+ import { WaypointTypeEnum } from '../consts/waypoint.consts';
4
+ export interface WaypointSuggestion {
5
+ suggestion_id?: string;
6
+ additional_info?: string;
7
+ location?: GeoPoint;
8
+ locality?: string;
9
+ place_id?: string | null;
10
+ frequency?: number;
11
+ last_visit?: string | Date;
12
+ geo_key?: string;
13
+ prediction_term?: PredictionTerm[];
14
+ }
15
+ export interface GeoPoint {
16
+ lat?: number;
17
+ lng?: number;
18
+ latitude?: number;
19
+ longitude?: number;
20
+ }
21
+ export interface GooglePlaceResult {
22
+ place: PlaceResult;
23
+ text: string;
24
+ }
25
+ export interface WaypointQueryChange {
26
+ waypoint_type: WaypointTypeEnum;
27
+ place_name: string;
28
+ }
29
+ export declare const WAYPOINT_SUGGESTIONS: WaypointSuggestion[];
30
+ export declare const WAYPOINT_SUGGESTIONS2: WaypointSuggestion[];
@@ -0,0 +1,8 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { PhoneNumberCodeType } from '../models/phone.models';
3
+ import * as i0 from "@angular/core";
4
+ export declare class NumberToCountryCodePipe implements PipeTransform {
5
+ transform(phoneNumber: string | null, type?: PhoneNumberCodeType, withFlagClass?: boolean): string | null;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<NumberToCountryCodePipe, never>;
7
+ static ɵpipe: i0.ɵɵPipeDeclaration<NumberToCountryCodePipe, "numberToCountryCode", true>;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { Country } from '../models/phone.models';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SearchPipe implements PipeTransform {
5
+ transform(country: Country, searchCriteria?: string): boolean;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<SearchPipe, never>;
7
+ static ɵpipe: i0.ɵɵPipeDeclaration<SearchPipe, "search", true>;
8
+ }
@@ -0,0 +1,7 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class SeparatorAppendPipe implements PipeTransform {
4
+ transform(value: string, nextSibling?: string, separator?: string): string;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeparatorAppendPipe, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<SeparatorAppendPipe, "separatorAppend", true>;
7
+ }
@@ -0,0 +1,8 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { BadgeVariant } from '../consts/badge.consts';
3
+ import * as i0 from "@angular/core";
4
+ export declare class EcabsStatusBadgeVariantPipe implements PipeTransform {
5
+ transform(status: string | null | undefined): BadgeVariant;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsStatusBadgeVariantPipe, never>;
7
+ static ɵpipe: i0.ɵɵPipeDeclaration<EcabsStatusBadgeVariantPipe, "statusBadgeVariant", false>;
8
+ }
@@ -3,7 +3,8 @@ import { UserClaim } from '../models/user-claim.models';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class EcabsComponentsService {
5
5
  defaultConfig: EcabsComponentsConfig;
6
- private _config;
6
+ config: EcabsComponentsConfig;
7
+ private readonly _config;
7
8
  setConfig(config: EcabsComponentsConfig): void;
8
9
  getConfig(): Observable<EcabsComponentsConfig>;
9
10
  updateConfig(configUpdate: EcabsComponentsConfig): void;
@@ -16,6 +17,7 @@ export interface EcabsComponentsConfig {
16
17
  errorMessages?: ErrorMessage[];
17
18
  i18n?: Ecabsi18n;
18
19
  claims?: UserClaim[];
20
+ defaultPhoneDebounceTimeMs?: number;
19
21
  }
20
22
  export interface ErrorMessage {
21
23
  type: string;
@@ -29,4 +31,5 @@ export declare class GenericComponentConfig implements EcabsComponentsConfig {
29
31
  defaultCountries: string[];
30
32
  errorMessages: ErrorMessage[];
31
33
  i18n: Ecabsi18n;
34
+ claims: UserClaim[];
32
35
  }
@@ -0,0 +1,2 @@
1
+ import { PhosphorIconWeight } from '../consts/icon.consts';
2
+ export declare function buildPhosphorSvgIcon(name: string | undefined | null, weight?: PhosphorIconWeight | null): string;
@@ -6,4 +6,4 @@ export interface Sorter<T> {
6
6
  export declare const sortGeneric: <T>(objX: T, objY: T, sortParams: Sorter<T>) => number;
7
7
  export declare const removeNullUndefineds: <T>(obj: any, exceptProperties?: string[]) => T;
8
8
  export declare const removeEmpty: <T>(o: any, exceptProperties?: string[]) => T;
9
- export declare const mergeUniqueByKey: <T>(arr: T[], key?: keyof T) => T[];
9
+ export declare function getRandomItems<U>(items: U[], count: number): U[];
@@ -0,0 +1,7 @@
1
+ import { CountryPrefix, PhoneNumberCodeType } from '../models/phone.models';
2
+ export declare function extractPhoneNumberCode(phoneNumber: string | null, type?: PhoneNumberCodeType, withFlagClass?: boolean): string | null;
3
+ export declare function extractDialingCode(phoneNumber: string | null): string | null;
4
+ export declare function extractCountryFromIso(isoCode: string | null, region?: string[]): string | null;
5
+ export declare function extractCallingCodeFromIso(isoCode: string | null): string | null;
6
+ export declare function getSupportedCountryIsoCodes(): string[];
7
+ export declare function extractCountryPrefixFromNumber(phone_number: string, regions: string[]): CountryPrefix | null;
@@ -0,0 +1,2 @@
1
+ import { SelectOption } from '../models/select.models';
2
+ export declare function getPhosphorSvgIcon(option: SelectOption | undefined): string;
@@ -0,0 +1,3 @@
1
+ import { MaskitoOptions } from '@maskito/core';
2
+ export declare function createTimeRangeMaskOptions(): MaskitoOptions;
3
+ export declare function createTimeMaskOptions(): MaskitoOptions;
@@ -0,0 +1,14 @@
1
+ import { UntypedFormControl } from '@angular/forms';
2
+ export declare const dateRangeValidator: (control: UntypedFormControl) => {
3
+ dateFromRangeRequired: boolean;
4
+ dateToRangeRequired?: undefined;
5
+ dateFromMoreThanDateTo?: undefined;
6
+ } | {
7
+ dateToRangeRequired: boolean;
8
+ dateFromRangeRequired?: undefined;
9
+ dateFromMoreThanDateTo?: undefined;
10
+ } | {
11
+ dateFromMoreThanDateTo: boolean;
12
+ dateFromRangeRequired?: undefined;
13
+ dateToRangeRequired?: undefined;
14
+ };
@@ -0,0 +1,4 @@
1
+ import { UntypedFormControl } from '@angular/forms';
2
+ export declare const phoneNumberValidator: (control: UntypedFormControl) => {
3
+ validatePhoneNumber: boolean;
4
+ };
@@ -0,0 +1,26 @@
1
+ import { MatMenu, MenuPositionX } from '@angular/material/menu';
2
+ import { PhosphorIconWeight } from '../base/consts/icon.consts';
3
+ import { EcabsActionMenuTriggerDirective } from '../base/directives/action-menu-trigger.directive';
4
+ import { ActionMenuGroup, ActionMenuItem } from '../base/models/action-menu.models';
5
+ import * as i0 from "@angular/core";
6
+ export declare class EcabsActionMenuComponent {
7
+ groups: ActionMenuGroup[];
8
+ triggerIcon: string;
9
+ triggerIconWeight: PhosphorIconWeight;
10
+ triggerAriaLabel?: string;
11
+ xPosition: MenuPositionX;
12
+ menuClass: string;
13
+ triggerFocusable: boolean;
14
+ showTrigger: boolean;
15
+ readonly customTrigger?: EcabsActionMenuTriggerDirective;
16
+ readonly menu: MatMenu;
17
+ private readonly menuTrigger?;
18
+ get panelClass(): string;
19
+ get triggerSvgIcon(): string;
20
+ itemSvgIcon(item: ActionMenuItem): string;
21
+ triggerKeydown(event: Event): void;
22
+ trackByGroup(index: number): number;
23
+ trackByItem(_: number, item: ActionMenuItem): string;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsActionMenuComponent, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsActionMenuComponent, "ecabs-action-menu", never, { "groups": { "alias": "groups"; "required": false; }; "triggerIcon": { "alias": "triggerIcon"; "required": false; }; "triggerIconWeight": { "alias": "triggerIconWeight"; "required": false; }; "triggerAriaLabel": { "alias": "triggerAriaLabel"; "required": false; }; "xPosition": { "alias": "xPosition"; "required": false; }; "menuClass": { "alias": "menuClass"; "required": false; }; "triggerFocusable": { "alias": "triggerFocusable"; "required": false; }; "showTrigger": { "alias": "showTrigger"; "required": false; }; }, {}, ["customTrigger"], never, false, never>;
26
+ }
@@ -0,0 +1,13 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./ecabs-action-menu.component";
3
+ import * as i2 from "../base/directives/action-menu-trigger.directive";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "@angular/material/button";
6
+ import * as i5 from "@angular/material/divider";
7
+ import * as i6 from "@angular/material/icon";
8
+ import * as i7 from "@angular/material/menu";
9
+ export declare class EcabsActionMenuModule {
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsActionMenuModule, never>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsActionMenuModule, [typeof i1.EcabsActionMenuComponent, typeof i2.EcabsActionMenuTriggerDirective], [typeof i3.CommonModule, typeof i4.MatButtonModule, typeof i5.MatDividerModule, typeof i6.MatIconModule, typeof i7.MatMenuModule], [typeof i1.EcabsActionMenuComponent, typeof i2.EcabsActionMenuTriggerDirective]>;
12
+ static ɵinj: i0.ɵɵInjectorDeclaration<EcabsActionMenuModule>;
13
+ }
@@ -0,0 +1,41 @@
1
+ import { BadgeIconWeight, BadgeSize, BadgeVariant } from '../base/consts/badge.consts';
2
+ import * as i0 from "@angular/core";
3
+ export declare class EcabsBadgeComponent {
4
+ variant: BadgeVariant;
5
+ size: BadgeSize;
6
+ set bordered(value: boolean | string);
7
+ hasBorder: boolean;
8
+ /**
9
+ * Icon name, resolved through whichever icon set the library is on (Phosphor
10
+ * today). Deliberately not named after the vendor so a future icon-set change
11
+ * does not ripple out to every call site.
12
+ */
13
+ icon?: string;
14
+ /**
15
+ * Defaults to `bold`: at badge icon sizes (12-18px) a `regular` stroke falls
16
+ * below one device pixel and antialiases into a ragged edge. `bold` also
17
+ * matches the ~26/256 ring thickness of the reference design.
18
+ */
19
+ iconWeight: BadgeIconWeight;
20
+ /**
21
+ * Material icon ligature, for the cases that need a Material glyph
22
+ * specifically. Used only when no `icon` is supplied.
23
+ */
24
+ materialIcon?: string;
25
+ /**
26
+ * Static so it resolves before the first change detection run, keeping the
27
+ * tooltip binding stable instead of changing after the view is checked.
28
+ */
29
+ private readonly labelRef?;
30
+ get svgIcon(): string;
31
+ /**
32
+ * Tooltip message for a clipped label. Read from the DOM rather than an input
33
+ * because the label is projected content. `ecabsTooltipIfTruncated` measures
34
+ * on mouseover, and that host listener also marks this view dirty, so the
35
+ * message is re-read on hover without any explicit change detection call.
36
+ * The directive suppresses the tooltip unless the text is actually clipped.
37
+ */
38
+ get labelText(): string;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsBadgeComponent, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<EcabsBadgeComponent, "ecabs-badge", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "bordered": { "alias": "bordered"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconWeight": { "alias": "iconWeight"; "required": false; }; "materialIcon": { "alias": "materialIcon"; "required": false; }; }, {}, never, ["[ecabsBadgeIcon]", "*"], false, never>;
41
+ }
@@ -0,0 +1,13 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./ecabs-badge.component";
3
+ import * as i2 from "../base/pipes/status-badge-variant.pipe";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "../base/directives/badge.directive.module";
6
+ import * as i5 from "@angular/material/icon";
7
+ import * as i6 from "@angular/material/tooltip";
8
+ import * as i7 from "../base/directives/tooltip-if-truncated.directive.module";
9
+ export declare class EcabsBadgeModule {
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<EcabsBadgeModule, never>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsBadgeModule, [typeof i1.EcabsBadgeComponent, typeof i2.EcabsStatusBadgeVariantPipe], [typeof i3.CommonModule, typeof i4.EcabsBadgeDirectiveModule, typeof i5.MatIconModule, typeof i6.MatTooltipModule, typeof i7.EcabsTooltipIfTruncatedDirectiveModule], [typeof i1.EcabsBadgeComponent, typeof i4.EcabsBadgeDirectiveModule, typeof i2.EcabsStatusBadgeVariantPipe, typeof i7.EcabsTooltipIfTruncatedDirectiveModule]>;
12
+ static ɵinj: i0.ɵɵInjectorDeclaration<EcabsBadgeModule>;
13
+ }