ecabs-components 1.1.57 → 1.1.62
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 +7 -1
- package/esm2022/lib/base/consts/error-messages.consts.mjs +13 -1
- package/esm2022/lib/base/directives/date-mask.directive.mjs +56 -80
- package/esm2022/lib/base/directives/time-mask.directive.mjs +12 -35
- package/esm2022/lib/base/directives/time-range.directive.mjs +6 -32
- package/esm2022/lib/base/utils/time-mask.util.mjs +87 -0
- package/esm2022/lib/ecabs-button-toggle/ecabs-button-toggle.component.mjs +2 -2
- package/esm2022/lib/ecabs-buttons-v2/ecabs-buttons-v2.component.mjs +2 -2
- package/esm2022/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.component.mjs +105 -0
- package/esm2022/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.module.mjs +22 -0
- package/esm2022/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.component.mjs +4 -6
- package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +31 -11
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +3 -3
- package/esm2022/lib/ecabs-input-range/ecabs-input-range.component.mjs +188 -0
- package/esm2022/lib/ecabs-input-range/ecabs-input-range.module.mjs +40 -0
- package/esm2022/lib/ecabs-time-range-input-v2/config.model.mjs +2 -0
- package/esm2022/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.component.mjs +167 -0
- package/esm2022/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.module.mjs +32 -0
- package/esm2022/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.service.mjs +29 -0
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +3 -55
- package/esm2022/public-api.mjs +8 -1
- package/fesm2022/ecabs-components.mjs +734 -290
- package/fesm2022/ecabs-components.mjs.map +1 -1
- package/lib/base/directives/date-mask.directive.d.ts +6 -7
- package/lib/base/directives/time-mask.directive.d.ts +2 -3
- package/lib/base/directives/time-range.directive.d.ts +1 -2
- package/lib/base/utils/time-mask.util.d.ts +3 -0
- package/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.component.d.ts +29 -0
- package/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.module.d.ts +12 -0
- package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +4 -2
- package/lib/ecabs-input-range/ecabs-input-range.component.d.ts +44 -0
- package/lib/ecabs-input-range/ecabs-input-range.module.d.ts +13 -0
- package/lib/ecabs-time-range-input-v2/config.model.d.ts +5 -0
- package/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.component.d.ts +51 -0
- package/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.module.d.ts +11 -0
- package/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.service.d.ts +12 -0
- package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +0 -5
- package/package.json +3 -2
- package/public-api.d.ts +7 -0
- package/src/assets/styles/scss/utilities/_variables.scss +1 -0
- package/src/assets/styles/tailwind/index.scss +1 -1
- package/esm2022/lib/base/consts/date-mask.consts.mjs +0 -76
- package/lib/base/consts/date-mask.consts.d.ts +0 -7
|
@@ -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
|
-
|
|
8
|
-
|
|
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
|
|
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,12 +4,11 @@ export declare class EcabsMaskTimeDirective implements OnInit, OnDestroy {
|
|
|
4
4
|
private readonly element;
|
|
5
5
|
timeRange?: boolean;
|
|
6
6
|
all: string;
|
|
7
|
-
|
|
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
|
-
|
|
9
|
-
maskDateTime: (string | RegExp)[];
|
|
8
|
+
private maskedInput;
|
|
10
9
|
constructor(element: ElementRef);
|
|
11
10
|
ngOnInit(): void;
|
|
12
11
|
ngOnDestroy(): void;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AfterViewInit, DestroyRef, EventEmitter, Injector } from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import { MatCheckboxChange } from '@angular/material/checkbox';
|
|
4
|
+
import EcabsElementBaseComponent from '../base/element-base';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class EcabsCheckboxV2Component extends EcabsElementBaseComponent implements ControlValueAccessor, AfterViewInit {
|
|
7
|
+
private readonly injector;
|
|
8
|
+
private readonly destroyRef;
|
|
9
|
+
label: string;
|
|
10
|
+
showLabel: boolean;
|
|
11
|
+
readonly checkboxChanged: EventEmitter<boolean>;
|
|
12
|
+
val: boolean;
|
|
13
|
+
get value(): boolean;
|
|
14
|
+
get hasError(): boolean;
|
|
15
|
+
set value(value: boolean);
|
|
16
|
+
constructor(injector: Injector, destroyRef: DestroyRef);
|
|
17
|
+
onChange: (value: boolean) => void;
|
|
18
|
+
onTouched: () => void;
|
|
19
|
+
ngAfterViewInit(): void;
|
|
20
|
+
toggle(event: MatCheckboxChange): void;
|
|
21
|
+
onRowClick(): void;
|
|
22
|
+
onKeyDown(event: KeyboardEvent): void;
|
|
23
|
+
onBlur(): void;
|
|
24
|
+
writeValue(value: boolean | null | undefined): void;
|
|
25
|
+
registerOnChange(fn: (value: boolean) => void): void;
|
|
26
|
+
registerOnTouched(fn: () => void): void;
|
|
27
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EcabsCheckboxV2Component, never>;
|
|
28
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EcabsCheckboxV2Component, "ecabs-checkbox-v2", never, { "label": { "alias": "label"; "required": false; }; "showLabel": { "alias": "showLabel"; "required": false; }; }, { "checkboxChanged": "checkboxChanged"; }, never, never, false, never>;
|
|
29
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./ecabs-checkbox-v2.component";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "../base/element-wrapper/element-wrapper.module";
|
|
5
|
+
import * as i4 from "@angular/forms";
|
|
6
|
+
import * as i5 from "@angular/material/icon";
|
|
7
|
+
import * as i6 from "@angular/material/checkbox";
|
|
8
|
+
export declare class EcabsCheckboxV2Module {
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EcabsCheckboxV2Module, never>;
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsCheckboxV2Module, [typeof i1.EcabsCheckboxV2Component], [typeof i2.CommonModule, typeof i3.ElementWrapperModule, typeof i4.FormsModule, typeof i5.MatIconModule, typeof i6.MatCheckboxModule], [typeof i1.EcabsCheckboxV2Component]>;
|
|
11
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<EcabsCheckboxV2Module>;
|
|
12
|
+
}
|
|
@@ -39,7 +39,7 @@ export declare class EcabsDateTimePickerComponent extends EcabsElementBaseCompon
|
|
|
39
39
|
preventCallSetterPickerValue: boolean;
|
|
40
40
|
runTimeout: boolean;
|
|
41
41
|
translationConfig: EcabsDatePickerTranslations;
|
|
42
|
-
isEmptyFormat:
|
|
42
|
+
isEmptyFormat: any;
|
|
43
43
|
get value(): Date;
|
|
44
44
|
get pickerValue(): string;
|
|
45
45
|
get hours(): string;
|
|
@@ -61,7 +61,9 @@ export declare class EcabsDateTimePickerComponent extends EcabsElementBaseCompon
|
|
|
61
61
|
onApply(): void;
|
|
62
62
|
refreshPickerValue(date: Date): void;
|
|
63
63
|
private formatDateTime;
|
|
64
|
-
private
|
|
64
|
+
private normalizeWithAutoPad;
|
|
65
|
+
private toDigits;
|
|
66
|
+
private formatTwoDigits;
|
|
65
67
|
private setValues;
|
|
66
68
|
static ɵfac: i0.ɵɵFactoryDeclaration<EcabsDateTimePickerComponent, never>;
|
|
67
69
|
static ɵcmp: i0.ɵɵComponentDeclaration<EcabsDateTimePickerComponent, "ecabs-date-time-picker", never, { "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "touchUi": { "alias": "touchUi"; "required": false; }; "hideSeconds": { "alias": "hideSeconds"; "required": false; }; "cancelLabel": { "alias": "cancelLabel"; "required": false; }; "applyLabel": { "alias": "applyLabel"; "required": false; }; "applyMinDateAuto": { "alias": "applyMinDateAuto"; "required": false; }; "preserveOriginalValue": { "alias": "preserveOriginalValue"; "required": false; }; }, {}, never, never, false, never>;
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { AfterViewInit, DestroyRef, Injector } from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor, UntypedFormControl } from '@angular/forms';
|
|
3
|
+
import EcabsElementBaseComponent from '../base/element-base';
|
|
4
|
+
import { ListPlacement } from '../base/models/timepicker.models';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class EcabsTimeRangeInputV2Component extends EcabsElementBaseComponent implements ControlValueAccessor, AfterViewInit {
|
|
7
|
+
private readonly injector;
|
|
8
|
+
private readonly destroyRef;
|
|
9
|
+
showCloseIcon: boolean;
|
|
10
|
+
listPlacement: ListPlacement;
|
|
11
|
+
appendTo: string;
|
|
12
|
+
min: string;
|
|
13
|
+
max: string;
|
|
14
|
+
showDayStart: boolean;
|
|
15
|
+
showDayEnd: boolean;
|
|
16
|
+
addSecond: boolean;
|
|
17
|
+
dayStartLabel: string;
|
|
18
|
+
dayEndLabel: string;
|
|
19
|
+
separatorLabel: string;
|
|
20
|
+
startTimePlaceholder: string;
|
|
21
|
+
endTimePlaceholder: string;
|
|
22
|
+
val: {
|
|
23
|
+
timeFrom: string;
|
|
24
|
+
timeTo: string;
|
|
25
|
+
};
|
|
26
|
+
_timeFrom: string;
|
|
27
|
+
_timeTo: string;
|
|
28
|
+
get value(): {
|
|
29
|
+
timeFrom: string;
|
|
30
|
+
timeTo: string;
|
|
31
|
+
};
|
|
32
|
+
get timeFrom(): string;
|
|
33
|
+
get timeTo(): string;
|
|
34
|
+
set value(val: {
|
|
35
|
+
timeFrom: string;
|
|
36
|
+
timeTo: string;
|
|
37
|
+
});
|
|
38
|
+
set timeFrom(val: string);
|
|
39
|
+
set timeTo(val: string);
|
|
40
|
+
constructor(injector: Injector, destroyRef: DestroyRef);
|
|
41
|
+
ngAfterViewInit(): void;
|
|
42
|
+
onChange: any;
|
|
43
|
+
onTouch: any;
|
|
44
|
+
writeValue(value: any): void;
|
|
45
|
+
registerOnChange(fn: any): void;
|
|
46
|
+
registerOnTouched(fn: any): void;
|
|
47
|
+
onApply(): void;
|
|
48
|
+
timeRangeValidator(control: UntypedFormControl): void;
|
|
49
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EcabsTimeRangeInputV2Component, never>;
|
|
50
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EcabsTimeRangeInputV2Component, "ecabs-time-range-input-v2", never, { "showCloseIcon": { "alias": "showCloseIcon"; "required": false; }; "listPlacement": { "alias": "listPlacement"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "showDayStart": { "alias": "showDayStart"; "required": false; }; "showDayEnd": { "alias": "showDayEnd"; "required": false; }; "addSecond": { "alias": "addSecond"; "required": false; }; "dayStartLabel": { "alias": "dayStartLabel"; "required": false; }; "dayEndLabel": { "alias": "dayEndLabel"; "required": false; }; "separatorLabel": { "alias": "separatorLabel"; "required": false; }; "startTimePlaceholder": { "alias": "startTimePlaceholder"; "required": false; }; "endTimePlaceholder": { "alias": "endTimePlaceholder"; "required": false; }; }, {}, never, never, false, never>;
|
|
51
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./ecabs-time-range-input-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 "../ecabs-timepicker/ecabs-timepicker.module";
|
|
6
|
+
import * as i5 from "@angular/forms";
|
|
7
|
+
export declare class EcabsTimeRangeInputV2Module {
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EcabsTimeRangeInputV2Module, never>;
|
|
9
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<EcabsTimeRangeInputV2Module, [typeof i1.EcabsTimeRangeInputV2Component], [typeof i2.CommonModule, typeof i3.ElementWrapperModule, typeof i4.EcabsTimepickerModule, typeof i5.FormsModule], [typeof i1.EcabsTimeRangeInputV2Component]>;
|
|
10
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<EcabsTimeRangeInputV2Module>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
import { FormTimePickerConfigV2 } from './config.model';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class FormTimePickerServiceV2 {
|
|
5
|
+
config: FormTimePickerConfigV2;
|
|
6
|
+
closeSub: Subject<boolean>;
|
|
7
|
+
setConfig(c: FormTimePickerConfigV2): void;
|
|
8
|
+
getConfig(): FormTimePickerConfigV2;
|
|
9
|
+
close(): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormTimePickerServiceV2, never>;
|
|
11
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<FormTimePickerServiceV2>;
|
|
12
|
+
}
|
|
@@ -23,7 +23,6 @@ export declare class EcabsTimepickerComponent extends EcabsElementBaseComponent
|
|
|
23
23
|
dayEndLabel: string;
|
|
24
24
|
position: ListPosition;
|
|
25
25
|
_data: string;
|
|
26
|
-
inputData: string;
|
|
27
26
|
_timePicker: {
|
|
28
27
|
querySelector: (arg0: string) => HTMLElement;
|
|
29
28
|
};
|
|
@@ -40,13 +39,9 @@ export declare class EcabsTimepickerComponent extends EcabsElementBaseComponent
|
|
|
40
39
|
clearInput(): void;
|
|
41
40
|
calcListPosition(): void;
|
|
42
41
|
inputKeyDown(event: any): boolean;
|
|
43
|
-
updateInputData(event: string): void;
|
|
44
42
|
checkSpecialKeys(key: TimepickerSpecialKey): TimepickerSpecialKey;
|
|
45
43
|
checkUnUsedKeys(key: string): boolean;
|
|
46
44
|
checkOutOfRangeNumber(time: any): boolean;
|
|
47
|
-
makeHourFull(): void;
|
|
48
|
-
makeMinuteFull(): void;
|
|
49
|
-
fixTimeToNearest(): void;
|
|
50
45
|
onChangeFn: (_: any) => void;
|
|
51
46
|
onTouchedFn: () => void;
|
|
52
47
|
registerOnChange(fn: any): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ecabs-components",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.62",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/animations": "^16.2.12",
|
|
6
6
|
"@angular/common": "^16.2.12",
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
"postcss": "^8.4.35",
|
|
20
20
|
"rxjs": "~7.5.0",
|
|
21
21
|
"tailwindcss": "^3.4.13",
|
|
22
|
-
"
|
|
22
|
+
"@maskito/core": "^5.0.0",
|
|
23
|
+
"@maskito/kit": "^5.0.0"
|
|
23
24
|
},
|
|
24
25
|
"dependencies": {
|
|
25
26
|
"tslib": "^2.3.0"
|
package/public-api.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export * from './lib/ecabs-button-toggle/ecabs-button-toggle.component';
|
|
|
9
9
|
export * from './lib/ecabs-button-toggle/ecabs-button-toggle.module';
|
|
10
10
|
export * from './lib/ecabs-input/ecabs-input.component';
|
|
11
11
|
export * from './lib/ecabs-input/ecabs-input.module';
|
|
12
|
+
export * from './lib/ecabs-input-range/ecabs-input-range.component';
|
|
13
|
+
export * from './lib/ecabs-input-range/ecabs-input-range.module';
|
|
12
14
|
export * from './lib/ecabs-select/ecabs-select.module';
|
|
13
15
|
export * from './lib/ecabs-select/ecabs-select.component';
|
|
14
16
|
export * from './lib/ecabs-select-v2/ecabs-select-v2.module';
|
|
@@ -27,6 +29,8 @@ export * from './lib/base/models/select.models';
|
|
|
27
29
|
export * from './lib/base/models/waypoint.models';
|
|
28
30
|
export * from './lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component';
|
|
29
31
|
export * from './lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module';
|
|
32
|
+
export * from './lib/ecabs-checkbox-v2/ecabs-checkbox-v2.component';
|
|
33
|
+
export * from './lib/ecabs-checkbox-v2/ecabs-checkbox-v2.module';
|
|
30
34
|
export * from './lib/ecabs-date-picker/ecabs-date-picker.component';
|
|
31
35
|
export * from './lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component';
|
|
32
36
|
export * from './lib/ecabs-date-time-picker/ecabs-date-time-picker.component';
|
|
@@ -138,6 +142,9 @@ export * from './lib/base/adapters/date.adapter';
|
|
|
138
142
|
export * from './lib/base/consts/waypoint.consts';
|
|
139
143
|
export * from './lib/ecabs-dialog-confirm-deletion/ecabs-dialog-confirm-deletion.module';
|
|
140
144
|
export * from './lib/ecabs-dialog-confirm-deletion/ecabs-dialog-confirm-deletion.component';
|
|
145
|
+
export * from './lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.service';
|
|
146
|
+
export * from './lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.module';
|
|
147
|
+
export * from './lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.component';
|
|
141
148
|
export * from './lib/ecabs-chip-group/ecabs-chip-group.module';
|
|
142
149
|
export * from './lib/ecabs-chip-group/ecabs-chip-group.component';
|
|
143
150
|
export * from './lib/ecabs-chip-autocomplete/ecabs-chip-autocomplete.component';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--color-gray-200)}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:var(--color-gray-400)}input::placeholder,textarea::placeholder{opacity:1;color:var(--color-gray-400)}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-y-0{top:0;bottom:0}.-right-3{right:-.75rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1{left:.25rem}.left-5{left:1.25rem}.left-72{left:18rem}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-2{top:.5rem}.top-5{top:1.25rem}.top-\[calc\(85\%-1rem\)\]{top:calc(85% - 1rem)}.top-full{top:100%}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.float-right{float:right}.mx-4{margin-left:1rem;margin-right:1rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.-ml-1{margin-left:-.25rem}.-ml-3{margin-left:-.75rem}.-mt-1{margin-top:-.25rem}.-mt-3{margin-top:-.75rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-10{margin-left:2.5rem}.ml-12{margin-left:3rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.size-px{width:1px;height:1px}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.h-max{height:-moz-max-content;height:max-content}.\!w-full{width:100%!important}.w-1{width:.25rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\/3{width:66.666667%}.w-20{width:5rem}.w-3{width:.75rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-72{width:18rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.max-w-48{max-width:12rem}.max-w-96{max-width:24rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink,.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-top-right{transform-origin:top right}.-translate-x-7{--tw-translate-x:-1.75rem}.-translate-x-7,.-translate-x-9{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-9{--tw-translate-x:-2.25rem}.-translate-y-7{--tw-translate-y:-1.75rem}.-translate-y-7,.-translate-y-9{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-9{--tw-translate-y:-2.25rem}.translate-x-32{--tw-translate-x:8rem}.translate-x-32,.translate-y-7{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-7{--tw-translate-y:1.75rem}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg}.rotate-90{--tw-rotate:90deg}.rotate-90,.scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-4{row-gap:1rem}.gap-y-6{row-gap:1.5rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(226 232 240/var(--tw-divide-opacity,1))}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;white-space:nowrap}.overflow-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.\!rounded-full{border-radius:9999px!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-r-0{border-right-width:0}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-current{border-color:currentColor}.border-gray-300{border-color:var(--color-gray-300)}.border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity,1))}.border-purple-500{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.border-slate-900{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity,1))}.bg-accent-error{background-color:var(--color-error)}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-brand-300{background-color:var(--color-brand-300)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-pink-400{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity,1))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.\!p-0{padding:0!important}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-10{padding-bottom:2.5rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-2{padding-left:.5rem}.pr-1{padding-right:.25rem}.pr-6{padding-right:1.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.\!text-lg{font-size:1.125rem!important;line-height:1.75rem!important}.\!text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.\!leading-none{line-height:1!important}.leading-0{line-height:0}.leading-4{line-height:1rem}.leading-7{line-height:1.75rem}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.\!text-gray-500{color:var(--color-gray-500)!important}.text-accent-error{color:var(--color-error)}.text-black{color:var(--color-black)}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-brand-dark{color:var(--color-brand-dark)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-inherit{color:inherit}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-50{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-blue-500{accent-color:#3b82f6}.accent-purple-500{accent-color:#a855f7}.accent-sky-500{accent-color:#0ea5e9}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.ring-slate-200{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.ring-slate-300{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity,1))}.ring-slate-500{--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity,1))}.ring-slate-900{--tw-ring-opacity:1;--tw-ring-color:rgb(15 23 42/var(--tw-ring-opacity,1))}.ring-opacity-10{--tw-ring-opacity:0.1}.ring-opacity-5{--tw-ring-opacity:0.05}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f)}.grayscale{--tw-grayscale:grayscale(100%)}.grayscale,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%)}.sepia{--tw-sepia:sepia(100%)}.filter,.sepia{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[-hh\:ss\]{-hh:ss}.\[k\:string\]{k:string}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-brand-dark:hover{color:var(--color-brand-dark)}.hover\:text-inherit:hover{color:inherit}@media (min-width:640px){.sm\:hidden{display:none}}@media (min-width:768px){.md\:mr-3{margin-right:.75rem}.md\:block{display:block}.md\:flex{display:flex}}@media (prefers-color-scheme:dark){.dark\:bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.dark\:text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}}
|
|
1
|
+
*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--color-gray-200)}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:var(--color-gray-400)}input::placeholder,textarea::placeholder{opacity:1;color:var(--color-gray-400)}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-y-0{top:0;bottom:0}.-right-3{right:-.75rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1{left:.25rem}.left-5{left:1.25rem}.left-72{left:18rem}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-2{top:.5rem}.top-5{top:1.25rem}.top-\[calc\(85\%-1rem\)\]{top:calc(85% - 1rem)}.top-full{top:100%}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.float-right{float:right}.mx-4{margin-left:1rem;margin-right:1rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.-ml-1{margin-left:-.25rem}.-ml-3{margin-left:-.75rem}.-mt-1{margin-top:-.25rem}.-mt-3{margin-top:-.75rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-10{margin-left:2.5rem}.ml-12{margin-left:3rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.size-px{width:1px;height:1px}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.h-max{height:-moz-max-content;height:max-content}.\!w-full{width:100%!important}.w-1{width:.25rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\/3{width:66.666667%}.w-20{width:5rem}.w-3{width:.75rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-72{width:18rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.max-w-48{max-width:12rem}.max-w-96{max-width:24rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink,.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-top-right{transform-origin:top right}.-translate-x-7{--tw-translate-x:-1.75rem}.-translate-x-7,.-translate-x-9{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-9{--tw-translate-x:-2.25rem}.-translate-y-7{--tw-translate-y:-1.75rem}.-translate-y-7,.-translate-y-9{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-9{--tw-translate-y:-2.25rem}.translate-x-32{--tw-translate-x:8rem}.translate-x-32,.translate-y-7{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-7{--tw-translate-y:1.75rem}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg}.rotate-90{--tw-rotate:90deg}.rotate-90,.scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-4{row-gap:1rem}.gap-y-6{row-gap:1.5rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(226 232 240/var(--tw-divide-opacity,1))}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;white-space:nowrap}.overflow-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.\!rounded-full{border-radius:9999px!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-r-0{border-right-width:0}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-current{border-color:currentColor}.border-gray-300{border-color:var(--color-gray-300)}.border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity,1))}.border-purple-500{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.border-slate-900{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity,1))}.bg-accent-error{background-color:var(--color-error)}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-brand-300{background-color:var(--color-brand-300)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-pink-400{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity,1))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity,1))}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-transparent{background-color:initial}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.\!p-0{padding:0!important}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-10{padding-bottom:2.5rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-2{padding-left:.5rem}.pr-1{padding-right:.25rem}.pr-6{padding-right:1.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.\!text-lg{font-size:1.125rem!important;line-height:1.75rem!important}.\!text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.\!leading-none{line-height:1!important}.leading-0{line-height:0}.leading-4{line-height:1rem}.leading-7{line-height:1.75rem}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.\!text-gray-500{color:var(--color-gray-500)!important}.text-accent-error{color:var(--color-error)}.text-black{color:var(--color-black)}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-brand-dark{color:var(--color-brand-dark)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-inherit{color:inherit}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-50{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-blue-500{accent-color:#3b82f6}.accent-purple-500{accent-color:#a855f7}.accent-sky-500{accent-color:#0ea5e9}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.ring-slate-200{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.ring-slate-300{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity,1))}.ring-slate-500{--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity,1))}.ring-slate-900{--tw-ring-opacity:1;--tw-ring-color:rgb(15 23 42/var(--tw-ring-opacity,1))}.ring-opacity-10{--tw-ring-opacity:0.1}.ring-opacity-5{--tw-ring-opacity:0.05}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f)}.grayscale{--tw-grayscale:grayscale(100%)}.grayscale,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%)}.sepia{--tw-sepia:sepia(100%)}.filter,.sepia{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[-hh\:ss\]{-hh:ss}.\[k\:string\]{k:string}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-brand-dark:hover{color:var(--color-brand-dark)}.hover\:text-inherit:hover{color:inherit}@media (min-width:640px){.sm\:hidden{display:none}}@media (min-width:768px){.md\:mr-3{margin-right:.75rem}.md\:block{display:block}.md\:flex{display:flex}}@media (prefers-color-scheme:dark){.dark\:bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.dark\:text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
const maxValueMonth = [31, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
2
|
-
const formatOrder = ['yyyy', 'yy', 'mm', 'dd', 'HH', 'MM', 'SS'];
|
|
3
|
-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
4
|
-
export function createAutoCorrectedDatePipe(dateFormat = 'dd mm yyyy', { minYear = 1, maxYear = 9999 } = {}) {
|
|
5
|
-
const dateFormatArray = dateFormat
|
|
6
|
-
.split(/[^dmyHMS]+/)
|
|
7
|
-
.sort((a, b) => formatOrder.indexOf(a) - formatOrder.indexOf(b));
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
9
|
-
return function (conformedValue) {
|
|
10
|
-
const indexesOfPipedChars = [];
|
|
11
|
-
const maxValue = {
|
|
12
|
-
dd: 31,
|
|
13
|
-
mm: 12,
|
|
14
|
-
yy: 99,
|
|
15
|
-
yyyy: maxYear,
|
|
16
|
-
HH: 23,
|
|
17
|
-
MM: 59,
|
|
18
|
-
SS: 59,
|
|
19
|
-
};
|
|
20
|
-
const minValue = {
|
|
21
|
-
dd: 1,
|
|
22
|
-
mm: 1,
|
|
23
|
-
yy: 0,
|
|
24
|
-
yyyy: minYear,
|
|
25
|
-
HH: 0,
|
|
26
|
-
MM: 0,
|
|
27
|
-
SS: 0,
|
|
28
|
-
};
|
|
29
|
-
const conformedValueArr = conformedValue.split('');
|
|
30
|
-
// Check first digit
|
|
31
|
-
dateFormatArray.forEach((format) => {
|
|
32
|
-
const position = dateFormat.indexOf(format);
|
|
33
|
-
const maxFirstDigit = parseInt(maxValue[format].toString().substr(0, 1), 10);
|
|
34
|
-
if (parseInt(conformedValueArr[position], 10) > maxFirstDigit) {
|
|
35
|
-
conformedValueArr[position + 1] = conformedValueArr[position];
|
|
36
|
-
conformedValueArr[position] = 0;
|
|
37
|
-
indexesOfPipedChars.push(position);
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
// Check for invalid date
|
|
41
|
-
let month = 0;
|
|
42
|
-
const isInvalid = dateFormatArray.some((format) => {
|
|
43
|
-
const position = dateFormat.indexOf(format);
|
|
44
|
-
const length = format.length;
|
|
45
|
-
const textValue = conformedValue
|
|
46
|
-
.substr(position, length)
|
|
47
|
-
.replace(/\D/g, '');
|
|
48
|
-
const value = parseInt(textValue, 10);
|
|
49
|
-
if (format === 'mm') {
|
|
50
|
-
// tslint:disable-next-line: strict-boolean-expressions
|
|
51
|
-
month = value || 0;
|
|
52
|
-
}
|
|
53
|
-
const maxValueForFormat = format === 'dd' ? maxValueMonth[month] : maxValue[format];
|
|
54
|
-
if (format === 'yyyy' && (minYear !== 1 || maxYear !== 9999)) {
|
|
55
|
-
const scopedMaxValue = parseInt(maxValue[format].toString().substring(0, textValue.length), 10);
|
|
56
|
-
const scopedMinValue = parseInt(minValue[format].toString().substring(0, textValue.length), 10);
|
|
57
|
-
return value < scopedMinValue || value > scopedMaxValue;
|
|
58
|
-
}
|
|
59
|
-
if (format === 'HH' || format === 'MM') {
|
|
60
|
-
const scopedMaxValue = parseInt(maxValue[format].toString().substring(0, textValue.length), 10);
|
|
61
|
-
const scopedMinValue = parseInt(minValue[format].toString().substring(0, textValue.length), 10);
|
|
62
|
-
return value < scopedMinValue || value > scopedMaxValue;
|
|
63
|
-
}
|
|
64
|
-
return (value > maxValueForFormat ||
|
|
65
|
-
(textValue.length === length && value < minValue[format]));
|
|
66
|
-
});
|
|
67
|
-
if (isInvalid) {
|
|
68
|
-
return false;
|
|
69
|
-
}
|
|
70
|
-
return {
|
|
71
|
-
value: conformedValueArr.join(''),
|
|
72
|
-
indexesOfPipedChars,
|
|
73
|
-
};
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1tYXNrLmNvbnN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2NvbnN0cy9kYXRlLW1hc2suY29uc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sYUFBYSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDM0UsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUVqRSw0RUFBNEU7QUFDNUUsTUFBTSxVQUFVLDJCQUEyQixDQUN6QyxVQUFVLEdBQUcsWUFBWSxFQUN6QixFQUFFLE9BQU8sR0FBRyxDQUFDLEVBQUUsT0FBTyxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUU7SUFFcEMsTUFBTSxlQUFlLEdBQUcsVUFBVTtTQUMvQixLQUFLLENBQUMsWUFBWSxDQUFDO1NBQ25CLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRW5FLDRFQUE0RTtJQUM1RSxPQUFPLFVBQVUsY0FBYztRQUM3QixNQUFNLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztRQUMvQixNQUFNLFFBQVEsR0FBRztZQUNmLEVBQUUsRUFBRSxFQUFFO1lBQ04sRUFBRSxFQUFFLEVBQUU7WUFDTixFQUFFLEVBQUUsRUFBRTtZQUNOLElBQUksRUFBRSxPQUFPO1lBQ2IsRUFBRSxFQUFFLEVBQUU7WUFDTixFQUFFLEVBQUUsRUFBRTtZQUNOLEVBQUUsRUFBRSxFQUFFO1NBQ1AsQ0FBQztRQUNGLE1BQU0sUUFBUSxHQUFHO1lBQ2YsRUFBRSxFQUFFLENBQUM7WUFDTCxFQUFFLEVBQUUsQ0FBQztZQUNMLEVBQUUsRUFBRSxDQUFDO1lBQ0wsSUFBSSxFQUFFLE9BQU87WUFDYixFQUFFLEVBQUUsQ0FBQztZQUNMLEVBQUUsRUFBRSxDQUFDO1lBQ0wsRUFBRSxFQUFFLENBQUM7U0FDTixDQUFDO1FBQ0YsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRW5ELG9CQUFvQjtRQUNwQixlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDakMsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQzVCLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUN4QyxFQUFFLENBQ0gsQ0FBQztZQUVGLElBQUksUUFBUSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLGFBQWEsRUFBRTtnQkFDN0QsaUJBQWlCLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM5RCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2hDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNwQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgseUJBQXlCO1FBQ3pCLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNoRCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDN0IsTUFBTSxTQUFTLEdBQUcsY0FBYztpQkFDN0IsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7aUJBQ3hCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdEIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUV0QyxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7Z0JBQ25CLHVEQUF1RDtnQkFDdkQsS0FBSyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7YUFDcEI7WUFFRCxNQUFNLGlCQUFpQixHQUNyQixNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUU1RCxJQUFJLE1BQU0sS0FBSyxNQUFNLElBQUksQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLE9BQU8sS0FBSyxJQUFJLENBQUMsRUFBRTtnQkFDNUQsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUM3QixRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQzFELEVBQUUsQ0FDSCxDQUFDO2dCQUNGLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FDN0IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUMxRCxFQUFFLENBQ0gsQ0FBQztnQkFFRixPQUFPLEtBQUssR0FBRyxjQUFjLElBQUksS0FBSyxHQUFHLGNBQWMsQ0FBQzthQUN6RDtZQUVELElBQUksTUFBTSxLQUFLLElBQUksSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFO2dCQUN0QyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQzdCLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFDMUQsRUFBRSxDQUNILENBQUM7Z0JBQ0YsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUM3QixRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQzFELEVBQUUsQ0FDSCxDQUFDO2dCQUVGLE9BQU8sS0FBSyxHQUFHLGNBQWMsSUFBSSxLQUFLLEdBQUcsY0FBYyxDQUFDO2FBQ3pEO1lBRUQsT0FBTyxDQUNMLEtBQUssR0FBRyxpQkFBaUI7Z0JBQ3pCLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUMxRCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLFNBQVMsRUFBRTtZQUNiLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxPQUFPO1lBQ0wsS0FBSyxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDakMsbUJBQW1CO1NBQ3BCLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgbWF4VmFsdWVNb250aCA9IFszMSwgMzEsIDI5LCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMxLCAzMCwgMzEsIDMwLCAzMV07XHJcbmNvbnN0IGZvcm1hdE9yZGVyID0gWyd5eXl5JywgJ3l5JywgJ21tJywgJ2RkJywgJ0hIJywgJ01NJywgJ1NTJ107XHJcblxyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LWZ1bmN0aW9uLXJldHVybi10eXBlXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBdXRvQ29ycmVjdGVkRGF0ZVBpcGUoXHJcbiAgZGF0ZUZvcm1hdCA9ICdkZCBtbSB5eXl5JyxcclxuICB7IG1pblllYXIgPSAxLCBtYXhZZWFyID0gOTk5OSB9ID0ge30sXHJcbikge1xyXG4gIGNvbnN0IGRhdGVGb3JtYXRBcnJheSA9IGRhdGVGb3JtYXRcclxuICAgIC5zcGxpdCgvW15kbXlITVNdKy8pXHJcbiAgICAuc29ydCgoYSwgYikgPT4gZm9ybWF0T3JkZXIuaW5kZXhPZihhKSAtIGZvcm1hdE9yZGVyLmluZGV4T2YoYikpO1xyXG5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LWZ1bmN0aW9uLXJldHVybi10eXBlXHJcbiAgcmV0dXJuIGZ1bmN0aW9uIChjb25mb3JtZWRWYWx1ZSkge1xyXG4gICAgY29uc3QgaW5kZXhlc09mUGlwZWRDaGFycyA9IFtdO1xyXG4gICAgY29uc3QgbWF4VmFsdWUgPSB7XHJcbiAgICAgIGRkOiAzMSxcclxuICAgICAgbW06IDEyLFxyXG4gICAgICB5eTogOTksXHJcbiAgICAgIHl5eXk6IG1heFllYXIsXHJcbiAgICAgIEhIOiAyMyxcclxuICAgICAgTU06IDU5LFxyXG4gICAgICBTUzogNTksXHJcbiAgICB9O1xyXG4gICAgY29uc3QgbWluVmFsdWUgPSB7XHJcbiAgICAgIGRkOiAxLFxyXG4gICAgICBtbTogMSxcclxuICAgICAgeXk6IDAsXHJcbiAgICAgIHl5eXk6IG1pblllYXIsXHJcbiAgICAgIEhIOiAwLFxyXG4gICAgICBNTTogMCxcclxuICAgICAgU1M6IDAsXHJcbiAgICB9O1xyXG4gICAgY29uc3QgY29uZm9ybWVkVmFsdWVBcnIgPSBjb25mb3JtZWRWYWx1ZS5zcGxpdCgnJyk7XHJcblxyXG4gICAgLy8gQ2hlY2sgZmlyc3QgZGlnaXRcclxuICAgIGRhdGVGb3JtYXRBcnJheS5mb3JFYWNoKChmb3JtYXQpID0+IHtcclxuICAgICAgY29uc3QgcG9zaXRpb24gPSBkYXRlRm9ybWF0LmluZGV4T2YoZm9ybWF0KTtcclxuICAgICAgY29uc3QgbWF4Rmlyc3REaWdpdCA9IHBhcnNlSW50KFxyXG4gICAgICAgIG1heFZhbHVlW2Zvcm1hdF0udG9TdHJpbmcoKS5zdWJzdHIoMCwgMSksXHJcbiAgICAgICAgMTAsXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBpZiAocGFyc2VJbnQoY29uZm9ybWVkVmFsdWVBcnJbcG9zaXRpb25dLCAxMCkgPiBtYXhGaXJzdERpZ2l0KSB7XHJcbiAgICAgICAgY29uZm9ybWVkVmFsdWVBcnJbcG9zaXRpb24gKyAxXSA9IGNvbmZvcm1lZFZhbHVlQXJyW3Bvc2l0aW9uXTtcclxuICAgICAgICBjb25mb3JtZWRWYWx1ZUFycltwb3NpdGlvbl0gPSAwO1xyXG4gICAgICAgIGluZGV4ZXNPZlBpcGVkQ2hhcnMucHVzaChwb3NpdGlvbik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIGRhdGVcclxuICAgIGxldCBtb250aCA9IDA7XHJcbiAgICBjb25zdCBpc0ludmFsaWQgPSBkYXRlRm9ybWF0QXJyYXkuc29tZSgoZm9ybWF0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHBvc2l0aW9uID0gZGF0ZUZvcm1hdC5pbmRleE9mKGZvcm1hdCk7XHJcbiAgICAgIGNvbnN0IGxlbmd0aCA9IGZvcm1hdC5sZW5ndGg7XHJcbiAgICAgIGNvbnN0IHRleHRWYWx1ZSA9IGNvbmZvcm1lZFZhbHVlXHJcbiAgICAgICAgLnN1YnN0cihwb3NpdGlvbiwgbGVuZ3RoKVxyXG4gICAgICAgIC5yZXBsYWNlKC9cXEQvZywgJycpO1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IHBhcnNlSW50KHRleHRWYWx1ZSwgMTApO1xyXG5cclxuICAgICAgaWYgKGZvcm1hdCA9PT0gJ21tJykge1xyXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogc3RyaWN0LWJvb2xlYW4tZXhwcmVzc2lvbnNcclxuICAgICAgICBtb250aCA9IHZhbHVlIHx8IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IG1heFZhbHVlRm9yRm9ybWF0ID1cclxuICAgICAgICBmb3JtYXQgPT09ICdkZCcgPyBtYXhWYWx1ZU1vbnRoW21vbnRoXSA6IG1heFZhbHVlW2Zvcm1hdF07XHJcblxyXG4gICAgICBpZiAoZm9ybWF0ID09PSAneXl5eScgJiYgKG1pblllYXIgIT09IDEgfHwgbWF4WWVhciAhPT0gOTk5OSkpIHtcclxuICAgICAgICBjb25zdCBzY29wZWRNYXhWYWx1ZSA9IHBhcnNlSW50KFxyXG4gICAgICAgICAgbWF4VmFsdWVbZm9ybWF0XS50b1N0cmluZygpLnN1YnN0cmluZygwLCB0ZXh0VmFsdWUubGVuZ3RoKSxcclxuICAgICAgICAgIDEwLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3Qgc2NvcGVkTWluVmFsdWUgPSBwYXJzZUludChcclxuICAgICAgICAgIG1pblZhbHVlW2Zvcm1hdF0udG9TdHJpbmcoKS5zdWJzdHJpbmcoMCwgdGV4dFZhbHVlLmxlbmd0aCksXHJcbiAgICAgICAgICAxMCxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICByZXR1cm4gdmFsdWUgPCBzY29wZWRNaW5WYWx1ZSB8fCB2YWx1ZSA+IHNjb3BlZE1heFZhbHVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZm9ybWF0ID09PSAnSEgnIHx8IGZvcm1hdCA9PT0gJ01NJykge1xyXG4gICAgICAgIGNvbnN0IHNjb3BlZE1heFZhbHVlID0gcGFyc2VJbnQoXHJcbiAgICAgICAgICBtYXhWYWx1ZVtmb3JtYXRdLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDAsIHRleHRWYWx1ZS5sZW5ndGgpLFxyXG4gICAgICAgICAgMTAsXHJcbiAgICAgICAgKTtcclxuICAgICAgICBjb25zdCBzY29wZWRNaW5WYWx1ZSA9IHBhcnNlSW50KFxyXG4gICAgICAgICAgbWluVmFsdWVbZm9ybWF0XS50b1N0cmluZygpLnN1YnN0cmluZygwLCB0ZXh0VmFsdWUubGVuZ3RoKSxcclxuICAgICAgICAgIDEwLFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHJldHVybiB2YWx1ZSA8IHNjb3BlZE1pblZhbHVlIHx8IHZhbHVlID4gc2NvcGVkTWF4VmFsdWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgdmFsdWUgPiBtYXhWYWx1ZUZvckZvcm1hdCB8fFxyXG4gICAgICAgICh0ZXh0VmFsdWUubGVuZ3RoID09PSBsZW5ndGggJiYgdmFsdWUgPCBtaW5WYWx1ZVtmb3JtYXRdKVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKGlzSW52YWxpZCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdmFsdWU6IGNvbmZvcm1lZFZhbHVlQXJyLmpvaW4oJycpLFxyXG4gICAgICBpbmRleGVzT2ZQaXBlZENoYXJzLFxyXG4gICAgfTtcclxuICB9O1xyXG59XHJcbiJdfQ==
|