@rolster/react-components 1.4.0
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/LICENSE +21 -0
- package/dist/cjs/assets/lib.cjs-7185a838.css +2080 -0
- package/dist/cjs/lib.cjs.js +3326 -0
- package/dist/cjs/lib.cjs.js.map +1 -0
- package/dist/es/assets/lib-7185a838.css +2080 -0
- package/dist/es/lib.js +3260 -0
- package/dist/es/lib.js.map +1 -0
- package/dist/esm/components/atoms/Amount/Amount.css +6 -0
- package/dist/esm/components/atoms/Amount/Amount.d.ts +8 -0
- package/dist/esm/components/atoms/Amount/Amount.js +8 -0
- package/dist/esm/components/atoms/Amount/Amount.js.map +1 -0
- package/dist/esm/components/atoms/Avatar/Avatar.css +28 -0
- package/dist/esm/components/atoms/Avatar/Avatar.d.ts +8 -0
- package/dist/esm/components/atoms/Avatar/Avatar.js +7 -0
- package/dist/esm/components/atoms/Avatar/Avatar.js.map +1 -0
- package/dist/esm/components/atoms/Breadcrumb/Breadcrumb.css +57 -0
- package/dist/esm/components/atoms/Breadcrumb/Breadcrumb.d.ts +10 -0
- package/dist/esm/components/atoms/Breadcrumb/Breadcrumb.js +6 -0
- package/dist/esm/components/atoms/Breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/esm/components/atoms/Button/Button.css +133 -0
- package/dist/esm/components/atoms/Button/Button.d.ts +13 -0
- package/dist/esm/components/atoms/Button/Button.js +8 -0
- package/dist/esm/components/atoms/Button/Button.js.map +1 -0
- package/dist/esm/components/atoms/ButtonAction/ButtonAction.css +93 -0
- package/dist/esm/components/atoms/ButtonAction/ButtonAction.d.ts +11 -0
- package/dist/esm/components/atoms/ButtonAction/ButtonAction.js +7 -0
- package/dist/esm/components/atoms/ButtonAction/ButtonAction.js.map +1 -0
- package/dist/esm/components/atoms/CheckBox/CheckBox.css +33 -0
- package/dist/esm/components/atoms/CheckBox/CheckBox.d.ts +8 -0
- package/dist/esm/components/atoms/CheckBox/CheckBox.js +7 -0
- package/dist/esm/components/atoms/CheckBox/CheckBox.js.map +1 -0
- package/dist/esm/components/atoms/Icon/Icon.css +23 -0
- package/dist/esm/components/atoms/Icon/Icon.d.ts +7 -0
- package/dist/esm/components/atoms/Icon/Icon.js +7 -0
- package/dist/esm/components/atoms/Icon/Icon.js.map +1 -0
- package/dist/esm/components/atoms/Input/Input.css +63 -0
- package/dist/esm/components/atoms/Input/Input.d.ts +13 -0
- package/dist/esm/components/atoms/Input/Input.js +34 -0
- package/dist/esm/components/atoms/Input/Input.js.map +1 -0
- package/dist/esm/components/atoms/InputMoney/InputMoney.css +7 -0
- package/dist/esm/components/atoms/InputMoney/InputMoney.d.ts +12 -0
- package/dist/esm/components/atoms/InputMoney/InputMoney.js +15 -0
- package/dist/esm/components/atoms/InputMoney/InputMoney.js.map +1 -0
- package/dist/esm/components/atoms/InputNumber/InputNumber.css +7 -0
- package/dist/esm/components/atoms/InputNumber/InputNumber.d.ts +10 -0
- package/dist/esm/components/atoms/InputNumber/InputNumber.js +14 -0
- package/dist/esm/components/atoms/InputNumber/InputNumber.js.map +1 -0
- package/dist/esm/components/atoms/InputPassword/InputPassword.css +38 -0
- package/dist/esm/components/atoms/InputPassword/InputPassword.d.ts +12 -0
- package/dist/esm/components/atoms/InputPassword/InputPassword.js +24 -0
- package/dist/esm/components/atoms/InputPassword/InputPassword.js.map +1 -0
- package/dist/esm/components/atoms/InputText/InputText.css +7 -0
- package/dist/esm/components/atoms/InputText/InputText.d.ts +10 -0
- package/dist/esm/components/atoms/InputText/InputText.js +14 -0
- package/dist/esm/components/atoms/InputText/InputText.js.map +1 -0
- package/dist/esm/components/atoms/Poster/Poster.css +12 -0
- package/dist/esm/components/atoms/Poster/Poster.d.ts +3 -0
- package/dist/esm/components/atoms/Poster/Poster.js +6 -0
- package/dist/esm/components/atoms/Poster/Poster.js.map +1 -0
- package/dist/esm/components/atoms/ProgressBar/ProgressBar.css +66 -0
- package/dist/esm/components/atoms/ProgressBar/ProgressBar.d.ts +8 -0
- package/dist/esm/components/atoms/ProgressBar/ProgressBar.js +7 -0
- package/dist/esm/components/atoms/ProgressBar/ProgressBar.js.map +1 -0
- package/dist/esm/components/atoms/RadioButton/RadioButton.css +33 -0
- package/dist/esm/components/atoms/RadioButton/RadioButton.d.ts +8 -0
- package/dist/esm/components/atoms/RadioButton/RadioButton.js +7 -0
- package/dist/esm/components/atoms/RadioButton/RadioButton.js.map +1 -0
- package/dist/esm/components/atoms/SearchInput/SearchInput.css +10 -0
- package/dist/esm/components/atoms/SearchInput/SearchInput.d.ts +9 -0
- package/dist/esm/components/atoms/SearchInput/SearchInput.js +8 -0
- package/dist/esm/components/atoms/SearchInput/SearchInput.js.map +1 -0
- package/dist/esm/components/atoms/Skeleton/Skeleton.css +36 -0
- package/dist/esm/components/atoms/Skeleton/Skeleton.d.ts +3 -0
- package/dist/esm/components/atoms/Skeleton/Skeleton.js +6 -0
- package/dist/esm/components/atoms/Skeleton/Skeleton.js.map +1 -0
- package/dist/esm/components/atoms/SkeletonText/SkeletonText.css +59 -0
- package/dist/esm/components/atoms/SkeletonText/SkeletonText.d.ts +7 -0
- package/dist/esm/components/atoms/SkeletonText/SkeletonText.js +7 -0
- package/dist/esm/components/atoms/SkeletonText/SkeletonText.js.map +1 -0
- package/dist/esm/components/atoms/Switch/Switch.css +35 -0
- package/dist/esm/components/atoms/Switch/Switch.d.ts +9 -0
- package/dist/esm/components/atoms/Switch/Switch.js +7 -0
- package/dist/esm/components/atoms/Switch/Switch.js.map +1 -0
- package/dist/esm/components/atoms/TabularText/TabularText.css +15 -0
- package/dist/esm/components/atoms/TabularText/TabularText.d.ts +6 -0
- package/dist/esm/components/atoms/TabularText/TabularText.js +11 -0
- package/dist/esm/components/atoms/TabularText/TabularText.js.map +1 -0
- package/dist/esm/components/atoms/index.d.ts +20 -0
- package/dist/esm/components/atoms/index.js +21 -0
- package/dist/esm/components/atoms/index.js.map +1 -0
- package/dist/esm/components/definitions.d.ts +6 -0
- package/dist/esm/components/definitions.js +2 -0
- package/dist/esm/components/definitions.js.map +1 -0
- package/dist/esm/components/index.d.ts +4 -0
- package/dist/esm/components/index.js +5 -0
- package/dist/esm/components/index.js.map +1 -0
- package/dist/esm/components/molecules/Ballot/Ballot.css +58 -0
- package/dist/esm/components/molecules/Ballot/Ballot.d.ts +11 -0
- package/dist/esm/components/molecules/Ballot/Ballot.js +8 -0
- package/dist/esm/components/molecules/Ballot/Ballot.js.map +1 -0
- package/dist/esm/components/molecules/ButtonToggle/ButtonToggle.css +78 -0
- package/dist/esm/components/molecules/ButtonToggle/ButtonToggle.d.ts +16 -0
- package/dist/esm/components/molecules/ButtonToggle/ButtonToggle.js +40 -0
- package/dist/esm/components/molecules/ButtonToggle/ButtonToggle.js.map +1 -0
- package/dist/esm/components/molecules/CheckBoxLabel/CheckBoxLabel.css +40 -0
- package/dist/esm/components/molecules/CheckBoxLabel/CheckBoxLabel.d.ts +10 -0
- package/dist/esm/components/molecules/CheckBoxLabel/CheckBoxLabel.js +24 -0
- package/dist/esm/components/molecules/CheckBoxLabel/CheckBoxLabel.js.map +1 -0
- package/dist/esm/components/molecules/DayPicker/DayPicker.css +66 -0
- package/dist/esm/components/molecules/DayPicker/DayPicker.d.ts +12 -0
- package/dist/esm/components/molecules/DayPicker/DayPicker.js +39 -0
- package/dist/esm/components/molecules/DayPicker/DayPicker.js.map +1 -0
- package/dist/esm/components/molecules/DayRangePicker/DayRangePicker.css +68 -0
- package/dist/esm/components/molecules/DayRangePicker/DayRangePicker.d.ts +13 -0
- package/dist/esm/components/molecules/DayRangePicker/DayRangePicker.js +37 -0
- package/dist/esm/components/molecules/DayRangePicker/DayRangePicker.js.map +1 -0
- package/dist/esm/components/molecules/MoneyField/MoneyField.css +7 -0
- package/dist/esm/components/molecules/MoneyField/MoneyField.d.ts +12 -0
- package/dist/esm/components/molecules/MoneyField/MoneyField.js +13 -0
- package/dist/esm/components/molecules/MoneyField/MoneyField.js.map +1 -0
- package/dist/esm/components/molecules/MonthPicker/MonthPicker.css +40 -0
- package/dist/esm/components/molecules/MonthPicker/MonthPicker.d.ts +12 -0
- package/dist/esm/components/molecules/MonthPicker/MonthPicker.js +27 -0
- package/dist/esm/components/molecules/MonthPicker/MonthPicker.js.map +1 -0
- package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.css +16 -0
- package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.d.ts +12 -0
- package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.js +43 -0
- package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.js.map +1 -0
- package/dist/esm/components/molecules/NumberField/NumberField.css +7 -0
- package/dist/esm/components/molecules/NumberField/NumberField.d.ts +10 -0
- package/dist/esm/components/molecules/NumberField/NumberField.js +13 -0
- package/dist/esm/components/molecules/NumberField/NumberField.js.map +1 -0
- package/dist/esm/components/molecules/Pagination/Pagination.css +66 -0
- package/dist/esm/components/molecules/Pagination/Pagination.d.ts +27 -0
- package/dist/esm/components/molecules/Pagination/Pagination.js +219 -0
- package/dist/esm/components/molecules/Pagination/Pagination.js.map +1 -0
- package/dist/esm/components/molecules/PasswordField/PasswordField.css +12 -0
- package/dist/esm/components/molecules/PasswordField/PasswordField.d.ts +10 -0
- package/dist/esm/components/molecules/PasswordField/PasswordField.js +18 -0
- package/dist/esm/components/molecules/PasswordField/PasswordField.js.map +1 -0
- package/dist/esm/components/molecules/RadioButtonLabel/RadioButtonLabel.css +40 -0
- package/dist/esm/components/molecules/RadioButtonLabel/RadioButtonLabel.d.ts +11 -0
- package/dist/esm/components/molecules/RadioButtonLabel/RadioButtonLabel.js +21 -0
- package/dist/esm/components/molecules/RadioButtonLabel/RadioButtonLabel.js.map +1 -0
- package/dist/esm/components/molecules/SwitchLabel/SwitchLabel.css +40 -0
- package/dist/esm/components/molecules/SwitchLabel/SwitchLabel.d.ts +10 -0
- package/dist/esm/components/molecules/SwitchLabel/SwitchLabel.js +21 -0
- package/dist/esm/components/molecules/SwitchLabel/SwitchLabel.js.map +1 -0
- package/dist/esm/components/molecules/TextField/TextField.css +7 -0
- package/dist/esm/components/molecules/TextField/TextField.d.ts +10 -0
- package/dist/esm/components/molecules/TextField/TextField.js +13 -0
- package/dist/esm/components/molecules/TextField/TextField.js.map +1 -0
- package/dist/esm/components/molecules/Toolbar/Toolbar.css +50 -0
- package/dist/esm/components/molecules/Toolbar/Toolbar.d.ts +9 -0
- package/dist/esm/components/molecules/Toolbar/Toolbar.js +6 -0
- package/dist/esm/components/molecules/Toolbar/Toolbar.js.map +1 -0
- package/dist/esm/components/molecules/YearPicker/YearPicker.css +77 -0
- package/dist/esm/components/molecules/YearPicker/YearPicker.d.ts +12 -0
- package/dist/esm/components/molecules/YearPicker/YearPicker.js +46 -0
- package/dist/esm/components/molecules/YearPicker/YearPicker.js.map +1 -0
- package/dist/esm/components/molecules/index.d.ts +16 -0
- package/dist/esm/components/molecules/index.js +17 -0
- package/dist/esm/components/molecules/index.js.map +1 -0
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.css +71 -0
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.d.ts +14 -0
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.js +161 -0
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.js.map +1 -0
- package/dist/esm/components/organisms/Card/Card.css +11 -0
- package/dist/esm/components/organisms/Card/Card.d.ts +3 -0
- package/dist/esm/components/organisms/Card/Card.js +6 -0
- package/dist/esm/components/organisms/Card/Card.js.map +1 -0
- package/dist/esm/components/organisms/Confirmation/Confirmation.css +125 -0
- package/dist/esm/components/organisms/Confirmation/Confirmation.d.ts +38 -0
- package/dist/esm/components/organisms/Confirmation/Confirmation.js +64 -0
- package/dist/esm/components/organisms/Confirmation/Confirmation.js.map +1 -0
- package/dist/esm/components/organisms/Datatable/Datatable.d.ts +18 -0
- package/dist/esm/components/organisms/Datatable/Datatable.js +18 -0
- package/dist/esm/components/organisms/Datatable/Datatable.js.map +1 -0
- package/dist/esm/components/organisms/DateField/DateField.css +37 -0
- package/dist/esm/components/organisms/DateField/DateField.d.ts +13 -0
- package/dist/esm/components/organisms/DateField/DateField.js +35 -0
- package/dist/esm/components/organisms/DateField/DateField.js.map +1 -0
- package/dist/esm/components/organisms/DatePicker/DatePicker.css +75 -0
- package/dist/esm/components/organisms/DatePicker/DatePicker.d.ts +15 -0
- package/dist/esm/components/organisms/DatePicker/DatePicker.js +99 -0
- package/dist/esm/components/organisms/DatePicker/DatePicker.js.map +1 -0
- package/dist/esm/components/organisms/DateRangeField/DateRangeField.css +37 -0
- package/dist/esm/components/organisms/DateRangeField/DateRangeField.d.ts +14 -0
- package/dist/esm/components/organisms/DateRangeField/DateRangeField.js +37 -0
- package/dist/esm/components/organisms/DateRangeField/DateRangeField.js.map +1 -0
- package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.css +81 -0
- package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.d.ts +16 -0
- package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.js +89 -0
- package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.js.map +1 -0
- package/dist/esm/components/organisms/FormNavigation/FormNavigation.css +29 -0
- package/dist/esm/components/organisms/FormNavigation/FormNavigation.d.ts +7 -0
- package/dist/esm/components/organisms/FormNavigation/FormNavigation.js +7 -0
- package/dist/esm/components/organisms/FormNavigation/FormNavigation.js.map +1 -0
- package/dist/esm/components/organisms/Modal/Modal.css +59 -0
- package/dist/esm/components/organisms/Modal/Modal.d.ts +7 -0
- package/dist/esm/components/organisms/Modal/Modal.js +8 -0
- package/dist/esm/components/organisms/Modal/Modal.js.map +1 -0
- package/dist/esm/components/organisms/SelectField/SelectField.css +10 -0
- package/dist/esm/components/organisms/SelectField/SelectField.d.ts +13 -0
- package/dist/esm/components/organisms/SelectField/SelectField.js +90 -0
- package/dist/esm/components/organisms/SelectField/SelectField.js.map +1 -0
- package/dist/esm/components/organisms/Snackbar/Snackbar.css +66 -0
- package/dist/esm/components/organisms/Snackbar/Snackbar.d.ts +22 -0
- package/dist/esm/components/organisms/Snackbar/Snackbar.js +54 -0
- package/dist/esm/components/organisms/Snackbar/Snackbar.js.map +1 -0
- package/dist/esm/components/organisms/index.d.ts +12 -0
- package/dist/esm/components/organisms/index.js +13 -0
- package/dist/esm/components/organisms/index.js.map +1 -0
- package/dist/esm/context.d.ts +9 -0
- package/dist/esm/context.js +15 -0
- package/dist/esm/context.js.map +1 -0
- package/dist/esm/hooks/form-control.hook.d.ts +15 -0
- package/dist/esm/hooks/form-control.hook.js +77 -0
- package/dist/esm/hooks/form-control.hook.js.map +1 -0
- package/dist/esm/hooks/form-group.hook.d.ts +2 -0
- package/dist/esm/hooks/form-group.hook.js +22 -0
- package/dist/esm/hooks/form-group.hook.js.map +1 -0
- package/dist/esm/hooks/index.d.ts +3 -0
- package/dist/esm/hooks/index.js +4 -0
- package/dist/esm/hooks/index.js.map +1 -0
- package/dist/esm/hooks/list-control.hook.d.ts +19 -0
- package/dist/esm/hooks/list-control.hook.js +139 -0
- package/dist/esm/hooks/list-control.hook.js.map +1 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/models.d.ts +54 -0
- package/dist/esm/models.js +42 -0
- package/dist/esm/models.js.map +1 -0
- package/dist/esm/types.d.ts +12 -0
- package/dist/esm/types.js +7 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/css.d.ts +3 -0
- package/dist/esm/utils/css.js +12 -0
- package/dist/esm/utils/css.js.map +1 -0
- package/dist/esm/utils/date-picker.d.ts +1 -0
- package/dist/esm/utils/date-picker.js +9 -0
- package/dist/esm/utils/date-picker.js.map +1 -0
- package/dist/esm/utils/date-range-picker.d.ts +9 -0
- package/dist/esm/utils/date-range-picker.js +97 -0
- package/dist/esm/utils/date-range-picker.js.map +1 -0
- package/dist/esm/utils/day-picker.d.ts +9 -0
- package/dist/esm/utils/day-picker.js +84 -0
- package/dist/esm/utils/day-picker.js.map +1 -0
- package/dist/esm/utils/month-picker.d.ts +14 -0
- package/dist/esm/utils/month-picker.js +72 -0
- package/dist/esm/utils/month-picker.js.map +1 -0
- package/dist/esm/utils/year-picker.d.ts +17 -0
- package/dist/esm/utils/year-picker.js +83 -0
- package/dist/esm/utils/year-picker.js.map +1 -0
- package/package.json +72 -0
- package/readme.md +23 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export interface ListFieldElement<T = unknown> {
|
|
2
|
+
description: string;
|
|
3
|
+
title: string;
|
|
4
|
+
value: T;
|
|
5
|
+
code?: string;
|
|
6
|
+
img?: string;
|
|
7
|
+
initials?: string;
|
|
8
|
+
subtitle?: string;
|
|
9
|
+
compareTo(value: T): boolean;
|
|
10
|
+
hasCoincidence(pattern: string): boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare class ListFieldSuggestions<T = unknown> {
|
|
13
|
+
readonly collection: ListFieldElement<T>[];
|
|
14
|
+
constructor(collection: ListFieldElement<T>[]);
|
|
15
|
+
hasElement(value: T): Undefined<ListFieldElement<T>>;
|
|
16
|
+
}
|
|
17
|
+
export interface DayState {
|
|
18
|
+
value?: number;
|
|
19
|
+
disabled: boolean;
|
|
20
|
+
forbidden: boolean;
|
|
21
|
+
selected: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface WeekState {
|
|
24
|
+
days: DayState[];
|
|
25
|
+
}
|
|
26
|
+
export interface DayRangeState {
|
|
27
|
+
value?: number;
|
|
28
|
+
disabled: boolean;
|
|
29
|
+
forbidden: boolean;
|
|
30
|
+
ranged: boolean;
|
|
31
|
+
selected: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface WeekRangeState {
|
|
34
|
+
days: DayRangeState[];
|
|
35
|
+
}
|
|
36
|
+
export interface MonthState {
|
|
37
|
+
value: number;
|
|
38
|
+
label: string;
|
|
39
|
+
disabled: boolean;
|
|
40
|
+
selected: boolean;
|
|
41
|
+
}
|
|
42
|
+
export interface YearState {
|
|
43
|
+
value?: number;
|
|
44
|
+
disabled: boolean;
|
|
45
|
+
selected: boolean;
|
|
46
|
+
}
|
|
47
|
+
export declare class DateRange {
|
|
48
|
+
readonly description: string;
|
|
49
|
+
readonly minDate: Date;
|
|
50
|
+
readonly maxDate: Date;
|
|
51
|
+
constructor(minDate: Date, maxDate?: Date);
|
|
52
|
+
recalculate(date: Date): DateRange;
|
|
53
|
+
static now(): DateRange;
|
|
54
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { formatDate, isAfter, isBefore, normalizeMinTime, timeDifference } from '@rolster/helpers-date';
|
|
2
|
+
const FORMAT_DESCRIPTION = 'dd/mm/aa';
|
|
3
|
+
export class ListFieldSuggestions {
|
|
4
|
+
constructor(collection) {
|
|
5
|
+
this.collection = collection;
|
|
6
|
+
}
|
|
7
|
+
hasElement(value) {
|
|
8
|
+
const [element] = this.collection.filter((element) => element.compareTo(value));
|
|
9
|
+
return element;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export class DateRange {
|
|
13
|
+
constructor(minDate, maxDate) {
|
|
14
|
+
this.minDate = normalizeMinTime(minDate);
|
|
15
|
+
if (maxDate && isBefore(maxDate, minDate)) {
|
|
16
|
+
this.maxDate = normalizeMinTime(maxDate);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
this.maxDate = normalizeMinTime(minDate);
|
|
20
|
+
}
|
|
21
|
+
const minFormat = formatDate(this.minDate, FORMAT_DESCRIPTION);
|
|
22
|
+
const maxFormat = formatDate(this.maxDate, FORMAT_DESCRIPTION);
|
|
23
|
+
this.description = `${minFormat} - ${maxFormat}`;
|
|
24
|
+
}
|
|
25
|
+
recalculate(date) {
|
|
26
|
+
if (isBefore(this.minDate, date)) {
|
|
27
|
+
return new DateRange(date, this.maxDate);
|
|
28
|
+
}
|
|
29
|
+
if (isAfter(this.maxDate, date)) {
|
|
30
|
+
return new DateRange(this.minDate, date);
|
|
31
|
+
}
|
|
32
|
+
const minDifference = timeDifference(date, this.minDate);
|
|
33
|
+
const maxDifference = timeDifference(this.maxDate, date);
|
|
34
|
+
return minDifference > maxDifference
|
|
35
|
+
? new DateRange(this.minDate, date)
|
|
36
|
+
: new DateRange(date, this.maxDate);
|
|
37
|
+
}
|
|
38
|
+
static now() {
|
|
39
|
+
return new DateRange(new Date());
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAgBtC,MAAM,OAAO,oBAAoB;IAC/B,YAA4B,UAAiC;QAAjC,eAAU,GAAV,UAAU,CAAuB;IAAG,CAAC;IAE1D,UAAU,CAAC,KAAQ;QACxB,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACnD,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CACzB,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAsCD,MAAM,OAAO,SAAS;IAOpB,YAAY,OAAa,EAAE,OAAc;QACvC,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;YACzC,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;SAC1C;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;SAC1C;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAE/D,IAAI,CAAC,WAAW,GAAG,GAAG,SAAS,MAAM,SAAS,EAAE,CAAC;IACnD,CAAC;IAEM,WAAW,CAAC,IAAU;QAC3B,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YAChC,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SAC1C;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YAC/B,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAC1C;QAED,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEzD,OAAO,aAAa,GAAG,aAAa;YAClC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;YACnC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAEM,MAAM,CAAC,GAAG;QACf,OAAO,IAAI,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DateRange } from './models';
|
|
2
|
+
export declare enum PickerListenerType {
|
|
3
|
+
Select = "PickerSelect",
|
|
4
|
+
Now = "PickerNow",
|
|
5
|
+
Cancel = "PickerCancel"
|
|
6
|
+
}
|
|
7
|
+
type PickerValue = DateRange | Date | number;
|
|
8
|
+
export interface PickerListener<D extends PickerValue> {
|
|
9
|
+
type: PickerListenerType;
|
|
10
|
+
value?: D;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var PickerListenerType;
|
|
2
|
+
(function (PickerListenerType) {
|
|
3
|
+
PickerListenerType["Select"] = "PickerSelect";
|
|
4
|
+
PickerListenerType["Now"] = "PickerNow";
|
|
5
|
+
PickerListenerType["Cancel"] = "PickerCancel";
|
|
6
|
+
})(PickerListenerType || (PickerListenerType = {}));
|
|
7
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,6CAAuB,CAAA;IACvB,uCAAiB,CAAA;IACjB,6CAAuB,CAAA;AACzB,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export function renderClassStatus(base, status = {}) {
|
|
2
|
+
const resultClass = [base];
|
|
3
|
+
Object.entries(status).forEach(([name, value]) => {
|
|
4
|
+
if (value) {
|
|
5
|
+
typeof value === 'string'
|
|
6
|
+
? resultClass.push(`${base}--${value}`)
|
|
7
|
+
: resultClass.push(`${base}--${name}`);
|
|
8
|
+
}
|
|
9
|
+
});
|
|
10
|
+
return resultClass.join(' ');
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.js","sourceRoot":"","sources":["../../../src/utils/css.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,SAAiB,EAAE;IACjE,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,CAAC;IAE3B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/C,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,KAAK,QAAQ;gBACvB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC;gBACvC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;SAC1C;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function verifyDateRange(date: Date, min?: Date, max?: Date): Date;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../../../src/utils/date-picker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,UAAU,eAAe,CAAC,IAAU,EAAE,GAAU,EAAE,GAAU;IAChE,OAAO,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;QAC/B,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC;YAC3B,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,IAAI,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { daysFromMonth, isBetween, refactorDay, weight } from '@rolster/helpers-date';
|
|
2
|
+
class Factory {
|
|
3
|
+
constructor(props) {
|
|
4
|
+
const { date, range, maxDate, minDate } = props;
|
|
5
|
+
this.date = new Date(date.getTime());
|
|
6
|
+
this.range = range;
|
|
7
|
+
this.maxDate = maxDate;
|
|
8
|
+
this.minDate = minDate;
|
|
9
|
+
this.date.setDate(1);
|
|
10
|
+
}
|
|
11
|
+
static execute(props) {
|
|
12
|
+
const factory = new Factory(props);
|
|
13
|
+
const firstWeek = factory.createFirstWeek();
|
|
14
|
+
const rightWeeks = factory.createRightWeeks();
|
|
15
|
+
return [firstWeek, ...rightWeeks];
|
|
16
|
+
}
|
|
17
|
+
createFirstWeek() {
|
|
18
|
+
const dayStart = this.date.getDay();
|
|
19
|
+
const days = [];
|
|
20
|
+
let day = 1;
|
|
21
|
+
for (let start = 0; start < dayStart; start++) {
|
|
22
|
+
days.push(this.createDayRangeState());
|
|
23
|
+
}
|
|
24
|
+
for (let end = dayStart; end < 7; end++) {
|
|
25
|
+
days.push(this.createDayRangeState(day));
|
|
26
|
+
day++;
|
|
27
|
+
}
|
|
28
|
+
return { days };
|
|
29
|
+
}
|
|
30
|
+
createRightWeeks() {
|
|
31
|
+
const rightWeeks = [];
|
|
32
|
+
const dayStart = this.date.getDay();
|
|
33
|
+
const dayCount = daysFromMonth(this.date.getFullYear(), this.date.getMonth());
|
|
34
|
+
let days = [];
|
|
35
|
+
let countDaysWeek = 1;
|
|
36
|
+
let day = 8 - dayStart;
|
|
37
|
+
do {
|
|
38
|
+
days.push(this.createDayRangeState(day));
|
|
39
|
+
day++;
|
|
40
|
+
countDaysWeek++;
|
|
41
|
+
if (countDaysWeek > 7) {
|
|
42
|
+
rightWeeks.push({ days });
|
|
43
|
+
days = [];
|
|
44
|
+
countDaysWeek = 1;
|
|
45
|
+
}
|
|
46
|
+
} while (day <= dayCount);
|
|
47
|
+
const daysPending = this.createDaysPending(days.length);
|
|
48
|
+
rightWeeks.push({ days: [...days, ...daysPending] });
|
|
49
|
+
return rightWeeks;
|
|
50
|
+
}
|
|
51
|
+
createDaysPending(daysWeek) {
|
|
52
|
+
const daysPending = [];
|
|
53
|
+
const length = 7 - daysWeek;
|
|
54
|
+
for (let index = 0; index < length; index++) {
|
|
55
|
+
daysPending.push(this.createDayRangeState());
|
|
56
|
+
}
|
|
57
|
+
return daysPending;
|
|
58
|
+
}
|
|
59
|
+
createDayRangeState(day) {
|
|
60
|
+
return {
|
|
61
|
+
value: day,
|
|
62
|
+
disabled: this.overflowDay(day || 0),
|
|
63
|
+
forbidden: !day,
|
|
64
|
+
ranged: day ? this.isRangedFromDate(day) : false,
|
|
65
|
+
selected: day ? this.isSelected(day) : false
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
isSelected(day) {
|
|
69
|
+
return (this.isSelectedForDate(this.range.minDate, day) ||
|
|
70
|
+
this.isSelectedForDate(this.range.maxDate, day));
|
|
71
|
+
}
|
|
72
|
+
isSelectedForDate(date, day) {
|
|
73
|
+
return (date.getFullYear() === this.date.getFullYear() &&
|
|
74
|
+
date.getMonth() === this.date.getMonth() &&
|
|
75
|
+
day === date.getDate());
|
|
76
|
+
}
|
|
77
|
+
isRangedFromDate(day) {
|
|
78
|
+
return isBetween(this.range.minDate, this.range.maxDate, refactorDay(this.date, day));
|
|
79
|
+
}
|
|
80
|
+
overflowDay(day) {
|
|
81
|
+
return this.minOverflowDay(day) || this.maxOverflowDay(day);
|
|
82
|
+
}
|
|
83
|
+
minOverflowDay(day) {
|
|
84
|
+
return this.minDate
|
|
85
|
+
? weight(refactorDay(this.date, day)) < weight(this.minDate)
|
|
86
|
+
: false;
|
|
87
|
+
}
|
|
88
|
+
maxOverflowDay(day) {
|
|
89
|
+
return this.maxDate
|
|
90
|
+
? weight(refactorDay(this.date, day)) > weight(this.maxDate)
|
|
91
|
+
: false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
export function createRangePicker(props) {
|
|
95
|
+
return Factory.execute(props);
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=date-range-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-range-picker.js","sourceRoot":"","sources":["../../../src/utils/date-range-picker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { daysFromMonth, refactorDay, weight } from '@rolster/helpers-date';
|
|
2
|
+
class Factory {
|
|
3
|
+
constructor(props) {
|
|
4
|
+
const { date, value, maxDate, minDate } = props;
|
|
5
|
+
this.value = value;
|
|
6
|
+
this.date = new Date(date.getTime());
|
|
7
|
+
this.maxDate = maxDate;
|
|
8
|
+
this.minDate = minDate;
|
|
9
|
+
this.date.setDate(1);
|
|
10
|
+
}
|
|
11
|
+
static execute(props) {
|
|
12
|
+
const factory = new Factory(props);
|
|
13
|
+
const firstWeek = factory.createFirstWeek();
|
|
14
|
+
const rightWeeks = factory.createRightWeeks();
|
|
15
|
+
return [firstWeek, ...rightWeeks];
|
|
16
|
+
}
|
|
17
|
+
createFirstWeek() {
|
|
18
|
+
const dayStart = this.date.getDay();
|
|
19
|
+
const days = [];
|
|
20
|
+
let day = 1;
|
|
21
|
+
for (let start = 0; start < dayStart; start++) {
|
|
22
|
+
days.push(this.createDayState());
|
|
23
|
+
}
|
|
24
|
+
for (let end = dayStart; end < 7; end++) {
|
|
25
|
+
days.push(this.createDayState(day));
|
|
26
|
+
day++;
|
|
27
|
+
}
|
|
28
|
+
return { days };
|
|
29
|
+
}
|
|
30
|
+
createRightWeeks() {
|
|
31
|
+
const dayStart = this.date.getDay();
|
|
32
|
+
const rightWeeks = [];
|
|
33
|
+
const dayCount = daysFromMonth(this.date.getFullYear(), this.date.getMonth());
|
|
34
|
+
let days = [];
|
|
35
|
+
let countDaysWeek = 1;
|
|
36
|
+
let day = 8 - dayStart;
|
|
37
|
+
do {
|
|
38
|
+
days.push(this.createDayState(day));
|
|
39
|
+
day++;
|
|
40
|
+
countDaysWeek++;
|
|
41
|
+
if (countDaysWeek > 7) {
|
|
42
|
+
rightWeeks.push({ days });
|
|
43
|
+
days = [];
|
|
44
|
+
countDaysWeek = 1;
|
|
45
|
+
}
|
|
46
|
+
} while (day <= dayCount);
|
|
47
|
+
const daysPending = this.createDaysPending(days.length);
|
|
48
|
+
rightWeeks.push({ days: [...days, ...daysPending] });
|
|
49
|
+
return rightWeeks;
|
|
50
|
+
}
|
|
51
|
+
createDaysPending(daysWeek) {
|
|
52
|
+
const daysPending = [];
|
|
53
|
+
const length = 7 - daysWeek;
|
|
54
|
+
for (let index = 0; index < length; index++) {
|
|
55
|
+
daysPending.push(this.createDayState());
|
|
56
|
+
}
|
|
57
|
+
return daysPending;
|
|
58
|
+
}
|
|
59
|
+
createDayState(value) {
|
|
60
|
+
return {
|
|
61
|
+
disabled: this.overflowDay(value || 0),
|
|
62
|
+
forbidden: !value,
|
|
63
|
+
selected: value === this.value,
|
|
64
|
+
value
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
overflowDay(day) {
|
|
68
|
+
return this.minOverflowDay(day) || this.maxOverflowDay(day);
|
|
69
|
+
}
|
|
70
|
+
minOverflowDay(day) {
|
|
71
|
+
return this.minDate
|
|
72
|
+
? weight(refactorDay(this.date, day)) < weight(this.minDate)
|
|
73
|
+
: false;
|
|
74
|
+
}
|
|
75
|
+
maxOverflowDay(day) {
|
|
76
|
+
return this.maxDate
|
|
77
|
+
? weight(refactorDay(this.date, day)) > weight(this.maxDate)
|
|
78
|
+
: false;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
export function createDayPicker(props) {
|
|
82
|
+
return Factory.execute(props);
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=day-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"day-picker.js","sourceRoot":"","sources":["../../../src/utils/day-picker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Month } from '@rolster/helpers-date';
|
|
2
|
+
import { MonthState } from '../models';
|
|
3
|
+
interface Props {
|
|
4
|
+
value: number;
|
|
5
|
+
date: Date;
|
|
6
|
+
minDate?: Date;
|
|
7
|
+
maxDate?: Date;
|
|
8
|
+
}
|
|
9
|
+
export declare const MONTH_MAX_VALUE = Month.January;
|
|
10
|
+
export declare const MONTH_MIN_VALUE = Month.December;
|
|
11
|
+
export declare function isMinLimitMonth(month: number, date: Date, maxDate?: Date): boolean;
|
|
12
|
+
export declare function isMaxLimitMonth(month: number, date: Date, maxDate?: Date): boolean;
|
|
13
|
+
export declare function createMonthPicker(props: Props): MonthState[];
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { MONTH_NAMES, Month } from '@rolster/helpers-date';
|
|
2
|
+
export const MONTH_MAX_VALUE = Month.January;
|
|
3
|
+
export const MONTH_MIN_VALUE = Month.December;
|
|
4
|
+
class Factory {
|
|
5
|
+
constructor(props) {
|
|
6
|
+
const { date, value, maxDate, minDate } = props;
|
|
7
|
+
this.value = value;
|
|
8
|
+
this.date = new Date(date.getTime());
|
|
9
|
+
this.maxDate = maxDate;
|
|
10
|
+
this.minDate = minDate;
|
|
11
|
+
}
|
|
12
|
+
static execute(props) {
|
|
13
|
+
const factory = new Factory(props);
|
|
14
|
+
return [
|
|
15
|
+
factory.createMonth(0),
|
|
16
|
+
factory.createMonth(1),
|
|
17
|
+
factory.createMonth(2),
|
|
18
|
+
factory.createMonth(3),
|
|
19
|
+
factory.createMonth(4),
|
|
20
|
+
factory.createMonth(5),
|
|
21
|
+
factory.createMonth(6),
|
|
22
|
+
factory.createMonth(7),
|
|
23
|
+
factory.createMonth(8),
|
|
24
|
+
factory.createMonth(9),
|
|
25
|
+
factory.createMonth(10),
|
|
26
|
+
factory.createMonth(11)
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
createMonth(value) {
|
|
30
|
+
return {
|
|
31
|
+
value,
|
|
32
|
+
label: MONTH_NAMES[value],
|
|
33
|
+
disabled: this.overflowMonth(value),
|
|
34
|
+
selected: value === this.value
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
get minYear() {
|
|
38
|
+
return this.minDate?.getFullYear() || 0;
|
|
39
|
+
}
|
|
40
|
+
get maxYear() {
|
|
41
|
+
return this.maxDate?.getFullYear() || 10000;
|
|
42
|
+
}
|
|
43
|
+
get minMonth() {
|
|
44
|
+
return this.minDate?.getMonth() || MONTH_MIN_VALUE;
|
|
45
|
+
}
|
|
46
|
+
get maxMonth() {
|
|
47
|
+
return this.maxDate?.getMonth() || MONTH_MAX_VALUE;
|
|
48
|
+
}
|
|
49
|
+
overflowMonth(month) {
|
|
50
|
+
return this.minOverflowMonth(month) || this.maxOverflowMonth(month);
|
|
51
|
+
}
|
|
52
|
+
minOverflowMonth(month) {
|
|
53
|
+
return this.date.getFullYear() === this.minYear && month < this.minMonth;
|
|
54
|
+
}
|
|
55
|
+
maxOverflowMonth(month) {
|
|
56
|
+
return this.date.getFullYear() === this.maxYear && month > this.maxMonth;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export function isMinLimitMonth(month, date, maxDate) {
|
|
60
|
+
const minYear = maxDate?.getFullYear() || 0;
|
|
61
|
+
const minMonth = maxDate?.getMonth() || 0;
|
|
62
|
+
return date.getFullYear() === minYear && month <= minMonth;
|
|
63
|
+
}
|
|
64
|
+
export function isMaxLimitMonth(month, date, maxDate) {
|
|
65
|
+
const maxYear = maxDate?.getFullYear() || 10000;
|
|
66
|
+
const maxMonth = maxDate?.getMonth() || 11;
|
|
67
|
+
return date.getFullYear() === maxYear && month >= maxMonth;
|
|
68
|
+
}
|
|
69
|
+
export function createMonthPicker(props) {
|
|
70
|
+
return Factory.execute(props);
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=month-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"month-picker.js","sourceRoot":"","sources":["../../../src/utils/month-picker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { YearState } from '../models';
|
|
2
|
+
export declare const COUNT_YEAR_RANGE = 4;
|
|
3
|
+
interface Props {
|
|
4
|
+
value: number;
|
|
5
|
+
year: number;
|
|
6
|
+
minDate?: Date;
|
|
7
|
+
maxDate?: Date;
|
|
8
|
+
}
|
|
9
|
+
interface YearPickerTemplate {
|
|
10
|
+
hasNext: boolean;
|
|
11
|
+
hasPrevious: boolean;
|
|
12
|
+
maxRange: number;
|
|
13
|
+
minRange: number;
|
|
14
|
+
years: YearState[];
|
|
15
|
+
}
|
|
16
|
+
export declare function createYearPicker(props: Props): YearPickerTemplate;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export const COUNT_YEAR_RANGE = 4;
|
|
2
|
+
class FactoryYearPicker {
|
|
3
|
+
constructor(props) {
|
|
4
|
+
const { value, maxDate, minDate } = props;
|
|
5
|
+
this.value = value;
|
|
6
|
+
this.maxDate = maxDate;
|
|
7
|
+
this.minDate = minDate;
|
|
8
|
+
}
|
|
9
|
+
static execute(props) {
|
|
10
|
+
const factory = new FactoryYearPicker(props);
|
|
11
|
+
let year = props.year;
|
|
12
|
+
if (factory.minOverflowYear(year)) {
|
|
13
|
+
year = factory.minYear;
|
|
14
|
+
}
|
|
15
|
+
else if (factory.maxOverflowYear(year)) {
|
|
16
|
+
year = factory.maxYear;
|
|
17
|
+
}
|
|
18
|
+
const years = factory.createYears(year);
|
|
19
|
+
return {
|
|
20
|
+
hasNext: factory.hasNext,
|
|
21
|
+
hasPrevious: factory.hasPrevious,
|
|
22
|
+
maxRange: factory.maxYearRange,
|
|
23
|
+
minRange: factory.minYearRange,
|
|
24
|
+
years
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
createYears(year) {
|
|
28
|
+
const prevYears = [];
|
|
29
|
+
const nextYears = [];
|
|
30
|
+
this.minYearRange = year;
|
|
31
|
+
this.maxYearRange = year;
|
|
32
|
+
for (let index = 0; index < COUNT_YEAR_RANGE; index++) {
|
|
33
|
+
const yearPrev = year - COUNT_YEAR_RANGE + index;
|
|
34
|
+
const yearNext = year + index + 1;
|
|
35
|
+
const valuePrev = yearPrev >= this.minYear ? yearPrev : undefined;
|
|
36
|
+
const valueNext = yearNext <= this.maxYear ? yearNext : undefined;
|
|
37
|
+
const prevState = this.createYear(valuePrev);
|
|
38
|
+
const nextState = this.createYear(valueNext);
|
|
39
|
+
prevYears.push(prevState);
|
|
40
|
+
nextYears.push(nextState);
|
|
41
|
+
this.recalculateRange(prevState, nextState);
|
|
42
|
+
}
|
|
43
|
+
const yearCenter = this.createYear(year);
|
|
44
|
+
return [...prevYears, yearCenter, ...nextYears];
|
|
45
|
+
}
|
|
46
|
+
minOverflowYear(year) {
|
|
47
|
+
return year < this.minYear;
|
|
48
|
+
}
|
|
49
|
+
maxOverflowYear(year) {
|
|
50
|
+
return year > this.maxYear;
|
|
51
|
+
}
|
|
52
|
+
get minYear() {
|
|
53
|
+
return this.minDate?.getFullYear() || 0;
|
|
54
|
+
}
|
|
55
|
+
get maxYear() {
|
|
56
|
+
return this.maxDate?.getFullYear() || 10000;
|
|
57
|
+
}
|
|
58
|
+
get hasPrevious() {
|
|
59
|
+
return this.minYear < this.minYearRange;
|
|
60
|
+
}
|
|
61
|
+
get hasNext() {
|
|
62
|
+
return this.maxYear > this.maxYearRange;
|
|
63
|
+
}
|
|
64
|
+
createYear(value) {
|
|
65
|
+
return {
|
|
66
|
+
value,
|
|
67
|
+
disabled: !value,
|
|
68
|
+
selected: value === this.value
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
recalculateRange(prev, next) {
|
|
72
|
+
if (!!prev.value && this.minYearRange > prev.value) {
|
|
73
|
+
this.minYearRange = prev.value;
|
|
74
|
+
}
|
|
75
|
+
if (!!next.value && this.maxYearRange < next.value) {
|
|
76
|
+
this.maxYearRange = next.value;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
export function createYearPicker(props) {
|
|
81
|
+
return FactoryYearPicker.execute(props);
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=year-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"year-picker.js","sourceRoot":"","sources":["../../../src/utils/year-picker.ts"],"names":[],"mappings":"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"}
|