ecabs-components 1.1.55 → 1.1.57
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.
- package/README.md +2 -0
- package/esm2022/lib/base/consts/error-messages.consts.mjs +13 -1
- package/esm2022/lib/base/element-wrapper/element-wrapper.component.mjs +3 -3
- package/esm2022/lib/base/models/phone.models.mjs +1 -1
- package/esm2022/lib/base/models/select.models.mjs +1 -1
- package/esm2022/lib/base/models/sidebar.models.mjs +1 -1
- package/esm2022/lib/base/pipes/phone-number-country-code.pipe.mjs +31 -0
- package/esm2022/lib/base/pipes/truncate.pipe.mjs +14 -4
- package/esm2022/lib/base/utils/object-utils.mjs +9 -1
- package/esm2022/lib/ecabs-button-toggle/ecabs-button-toggle.component.mjs +4 -4
- package/esm2022/lib/ecabs-buttons-v2/ecabs-buttons-v2.component.mjs +3 -3
- package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +2 -2
- package/esm2022/lib/ecabs-chip-autocomplete/ecabs-chip-autocomplete.component.mjs +197 -0
- package/esm2022/lib/ecabs-chip-group/ecabs-chip-group.component.mjs +61 -0
- package/esm2022/lib/ecabs-chip-group/ecabs-chip-group.module.mjs +20 -0
- package/esm2022/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.mjs +2 -2
- package/esm2022/lib/ecabs-date-range-picker-v2/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header-v2.component.mjs +21 -0
- package/esm2022/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.component.mjs +259 -0
- package/esm2022/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.module.mjs +76 -0
- package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +2 -2
- package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +2 -2
- package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +2 -2
- package/esm2022/lib/ecabs-menu-items/ecabs-menu-items.component.mjs +3 -3
- package/esm2022/lib/ecabs-multiple-dates-picker/ecabs-multiple-dates-picker.component.mjs +2 -2
- package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +2 -2
- package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +2 -2
- package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +2 -2
- package/esm2022/public-api.mjs +8 -1
- package/fesm2022/ecabs-components.mjs +661 -41
- package/fesm2022/ecabs-components.mjs.map +1 -1
- package/lib/base/models/phone.models.d.ts +1 -0
- package/lib/base/models/select.models.d.ts +2 -2
- package/lib/base/models/sidebar.models.d.ts +1 -1
- package/lib/base/pipes/phone-number-country-code.pipe.d.ts +8 -0
- package/lib/base/utils/object-utils.d.ts +1 -0
- package/lib/ecabs-button-toggle/ecabs-button-toggle.component.d.ts +9 -10
- package/lib/ecabs-chip-autocomplete/ecabs-chip-autocomplete.component.d.ts +50 -0
- package/lib/ecabs-chip-group/ecabs-chip-group.component.d.ts +21 -0
- package/lib/ecabs-chip-group/ecabs-chip-group.module.d.ts +10 -0
- package/lib/ecabs-date-range-picker-v2/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header-v2.component.d.ts +9 -0
- package/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.component.d.ts +71 -0
- package/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.module.d.ts +21 -0
- package/package.json +2 -1
- package/public-api.d.ts +7 -0
- package/src/assets/styles/material/overrides/_autocomplete.scss +19 -0
- package/src/assets/styles/material/overrides/_chip.scss +80 -0
- package/src/assets/styles/material/overrides/_datepicker.scss +22 -0
- package/src/assets/styles/scss/modules/_autocomplete.scss +1 -1
- package/src/assets/styles/scss/modules/_chip.scss +7 -1
- package/src/assets/styles/scss/modules/_form.scss +78 -5
- package/src/assets/styles/scss/utilities/_colors.scss +3 -5
- package/src/assets/styles/scss/utilities/_fonts.scss +4 -0
- package/src/assets/styles/scss/utilities/_variables.scss +2 -0
- package/src/assets/styles/tailwind/index.scss +1 -1
|
@@ -6,7 +6,7 @@ export interface SidebarMenuItem {
|
|
|
6
6
|
subItems?: SidebarMenuItem[];
|
|
7
7
|
permissions?: PermissionValueEnum<string>[];
|
|
8
8
|
iconResource?: SidebarIconResource;
|
|
9
|
-
|
|
9
|
+
badge?: string;
|
|
10
10
|
}
|
|
11
11
|
type PermissionValueEnum<T extends string> = {
|
|
12
12
|
values: Record<T, string>;
|
|
@@ -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
|
+
}
|
|
@@ -6,3 +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 function getRandomItems<U>(items: U[], count: number): U[];
|
|
@@ -4,23 +4,22 @@ import { MatButtonToggleChange } from '@angular/material/button-toggle';
|
|
|
4
4
|
import { SelectOption } from '../base/models/select.models';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export type ButtonToggleSize = 'small' | 'medium' | 'large';
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
options: SelectOption[];
|
|
7
|
+
export declare class EcabsButtonToggleComponent<T = unknown> implements ControlValueAccessor {
|
|
8
|
+
options: SelectOption<T>[];
|
|
10
9
|
multiple: boolean;
|
|
11
10
|
size: ButtonToggleSize;
|
|
12
|
-
value:
|
|
13
|
-
valueChange: EventEmitter<
|
|
11
|
+
value: T | T[];
|
|
12
|
+
valueChange: EventEmitter<T | T[]>;
|
|
14
13
|
isDisabled: boolean;
|
|
15
14
|
private onChange;
|
|
16
15
|
private onTouched;
|
|
17
16
|
constructor();
|
|
18
17
|
onGroupChange(event: MatButtonToggleChange): void;
|
|
19
|
-
trackByOptionValue(index: number, option: SelectOption):
|
|
20
|
-
writeValue(value:
|
|
21
|
-
registerOnChange(fn: (value:
|
|
18
|
+
trackByOptionValue(index: number, option: SelectOption<T>): T | number;
|
|
19
|
+
writeValue(value: T | T[]): void;
|
|
20
|
+
registerOnChange(fn: (value: T | T[]) => void): void;
|
|
22
21
|
registerOnTouched(fn: () => void): void;
|
|
23
22
|
setDisabledState(isDisabled: boolean): void;
|
|
24
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<EcabsButtonToggleComponent
|
|
25
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<EcabsButtonToggleComponent
|
|
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>;
|
|
26
25
|
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { EventEmitter, 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 {
|
|
8
|
+
private readonly document;
|
|
9
|
+
private readonly inputRef?;
|
|
10
|
+
visibleOptions: number;
|
|
11
|
+
autoActiveFirstOption: boolean;
|
|
12
|
+
noResultsText: string;
|
|
13
|
+
compareFn: (a: T, b: T) => boolean;
|
|
14
|
+
avatarTemplate: TemplateRef<{
|
|
15
|
+
$implicit: SelectOption<T>;
|
|
16
|
+
}> | null;
|
|
17
|
+
truncateAt: number;
|
|
18
|
+
set options(value: SelectOption<T>[] | null);
|
|
19
|
+
readonly selectionChange: EventEmitter<T[]>;
|
|
20
|
+
readonly termChange: EventEmitter<string>;
|
|
21
|
+
protected readonly inputControl: FormControl<string>;
|
|
22
|
+
private readonly normalizedTerm$;
|
|
23
|
+
private readonly _options;
|
|
24
|
+
private readonly _values;
|
|
25
|
+
private readonly _term;
|
|
26
|
+
private readonly destroyRef;
|
|
27
|
+
protected readonly overlayPanelClass = "ecabs-chip-autocomplete-overlay-panel";
|
|
28
|
+
protected readonly isDisabled: import("@angular/core").WritableSignal<boolean>;
|
|
29
|
+
protected readonly selectedOptions: import("@angular/core").Signal<SelectOption<T>[]>;
|
|
30
|
+
protected readonly filteredOptions: import("@angular/core").Signal<SelectOption<T>[]>;
|
|
31
|
+
protected readonly noMatchResult: import("@angular/core").Signal<boolean>;
|
|
32
|
+
get options(): SelectOption<T>[] | null;
|
|
33
|
+
constructor(document: Document);
|
|
34
|
+
setOverlayHeight(): void;
|
|
35
|
+
setSelection(event: MatAutocompleteSelectedEvent): void;
|
|
36
|
+
removeSelection(option: SelectOption<T>): void;
|
|
37
|
+
trackByFn(_index: number, option: SelectOption<T>): T | number;
|
|
38
|
+
writeValue(value: T[] | null): void;
|
|
39
|
+
registerOnChange(fn: typeof this.onChange): void;
|
|
40
|
+
registerOnTouched(fn: () => void): void;
|
|
41
|
+
blur(): void;
|
|
42
|
+
private onChange;
|
|
43
|
+
private onTouched;
|
|
44
|
+
private updateValues;
|
|
45
|
+
private clearAndRefocusInput;
|
|
46
|
+
private setValidSelectedOptions;
|
|
47
|
+
private setFilteredOptions;
|
|
48
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EcabsChipAutocompleteComponent<any>, never>;
|
|
49
|
+
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; }; "compareFn": { "alias": "compareFn"; "required": false; }; "avatarTemplate": { "alias": "avatarTemplate"; "required": false; }; "truncateAt": { "alias": "truncateAt"; "required": false; }; "options": { "alias": "options"; "required": true; }; }, { "selectionChange": "selectionChange"; "termChange": "termChange"; }, never, never, true, never>;
|
|
50
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
selectedChange: EventEmitter<T | T[]>;
|
|
10
|
+
protected readonly _value: import("@angular/core").WritableSignal<T | T[]>;
|
|
11
|
+
protected readonly isDisabled: import("@angular/core").WritableSignal<boolean>;
|
|
12
|
+
chipValueChange(value: T | T[]): void;
|
|
13
|
+
writeValue(value: T | T[] | null): void;
|
|
14
|
+
registerOnChange(fn: typeof this.onChange): void;
|
|
15
|
+
registerOnTouched(fn: () => void): void;
|
|
16
|
+
setDisabledState(isDisabled: boolean): void;
|
|
17
|
+
private onChange;
|
|
18
|
+
private onTouched;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EcabsChipGroupComponent<any>, never>;
|
|
20
|
+
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; }; }, { "selectedChange": "selectedChange"; }, never, never, false, never>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
+
export declare class EcabsChipGroupModule {
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EcabsChipGroupModule, never>;
|
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsChipGroupModule, [typeof i1.EcabsChipGroupComponent], [typeof i2.CommonModule, typeof i3.MatChipsModule, typeof i4.FormsModule], [typeof i1.EcabsChipGroupComponent]>;
|
|
9
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<EcabsChipGroupModule>;
|
|
10
|
+
}
|
|
@@ -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,71 @@
|
|
|
1
|
+
import { AfterViewInit, EventEmitter, Injector, OnChanges, OnDestroy, 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 { UnsubscribeService } from '../base/services/unsubscribe.service';
|
|
8
|
+
import { EcabsDateRangePickerHeaderComponentV2 } from './components/ecabs-date-range-picker-header/ecabs-date-range-picker-header-v2.component';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export declare class EcabsDateRangePickerComponentV2 extends EcabsElementBaseComponent implements ControlValueAccessor, AfterViewInit, OnInit, OnChanges, OnDestroy {
|
|
11
|
+
private readonly injector;
|
|
12
|
+
private readonly ecabsDatePickerHeaderService;
|
|
13
|
+
private readonly unsubscribeService;
|
|
14
|
+
minDate: Date;
|
|
15
|
+
maxDate: Date;
|
|
16
|
+
touchUi: boolean;
|
|
17
|
+
cancelLabel: string;
|
|
18
|
+
applyLabel: string;
|
|
19
|
+
startDatePlaceholder: string;
|
|
20
|
+
endDatePlaceholder: string;
|
|
21
|
+
separatorLabel: string;
|
|
22
|
+
excludeHolidays: boolean;
|
|
23
|
+
excludeWeekends: boolean;
|
|
24
|
+
specificDates: Date[];
|
|
25
|
+
holidayOptions: EcabsDatePickerHolidayOptions;
|
|
26
|
+
onblur: EventEmitter<any>;
|
|
27
|
+
val: {
|
|
28
|
+
dateFrom: string;
|
|
29
|
+
dateTo: string;
|
|
30
|
+
};
|
|
31
|
+
pickerTo: MatDateRangePicker<any> | undefined;
|
|
32
|
+
header: typeof EcabsDateRangePickerHeaderComponentV2;
|
|
33
|
+
_dateFrom: string;
|
|
34
|
+
_dateTo: string;
|
|
35
|
+
translationConfig: EcabsDatePickerTranslations;
|
|
36
|
+
minDateFrom?: Date;
|
|
37
|
+
maxDateFrom?: Date;
|
|
38
|
+
minDateTo?: Date;
|
|
39
|
+
maxDateTo?: Date;
|
|
40
|
+
protected readonly panelClass = "ecabs-date-range-picker-v2";
|
|
41
|
+
private holidayInstance;
|
|
42
|
+
get value(): {
|
|
43
|
+
dateFrom: string;
|
|
44
|
+
dateTo: string;
|
|
45
|
+
};
|
|
46
|
+
get dateFrom(): string;
|
|
47
|
+
get dateTo(): string;
|
|
48
|
+
set value(val: {
|
|
49
|
+
dateFrom: string;
|
|
50
|
+
dateTo: string;
|
|
51
|
+
});
|
|
52
|
+
set dateFrom(val: string);
|
|
53
|
+
set dateTo(val: string);
|
|
54
|
+
constructor(injector: Injector, ecabsDatePickerHeaderService: EcabsDatePickerHeaderService, unsubscribeService: UnsubscribeService);
|
|
55
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
56
|
+
ngOnInit(): void;
|
|
57
|
+
ngAfterViewInit(): void;
|
|
58
|
+
ngOnDestroy(): void;
|
|
59
|
+
onChange: any;
|
|
60
|
+
onTouch: any;
|
|
61
|
+
writeValue(value: any): void;
|
|
62
|
+
registerOnChange(fn: any): void;
|
|
63
|
+
registerOnTouched(fn: any): void;
|
|
64
|
+
blurChange(e: any): void;
|
|
65
|
+
onApply(): void;
|
|
66
|
+
filterDateRange: (date: Date) => boolean;
|
|
67
|
+
isDateNotHoliday(date: Date): boolean;
|
|
68
|
+
dateRangeValidator(control: UntypedFormControl): void;
|
|
69
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EcabsDateRangePickerComponentV2, never>;
|
|
70
|
+
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>;
|
|
71
|
+
}
|
|
@@ -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
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ecabs-components",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.57",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/animations": "^16.2.12",
|
|
6
6
|
"@angular/common": "^16.2.12",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"flag-icons": "^6.7.0",
|
|
16
16
|
"libphonenumber-js": "^1.12.6",
|
|
17
17
|
"ngx-mat-select-search": "^7.0.7",
|
|
18
|
+
"ngx-phosphor-icons": "^1.0.7",
|
|
18
19
|
"postcss": "^8.4.35",
|
|
19
20
|
"rxjs": "~7.5.0",
|
|
20
21
|
"tailwindcss": "^3.4.13",
|
package/public-api.d.ts
CHANGED
|
@@ -117,6 +117,7 @@ export * from './lib/ecabs-base-phone-input/ecabs-base-phone.module';
|
|
|
117
117
|
export * from './lib/base/services/unsubscribe.service';
|
|
118
118
|
export * from './lib/base/pipes/truncate.pipe';
|
|
119
119
|
export * from './lib/base/pipes/separator-append.pipe';
|
|
120
|
+
export * from './lib/base/pipes/phone-number-country-code.pipe';
|
|
120
121
|
export * from './lib/base/pipes/pipes.module';
|
|
121
122
|
export * from './lib/ecabs-sidebar/ecabs-sidebar.module';
|
|
122
123
|
export * from './lib/ecabs-sidebar/ecabs-sidebar.component';
|
|
@@ -137,3 +138,9 @@ export * from './lib/base/adapters/date.adapter';
|
|
|
137
138
|
export * from './lib/base/consts/waypoint.consts';
|
|
138
139
|
export * from './lib/ecabs-dialog-confirm-deletion/ecabs-dialog-confirm-deletion.module';
|
|
139
140
|
export * from './lib/ecabs-dialog-confirm-deletion/ecabs-dialog-confirm-deletion.component';
|
|
141
|
+
export * from './lib/ecabs-chip-group/ecabs-chip-group.module';
|
|
142
|
+
export * from './lib/ecabs-chip-group/ecabs-chip-group.component';
|
|
143
|
+
export * from './lib/ecabs-chip-autocomplete/ecabs-chip-autocomplete.component';
|
|
144
|
+
export * from './lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.module';
|
|
145
|
+
export * from './lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.component';
|
|
146
|
+
export * from './lib/ecabs-date-range-picker-v2/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header-v2.component';
|
|
@@ -9,3 +9,22 @@
|
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
+
|
|
13
|
+
ecabs-chip-autocomplete {
|
|
14
|
+
input.mat-mdc-chip-input {
|
|
15
|
+
margin-left: unset;
|
|
16
|
+
border-radius: calc-rem($border-radius-large);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.ecabs-chip-autocomplete-overlay-panel {
|
|
21
|
+
&.mat-mdc-autocomplete-panel {
|
|
22
|
+
box-shadow: $box-shadow-default;
|
|
23
|
+
border-radius: calc-rem($border-radius-large);
|
|
24
|
+
border-top: 0;
|
|
25
|
+
|
|
26
|
+
max-height: calc((var(--autocomplete-visible-options, 8.5) * var(--mat-option-height, 48px)) + 10px);
|
|
27
|
+
overflow-y: auto;
|
|
28
|
+
overflow-x: hidden;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -147,3 +147,83 @@
|
|
|
147
147
|
.mdc-evolution-chip.mat-mdc-standard-chip[ng-reflect-disable-ripple]:not(.mdc-evolution-chip--disabled):active {
|
|
148
148
|
box-shadow: none;
|
|
149
149
|
}
|
|
150
|
+
|
|
151
|
+
//V2 styles
|
|
152
|
+
ecabs-chip-group {
|
|
153
|
+
.mat-mdc-chip-listbox {
|
|
154
|
+
display: flex;
|
|
155
|
+
flex-wrap: wrap;
|
|
156
|
+
gap: calc-rem(8px);
|
|
157
|
+
|
|
158
|
+
.mat-mdc-chip {
|
|
159
|
+
--mdc-chip-elevated-container-color: var(--color-white);
|
|
160
|
+
--mdc-chip-label-text-color: var(--color-gray-600);
|
|
161
|
+
--mdc-chip-label-text-size: #{$font-size-xs};
|
|
162
|
+
--mdc-chip-label-text-weight: #{$font-weight-medium};
|
|
163
|
+
--mdc-chip-elevated-selected-container-color: var(--color-brand-dark);
|
|
164
|
+
--mdc-chip-selected-label-text-color: var(--color-white);
|
|
165
|
+
|
|
166
|
+
border-radius: calc-rem($border-radius-medium);
|
|
167
|
+
border: 1px solid var(--color-gray-200);
|
|
168
|
+
|
|
169
|
+
&:hover {
|
|
170
|
+
border-color: var(--color-gray-300);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.mat-mdc-chip.mdc-evolution-chip--selected {
|
|
175
|
+
border-color: transparent;
|
|
176
|
+
|
|
177
|
+
.mdc-evolution-chip__action {
|
|
178
|
+
color: var(--mdc-chip-selected-label-text-color);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.mat-mdc-chip.mdc-evolution-chip--disabled {
|
|
183
|
+
opacity: 0.6;
|
|
184
|
+
cursor: not-allowed;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.mat-mdc-chip .mat-mdc-chip-graphic {
|
|
188
|
+
display: none;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary {
|
|
192
|
+
padding: 0;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.mat-mdc-chip .mdc-chip__ripple,
|
|
196
|
+
.mat-mdc-chip .mat-ripple {
|
|
197
|
+
display: none;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
ecabs-chip-autocomplete {
|
|
203
|
+
.mat-mdc-chip-grid {
|
|
204
|
+
.mat-mdc-chip {
|
|
205
|
+
--mdc-chip-elevated-container-color: var(--color-gray-100);
|
|
206
|
+
--mdc-chip-label-text-color: var(--color-gray-600);
|
|
207
|
+
--mdc-chip-label-text-size: #{$font-size-xs};
|
|
208
|
+
--mdc-chip-label-text-weight: #{$font-weight-medium};
|
|
209
|
+
--mdc-chip-elevated-selected-container-color: var(--color-brand-dark);
|
|
210
|
+
--mdc-chip-selected-label-text-color: var(--color-white);
|
|
211
|
+
--mdc-chip-container-height: #{calc-rem(28px)};
|
|
212
|
+
--mdc-chip-with-trailing-icon-trailing-icon-color: var(--color-gray-600);
|
|
213
|
+
--mdc-chip-with-avatar-avatar-shape-radius: 0;
|
|
214
|
+
|
|
215
|
+
border-radius: calc-rem($border-radius-medium);
|
|
216
|
+
padding-left: unset;
|
|
217
|
+
padding-right: unset;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
.mat-mdc-standard-chip .mdc-evolution-chip__icon--trailing {
|
|
222
|
+
width: calc-rem(14px);
|
|
223
|
+
height: calc-rem(14px);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.mdc-evolution-chip-set .mdc-evolution-chip {
|
|
227
|
+
margin-top: 0;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
@@ -154,3 +154,25 @@
|
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
|
+
|
|
158
|
+
.ecabs-date-range-picker-v2 {
|
|
159
|
+
.mat-calendar-content {
|
|
160
|
+
padding: 0 1.6rem 1.6rem;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
ecabs-date-range-picker-v2 {
|
|
165
|
+
.mat-datepicker-input {
|
|
166
|
+
text-align: center;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
input {
|
|
170
|
+
border: none;
|
|
171
|
+
box-shadow: none;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
input:focus {
|
|
175
|
+
outline: none;
|
|
176
|
+
box-shadow: none;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
@@ -4,12 +4,18 @@
|
|
|
4
4
|
border-radius: $border-radius-base;
|
|
5
5
|
display: flex;
|
|
6
6
|
width: fit-content;
|
|
7
|
-
|
|
7
|
+
min-width: calc-rem(56px);
|
|
8
|
+
padding: calc-rem(8px 12px);
|
|
8
9
|
align-items: center;
|
|
9
10
|
justify-content: center;
|
|
10
11
|
background-color: var(--color-gray-50);
|
|
11
12
|
color: var(--color-gray-500);
|
|
12
13
|
font-weight: $font-weight-regular;
|
|
14
|
+
cursor: pointer;
|
|
15
|
+
|
|
16
|
+
&:hover {
|
|
17
|
+
border-color: var(--color-gray-300);
|
|
18
|
+
}
|
|
13
19
|
|
|
14
20
|
@include e(standard) {
|
|
15
21
|
width: 7.2rem;
|
|
@@ -40,8 +40,8 @@ form {
|
|
|
40
40
|
display: block;
|
|
41
41
|
width: 100%;
|
|
42
42
|
padding: calc-rem(8) calc-rem(16);
|
|
43
|
-
border-radius: $border-radius-
|
|
44
|
-
border: 1px solid var(--color-gray-
|
|
43
|
+
border-radius: $border-radius-medium;
|
|
44
|
+
border: 1px solid var(--color-gray-200);
|
|
45
45
|
color: var(--color-black);
|
|
46
46
|
line-height: $base-line-height;
|
|
47
47
|
|
|
@@ -104,8 +104,8 @@ form {
|
|
|
104
104
|
display: block;
|
|
105
105
|
width: 100%;
|
|
106
106
|
padding: calc-rem(16);
|
|
107
|
-
border-radius: $border-radius-
|
|
108
|
-
border: 1px solid var(--color-gray-
|
|
107
|
+
border-radius: $border-radius-medium;
|
|
108
|
+
border: 1px solid var(--color-gray-200);
|
|
109
109
|
color: var(--color-black);
|
|
110
110
|
line-height: $base-line-height;
|
|
111
111
|
|
|
@@ -152,14 +152,87 @@ form {
|
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
+
// #Range
|
|
156
|
+
@include e(range) {
|
|
157
|
+
@include fontSize($font-size-base);
|
|
158
|
+
display: block;
|
|
159
|
+
width: 100%;
|
|
160
|
+
padding: calc-rem(8) calc-rem(16);
|
|
161
|
+
color: var(--color-black);
|
|
162
|
+
line-height: $base-line-height;
|
|
163
|
+
border: none;
|
|
164
|
+
|
|
165
|
+
&:focus-visible {
|
|
166
|
+
outline: none;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
@include m(wrapper) {
|
|
170
|
+
// wrapper
|
|
171
|
+
display: grid;
|
|
172
|
+
grid-template-columns: 1fr auto 1fr;
|
|
173
|
+
border-radius: calc-rem($border-radius-large);
|
|
174
|
+
border: 1px solid var(--color-gray-300);
|
|
175
|
+
align-items: center;
|
|
176
|
+
line-height: 1;
|
|
177
|
+
background-color: var(--color-white);
|
|
178
|
+
|
|
179
|
+
&:focus-within {
|
|
180
|
+
border-color: var(--color-brand-dark);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
@include m(suffix) {
|
|
185
|
+
// suffix
|
|
186
|
+
position: absolute !important;
|
|
187
|
+
top: 50%;
|
|
188
|
+
right: calc-rem(16);
|
|
189
|
+
color: var(--color-gray-500);
|
|
190
|
+
transform: translateY(-50%);
|
|
191
|
+
|
|
192
|
+
&,
|
|
193
|
+
i,
|
|
194
|
+
.mat-icon {
|
|
195
|
+
@include fontSize($form-input-icon-size);
|
|
196
|
+
width: calc-rem($form-input-icon-size);
|
|
197
|
+
height: calc-rem($form-input-icon-size);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
@include m(prefix) {
|
|
202
|
+
// prefix
|
|
203
|
+
@extend .form-field__range--suffix;
|
|
204
|
+
|
|
205
|
+
right: unset;
|
|
206
|
+
left: calc-rem(16);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
@include m(disabled) {
|
|
210
|
+
// disabled
|
|
211
|
+
background-color: var(--color-gray-100);
|
|
212
|
+
border-color: transparent;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
@include m(invalid) {
|
|
216
|
+
// invalid
|
|
217
|
+
border-color: var(--color-error) !important;
|
|
218
|
+
color: var(--color-error) !important;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
155
222
|
// #Invalid
|
|
156
223
|
@include m(invalid) {
|
|
157
224
|
&,
|
|
158
225
|
.form-field__input,
|
|
159
|
-
.form-field__textarea
|
|
226
|
+
.form-field__textarea,
|
|
227
|
+
.form-field__range {
|
|
160
228
|
color: var(--color-error);
|
|
161
229
|
border-color: var(--color-error);
|
|
162
230
|
}
|
|
231
|
+
|
|
232
|
+
&,
|
|
233
|
+
.form-field__range--wrapper {
|
|
234
|
+
border-color: var(--color-error);
|
|
235
|
+
}
|
|
163
236
|
}
|
|
164
237
|
|
|
165
238
|
// #Required
|
|
@@ -56,9 +56,7 @@
|
|
|
56
56
|
--color-allocation-unavailable: #F2F2F2;
|
|
57
57
|
--cropper-outline-color: rgba(0, 0, 0, 0.5);
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
--color-
|
|
61
|
-
--
|
|
62
|
-
--color-slate-500: #64748b;
|
|
63
|
-
--color-slate-900: #0f172a;
|
|
59
|
+
--mat-option-label-text-color: var(--color-gray-900);
|
|
60
|
+
--mat-option-focus-state-layer-color: var(--color-gray-100);
|
|
61
|
+
--mat-option-hover-state-layer-color: var(--color-gray-50);
|
|
64
62
|
}
|