@os-design/core 1.0.280 → 1.0.282
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/Avatar/utils/nameToInitials.d.ts.map +1 -1
- package/dist/Avatar/utils/strToHue.d.ts.map +1 -1
- package/dist/Button/index.d.ts.map +1 -1
- package/dist/Button/index.js +1 -1
- package/dist/Button/utils/useButtonColors.d.ts.map +1 -1
- package/dist/ButtonLink/index.d.ts.map +1 -1
- package/dist/ButtonLink/index.js +0 -5
- package/dist/Checkbox/index.d.ts.map +1 -1
- package/dist/Checkbox/index.js +1 -6
- package/dist/DateCalendar/Calendar.d.ts +25 -0
- package/dist/DateCalendar/Calendar.d.ts.map +1 -0
- package/dist/DateCalendar/Calendar.js +271 -0
- package/dist/DateCalendar/MonthPicker.d.ts +12 -0
- package/dist/DateCalendar/MonthPicker.d.ts.map +1 -0
- package/dist/DateCalendar/MonthPicker.js +159 -0
- package/dist/DateCalendar/index.d.ts +41 -0
- package/dist/DateCalendar/index.d.ts.map +1 -0
- package/dist/DateCalendar/index.js +77 -0
- package/dist/DateCalendar/locale.d.ts +6 -0
- package/dist/DateCalendar/locale.d.ts.map +1 -0
- package/dist/DateCalendar/locale.js +4 -0
- package/dist/DateCalendar/utils/calendarDays.d.ts +10 -0
- package/dist/DateCalendar/utils/calendarDays.d.ts.map +1 -0
- package/dist/DateCalendar/utils/calendarDays.js +46 -0
- package/dist/DateCalendar/utils/dayOfWeek.d.ts +8 -0
- package/dist/DateCalendar/utils/dayOfWeek.d.ts.map +1 -0
- package/dist/DateCalendar/utils/dayOfWeek.js +6 -0
- package/dist/DateCalendar/utils/daysInMonth.d.ts +7 -0
- package/dist/DateCalendar/utils/daysInMonth.d.ts.map +1 -0
- package/dist/DateCalendar/utils/daysInMonth.js +14 -0
- package/dist/DateCalendar/utils/month.d.ts +14 -0
- package/dist/DateCalendar/utils/month.d.ts.map +1 -0
- package/dist/DateCalendar/utils/month.js +24 -0
- package/dist/DateCalendar/utils/shift.d.ts +3 -0
- package/dist/DateCalendar/utils/shift.d.ts.map +1 -0
- package/dist/DateCalendar/utils/shift.js +12 -0
- package/dist/DatePicker/index.d.ts +68 -62
- package/dist/DatePicker/index.d.ts.map +1 -1
- package/dist/DatePicker/index.js +359 -265
- package/dist/DatePicker/utils/createTimes.d.ts +7 -0
- package/dist/DatePicker/utils/createTimes.d.ts.map +1 -0
- package/dist/DatePicker/utils/createTimes.js +15 -0
- package/dist/GlobalStyles/resetStyles.d.ts.map +1 -1
- package/dist/GlobalStyles/typographyStyles.d.ts.map +1 -1
- package/dist/Input/index.d.ts +15 -0
- package/dist/Input/index.d.ts.map +1 -1
- package/dist/Input/index.js +5 -5
- package/dist/Input/utils/getFocusableElements.d.ts.map +1 -1
- package/dist/InputDateUnstyled/index.d.ts +94 -0
- package/dist/InputDateUnstyled/index.d.ts.map +1 -0
- package/dist/InputDateUnstyled/index.js +406 -0
- package/dist/InputDateUnstyled/utils/convertHours.d.ts +4 -0
- package/dist/InputDateUnstyled/utils/convertHours.d.ts.map +1 -0
- package/dist/InputDateUnstyled/utils/convertHours.js +12 -0
- package/dist/InputDateUnstyled/utils/convertToFullYear.d.ts +3 -0
- package/dist/InputDateUnstyled/utils/convertToFullYear.d.ts.map +1 -0
- package/dist/InputDateUnstyled/utils/convertToFullYear.js +10 -0
- package/dist/InputDateUnstyled/utils/dateToString.d.ts +3 -0
- package/dist/InputDateUnstyled/utils/dateToString.d.ts.map +1 -0
- package/dist/InputDateUnstyled/utils/dateToString.js +10 -0
- package/dist/InputDateUnstyled/utils/daysInMonth.d.ts +7 -0
- package/dist/InputDateUnstyled/utils/daysInMonth.d.ts.map +1 -0
- package/dist/InputDateUnstyled/utils/daysInMonth.js +14 -0
- package/dist/InputDateUnstyled/utils/ensureCaretVisible.d.ts +3 -0
- package/dist/InputDateUnstyled/utils/ensureCaretVisible.d.ts.map +1 -0
- package/dist/InputDateUnstyled/utils/ensureCaretVisible.js +32 -0
- package/dist/InputDateUnstyled/utils/eraseSelectedTokens.d.ts +10 -0
- package/dist/InputDateUnstyled/utils/eraseSelectedTokens.d.ts.map +1 -0
- package/dist/InputDateUnstyled/utils/eraseSelectedTokens.js +29 -0
- package/dist/InputDateUnstyled/utils/replaceSubstring.d.ts +3 -0
- package/dist/InputDateUnstyled/utils/replaceSubstring.d.ts.map +1 -0
- package/dist/InputDateUnstyled/utils/replaceSubstring.js +9 -0
- package/dist/InputDateUnstyled/utils/same.d.ts +6 -0
- package/dist/InputDateUnstyled/utils/same.d.ts.map +1 -0
- package/dist/InputDateUnstyled/utils/same.js +3 -0
- package/dist/InputDateUnstyled/utils/stringToDay.d.ts +12 -0
- package/dist/InputDateUnstyled/utils/stringToDay.d.ts.map +1 -0
- package/dist/InputDateUnstyled/utils/stringToDay.js +55 -0
- package/dist/InputDateUnstyled/utils/stringToTime.d.ts +7 -0
- package/dist/InputDateUnstyled/utils/stringToTime.d.ts.map +1 -0
- package/dist/InputDateUnstyled/utils/stringToTime.js +40 -0
- package/dist/InputDateUnstyled/utils/token.d.ts +9 -0
- package/dist/InputDateUnstyled/utils/token.d.ts.map +1 -0
- package/dist/InputDateUnstyled/utils/token.js +66 -0
- package/dist/Link/index.d.ts.map +1 -1
- package/dist/Link/index.js +3 -8
- package/dist/LinkButton/index.d.ts.map +1 -1
- package/dist/LinkButton/index.js +0 -5
- package/dist/List/utils/bodyPointerEvents.d.ts.map +1 -1
- package/dist/List/utils/frameTimeout.d.ts.map +1 -1
- package/dist/List/utils/useRWLoadNext.d.ts.map +1 -1
- package/dist/LogoLink/index.d.ts.map +1 -1
- package/dist/LogoLink/index.js +1 -6
- package/dist/Menu/utils/useFocusWithArrows.d.ts.map +1 -1
- package/dist/Modal/index.d.ts +5 -0
- package/dist/Modal/index.d.ts.map +1 -1
- package/dist/Modal/index.js +53 -48
- package/dist/Navigation/utils/useScrollFlags.d.ts.map +1 -1
- package/dist/NavigationItem/index.d.ts.map +1 -1
- package/dist/NavigationItem/index.js +1 -6
- package/dist/Popover/utils/usePopoverPosition.d.ts.map +1 -1
- package/dist/ScrollButton/utils/useContainerPosition.d.ts.map +1 -1
- package/dist/ScrollButton/utils/useVisibility.d.ts.map +1 -1
- package/dist/Select/index.d.ts.map +1 -1
- package/dist/Select/index.js +2 -3
- package/dist/Switch/index.d.ts.map +1 -1
- package/dist/Switch/index.js +1 -7
- package/dist/TagLink/index.d.ts.map +1 -1
- package/dist/TagLink/index.js +1 -6
- package/dist/TimeGrid/index.d.ts +63 -0
- package/dist/TimeGrid/index.d.ts.map +1 -0
- package/dist/TimeGrid/index.js +111 -0
- package/dist/TimeGrid/utils/convertHours.d.ts +4 -0
- package/dist/TimeGrid/utils/convertHours.d.ts.map +1 -0
- package/dist/TimeGrid/utils/convertHours.js +12 -0
- package/dist/TimeGrid/utils/createTimes.d.ts +7 -0
- package/dist/TimeGrid/utils/createTimes.d.ts.map +1 -0
- package/dist/TimeGrid/utils/createTimes.js +15 -0
- package/dist/TimeGrid/utils/timeToString.d.ts +4 -0
- package/dist/TimeGrid/utils/timeToString.d.ts.map +1 -0
- package/dist/TimeGrid/utils/timeToString.js +12 -0
- package/dist/TimeGridSkeleton/index.d.ts +18 -0
- package/dist/TimeGridSkeleton/index.d.ts.map +1 -0
- package/dist/TimeGridSkeleton/index.js +33 -0
- package/dist/TimeList/index.d.ts +45 -0
- package/dist/TimeList/index.d.ts.map +1 -0
- package/dist/TimeList/index.js +80 -0
- package/dist/TimeList/utils/convertHours.d.ts +4 -0
- package/dist/TimeList/utils/convertHours.d.ts.map +1 -0
- package/dist/TimeList/utils/convertHours.js +12 -0
- package/dist/TimeList/utils/createTimes.d.ts +7 -0
- package/dist/TimeList/utils/createTimes.d.ts.map +1 -0
- package/dist/TimeList/utils/createTimes.js +15 -0
- package/dist/TimeList/utils/timeToString.d.ts +4 -0
- package/dist/TimeList/utils/timeToString.d.ts.map +1 -0
- package/dist/TimeList/utils/timeToString.js +12 -0
- package/dist/TimeListSkeleton/index.d.ts +13 -0
- package/dist/TimeListSkeleton/index.d.ts.map +1 -0
- package/dist/TimeListSkeleton/index.js +30 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/dist/message/styles.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/Button/index.tsx +1 -1
- package/src/ButtonLink/index.tsx +0 -5
- package/src/Checkbox/index.tsx +1 -6
- package/src/DateCalendar/Calendar.tsx +400 -0
- package/src/DateCalendar/MonthPicker.tsx +212 -0
- package/src/DateCalendar/index.tsx +135 -0
- package/src/DateCalendar/locale.ts +22 -0
- package/src/DateCalendar/utils/calendarDays.ts +61 -0
- package/src/DateCalendar/utils/dayOfWeek.ts +14 -0
- package/src/DateCalendar/utils/daysInMonth.ts +22 -0
- package/src/DateCalendar/utils/month.ts +30 -0
- package/src/DateCalendar/utils/shift.ts +14 -0
- package/src/DatePicker/index.tsx +506 -417
- package/src/DatePicker/utils/createTimes.ts +20 -0
- package/src/Input/index.tsx +11 -8
- package/src/InputDateUnstyled/index.tsx +533 -0
- package/src/InputDateUnstyled/utils/convertHours.ts +15 -0
- package/src/InputDateUnstyled/utils/convertToFullYear.ts +11 -0
- package/src/InputDateUnstyled/utils/dateToString.ts +21 -0
- package/src/InputDateUnstyled/utils/daysInMonth.ts +22 -0
- package/src/InputDateUnstyled/utils/ensureCaretVisible.ts +37 -0
- package/src/InputDateUnstyled/utils/eraseSelectedTokens.ts +38 -0
- package/src/InputDateUnstyled/utils/replaceSubstring.ts +10 -0
- package/src/InputDateUnstyled/utils/same.ts +15 -0
- package/src/InputDateUnstyled/utils/stringToDay.ts +69 -0
- package/src/InputDateUnstyled/utils/stringToTime.ts +48 -0
- package/src/InputDateUnstyled/utils/token.ts +102 -0
- package/src/Link/index.tsx +5 -25
- package/src/LinkButton/index.tsx +2 -15
- package/src/LogoLink/index.tsx +2 -6
- package/src/Modal/index.tsx +71 -60
- package/src/NavigationItem/index.tsx +2 -16
- package/src/Select/index.tsx +2 -3
- package/src/Switch/index.tsx +1 -11
- package/src/TagLink/index.tsx +3 -11
- package/src/TimeGrid/index.tsx +189 -0
- package/src/TimeGrid/utils/convertHours.ts +15 -0
- package/src/TimeGrid/utils/createTimes.ts +20 -0
- package/src/TimeGrid/utils/timeToString.ts +17 -0
- package/src/TimeGridSkeleton/index.tsx +50 -0
- package/src/TimeList/index.tsx +135 -0
- package/src/TimeList/utils/convertHours.ts +15 -0
- package/src/TimeList/utils/createTimes.ts +20 -0
- package/src/TimeList/utils/timeToString.ts +17 -0
- package/src/TimeListSkeleton/index.tsx +44 -0
- package/src/index.ts +12 -0
- package/dist/DatePicker/DatePickerCalendar.d.ts +0 -11
- package/dist/DatePicker/DatePickerCalendar.d.ts.map +0 -1
- package/dist/DatePicker/DatePickerCalendar.js +0 -178
- package/dist/TimePicker/index.d.ts +0 -29
- package/dist/TimePicker/index.d.ts.map +0 -1
- package/dist/TimePicker/index.js +0 -100
- package/src/DatePicker/DatePickerCalendar.tsx +0 -230
- package/src/TimePicker/index.tsx +0 -144
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { useForwardedState } from '@os-design/utils';
|
|
2
|
+
import { forwardRef, useEffect, useMemo, useRef, useState } from 'react';
|
|
3
|
+
import Calendar from './Calendar.js';
|
|
4
|
+
import { defaultLocale } from './locale.js';
|
|
5
|
+
import MonthPicker from './MonthPicker.js';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
/**
|
|
8
|
+
* The component to choose a date in a calendar.
|
|
9
|
+
*/
|
|
10
|
+
const DateCalendar = /*#__PURE__*/forwardRef(({
|
|
11
|
+
firstDayOfWeek = 0,
|
|
12
|
+
disabledDays,
|
|
13
|
+
locale = defaultLocale,
|
|
14
|
+
value,
|
|
15
|
+
defaultValue,
|
|
16
|
+
onChange = () => {},
|
|
17
|
+
...rest
|
|
18
|
+
}, ref) => {
|
|
19
|
+
const [forwardedValue, setForwardedValue] = useForwardedState({
|
|
20
|
+
value,
|
|
21
|
+
defaultValue,
|
|
22
|
+
onChange
|
|
23
|
+
});
|
|
24
|
+
const [showMonthPicker, setShowMonthPicker] = useState(false);
|
|
25
|
+
const today = useMemo(() => new Date(), []);
|
|
26
|
+
const [displayedMonth, setDisplayedMonth] = useState(() => {
|
|
27
|
+
if (forwardedValue) {
|
|
28
|
+
return {
|
|
29
|
+
year: forwardedValue.year,
|
|
30
|
+
month: forwardedValue.month
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
year: today.getFullYear(),
|
|
35
|
+
month: today.getMonth()
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
const displayedMonthRef = useRef(displayedMonth);
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
displayedMonthRef.current = displayedMonth;
|
|
41
|
+
}, [displayedMonth]);
|
|
42
|
+
|
|
43
|
+
// Update the displayed month if the value has been changed
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
if (forwardedValue && (forwardedValue.year !== displayedMonthRef.current.year || forwardedValue.month !== displayedMonthRef.current.month)) {
|
|
46
|
+
setDisplayedMonth({
|
|
47
|
+
year: forwardedValue.year,
|
|
48
|
+
month: forwardedValue.month
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}, [forwardedValue]);
|
|
52
|
+
return /*#__PURE__*/_jsx("div", {
|
|
53
|
+
...rest,
|
|
54
|
+
ref: ref,
|
|
55
|
+
children: showMonthPicker ? /*#__PURE__*/_jsx(MonthPicker, {
|
|
56
|
+
locale: locale,
|
|
57
|
+
month: displayedMonth,
|
|
58
|
+
onChangeMonth: month => {
|
|
59
|
+
setDisplayedMonth(month);
|
|
60
|
+
setShowMonthPicker(false);
|
|
61
|
+
},
|
|
62
|
+
today: today
|
|
63
|
+
}) : /*#__PURE__*/_jsx(Calendar, {
|
|
64
|
+
firstDayOfWeek: firstDayOfWeek,
|
|
65
|
+
disabledDays: disabledDays,
|
|
66
|
+
locale: locale,
|
|
67
|
+
value: forwardedValue,
|
|
68
|
+
onChange: setForwardedValue,
|
|
69
|
+
month: displayedMonth,
|
|
70
|
+
onChangeMonth: setDisplayedMonth,
|
|
71
|
+
onSelectMonth: () => setShowMonthPicker(true),
|
|
72
|
+
today: today
|
|
73
|
+
})
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
DateCalendar.displayName = 'DateCalendar';
|
|
77
|
+
export default DateCalendar;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../src/DateCalendar/locale.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,aAAa,EAAE,kBAgB3B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface Month {
|
|
2
|
+
year: number;
|
|
3
|
+
month: number;
|
|
4
|
+
}
|
|
5
|
+
export interface Day extends Month {
|
|
6
|
+
day: number;
|
|
7
|
+
}
|
|
8
|
+
declare const calendarDays: (month: Month, firstDayOfWeek?: number) => Day[];
|
|
9
|
+
export default calendarDays;
|
|
10
|
+
//# sourceMappingURL=calendarDays.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendarDays.d.ts","sourceRoot":"","sources":["../../../src/DateCalendar/utils/calendarDays.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,GAAI,SAAQ,KAAK;IAChC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,QAAA,MAAM,YAAY,GAAI,OAAO,KAAK,EAAE,iBAAgB,MAAU,KAAG,GAAG,EA6CnE,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import dayOfWeek from './dayOfWeek.js';
|
|
2
|
+
import daysInMonth from './daysInMonth.js';
|
|
3
|
+
import { nextMonth, prevMonth } from './month.js';
|
|
4
|
+
const calendarDays = (month, firstDayOfWeek = 0) => {
|
|
5
|
+
const days = [];
|
|
6
|
+
|
|
7
|
+
// Previous month
|
|
8
|
+
const firstDayOfWeekInMonth = dayOfWeek({
|
|
9
|
+
year: month.year,
|
|
10
|
+
month: month.month,
|
|
11
|
+
day: 1
|
|
12
|
+
});
|
|
13
|
+
const daysBeforeFirstDay = firstDayOfWeekInMonth >= firstDayOfWeek ? firstDayOfWeekInMonth - firstDayOfWeek : 7 - (firstDayOfWeek - firstDayOfWeekInMonth);
|
|
14
|
+
const pMonth = prevMonth(month);
|
|
15
|
+
const daysInPreviousMonth = daysInMonth(pMonth);
|
|
16
|
+
for (let i = 0; i < daysBeforeFirstDay; i++) {
|
|
17
|
+
days.push({
|
|
18
|
+
year: pMonth.year,
|
|
19
|
+
month: pMonth.month,
|
|
20
|
+
day: daysInPreviousMonth - daysBeforeFirstDay + i + 1
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Current month
|
|
25
|
+
const daysInCurrentMonth = daysInMonth(month);
|
|
26
|
+
for (let i = 1; i <= daysInCurrentMonth; i++) {
|
|
27
|
+
days.push({
|
|
28
|
+
year: month.year,
|
|
29
|
+
month: month.month,
|
|
30
|
+
day: i
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Next month
|
|
35
|
+
const daysAfterLastDay = 42 - days.length;
|
|
36
|
+
const nMonth = nextMonth(month);
|
|
37
|
+
for (let i = 1; i <= daysAfterLastDay; i++) {
|
|
38
|
+
days.push({
|
|
39
|
+
year: nMonth.year,
|
|
40
|
+
month: nMonth.month,
|
|
41
|
+
day: i
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return days;
|
|
45
|
+
};
|
|
46
|
+
export default calendarDays;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dayOfWeek.d.ts","sourceRoot":"","sources":["../../../src/DateCalendar/utils/dayOfWeek.ts"],"names":[],"mappings":"AAAA,UAAU,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAID,QAAA,MAAM,SAAS,GAAI,KAAK,GAAG,WAG1B,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daysInMonth.d.ts","sourceRoot":"","sources":["../../../src/DateCalendar/utils/daysInMonth.ts"],"names":[],"mappings":"AAAA,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,WAAW,GAAI,OAAO,KAAK,sBAchC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const daysInMonth = month => {
|
|
2
|
+
switch (month.month) {
|
|
3
|
+
case 1:
|
|
4
|
+
return month.year % 4 == 0 && month.year % 100 || month.year % 400 == 0 ? 29 : 28;
|
|
5
|
+
case 3:
|
|
6
|
+
case 5:
|
|
7
|
+
case 8:
|
|
8
|
+
case 10:
|
|
9
|
+
return 30;
|
|
10
|
+
default:
|
|
11
|
+
return 31;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
export default daysInMonth;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface Month {
|
|
2
|
+
year: number;
|
|
3
|
+
month: number;
|
|
4
|
+
}
|
|
5
|
+
export declare const nextMonth: (month: Month) => {
|
|
6
|
+
month: number;
|
|
7
|
+
year: number;
|
|
8
|
+
};
|
|
9
|
+
export declare const prevMonth: (month: Month) => {
|
|
10
|
+
month: number;
|
|
11
|
+
year: number;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=month.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"month.d.ts","sourceRoot":"","sources":["../../../src/DateCalendar/utils/month.ts"],"names":[],"mappings":"AAAA,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,SAAS,GAAI,OAAO,KAAK;;;CAWrC,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,KAAK;;;CAWrC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export const nextMonth = month => {
|
|
2
|
+
if (month.month === 11) {
|
|
3
|
+
return {
|
|
4
|
+
month: 0,
|
|
5
|
+
year: month.year + 1
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
return {
|
|
9
|
+
month: month.month + 1,
|
|
10
|
+
year: month.year
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export const prevMonth = month => {
|
|
14
|
+
if (month.month === 0) {
|
|
15
|
+
return {
|
|
16
|
+
month: 11,
|
|
17
|
+
year: month.year - 1
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
month: month.month - 1,
|
|
22
|
+
year: month.year
|
|
23
|
+
};
|
|
24
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shift.d.ts","sourceRoot":"","sources":["../../../src/DateCalendar/utils/shift.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,KAAK,GAAI,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,MAAM,KAAG,CAAC,EAWxC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -1,114 +1,120 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import type
|
|
3
|
-
import
|
|
1
|
+
import { type WithSize } from '@os-design/styles';
|
|
2
|
+
import { type ForwardedRef } from 'react';
|
|
3
|
+
import { type DateCalendarLocale } from '../DateCalendar/locale.js';
|
|
4
|
+
import type { Day, Month } from '../DateCalendar/utils/calendarDays.js';
|
|
5
|
+
import { type OnDayError, type Time } from '../InputDateUnstyled/index.js';
|
|
4
6
|
type JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'value' | 'defaultValue' | 'onChange' | 'ref'>;
|
|
5
|
-
interface
|
|
7
|
+
export interface DatePickerProps extends JsxDivProps, WithSize {
|
|
6
8
|
/**
|
|
7
|
-
* The
|
|
8
|
-
*
|
|
9
|
+
* The string format. Supported tokens:
|
|
10
|
+
* `DD` - The day of the month (01-31).
|
|
11
|
+
* `MM` - The month (01-12).
|
|
12
|
+
* `YYYY` - Four-digit year (2025).
|
|
13
|
+
* `YY` - Two-digit year (25).
|
|
14
|
+
* `hh` - The hour, 12-hour clock (01-12).
|
|
15
|
+
* `HH` - The hour, 24-hour clock (00-23).
|
|
16
|
+
* `mm` - The minute (00-59).
|
|
17
|
+
* `aa` - The meridiem (am, pm).
|
|
18
|
+
* @default `DD.MM.YYYY`
|
|
9
19
|
*/
|
|
10
|
-
|
|
20
|
+
format?: string;
|
|
11
21
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* @default false
|
|
22
|
+
* First day of week (0 - Sunday).
|
|
23
|
+
* @default 0
|
|
15
24
|
*/
|
|
16
|
-
|
|
25
|
+
firstDayOfWeek?: number;
|
|
17
26
|
/**
|
|
18
|
-
*
|
|
19
|
-
* @default
|
|
27
|
+
* Times shown in the list in minutes (600 is 10:00).
|
|
28
|
+
* @default []
|
|
20
29
|
*/
|
|
21
|
-
|
|
30
|
+
times?: Time[];
|
|
22
31
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* @default false
|
|
26
|
-
*/
|
|
27
|
-
rightHasPadding?: boolean;
|
|
28
|
-
/**
|
|
29
|
-
* The placeholder of the date picker.
|
|
30
|
-
* @default undefined
|
|
32
|
+
* Number of columns where the times are shown.
|
|
33
|
+
* @default 3
|
|
31
34
|
*/
|
|
32
|
-
|
|
35
|
+
timeColumns?: number;
|
|
33
36
|
/**
|
|
34
37
|
* Whether the date picker is disabled.
|
|
35
38
|
* @default false
|
|
36
39
|
*/
|
|
37
40
|
disabled?: boolean;
|
|
38
41
|
/**
|
|
39
|
-
*
|
|
40
|
-
* @default
|
|
42
|
+
* What days are not allowed to choose in the selected month.
|
|
43
|
+
* @default undefined
|
|
41
44
|
*/
|
|
42
|
-
|
|
45
|
+
disabledDays?: (month: Month) => number[] | Promise<number[]>;
|
|
43
46
|
/**
|
|
44
|
-
*
|
|
45
|
-
* @default
|
|
47
|
+
* What times are not allowed to choose in the selected day.
|
|
48
|
+
* @default undefined
|
|
46
49
|
*/
|
|
47
|
-
|
|
50
|
+
disabledTimes?: (day: Day) => Time[] | Promise<Time[]>;
|
|
48
51
|
/**
|
|
49
|
-
* The
|
|
52
|
+
* The locale.
|
|
50
53
|
* @default undefined
|
|
51
54
|
*/
|
|
52
|
-
|
|
55
|
+
locale?: DateCalendarLocale;
|
|
53
56
|
/**
|
|
54
|
-
*
|
|
55
|
-
*
|
|
57
|
+
* Whether to show the calendar and time picker.
|
|
58
|
+
* When autoOpen is false, there is a button on the right side. When
|
|
59
|
+
* the user clicks on it, the calendar/time picker is shown. This button
|
|
60
|
+
* is hidden when autoOpen is true on the wide screens.
|
|
61
|
+
* @default false
|
|
56
62
|
*/
|
|
57
|
-
|
|
63
|
+
showPicker?: boolean;
|
|
58
64
|
/**
|
|
59
|
-
*
|
|
60
|
-
* @default
|
|
65
|
+
* Whether the calendar and time picker is opened automatically.
|
|
66
|
+
* @default false
|
|
61
67
|
*/
|
|
62
|
-
|
|
68
|
+
autoOpen?: boolean;
|
|
63
69
|
/**
|
|
64
|
-
*
|
|
65
|
-
* @default
|
|
70
|
+
* The ref of the input container.
|
|
71
|
+
* @default undefined
|
|
66
72
|
*/
|
|
67
|
-
|
|
73
|
+
containerRef?: ForwardedRef<HTMLDivElement>;
|
|
68
74
|
/**
|
|
69
|
-
* The
|
|
70
|
-
* @default
|
|
75
|
+
* The props of the input container.
|
|
76
|
+
* @default undefined
|
|
71
77
|
*/
|
|
72
|
-
|
|
78
|
+
containerProps?: JSX.IntrinsicElements['div'];
|
|
73
79
|
/**
|
|
74
|
-
*
|
|
80
|
+
* The selected date.
|
|
75
81
|
* @default undefined
|
|
76
82
|
*/
|
|
77
|
-
value?:
|
|
83
|
+
value?: Date | null;
|
|
78
84
|
/**
|
|
79
85
|
* The default value.
|
|
80
86
|
* @default undefined
|
|
81
87
|
*/
|
|
82
|
-
defaultValue?:
|
|
88
|
+
defaultValue?: Date | null;
|
|
83
89
|
/**
|
|
84
90
|
* The change event handler.
|
|
85
91
|
* @default undefined
|
|
86
92
|
*/
|
|
87
|
-
onChange?: (value:
|
|
93
|
+
onChange?: (value: Date | null) => void;
|
|
88
94
|
/**
|
|
89
|
-
* The
|
|
95
|
+
* The callback called when the day is changed.
|
|
90
96
|
* @default undefined
|
|
91
97
|
*/
|
|
92
|
-
|
|
93
|
-
}
|
|
94
|
-
export interface DateNotRangePickerProps extends BaseDatePickerProps<Date> {
|
|
98
|
+
onDayChange?: (value: Day) => void;
|
|
95
99
|
/**
|
|
96
|
-
*
|
|
97
|
-
* @default
|
|
100
|
+
* The callback called when the time is changed.
|
|
101
|
+
* @default undefined
|
|
98
102
|
*/
|
|
99
|
-
|
|
100
|
-
}
|
|
101
|
-
export interface DateRangePickerProps extends BaseDatePickerProps<[Date, Date]> {
|
|
103
|
+
onTimeChange?: (value: Time) => void;
|
|
102
104
|
/**
|
|
103
|
-
*
|
|
104
|
-
* @default
|
|
105
|
+
* The error handler called when the day has been entered incorrectly.
|
|
106
|
+
* @default undefined
|
|
107
|
+
*/
|
|
108
|
+
onDayError?: OnDayError;
|
|
109
|
+
/**
|
|
110
|
+
* The callback called when the caret has been moved to the end.
|
|
111
|
+
* @default undefined
|
|
105
112
|
*/
|
|
106
|
-
|
|
113
|
+
onEnd?: () => void;
|
|
107
114
|
}
|
|
108
|
-
export type DatePickerProps = DateNotRangePickerProps | DateRangePickerProps;
|
|
109
115
|
/**
|
|
110
|
-
* The component to choose a date.
|
|
116
|
+
* The component to enter or choose a date/time.
|
|
111
117
|
*/
|
|
112
|
-
declare const DatePicker:
|
|
118
|
+
declare const DatePicker: import("react").ForwardRefExoticComponent<DatePickerProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
113
119
|
export default DatePicker;
|
|
114
120
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/DatePicker/index.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/DatePicker/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAQL,KAAK,YAAY,EAElB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAA0B,EAKxB,KAAK,UAAU,EACf,KAAK,IAAI,EAEV,MAAM,+BAA+B,CAAC;AAcvC,KAAK,WAAW,GAAG,IAAI,CACrB,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAC5B,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,KAAK,CAC9C,CAAC;AACF,MAAM,WAAW,eAAgB,SAAQ,WAAW,EAAE,QAAQ;IAC5D;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD;;;OAGG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAC5C;;;OAGG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC9C;;;OAGG;IACH,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IACxC;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACnC;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IACrC;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB;AA0ID;;GAEG;AACH,QAAA,MAAM,UAAU,8GAwWf,CAAC;AAIF,eAAe,UAAU,CAAC"}
|