@rolster/react-components 18.21.0 → 18.21.5
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/dist/cjs/assets/{index-eohCf4O9.css → index-B4R0Qgg4.css} +11 -11
- package/dist/cjs/index.js +598 -415
- package/dist/cjs/index.js.map +1 -1
- package/dist/es/assets/{index-eohCf4O9.css → index-B4R0Qgg4.css} +11 -11
- package/dist/es/index.js +599 -415
- package/dist/es/index.js.map +1 -1
- package/dist/esm/components/definitions.d.ts +1 -1
- package/dist/esm/components/molecules/PickerDay/PickerDay.d.ts +1 -1
- package/dist/esm/components/molecules/PickerDay/PickerDay.js +53 -24
- package/dist/esm/components/molecules/PickerDay/PickerDay.js.map +1 -1
- package/dist/esm/components/molecules/PickerDayRange/PickerDayRange.d.ts +1 -1
- package/dist/esm/components/molecules/PickerDayRange/PickerDayRange.js +55 -29
- package/dist/esm/components/molecules/PickerDayRange/PickerDayRange.js.map +1 -1
- package/dist/esm/components/molecules/PickerMonth/PickerMonth.d.ts +1 -1
- package/dist/esm/components/molecules/PickerMonth/PickerMonth.js +57 -34
- package/dist/esm/components/molecules/PickerMonth/PickerMonth.js.map +1 -1
- package/dist/esm/components/molecules/{PickerMonthTitle/PickerMonthTitle.css → PickerSelectorTitle/PickerSelectorTitle.css} +3 -3
- package/dist/esm/components/molecules/PickerSelectorTitle/PickerSelectorTitle.d.ts +15 -0
- package/dist/esm/components/molecules/PickerSelectorTitle/PickerSelectorTitle.js +65 -0
- package/dist/esm/components/molecules/PickerSelectorTitle/PickerSelectorTitle.js.map +1 -0
- package/dist/esm/components/molecules/PickerYear/PickerYear.css +7 -7
- package/dist/esm/components/molecules/PickerYear/PickerYear.d.ts +1 -1
- package/dist/esm/components/molecules/PickerYear/PickerYear.js +45 -38
- package/dist/esm/components/molecules/PickerYear/PickerYear.js.map +1 -1
- package/dist/esm/components/molecules/index.d.ts +1 -1
- package/dist/esm/components/molecules/index.js +1 -1
- package/dist/esm/components/molecules/index.js.map +1 -1
- package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.js +27 -14
- package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.js.map +1 -1
- package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocompleteController.js +50 -41
- package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocompleteController.js.map +1 -1
- package/dist/esm/components/organisms/FieldDate/FieldDate.js +34 -28
- package/dist/esm/components/organisms/FieldDate/FieldDate.js.map +1 -1
- package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js +32 -23
- package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js.map +1 -1
- package/dist/esm/components/organisms/FieldSelect/FieldSelect.js +35 -13
- package/dist/esm/components/organisms/FieldSelect/FieldSelect.js.map +1 -1
- package/dist/esm/components/organisms/FieldSelect/FieldSelectController.js +41 -29
- package/dist/esm/components/organisms/FieldSelect/FieldSelectController.js.map +1 -1
- package/dist/esm/components/organisms/PickerDate/PickerDate.css +1 -1
- package/dist/esm/components/organisms/PickerDate/PickerDate.js +71 -54
- package/dist/esm/components/organisms/PickerDate/PickerDate.js.map +1 -1
- package/dist/esm/components/organisms/PickerDateRange/PickerDateRange.d.ts +1 -1
- package/dist/esm/components/organisms/PickerDateRange/PickerDateRange.js +56 -43
- package/dist/esm/components/organisms/PickerDateRange/PickerDateRange.js.map +1 -1
- package/dist/esm/components/organisms/Snackbar/Snackbar.js +25 -18
- package/dist/esm/components/organisms/Snackbar/Snackbar.js.map +1 -1
- package/dist/esm/controllers/ListController.js +7 -5
- package/dist/esm/controllers/ListController.js.map +1 -1
- package/dist/esm/controllers/index.d.ts +0 -1
- package/dist/esm/controllers/index.js +0 -1
- package/dist/esm/controllers/index.js.map +1 -1
- package/dist/esm/helpers/css.js +7 -10
- package/dist/esm/helpers/css.js.map +1 -1
- package/package.json +3 -3
- package/dist/esm/components/molecules/PickerMonthTitle/PickerMonthTitle.d.ts +0 -15
- package/dist/esm/components/molecules/PickerMonthTitle/PickerMonthTitle.js +0 -53
- package/dist/esm/components/molecules/PickerMonthTitle/PickerMonthTitle.js.map +0 -1
- package/dist/esm/controllers/RenderClassStatusController.d.ts +0 -2
- package/dist/esm/controllers/RenderClassStatusController.js +0 -10
- package/dist/esm/controllers/RenderClassStatusController.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type RlsTheme = 'standard' | 'success' | 'info' | 'warning' | 'danger' | 'amaizing' | 'smartness' | 'obsidian';
|
|
1
|
+
export type RlsTheme = 'standard' | 'success' | 'info' | 'warning' | 'danger' | 'amaizing' | 'amber' | 'smartness' | 'obsidian';
|
|
2
2
|
export interface RlsComponent extends React.PropsWithChildren {
|
|
3
3
|
identifier?: string;
|
|
4
4
|
rlsTheme?: RlsTheme;
|
|
@@ -11,5 +11,5 @@ interface PickerDayProps extends RlsComponent {
|
|
|
11
11
|
onValue?: (value: number) => void;
|
|
12
12
|
year?: Nulleable<number>;
|
|
13
13
|
}
|
|
14
|
-
export declare function RlsPickerDay({ date, disabled
|
|
14
|
+
export declare function RlsPickerDay({ date: _date, disabled, formControl, maxDate, month, minDate, onValue, rlsTheme, year }: PickerDayProps): import("react/jsx-runtime").JSX.Element;
|
|
15
15
|
export {};
|
|
@@ -1,14 +1,49 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { itIsDefined } from '@rolster/commons';
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
2
|
import { createDayPicker, verifyDayPicker } from '@rolster/components';
|
|
3
|
+
import { i18nSubscribe } from '@rolster/i18n';
|
|
4
4
|
import { DAY_LABELS } from '@rolster/dates';
|
|
5
|
-
import { useEffect, useState } from 'react';
|
|
5
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
6
6
|
import { renderClassStatus } from '../../../helpers';
|
|
7
7
|
import './PickerDay.css';
|
|
8
|
-
|
|
9
|
-
const
|
|
8
|
+
function RlsPickerDayItem({ day, onSelect, disabled }) {
|
|
9
|
+
const className = useMemo(() => {
|
|
10
|
+
return renderClassStatus('rls-picker-day__element', {
|
|
11
|
+
disabled: day.disabled || disabled,
|
|
12
|
+
focused: day.focused,
|
|
13
|
+
forbidden: day.forbidden,
|
|
14
|
+
selected: day.selected,
|
|
15
|
+
today: day.today
|
|
16
|
+
});
|
|
17
|
+
}, [
|
|
18
|
+
day.disabled,
|
|
19
|
+
day.focused,
|
|
20
|
+
day.forbidden,
|
|
21
|
+
day.selected,
|
|
22
|
+
day.today,
|
|
23
|
+
disabled
|
|
24
|
+
]);
|
|
25
|
+
const onClick = useCallback(() => {
|
|
26
|
+
day.value && !day.disabled && !disabled && onSelect(day.value);
|
|
27
|
+
}, [day.value, day.disabled, disabled, onSelect]);
|
|
28
|
+
return (_jsx("div", { className: className, onClick: onClick, children: _jsx("span", { className: "rls-picker-day__element__span", children: day.value || '??' }) }));
|
|
29
|
+
}
|
|
30
|
+
function RlsPickerDayHeaders() {
|
|
31
|
+
return (_jsx("div", { className: "rls-picker-day__header", children: DAY_LABELS().map((title, index) => (_jsx("label", { className: "rls-picker-day__label", children: title }, index))) }));
|
|
32
|
+
}
|
|
33
|
+
export function RlsPickerDay({ date: _date, disabled, formControl, maxDate, month, minDate, onValue, rlsTheme, year }) {
|
|
34
|
+
const date = useMemo(() => _date ?? new Date(), [_date]);
|
|
10
35
|
const [weeks, setWeeks] = useState([]);
|
|
11
|
-
const [value, setValue] = useState(formControl?.value ||
|
|
36
|
+
const [value, setValue] = useState(formControl?.value || date.getDate());
|
|
37
|
+
const [headers, setHeaders] = useState(_jsx(RlsPickerDayHeaders, {}));
|
|
38
|
+
const [component, setComponent] = useState(_jsx(_Fragment, {}));
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
return i18nSubscribe(() => {
|
|
41
|
+
setHeaders(_jsx(RlsPickerDayHeaders, {}));
|
|
42
|
+
});
|
|
43
|
+
}, []);
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
setComponent(_jsx("div", { className: "rls-picker-day__component", children: weeks.map(({ days }, index) => (_jsx("div", { className: "rls-picker-day__week", children: days.map((day, index) => (_jsx(RlsPickerDayItem, { day: day, onSelect: onSelect, disabled: disabled }, index))) }, index))) }));
|
|
46
|
+
}, [weeks]);
|
|
12
47
|
useEffect(() => {
|
|
13
48
|
const options = createPickerOptions();
|
|
14
49
|
const day = verifyDayPicker(options);
|
|
@@ -18,31 +53,25 @@ export function RlsPickerDay({ date, disabled: _disabled, formControl, maxDate,
|
|
|
18
53
|
const day = verifyDayPicker(createPickerOptions());
|
|
19
54
|
day
|
|
20
55
|
? formControl?.setValue(day)
|
|
21
|
-
: setValue(formControl?.value ||
|
|
56
|
+
: setValue(formControl?.value || date.getDate());
|
|
22
57
|
}, [formControl?.value]);
|
|
23
|
-
|
|
58
|
+
const createPickerOptions = useCallback(() => {
|
|
24
59
|
return {
|
|
25
|
-
date
|
|
26
|
-
day: formControl?.value
|
|
27
|
-
month:
|
|
28
|
-
year: year
|
|
60
|
+
date,
|
|
61
|
+
day: formControl?.value ?? value,
|
|
62
|
+
month: month ?? date.getMonth(),
|
|
63
|
+
year: year ?? date.getFullYear(),
|
|
29
64
|
minDate,
|
|
30
65
|
maxDate
|
|
31
66
|
};
|
|
32
|
-
}
|
|
33
|
-
|
|
67
|
+
}, [date, formControl?.value, value, month, year, minDate, maxDate]);
|
|
68
|
+
const setDayValue = useCallback((value) => {
|
|
34
69
|
formControl ? formControl.setValue(value) : setValue(value);
|
|
35
|
-
}
|
|
36
|
-
|
|
70
|
+
}, [formControl]);
|
|
71
|
+
const onSelect = useCallback((value) => {
|
|
37
72
|
setDayValue(value);
|
|
38
73
|
onValue && onValue(value);
|
|
39
|
-
}
|
|
40
|
-
return (_jsxs("div", { className: "rls-picker-day", "rls-theme": rlsTheme, children: [
|
|
41
|
-
disabled: disabled || _disabled,
|
|
42
|
-
focused,
|
|
43
|
-
forbidden,
|
|
44
|
-
selected,
|
|
45
|
-
today
|
|
46
|
-
}), onClick: value && !_disabled ? () => onChange(value) : undefined, children: _jsx("span", { className: "rls-picker-day__element__span", children: value || '??' }) }, index))) }, index))) })] }));
|
|
74
|
+
}, [setDayValue, onValue]);
|
|
75
|
+
return (_jsxs("div", { className: "rls-picker-day", "rls-theme": rlsTheme, children: [headers, component] }));
|
|
47
76
|
}
|
|
48
77
|
//# sourceMappingURL=PickerDay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PickerDay.js","sourceRoot":"","sources":["../../../../../src/components/molecules/PickerDay/PickerDay.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"PickerDay.js","sourceRoot":"","sources":["../../../../../src/components/molecules/PickerDay/PickerDay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,5 +9,5 @@ interface PickerDayRangeProps extends RlsComponent {
|
|
|
9
9
|
maxDate?: Date;
|
|
10
10
|
minDate?: Date;
|
|
11
11
|
}
|
|
12
|
-
export declare function RlsPickerDayRange({ date, disabled
|
|
12
|
+
export declare function RlsPickerDayRange({ date: _date, disabled, formControl, maxDate, minDate, rlsTheme }: PickerDayRangeProps): import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
export {};
|
|
@@ -1,44 +1,70 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { createDayRangePicker } from '@rolster/components';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { assignDayInDate, DAY_LABELS, dateIsBefore, dateFormatTemplate, DateRange, normalizeMinTime } from '@rolster/dates';
|
|
4
|
+
import { i18nSubscribe } from '@rolster/i18n';
|
|
5
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
5
6
|
import { renderClassStatus } from '../../../helpers';
|
|
6
7
|
import './PickerDayRange.css';
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
const formatRange = '{dd}/{mx}/{aa}';
|
|
9
|
+
function RlsPickerDayRangeHeaders() {
|
|
10
|
+
return (_jsx("div", { className: "rls-picker-day__header", children: DAY_LABELS().map((title, index) => (_jsx("label", { className: "rls-picker-day__label", children: title }, index))) }));
|
|
11
|
+
}
|
|
12
|
+
function RlsPickerDayRangeItem({ day, onSelect, disabled }) {
|
|
13
|
+
const className = useMemo(() => {
|
|
14
|
+
return renderClassStatus('rls-picker-day-range__element', {
|
|
15
|
+
disabled: day.disabled || disabled,
|
|
16
|
+
end: day.end,
|
|
17
|
+
forbidden: day.forbidden,
|
|
18
|
+
ranged: day.ranged,
|
|
19
|
+
source: day.source
|
|
20
|
+
});
|
|
21
|
+
}, [day.disabled, day.end, day.forbidden, day.ranged, day.source, disabled]);
|
|
22
|
+
const onClick = useCallback(() => {
|
|
23
|
+
day.value && !day.disabled && !disabled && onSelect(day.value);
|
|
24
|
+
}, [day.value, day.disabled, disabled, onSelect]);
|
|
25
|
+
return (_jsx("div", { className: className, onClick: onClick, children: _jsx("span", { className: "rls-picker-day-range__element__span", children: day.value || '??' }) }));
|
|
26
|
+
}
|
|
27
|
+
export function RlsPickerDayRange({ date: _date, disabled, formControl, maxDate, minDate, rlsTheme }) {
|
|
28
|
+
const _range = useMemo(() => {
|
|
29
|
+
return formControl?.value ?? DateRange.now();
|
|
30
|
+
}, [formControl?.value]);
|
|
31
|
+
const date = useMemo(() => {
|
|
32
|
+
return normalizeMinTime(_date ?? _range.minDate);
|
|
33
|
+
}, [_date]);
|
|
34
|
+
const sourceDate = useRef(_range.minDate);
|
|
12
35
|
const [weeks, setWeeks] = useState([]);
|
|
13
|
-
const [range, setRange] = useState(
|
|
36
|
+
const [range, setRange] = useState(_range);
|
|
37
|
+
const [headers, setHeaders] = useState(_jsx(RlsPickerDayRangeHeaders, {}));
|
|
38
|
+
const [component, setComponent] = useState(_jsx(_Fragment, {}));
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
return i18nSubscribe(() => {
|
|
41
|
+
setHeaders(_jsx(RlsPickerDayRangeHeaders, {}));
|
|
42
|
+
});
|
|
43
|
+
}, []);
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
setComponent(_jsx("div", { className: "rls-picker-day-range__component", children: weeks.map(({ days }, index) => (_jsx("div", { className: "rls-picker-day-range__week", children: days.map((day, index) => (_jsx(RlsPickerDayRangeItem, { day: day, onSelect: onSelect, disabled: disabled }, index))) }, index))) }));
|
|
46
|
+
}, [weeks]);
|
|
14
47
|
useEffect(() => {
|
|
15
48
|
setWeeks(createDayRangePicker({
|
|
16
|
-
date
|
|
49
|
+
date,
|
|
17
50
|
range,
|
|
18
51
|
sourceDate: sourceDate.current,
|
|
19
52
|
minDate,
|
|
20
53
|
maxDate
|
|
21
54
|
}));
|
|
22
|
-
}, [
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
sourceDate.current
|
|
55
|
+
}, [date, range, minDate, maxDate]);
|
|
56
|
+
const title = useMemo(() => {
|
|
57
|
+
return (_jsx("div", { className: "rls-picker-day-range__title", children: dateFormatTemplate(sourceDate.current, formatRange) }));
|
|
58
|
+
}, [sourceDate.current]);
|
|
59
|
+
const onSelect = useCallback((value) => {
|
|
60
|
+
const _date = assignDayInDate(date, value);
|
|
61
|
+
const range = dateIsBefore(_date, sourceDate.current)
|
|
62
|
+
? new DateRange(sourceDate.current, _date)
|
|
63
|
+
: new DateRange(_date, sourceDate.current);
|
|
64
|
+
sourceDate.current = _date;
|
|
29
65
|
setRange(range);
|
|
30
66
|
formControl?.setValue(range);
|
|
31
|
-
}
|
|
32
|
-
return (_jsxs("div", { className: "rls-picker-day-range", "rls-theme": rlsTheme, children: [
|
|
33
|
-
disabled: disabled || _disabled,
|
|
34
|
-
end,
|
|
35
|
-
forbidden,
|
|
36
|
-
ranged,
|
|
37
|
-
source
|
|
38
|
-
}), onClick: value && !_disabled
|
|
39
|
-
? () => {
|
|
40
|
-
onChange(value);
|
|
41
|
-
}
|
|
42
|
-
: undefined, children: _jsx("span", { className: "rls-picker-day-range__element__span", children: value || '??' }) }, index))) }, index))) })] }));
|
|
67
|
+
}, [date, sourceDate.current, formControl]);
|
|
68
|
+
return (_jsxs("div", { className: "rls-picker-day-range", "rls-theme": rlsTheme, children: [title, headers, component] }));
|
|
43
69
|
}
|
|
44
70
|
//# sourceMappingURL=PickerDayRange.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PickerDayRange.js","sourceRoot":"","sources":["../../../../../src/components/molecules/PickerDayRange/PickerDayRange.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"PickerDayRange.js","sourceRoot":"","sources":["../../../../../src/components/molecules/PickerDayRange/PickerDayRange.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,5 +10,5 @@ interface PickerMonthProps extends RlsComponent {
|
|
|
10
10
|
onValue?: (value: number) => void;
|
|
11
11
|
year?: Nulleable<number>;
|
|
12
12
|
}
|
|
13
|
-
export declare function RlsPickerMonth({ date, disabled
|
|
13
|
+
export declare function RlsPickerMonth({ date: _date, disabled, formControl, maxDate, minDate, onValue, rlsTheme, year }: PickerMonthProps): import("react/jsx-runtime").JSX.Element;
|
|
14
14
|
export {};
|
|
@@ -1,50 +1,73 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { itIsDefined } from '@rolster/commons';
|
|
3
3
|
import { createMonthPicker, verifyMonthPicker } from '@rolster/components';
|
|
4
|
-
import {
|
|
4
|
+
import { MONTH_NAMES } from '@rolster/dates';
|
|
5
|
+
import { i18nSubscribe } from '@rolster/i18n';
|
|
6
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
5
7
|
import { renderClassStatus } from '../../../helpers';
|
|
6
8
|
import './PickerMonth.css';
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
+
function RlsPickerMonthItem({ month, onSelect, disabled }) {
|
|
10
|
+
const [label, setLabel] = useState(MONTH_NAMES(month.value));
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
return i18nSubscribe(() => {
|
|
13
|
+
setLabel(MONTH_NAMES(month.value));
|
|
14
|
+
});
|
|
15
|
+
}, []);
|
|
16
|
+
const className = useMemo(() => {
|
|
17
|
+
return renderClassStatus('rls-picker-month__component', {
|
|
18
|
+
disabled: month.disabled || disabled,
|
|
19
|
+
focused: month.focused,
|
|
20
|
+
selected: month.selected
|
|
21
|
+
});
|
|
22
|
+
}, [month.disabled, month.focused, month.selected, disabled]);
|
|
23
|
+
const onClick = useCallback(() => {
|
|
24
|
+
itIsDefined(month.value) &&
|
|
25
|
+
!month.disabled &&
|
|
26
|
+
!disabled &&
|
|
27
|
+
onSelect(month.value);
|
|
28
|
+
}, [month.value, month.disabled, disabled, onSelect]);
|
|
29
|
+
return (_jsx("div", { className: className, onClick: onClick, children: _jsx("span", { className: "rls-picker-month__span", children: label }) }));
|
|
30
|
+
}
|
|
31
|
+
export function RlsPickerMonth({ date: _date, disabled, formControl, maxDate, minDate, onValue, rlsTheme, year }) {
|
|
32
|
+
const date = useMemo(() => _date || new Date(), [_date]);
|
|
9
33
|
const [months, setMonths] = useState([]);
|
|
10
|
-
const [value, setValue] = useState(formControl?.value
|
|
34
|
+
const [value, setValue] = useState(formControl?.value ?? date.getMonth());
|
|
35
|
+
const [component, setComponent] = useState(_jsx(_Fragment, {}));
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
setComponent(_jsx(_Fragment, { children: months.map((month, index) => (_jsx(RlsPickerMonthItem, { month: month, onSelect: onSelect, disabled: disabled }, index))) }));
|
|
38
|
+
}, [months]);
|
|
11
39
|
useEffect(() => {
|
|
12
|
-
const options =
|
|
40
|
+
const options = {
|
|
41
|
+
date,
|
|
42
|
+
month: formControl?.value ?? value,
|
|
43
|
+
year: year ?? date.getFullYear(),
|
|
44
|
+
minDate,
|
|
45
|
+
maxDate
|
|
46
|
+
};
|
|
13
47
|
const month = verifyMonthPicker(options);
|
|
14
|
-
|
|
48
|
+
itIsDefined(month)
|
|
49
|
+
? setMonthValue(month)
|
|
50
|
+
: setMonths(createMonthPicker(options));
|
|
15
51
|
}, [date, year, value, minDate, maxDate]);
|
|
16
52
|
useEffect(() => {
|
|
17
|
-
const month = verifyMonthPicker(
|
|
53
|
+
const month = verifyMonthPicker({
|
|
54
|
+
date,
|
|
55
|
+
month: formControl?.value ?? value,
|
|
56
|
+
year: year ?? date.getFullYear(),
|
|
57
|
+
minDate,
|
|
58
|
+
maxDate
|
|
59
|
+
});
|
|
18
60
|
itIsDefined(month)
|
|
19
61
|
? formControl?.setValue(month)
|
|
20
|
-
: setValue(formControl?.value
|
|
62
|
+
: setValue(formControl?.value ?? date.getMonth());
|
|
21
63
|
}, [formControl?.value]);
|
|
22
|
-
|
|
23
|
-
return {
|
|
24
|
-
date: currentDate,
|
|
25
|
-
month: itIsDefined(formControl?.value) ? formControl?.value : value,
|
|
26
|
-
year: year || currentDate.getFullYear(),
|
|
27
|
-
minDate,
|
|
28
|
-
maxDate
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
function setMonthValue(value) {
|
|
64
|
+
const setMonthValue = useCallback((value) => {
|
|
32
65
|
formControl ? formControl.setValue(value) : setValue(value);
|
|
33
|
-
}
|
|
34
|
-
|
|
66
|
+
}, [formControl]);
|
|
67
|
+
const onSelect = useCallback((value) => {
|
|
35
68
|
setMonthValue(value);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
return (_jsx("div", { className: "rls-picker-month", "rls-theme": rlsTheme, children: months.map(({ label, value, disabled, focused, selected }, index) => (_jsx("div", { className: renderClassStatus('rls-picker-month__component', {
|
|
41
|
-
disabled: disabled || _disabled,
|
|
42
|
-
focused,
|
|
43
|
-
selected
|
|
44
|
-
}), onClick: !(disabled || _disabled)
|
|
45
|
-
? () => {
|
|
46
|
-
onChange(value);
|
|
47
|
-
}
|
|
48
|
-
: undefined, children: _jsx("span", { className: "rls-picker-month__span", children: label }) }, index))) }));
|
|
69
|
+
onValue && onValue(value);
|
|
70
|
+
}, [setMonthValue, onValue]);
|
|
71
|
+
return (_jsx("div", { className: "rls-picker-month", "rls-theme": rlsTheme, children: component }));
|
|
49
72
|
}
|
|
50
73
|
//# sourceMappingURL=PickerMonth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PickerMonth.js","sourceRoot":"","sources":["../../../../../src/components/molecules/PickerMonth/PickerMonth.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAEL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"PickerMonth.js","sourceRoot":"","sources":["../../../../../src/components/molecules/PickerMonth/PickerMonth.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAEL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,mBAAmB,CAAC;AAkB3B,SAAS,kBAAkB,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,QAAQ,EACa;IACrB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7D,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,aAAa,CAAC,GAAG,EAAE;YACxB,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,OAAO,iBAAiB,CAAC,6BAA6B,EAAE;YACtD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,QAAQ;YACpC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9D,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;YACtB,CAAC,KAAK,CAAC,QAAQ;YACf,CAAC,QAAQ;YACT,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtD,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,YACzC,eAAM,SAAS,EAAC,wBAAwB,YAAE,KAAK,GAAQ,GACnD,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAC7B,IAAI,EAAE,KAAK,EACX,QAAQ,EACR,WAAW,EACX,OAAO,EACP,OAAO,EACP,OAAO,EACP,QAAQ,EACR,IAAI,EACa;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE1E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,mBAAK,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CACV,4BACG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAC5B,KAAC,kBAAkB,IAEjB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,IAHb,KAAK,CAIV,CACH,CAAC,GACD,CACJ,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG;YACd,IAAI;YACJ,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,KAAK;YAClC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;YAChC,OAAO;YACP,OAAO;SACR,CAAC;QAEF,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEzC,WAAW,CAAC,KAAK,CAAC;YAChB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;YACtB,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,iBAAiB,CAAC;YAC9B,IAAI;YACJ,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,KAAK;YAClC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;YAChC,OAAO;YACP,OAAO;SACR,CAAC,CAAC;QAEH,WAAW,CAAC,KAAK,CAAC;YAChB,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC;YAC9B,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtD,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzB,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,KAAa,EAAE,EAAE;QAChB,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,KAAa,EAAE,EAAE;QAChB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,EACD,CAAC,aAAa,EAAE,OAAO,CAAC,CACzB,CAAC;IAEF,OAAO,CACL,cAAK,SAAS,EAAC,kBAAkB,eAAY,QAAQ,YAClD,SAAS,GACN,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
.rls-picker-
|
|
1
|
+
.rls-picker-selector-title {
|
|
2
2
|
display: flex;
|
|
3
3
|
justify-content: space-between;
|
|
4
4
|
align-items: center;
|
|
5
5
|
}
|
|
6
|
-
.rls-picker-
|
|
6
|
+
.rls-picker-selector-title span {
|
|
7
7
|
color: var(--rls-app-color-300);
|
|
8
8
|
cursor: default;
|
|
9
9
|
height: var(--rls-sizing-x14);
|
|
@@ -11,6 +11,6 @@
|
|
|
11
11
|
font-size: var(--rls-sizing-x10);
|
|
12
12
|
font-weight: var(--rls-font-weight-bold);
|
|
13
13
|
}
|
|
14
|
-
.rls-picker-
|
|
14
|
+
.rls-picker-selector-title span:hover {
|
|
15
15
|
color: var(--rls-theme-color-500);
|
|
16
16
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactControl } from '@rolster/react-forms';
|
|
2
|
+
import './PickerSelectorTitle.css';
|
|
3
|
+
type PickerSelectorTitleType = 'month' | 'year';
|
|
4
|
+
interface PickerSelectorTitleProps {
|
|
5
|
+
monthControl: ReactControl<HTMLElement, number>;
|
|
6
|
+
type: PickerSelectorTitleType;
|
|
7
|
+
yearControl: ReactControl<HTMLElement, number>;
|
|
8
|
+
date?: Date;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
maxDate?: Date;
|
|
11
|
+
minDate?: Date;
|
|
12
|
+
onClick?: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare function RlsPickerSelectorTitle({ monthControl, type, yearControl, date, disabled, maxDate, minDate, onClick }: PickerSelectorTitleProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { itIsDefined } from '@rolster/commons';
|
|
3
|
+
import { monthLimitTemplate } from '@rolster/components';
|
|
4
|
+
import { MONTH_NAMES, Month } from '@rolster/dates';
|
|
5
|
+
import { i18nSubscribe } from '@rolster/i18n';
|
|
6
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
7
|
+
import { RlsButtonAction } from '../../atoms/ButtonAction/ButtonAction';
|
|
8
|
+
import './PickerSelectorTitle.css';
|
|
9
|
+
export function RlsPickerSelectorTitle({ monthControl, type, yearControl, date, disabled, maxDate, minDate, onClick }) {
|
|
10
|
+
const { limitNext, limitPrevious } = useMemo(() => {
|
|
11
|
+
return monthLimitTemplate({
|
|
12
|
+
date,
|
|
13
|
+
maxDate,
|
|
14
|
+
minDate,
|
|
15
|
+
month: monthControl.value
|
|
16
|
+
});
|
|
17
|
+
}, [date, maxDate, minDate, monthControl.value]);
|
|
18
|
+
const [label, setLabel] = useState(MONTH_NAMES(monthControl.value ?? Month.January));
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
return i18nSubscribe(() => {
|
|
21
|
+
setLabel(MONTH_NAMES(monthControl.value ?? Month.January));
|
|
22
|
+
});
|
|
23
|
+
}, []);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
setLabel(MONTH_NAMES(monthControl.value ?? Month.January));
|
|
26
|
+
}, [monthControl.value]);
|
|
27
|
+
const onPreviousMonth = useCallback(() => {
|
|
28
|
+
if (itIsDefined(monthControl.value) && itIsDefined(yearControl.value)) {
|
|
29
|
+
if (monthControl.value > Month.January) {
|
|
30
|
+
monthControl.setValue(monthControl.value - 1);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
monthControl.setValue(Month.December);
|
|
34
|
+
yearControl.setValue(yearControl.value - 1);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}, [monthControl.value, yearControl.value]);
|
|
38
|
+
const onPreviousYear = useCallback(() => {
|
|
39
|
+
itIsDefined(yearControl.value) &&
|
|
40
|
+
yearControl.setValue(yearControl.value - 1);
|
|
41
|
+
}, [yearControl.value]);
|
|
42
|
+
const onPrevious = useCallback(() => {
|
|
43
|
+
type === 'month' ? onPreviousMonth() : onPreviousYear();
|
|
44
|
+
}, [type, onPreviousMonth, onPreviousYear]);
|
|
45
|
+
const onNextMonth = useCallback(() => {
|
|
46
|
+
if (itIsDefined(monthControl.value) && itIsDefined(yearControl.value)) {
|
|
47
|
+
if (monthControl.value < Month.December) {
|
|
48
|
+
monthControl.setValue(monthControl.value + 1);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
monthControl.setValue(Month.January);
|
|
52
|
+
yearControl.setValue(yearControl.value + 1);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}, [monthControl.value, yearControl.value]);
|
|
56
|
+
const onNextYear = useCallback(() => {
|
|
57
|
+
itIsDefined(yearControl.value) &&
|
|
58
|
+
yearControl.setValue(yearControl.value + 1);
|
|
59
|
+
}, [yearControl.value]);
|
|
60
|
+
const onNext = useCallback(() => {
|
|
61
|
+
type === 'month' ? onNextMonth() : onNextYear();
|
|
62
|
+
}, [type, onNextMonth, onNextYear]);
|
|
63
|
+
return (_jsxs("div", { className: "rls-picker-selector-title", children: [_jsx(RlsButtonAction, { icon: "arrow-ios-left", onClick: onPrevious, disabled: limitPrevious || disabled }), _jsx("span", { onClick: onClick, children: label }), _jsx(RlsButtonAction, { icon: "arrow-ios-right", onClick: onNext, disabled: limitNext || disabled })] }));
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=PickerSelectorTitle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PickerSelectorTitle.js","sourceRoot":"","sources":["../../../../../src/components/molecules/PickerSelectorTitle/PickerSelectorTitle.tsx"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
row-gap: var(--rls-sizing-x6);
|
|
53
53
|
column-gap: var(--rls-sizing-x8);
|
|
54
54
|
}
|
|
55
|
-
.rls-picker-
|
|
55
|
+
.rls-picker-year__element {
|
|
56
56
|
position: relative;
|
|
57
57
|
display: flex;
|
|
58
58
|
align-items: center;
|
|
@@ -62,31 +62,31 @@
|
|
|
62
62
|
height: var(--rls-sizing-x20);
|
|
63
63
|
border-radius: var(--rls-sizing-x4);
|
|
64
64
|
}
|
|
65
|
-
.rls-picker-
|
|
65
|
+
.rls-picker-year__element:not(:hover) {
|
|
66
66
|
color: var(--pvt-component-font-color);
|
|
67
67
|
border: var(--pvt-component-border);
|
|
68
68
|
background: var(--pvt-component-background);
|
|
69
69
|
}
|
|
70
|
-
.rls-picker-
|
|
70
|
+
.rls-picker-year__element:hover {
|
|
71
71
|
background: var(--rls-theme-color-900);
|
|
72
72
|
color: var(--rls-theme-font-900);
|
|
73
73
|
border: var(--rls-theme-border-1-900);
|
|
74
74
|
}
|
|
75
|
-
.rls-picker-
|
|
75
|
+
.rls-picker-year__element--selected {
|
|
76
76
|
--pvt-component-border: var(--rls-app-border-1-300);
|
|
77
77
|
}
|
|
78
|
-
.rls-picker-
|
|
78
|
+
.rls-picker-year__element--focused {
|
|
79
79
|
--pvt-component-background: var(--rls-theme-color-500);
|
|
80
80
|
--pvt-component-font-color: var(--rls-theme-font-500);
|
|
81
81
|
--pvt-component-border: var(--rls-theme-border-1-500);
|
|
82
82
|
}
|
|
83
|
-
.rls-picker-
|
|
83
|
+
.rls-picker-year__element--disabled {
|
|
84
84
|
--pvt-span-background: var(--rls-app-background-300);
|
|
85
85
|
--pvt-component-font-color: var(--rls-app-color-100);
|
|
86
86
|
--pvt-span-border: var(--rls-border-1) solid var(--rls-app-background-300);
|
|
87
87
|
pointer-events: none;
|
|
88
88
|
}
|
|
89
|
-
.rls-picker-
|
|
89
|
+
.rls-picker-year__span {
|
|
90
90
|
font-weight: var(--rls-font-weight-medium);
|
|
91
91
|
font-size: 7.5rem;
|
|
92
92
|
cursor: default;
|
|
@@ -9,5 +9,5 @@ interface PickerYearProps extends RlsComponent {
|
|
|
9
9
|
minDate?: Date;
|
|
10
10
|
onValue?: (value: number) => void;
|
|
11
11
|
}
|
|
12
|
-
export declare function RlsPickerYear({ date, disabled
|
|
12
|
+
export declare function RlsPickerYear({ date: _date, disabled, formControl, maxDate, minDate, onValue, rlsTheme }: PickerYearProps): import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
export {};
|