@acusti/date-picker 0.5.1 → 0.6.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/dist/DatePicker.d.ts +7 -1
- package/dist/DatePicker.js +7 -5
- package/dist/DatePicker.js.flow +7 -0
- package/dist/DatePicker.js.map +1 -1
- package/package.json +1 -1
- package/src/DatePicker.tsx +15 -4
package/dist/DatePicker.d.ts
CHANGED
|
@@ -12,6 +12,12 @@ export type Props = {
|
|
|
12
12
|
dateEnd?: string | null;
|
|
13
13
|
dateStart: string;
|
|
14
14
|
}) => void;
|
|
15
|
+
/**
|
|
16
|
+
* Boolean to specify that date picker should initially render with the
|
|
17
|
+
* end date’s month visible. The default behavior is to initially render
|
|
18
|
+
* with the start date’s month visible.
|
|
19
|
+
*/
|
|
20
|
+
showEndInitially?: boolean;
|
|
15
21
|
useMonthAbbreviations?: boolean;
|
|
16
22
|
};
|
|
17
|
-
export default function DatePicker({ className, dateEnd: _dateEnd, dateStart: _dateStart, isRange, isTwoUp, initialMonth, monthLimitFirst, monthLimitLast, onChange, useMonthAbbreviations, }: Props): React.JSX.Element;
|
|
23
|
+
export default function DatePicker({ className, dateEnd: _dateEnd, dateStart: _dateStart, isRange, isTwoUp, initialMonth, monthLimitFirst, monthLimitLast, onChange, showEndInitially, useMonthAbbreviations, }: Props): React.JSX.Element;
|
package/dist/DatePicker.js
CHANGED
|
@@ -7,7 +7,7 @@ import { ROOT_CLASS_NAME, STYLES } from './styles/date-picker.js';
|
|
|
7
7
|
import { getMonthAbbreviationFromMonth, getMonthFromDate, getYearFromMonth, } from './utils.js';
|
|
8
8
|
const { Fragment, useCallback, useEffect, useRef, useState } = React;
|
|
9
9
|
const getAbbreviatedMonthTitle = (month) => `${getMonthAbbreviationFromMonth(month)} ${getYearFromMonth(month)}`;
|
|
10
|
-
export default function DatePicker({ className, dateEnd: _dateEnd, dateStart: _dateStart, isRange = _dateEnd != null, isTwoUp, initialMonth, monthLimitFirst, monthLimitLast, onChange, useMonthAbbreviations, }) {
|
|
10
|
+
export default function DatePicker({ className, dateEnd: _dateEnd, dateStart: _dateStart, isRange = _dateEnd != null, isTwoUp, initialMonth, monthLimitFirst, monthLimitLast, onChange, showEndInitially, useMonthAbbreviations, }) {
|
|
11
11
|
const dateEndFromProps = _dateEnd != null && typeof _dateEnd !== 'string'
|
|
12
12
|
? new Date(_dateEnd).toISOString()
|
|
13
13
|
: _dateEnd;
|
|
@@ -28,10 +28,12 @@ export default function DatePicker({ className, dateEnd: _dateEnd, dateStart: _d
|
|
|
28
28
|
setDateStart(dateStartFromProps);
|
|
29
29
|
}, [dateStartFromProps]);
|
|
30
30
|
if (initialMonth == null) {
|
|
31
|
-
//
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
// if no valid initial date, initially show present month as date end
|
|
32
|
+
const useDateEnd = dateStart == null || Boolean(showEndInitially && dateEnd);
|
|
33
|
+
// use date from props if set
|
|
34
|
+
const initialDate = useDateEnd ? dateEnd : dateStart;
|
|
35
|
+
initialMonth = getMonthFromDate(initialDate == null ? new Date() : new Date(initialDate));
|
|
36
|
+
if (useDateEnd && isTwoUp) {
|
|
35
37
|
initialMonth -= 1;
|
|
36
38
|
}
|
|
37
39
|
}
|
package/dist/DatePicker.js.flow
CHANGED
|
@@ -19,6 +19,13 @@ export type Props = {|
|
|
|
19
19
|
dateEnd?: string | null,
|
|
20
20
|
dateStart: string,
|
|
21
21
|
|}) => void,
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Boolean to specify that date picker should initially render with the
|
|
25
|
+
* end date’s month visible. The default behavior is to initially render
|
|
26
|
+
* with the start date’s month visible.
|
|
27
|
+
*/
|
|
28
|
+
showEndInitially?: boolean,
|
|
22
29
|
useMonthAbbreviations?: boolean,
|
|
23
30
|
|};
|
|
24
31
|
declare export default function DatePicker(x: Props): React.Node;
|
package/dist/DatePicker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../src/DatePicker.tsx"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EACH,6BAA6B,EAC7B,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../src/DatePicker.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/DatePicker.tsx
CHANGED
|
@@ -21,6 +21,12 @@ export type Props = {
|
|
|
21
21
|
monthLimitFirst?: number;
|
|
22
22
|
monthLimitLast?: number;
|
|
23
23
|
onChange: (payload: { dateEnd?: string | null; dateStart: string }) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Boolean to specify that date picker should initially render with the
|
|
26
|
+
* end date’s month visible. The default behavior is to initially render
|
|
27
|
+
* with the start date’s month visible.
|
|
28
|
+
*/
|
|
29
|
+
showEndInitially?: boolean;
|
|
24
30
|
useMonthAbbreviations?: boolean;
|
|
25
31
|
};
|
|
26
32
|
|
|
@@ -39,6 +45,7 @@ export default function DatePicker({
|
|
|
39
45
|
monthLimitFirst,
|
|
40
46
|
monthLimitLast,
|
|
41
47
|
onChange,
|
|
48
|
+
showEndInitially,
|
|
42
49
|
useMonthAbbreviations,
|
|
43
50
|
}: Props) {
|
|
44
51
|
const dateEndFromProps =
|
|
@@ -64,10 +71,14 @@ export default function DatePicker({
|
|
|
64
71
|
}, [dateStartFromProps]);
|
|
65
72
|
|
|
66
73
|
if (initialMonth == null) {
|
|
67
|
-
//
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
74
|
+
// if no valid initial date, initially show present month as date end
|
|
75
|
+
const useDateEnd = dateStart == null || Boolean(showEndInitially && dateEnd);
|
|
76
|
+
// use date from props if set
|
|
77
|
+
const initialDate = useDateEnd ? dateEnd : dateStart;
|
|
78
|
+
initialMonth = getMonthFromDate(
|
|
79
|
+
initialDate == null ? new Date() : new Date(initialDate),
|
|
80
|
+
);
|
|
81
|
+
if (useDateEnd && isTwoUp) {
|
|
71
82
|
initialMonth -= 1;
|
|
72
83
|
}
|
|
73
84
|
}
|