@kdcloudjs/kdesign 1.8.73 → 1.8.74
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/kdesign.css +1 -1
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +349 -150
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +1 -1
- package/dist/kdesign.min.js +10 -10
- package/dist/kdesign.min.js.map +1 -1
- package/es/date-picker/date-picker.js +28 -4
- package/es/date-picker/hooks/use-hover-value.d.ts +1 -1
- package/es/date-picker/hooks/use-hover-value.js +4 -2
- package/es/date-picker/hooks/use-value-texts.d.ts +3 -2
- package/es/date-picker/hooks/use-value-texts.js +3 -2
- package/es/date-picker/interface.d.ts +4 -0
- package/es/date-picker/locale/zh_CN.js +2 -0
- package/es/date-picker/range-picker.js +12 -8
- package/es/date-picker/utils/date-fns.d.ts +3 -3
- package/es/date-picker/utils/date-fns.js +73 -12
- package/es/locale/en-US.d.ts +2 -0
- package/es/locale/en-US.js +2 -0
- package/es/locale/locale.d.ts +2 -0
- package/es/locale/zh-CN.d.ts +2 -0
- package/lib/date-picker/date-picker.js +28 -4
- package/lib/date-picker/hooks/use-hover-value.d.ts +1 -1
- package/lib/date-picker/hooks/use-hover-value.js +4 -2
- package/lib/date-picker/hooks/use-value-texts.d.ts +3 -2
- package/lib/date-picker/hooks/use-value-texts.js +3 -2
- package/lib/date-picker/interface.d.ts +4 -0
- package/lib/date-picker/locale/zh_CN.js +2 -0
- package/lib/date-picker/range-picker.js +12 -8
- package/lib/date-picker/utils/date-fns.d.ts +3 -3
- package/lib/date-picker/utils/date-fns.js +73 -12
- package/lib/locale/en-US.d.ts +2 -0
- package/lib/locale/en-US.js +2 -0
- package/lib/locale/locale.d.ts +2 -0
- package/lib/locale/zh-CN.d.ts +2 -0
- package/package.json +1 -1
|
@@ -33,6 +33,28 @@ export var mergeDateLocale = function mergeDateLocale(globalLocale) {
|
|
|
33
33
|
}, function (_, index) {
|
|
34
34
|
return mergeLocale.monthTitle[index] || globalLocale.monthTitle[index];
|
|
35
35
|
});
|
|
36
|
+
if (mergeLocale.months) {
|
|
37
|
+
var mergedMonths = _Array$from({
|
|
38
|
+
length: 12
|
|
39
|
+
}, function (_, index) {
|
|
40
|
+
var _a;
|
|
41
|
+
return mergeLocale.months[index] || ((_a = globalLocale.months) === null || _a === void 0 ? void 0 : _a[index]) || '';
|
|
42
|
+
});
|
|
43
|
+
mergeLocale.months = mergedMonths.every(function (m) {
|
|
44
|
+
return m !== '';
|
|
45
|
+
}) ? mergedMonths : undefined;
|
|
46
|
+
}
|
|
47
|
+
if (mergeLocale.monthsShort) {
|
|
48
|
+
var mergedMonthsShort = _Array$from({
|
|
49
|
+
length: 12
|
|
50
|
+
}, function (_, index) {
|
|
51
|
+
var _a;
|
|
52
|
+
return mergeLocale.monthsShort[index] || ((_a = globalLocale.monthsShort) === null || _a === void 0 ? void 0 : _a[index]) || '';
|
|
53
|
+
});
|
|
54
|
+
mergeLocale.monthsShort = mergedMonthsShort.every(function (m) {
|
|
55
|
+
return m !== '';
|
|
56
|
+
}) ? mergedMonthsShort : undefined;
|
|
57
|
+
}
|
|
36
58
|
if ((mergeLocale === null || mergeLocale === void 0 ? void 0 : mergeLocale.month) && mergeLocale.month !== MONTH_DEFAULT_SUFFIX) {
|
|
37
59
|
var _context;
|
|
38
60
|
mergeLocale.monthTitle = _mapInstanceProperty(_context = mergeLocale.monthTitle).call(_context, function (d) {
|
|
@@ -173,7 +195,8 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
173
195
|
setViewDate(dateValue);
|
|
174
196
|
}, [dateValue]);
|
|
175
197
|
var valueText = useValueTexts(selectedValue, {
|
|
176
|
-
format: _format
|
|
198
|
+
format: _format,
|
|
199
|
+
locale: datePickerLang
|
|
177
200
|
});
|
|
178
201
|
var _useTextValueMapping = useTextValueMapping({
|
|
179
202
|
valueText: valueText,
|
|
@@ -182,7 +205,7 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
182
205
|
triggerChange(null);
|
|
183
206
|
setViewDate(null);
|
|
184
207
|
} else if (newText && newText.length >= _format.length) {
|
|
185
|
-
var inputTempDate = parseDate(newText, _format);
|
|
208
|
+
var inputTempDate = parseDate(newText, _format, datePickerLang);
|
|
186
209
|
if (inputTempDate && (!disabledDate || !disabledDate(inputTempDate))) {
|
|
187
210
|
if (picker !== 'year') {
|
|
188
211
|
triggerChange(inputTempDate);
|
|
@@ -200,7 +223,8 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
200
223
|
triggerTextChange = _useTextValueMapping2[1],
|
|
201
224
|
resetText = _useTextValueMapping2[2];
|
|
202
225
|
var _useHoverValue = useHoverValue(text, {
|
|
203
|
-
format: _format
|
|
226
|
+
format: _format,
|
|
227
|
+
locale: datePickerLang
|
|
204
228
|
}),
|
|
205
229
|
_useHoverValue2 = _slicedToArray(_useHoverValue, 3),
|
|
206
230
|
hoverValue = _useHoverValue2[0],
|
|
@@ -266,7 +290,7 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
266
290
|
onSelect(newValue);
|
|
267
291
|
}
|
|
268
292
|
if (onChange && !isEqual(dateValue, newValue)) {
|
|
269
|
-
onChange(newValue, newValue ? formatDate(newValue, _format) : '');
|
|
293
|
+
onChange(newValue, newValue ? formatDate(newValue, _format, datePickerLang) : '');
|
|
270
294
|
}
|
|
271
295
|
setSelectedValue(newValue);
|
|
272
296
|
setDateValue(newValue);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { DateType } from '../interface';
|
|
2
2
|
import { ValueTextConfig } from './use-value-texts';
|
|
3
|
-
export default function useHoverValue(valueText: string, { format }: ValueTextConfig): [string, (date: DateType) => void, (immediately?: boolean) => void];
|
|
3
|
+
export default function useHoverValue(valueText: string, { format, locale }: ValueTextConfig): [string, (date: DateType) => void, (immediately?: boolean) => void];
|
|
@@ -3,7 +3,8 @@ import isNumber from 'lodash/isNumber';
|
|
|
3
3
|
import { useState, useEffect, useRef } from 'react';
|
|
4
4
|
import useValueTexts from './use-value-texts';
|
|
5
5
|
export default function useHoverValue(valueText, _ref) {
|
|
6
|
-
var format = _ref.format
|
|
6
|
+
var format = _ref.format,
|
|
7
|
+
locale = _ref.locale;
|
|
7
8
|
var _useState = useState(null),
|
|
8
9
|
_useState2 = _slicedToArray(_useState, 2),
|
|
9
10
|
value = _useState2[0],
|
|
@@ -21,7 +22,8 @@ export default function useHoverValue(valueText, _ref) {
|
|
|
21
22
|
});
|
|
22
23
|
}
|
|
23
24
|
var valueTexts = useValueTexts(value, {
|
|
24
|
-
format: format
|
|
25
|
+
format: format,
|
|
26
|
+
locale: locale
|
|
25
27
|
});
|
|
26
28
|
function onEnter(date) {
|
|
27
29
|
setValue(date);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { DateFormat, DateType } from '../interface';
|
|
1
|
+
import { DateFormat, DateType, InnerLocale } from '../interface';
|
|
2
2
|
export interface ValueTextConfig {
|
|
3
3
|
format: DateFormat;
|
|
4
|
+
locale?: InnerLocale;
|
|
4
5
|
}
|
|
5
|
-
export default function useValueTexts(value: DateType | null, { format }: ValueTextConfig): string;
|
|
6
|
+
export default function useValueTexts(value: DateType | null, { format, locale }: ValueTextConfig): string;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { formatDate } from '../utils/date-fns';
|
|
2
2
|
import useStateMemo from './use-state-memo';
|
|
3
3
|
export default function useValueTexts(value, _ref) {
|
|
4
|
-
var format = _ref.format
|
|
4
|
+
var format = _ref.format,
|
|
5
|
+
locale = _ref.locale;
|
|
5
6
|
return useStateMemo(function () {
|
|
6
7
|
if (!value) {
|
|
7
8
|
return '';
|
|
8
9
|
}
|
|
9
|
-
var valueTexts = formatDate(value, format);
|
|
10
|
+
var valueTexts = formatDate(value, format, locale);
|
|
10
11
|
return valueTexts;
|
|
11
12
|
}, [value], function (prev, next) {
|
|
12
13
|
return prev !== next;
|
|
@@ -17,6 +17,8 @@ export interface Locale {
|
|
|
17
17
|
'DatePicker.month': string;
|
|
18
18
|
'DatePicker.weekTitle': WeekTitleType;
|
|
19
19
|
'DatePicker.monthTitle': MonthTitleType;
|
|
20
|
+
'DatePicker.months'?: MonthTitleType;
|
|
21
|
+
'DatePicker.monthsShort'?: MonthTitleType;
|
|
20
22
|
'DatePicker.rangePlaceholder': [string, string];
|
|
21
23
|
'DatePicker.rangeYearPlaceholder': [string, string];
|
|
22
24
|
'DatePicker.rangeMonthPlaceholder': [string, string];
|
|
@@ -40,6 +42,8 @@ export interface InnerLocale {
|
|
|
40
42
|
month: string;
|
|
41
43
|
weekTitle: WeekTitleType;
|
|
42
44
|
monthTitle: MonthTitleType;
|
|
45
|
+
months?: MonthTitleType;
|
|
46
|
+
monthsShort?: MonthTitleType;
|
|
43
47
|
rangePlaceholder: [string, string];
|
|
44
48
|
rangeYearPlaceholder: [string, string];
|
|
45
49
|
rangeMonthPlaceholder: [string, string];
|
|
@@ -12,6 +12,8 @@ var locale = {
|
|
|
12
12
|
'DatePicker.year': '年',
|
|
13
13
|
'DatePicker.weekTitle': ['日', '一', '二', '三', '四', '五', '六'],
|
|
14
14
|
'DatePicker.monthTitle': ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
|
|
15
|
+
'DatePicker.months': ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
|
|
16
|
+
'DatePicker.monthsShort': ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
|
|
15
17
|
'DatePicker.rangePlaceholder': ['开始日期', '结束日期'],
|
|
16
18
|
'DatePicker.rangeYearPlaceholder': ['开始年份', '结束年份'],
|
|
17
19
|
'DatePicker.rangeMonthPlaceholder': ['开始月份', '结束月份'],
|
|
@@ -197,17 +197,19 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
|
|
|
197
197
|
getViewDate = _useRangeViewDates2[0],
|
|
198
198
|
setViewDate = _useRangeViewDates2[1];
|
|
199
199
|
var startValueTexts = useValueTexts(getValue(selectedValue, 0), {
|
|
200
|
-
format: _format
|
|
200
|
+
format: _format,
|
|
201
|
+
locale: datePickerLang
|
|
201
202
|
});
|
|
202
203
|
var endValueTexts = useValueTexts(getValue(selectedValue, 1), {
|
|
203
|
-
format: _format
|
|
204
|
+
format: _format,
|
|
205
|
+
locale: datePickerLang
|
|
204
206
|
});
|
|
205
207
|
var _onTextChange = function onTextChange(newText, index) {
|
|
206
208
|
var inputTempDate;
|
|
207
209
|
if (newText === '') {
|
|
208
210
|
triggerChange(updateValues(selectedValue, null, index), index);
|
|
209
211
|
} else if (newText && newText.length >= _format.length) {
|
|
210
|
-
inputTempDate = parseDate(newText, _format);
|
|
212
|
+
inputTempDate = parseDate(newText, _format, datePickerLang);
|
|
211
213
|
var disabledFunc = index === 0 ? disabledStartDate : disabledEndDate;
|
|
212
214
|
if (inputTempDate && (!disabledFunc || !disabledFunc(inputTempDate))) {
|
|
213
215
|
if (picker !== 'year') {
|
|
@@ -245,14 +247,16 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
|
|
|
245
247
|
hoverRangedValue = _useState2[0],
|
|
246
248
|
setHoverRangedValue = _useState2[1];
|
|
247
249
|
var _useHoverValue = useHoverValue(startText, {
|
|
248
|
-
format: _format
|
|
250
|
+
format: _format,
|
|
251
|
+
locale: datePickerLang
|
|
249
252
|
}),
|
|
250
253
|
_useHoverValue2 = _slicedToArray(_useHoverValue, 3),
|
|
251
254
|
startHoverValue = _useHoverValue2[0],
|
|
252
255
|
onStartEnter = _useHoverValue2[1],
|
|
253
256
|
onStartLeave = _useHoverValue2[2];
|
|
254
257
|
var _useHoverValue3 = useHoverValue(endText, {
|
|
255
|
-
format: _format
|
|
258
|
+
format: _format,
|
|
259
|
+
locale: datePickerLang
|
|
256
260
|
}),
|
|
257
261
|
_useHoverValue4 = _slicedToArray(_useHoverValue3, 3),
|
|
258
262
|
endHoverValue = _useHoverValue4[0],
|
|
@@ -331,7 +335,7 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
|
|
|
331
335
|
setInnerValue(values);
|
|
332
336
|
}
|
|
333
337
|
if (onChange && (!isEqual(getValue(dateValue, 0), getValue(values, 0)) || !isEqual(getValue(dateValue, 1), getValue(values, 1)))) {
|
|
334
|
-
onChange(values, [values && values[0] ? formatDate(values[0], _format) : '', values && values[1] ? formatDate(values[1], _format) : '']);
|
|
338
|
+
onChange(values, [values && values[0] ? formatDate(values[0], _format, datePickerLang) : '', values && values[1] ? formatDate(values[1], _format, datePickerLang) : '']);
|
|
335
339
|
}
|
|
336
340
|
};
|
|
337
341
|
var triggerChange = function triggerChange(newValue, sourceIndex) {
|
|
@@ -351,8 +355,8 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
|
|
|
351
355
|
}
|
|
352
356
|
}
|
|
353
357
|
setSelectedValue(values);
|
|
354
|
-
var startStr = values && values[0] ? formatDate(values[0], _format) : '';
|
|
355
|
-
var endStr = values && values[1] ? formatDate(values[1], _format) : '';
|
|
358
|
+
var startStr = values && values[0] ? formatDate(values[0], _format, datePickerLang) : '';
|
|
359
|
+
var endStr = values && values[1] ? formatDate(values[1], _format, datePickerLang) : '';
|
|
356
360
|
if (onCalendarChange) {
|
|
357
361
|
var info = {
|
|
358
362
|
range: sourceIndex === 0 ? 'start' : 'end'
|
|
@@ -27,15 +27,15 @@ import setQuarter from 'date-fns/setQuarter';
|
|
|
27
27
|
import setYear from 'date-fns/setYear';
|
|
28
28
|
import isAfter from 'date-fns/isAfter';
|
|
29
29
|
import isBefore from 'date-fns/isBefore';
|
|
30
|
-
import { DateFormat, DateType } from '../interface';
|
|
30
|
+
import { DateFormat, DateType, InnerLocale } from '../interface';
|
|
31
31
|
export declare const DEFAULT_YEAR_ITEM_NUMBER = 12;
|
|
32
32
|
export declare const localeParse: (format: string) => string;
|
|
33
33
|
export declare function isNullEqual<T>(value1: T, value2: T): boolean | undefined;
|
|
34
34
|
export declare function newDate<DateType extends Date | string | number>(value?: DateType): Date | null;
|
|
35
|
-
export declare function parseDate(value: string, dateFormat: DateFormat): Date | null;
|
|
35
|
+
export declare function parseDate(value: string, dateFormat: DateFormat, locale?: InnerLocale): Date | null;
|
|
36
36
|
export { isDate };
|
|
37
37
|
export declare function isValid(date: DateType): boolean;
|
|
38
|
-
export declare function formatDate(date: DateType, _format: DateFormat, _locale?: string): string | null;
|
|
38
|
+
export declare function formatDate(date: DateType, _format: DateFormat, _locale?: string | InnerLocale): string | null;
|
|
39
39
|
export declare function setTime(date: DateType, { hour, minute, second }: {
|
|
40
40
|
hour?: number | undefined;
|
|
41
41
|
minute?: number | undefined;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
+
import _typeof from "@babel/runtime-corejs3/helpers/typeof";
|
|
1
2
|
import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
|
|
3
|
+
import _sortInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/sort";
|
|
4
|
+
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
|
|
5
|
+
import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find";
|
|
6
|
+
import _padStartInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/pad-start";
|
|
2
7
|
import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
|
|
3
8
|
import isDate from 'date-fns/isDate';
|
|
4
9
|
import isValidDate from 'date-fns/isValid';
|
|
@@ -83,19 +88,63 @@ export function newDate(value) {
|
|
|
83
88
|
var d = value ? typeof value === 'string' || value instanceof String ? parseISO(value) : toDate(value) : new Date();
|
|
84
89
|
return isValid(d) ? d : null;
|
|
85
90
|
}
|
|
86
|
-
export function parseDate(value, dateFormat) {
|
|
91
|
+
export function parseDate(value, dateFormat, locale) {
|
|
87
92
|
var parsedDate = null;
|
|
88
93
|
var strictParsingValueMatch = true;
|
|
89
94
|
if (_includesInstanceProperty(dateFormat).call(dateFormat, 'wo')) {
|
|
90
95
|
return parseWeek(value);
|
|
91
96
|
}
|
|
92
|
-
|
|
97
|
+
var normalizedValue = value;
|
|
98
|
+
var normalizedFormat = dateFormat;
|
|
99
|
+
if (locale) {
|
|
100
|
+
if (_includesInstanceProperty(dateFormat).call(dateFormat, 'MMMM') && locale.months) {
|
|
101
|
+
var _context, _context2;
|
|
102
|
+
var sortedIndices = _sortInstanceProperty(_context = _mapInstanceProperty(_context2 = locale.months).call(_context2, function (m, i) {
|
|
103
|
+
return {
|
|
104
|
+
name: m,
|
|
105
|
+
index: i
|
|
106
|
+
};
|
|
107
|
+
})).call(_context, function (a, b) {
|
|
108
|
+
return b.name.length - a.name.length;
|
|
109
|
+
});
|
|
110
|
+
var matched = _findInstanceProperty(sortedIndices).call(sortedIndices, function (_ref) {
|
|
111
|
+
var name = _ref.name;
|
|
112
|
+
return _includesInstanceProperty(value).call(value, name);
|
|
113
|
+
});
|
|
114
|
+
if (matched) {
|
|
115
|
+
var _context3;
|
|
116
|
+
normalizedValue = normalizedValue.replace(matched.name, _padStartInstanceProperty(_context3 = String(matched.index + 1)).call(_context3, 2, '0'));
|
|
117
|
+
normalizedFormat = normalizedFormat.replace('MMMM', 'MM');
|
|
118
|
+
}
|
|
119
|
+
} else if (_includesInstanceProperty(dateFormat).call(dateFormat, 'MMM') && locale.monthsShort) {
|
|
120
|
+
var _context4, _context5;
|
|
121
|
+
var _sortedIndices = _sortInstanceProperty(_context4 = _mapInstanceProperty(_context5 = locale.monthsShort).call(_context5, function (m, i) {
|
|
122
|
+
return {
|
|
123
|
+
name: m,
|
|
124
|
+
index: i
|
|
125
|
+
};
|
|
126
|
+
})).call(_context4, function (a, b) {
|
|
127
|
+
return b.name.length - a.name.length;
|
|
128
|
+
});
|
|
129
|
+
var _matched = _findInstanceProperty(_sortedIndices).call(_sortedIndices, function (_ref2) {
|
|
130
|
+
var name = _ref2.name;
|
|
131
|
+
return _includesInstanceProperty(value).call(value, name);
|
|
132
|
+
});
|
|
133
|
+
if (_matched) {
|
|
134
|
+
var _context6;
|
|
135
|
+
normalizedValue = normalizedValue.replace(_matched.name, _padStartInstanceProperty(_context6 = String(_matched.index + 1)).call(_context6, 2, '0'));
|
|
136
|
+
normalizedFormat = normalizedFormat.replace('MMM', 'MM');
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
parsedDate = parse(normalizedValue, localeParse(normalizedFormat), new Date());
|
|
93
141
|
if (!isValid(parsedDate)) {
|
|
94
|
-
if (
|
|
95
|
-
|
|
142
|
+
if (normalizedValue.length > 0) {
|
|
143
|
+
var _context7;
|
|
144
|
+
parsedDate = parse(normalizedValue, _sliceInstanceProperty(_context7 = localeParse(normalizedFormat)).call(_context7, 0, normalizedValue.length), new Date());
|
|
96
145
|
}
|
|
97
146
|
if (!isValid(parsedDate)) {
|
|
98
|
-
parsedDate = new Date(
|
|
147
|
+
parsedDate = new Date(normalizedValue);
|
|
99
148
|
}
|
|
100
149
|
}
|
|
101
150
|
return isValid(parsedDate) && strictParsingValueMatch ? parsedDate : null;
|
|
@@ -108,15 +157,27 @@ export function formatDate(date, _format, _locale) {
|
|
|
108
157
|
if (!isValid(date)) {
|
|
109
158
|
return null;
|
|
110
159
|
}
|
|
160
|
+
if (_locale && _typeof(_locale) === 'object') {
|
|
161
|
+
var monthIndex = getMonth(date);
|
|
162
|
+
var result = localeParse(_format);
|
|
163
|
+
if (_includesInstanceProperty(result).call(result, 'MMMM') && _locale.months) {
|
|
164
|
+
var escaped = _locale.months[monthIndex].replace(/'/g, "''");
|
|
165
|
+
result = result.replace(/MMMM/g, "'".concat(escaped, "'"));
|
|
166
|
+
} else if (_includesInstanceProperty(result).call(result, 'MMM') && _locale.monthsShort) {
|
|
167
|
+
var _escaped = _locale.monthsShort[monthIndex].replace(/'/g, "''");
|
|
168
|
+
result = result.replace(/MMM/g, "'".concat(_escaped, "'"));
|
|
169
|
+
}
|
|
170
|
+
return format(date, result);
|
|
171
|
+
}
|
|
111
172
|
return format(date, localeParse(_format));
|
|
112
173
|
}
|
|
113
|
-
export function setTime(date,
|
|
114
|
-
var
|
|
115
|
-
hour =
|
|
116
|
-
|
|
117
|
-
minute =
|
|
118
|
-
|
|
119
|
-
second =
|
|
174
|
+
export function setTime(date, _ref3) {
|
|
175
|
+
var _ref3$hour = _ref3.hour,
|
|
176
|
+
hour = _ref3$hour === void 0 ? 0 : _ref3$hour,
|
|
177
|
+
_ref3$minute = _ref3.minute,
|
|
178
|
+
minute = _ref3$minute === void 0 ? 0 : _ref3$minute,
|
|
179
|
+
_ref3$second = _ref3.second,
|
|
180
|
+
second = _ref3$second === void 0 ? 0 : _ref3$second;
|
|
120
181
|
return setHours(setMinutes(setSeconds(date, second), minute), hour);
|
|
121
182
|
}
|
|
122
183
|
export { setMinutes, setHours, setMonth, setQuarter, setYear };
|
package/es/locale/en-US.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ declare const locale: {
|
|
|
13
13
|
'DatePicker.year': string;
|
|
14
14
|
'DatePicker.weekTitle': string[];
|
|
15
15
|
'DatePicker.monthTitle': string[];
|
|
16
|
+
'DatePicker.months': string[];
|
|
17
|
+
'DatePicker.monthsShort': string[];
|
|
16
18
|
'DatePicker.rangePlaceholder': string[];
|
|
17
19
|
'DatePicker.rangeYearPlaceholder': string[];
|
|
18
20
|
'DatePicker.rangeMonthPlaceholder': string[];
|
package/es/locale/en-US.js
CHANGED
|
@@ -13,6 +13,8 @@ var locale = {
|
|
|
13
13
|
'DatePicker.year': '',
|
|
14
14
|
'DatePicker.weekTitle': ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
|
|
15
15
|
'DatePicker.monthTitle': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
|
16
|
+
'DatePicker.months': ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
|
|
17
|
+
'DatePicker.monthsShort': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
|
16
18
|
'DatePicker.rangePlaceholder': ['Start date', 'End date'],
|
|
17
19
|
'DatePicker.rangeYearPlaceholder': ['Start year', 'End year'],
|
|
18
20
|
'DatePicker.rangeMonthPlaceholder': ['Start month', 'End month'],
|
package/es/locale/locale.d.ts
CHANGED
|
@@ -146,6 +146,8 @@ declare class LocaleCache {
|
|
|
146
146
|
'DatePicker.month': string;
|
|
147
147
|
'DatePicker.weekTitle': import("../date-picker/interface").WeekTitleType;
|
|
148
148
|
'DatePicker.monthTitle': import("../date-picker/interface").MonthTitleType;
|
|
149
|
+
'DatePicker.months'?: import("../date-picker/interface").MonthTitleType | undefined;
|
|
150
|
+
'DatePicker.monthsShort'?: import("../date-picker/interface").MonthTitleType | undefined;
|
|
149
151
|
'DatePicker.rangePlaceholder': [string, string];
|
|
150
152
|
'DatePicker.rangeYearPlaceholder': [string, string];
|
|
151
153
|
'DatePicker.rangeMonthPlaceholder': [string, string];
|
package/es/locale/zh-CN.d.ts
CHANGED
|
@@ -118,6 +118,8 @@ declare const locale: {
|
|
|
118
118
|
'DatePicker.month': string;
|
|
119
119
|
'DatePicker.weekTitle': import("../date-picker/interface").WeekTitleType;
|
|
120
120
|
'DatePicker.monthTitle': import("../date-picker/interface").MonthTitleType;
|
|
121
|
+
'DatePicker.months'?: import("../date-picker/interface").MonthTitleType | undefined;
|
|
122
|
+
'DatePicker.monthsShort'?: import("../date-picker/interface").MonthTitleType | undefined;
|
|
121
123
|
'DatePicker.rangePlaceholder': [string, string];
|
|
122
124
|
'DatePicker.rangeYearPlaceholder': [string, string];
|
|
123
125
|
'DatePicker.rangeMonthPlaceholder': [string, string];
|
|
@@ -45,6 +45,28 @@ var mergeDateLocale = function mergeDateLocale(globalLocale) {
|
|
|
45
45
|
}, function (_, index) {
|
|
46
46
|
return mergeLocale.monthTitle[index] || globalLocale.monthTitle[index];
|
|
47
47
|
});
|
|
48
|
+
if (mergeLocale.months) {
|
|
49
|
+
var mergedMonths = (0, _from.default)({
|
|
50
|
+
length: 12
|
|
51
|
+
}, function (_, index) {
|
|
52
|
+
var _a;
|
|
53
|
+
return mergeLocale.months[index] || ((_a = globalLocale.months) === null || _a === void 0 ? void 0 : _a[index]) || '';
|
|
54
|
+
});
|
|
55
|
+
mergeLocale.months = mergedMonths.every(function (m) {
|
|
56
|
+
return m !== '';
|
|
57
|
+
}) ? mergedMonths : undefined;
|
|
58
|
+
}
|
|
59
|
+
if (mergeLocale.monthsShort) {
|
|
60
|
+
var mergedMonthsShort = (0, _from.default)({
|
|
61
|
+
length: 12
|
|
62
|
+
}, function (_, index) {
|
|
63
|
+
var _a;
|
|
64
|
+
return mergeLocale.monthsShort[index] || ((_a = globalLocale.monthsShort) === null || _a === void 0 ? void 0 : _a[index]) || '';
|
|
65
|
+
});
|
|
66
|
+
mergeLocale.monthsShort = mergedMonthsShort.every(function (m) {
|
|
67
|
+
return m !== '';
|
|
68
|
+
}) ? mergedMonthsShort : undefined;
|
|
69
|
+
}
|
|
48
70
|
if ((mergeLocale === null || mergeLocale === void 0 ? void 0 : mergeLocale.month) && mergeLocale.month !== MONTH_DEFAULT_SUFFIX) {
|
|
49
71
|
var _context;
|
|
50
72
|
mergeLocale.monthTitle = (0, _map.default)(_context = mergeLocale.monthTitle).call(_context, function (d) {
|
|
@@ -186,7 +208,8 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
186
208
|
setViewDate(dateValue);
|
|
187
209
|
}, [dateValue]);
|
|
188
210
|
var valueText = (0, _useValueTexts.default)(selectedValue, {
|
|
189
|
-
format: _format
|
|
211
|
+
format: _format,
|
|
212
|
+
locale: datePickerLang
|
|
190
213
|
});
|
|
191
214
|
var _useTextValueMapping = (0, _useTextValueMapping3.default)({
|
|
192
215
|
valueText: valueText,
|
|
@@ -195,7 +218,7 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
195
218
|
triggerChange(null);
|
|
196
219
|
setViewDate(null);
|
|
197
220
|
} else if (newText && newText.length >= _format.length) {
|
|
198
|
-
var inputTempDate = (0, _dateFns.parseDate)(newText, _format);
|
|
221
|
+
var inputTempDate = (0, _dateFns.parseDate)(newText, _format, datePickerLang);
|
|
199
222
|
if (inputTempDate && (!disabledDate || !disabledDate(inputTempDate))) {
|
|
200
223
|
if (picker !== 'year') {
|
|
201
224
|
triggerChange(inputTempDate);
|
|
@@ -213,7 +236,8 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
213
236
|
triggerTextChange = _useTextValueMapping2[1],
|
|
214
237
|
resetText = _useTextValueMapping2[2];
|
|
215
238
|
var _useHoverValue = (0, _useHoverValue3.default)(text, {
|
|
216
|
-
format: _format
|
|
239
|
+
format: _format,
|
|
240
|
+
locale: datePickerLang
|
|
217
241
|
}),
|
|
218
242
|
_useHoverValue2 = (0, _slicedToArray2.default)(_useHoverValue, 3),
|
|
219
243
|
hoverValue = _useHoverValue2[0],
|
|
@@ -279,7 +303,7 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
|
|
|
279
303
|
onSelect(newValue);
|
|
280
304
|
}
|
|
281
305
|
if (onChange && !(0, _dateFns.isEqual)(dateValue, newValue)) {
|
|
282
|
-
onChange(newValue, newValue ? (0, _dateFns.formatDate)(newValue, _format) : '');
|
|
306
|
+
onChange(newValue, newValue ? (0, _dateFns.formatDate)(newValue, _format, datePickerLang) : '');
|
|
283
307
|
}
|
|
284
308
|
setSelectedValue(newValue);
|
|
285
309
|
setDateValue(newValue);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { DateType } from '../interface';
|
|
2
2
|
import { ValueTextConfig } from './use-value-texts';
|
|
3
|
-
export default function useHoverValue(valueText: string, { format }: ValueTextConfig): [string, (date: DateType) => void, (immediately?: boolean) => void];
|
|
3
|
+
export default function useHoverValue(valueText: string, { format, locale }: ValueTextConfig): [string, (date: DateType) => void, (immediately?: boolean) => void];
|
|
@@ -10,7 +10,8 @@ var _isNumber = _interopRequireDefault(require("lodash/isNumber"));
|
|
|
10
10
|
var _react = require("react");
|
|
11
11
|
var _useValueTexts = _interopRequireDefault(require("./use-value-texts"));
|
|
12
12
|
function useHoverValue(valueText, _ref) {
|
|
13
|
-
var format = _ref.format
|
|
13
|
+
var format = _ref.format,
|
|
14
|
+
locale = _ref.locale;
|
|
14
15
|
var _useState = (0, _react.useState)(null),
|
|
15
16
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
16
17
|
value = _useState2[0],
|
|
@@ -28,7 +29,8 @@ function useHoverValue(valueText, _ref) {
|
|
|
28
29
|
});
|
|
29
30
|
}
|
|
30
31
|
var valueTexts = (0, _useValueTexts.default)(value, {
|
|
31
|
-
format: format
|
|
32
|
+
format: format,
|
|
33
|
+
locale: locale
|
|
32
34
|
});
|
|
33
35
|
function onEnter(date) {
|
|
34
36
|
setValue(date);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { DateFormat, DateType } from '../interface';
|
|
1
|
+
import { DateFormat, DateType, InnerLocale } from '../interface';
|
|
2
2
|
export interface ValueTextConfig {
|
|
3
3
|
format: DateFormat;
|
|
4
|
+
locale?: InnerLocale;
|
|
4
5
|
}
|
|
5
|
-
export default function useValueTexts(value: DateType | null, { format }: ValueTextConfig): string;
|
|
6
|
+
export default function useValueTexts(value: DateType | null, { format, locale }: ValueTextConfig): string;
|
|
@@ -8,12 +8,13 @@ exports.default = useValueTexts;
|
|
|
8
8
|
var _dateFns = require("../utils/date-fns");
|
|
9
9
|
var _useStateMemo = _interopRequireDefault(require("./use-state-memo"));
|
|
10
10
|
function useValueTexts(value, _ref) {
|
|
11
|
-
var format = _ref.format
|
|
11
|
+
var format = _ref.format,
|
|
12
|
+
locale = _ref.locale;
|
|
12
13
|
return (0, _useStateMemo.default)(function () {
|
|
13
14
|
if (!value) {
|
|
14
15
|
return '';
|
|
15
16
|
}
|
|
16
|
-
var valueTexts = (0, _dateFns.formatDate)(value, format);
|
|
17
|
+
var valueTexts = (0, _dateFns.formatDate)(value, format, locale);
|
|
17
18
|
return valueTexts;
|
|
18
19
|
}, [value], function (prev, next) {
|
|
19
20
|
return prev !== next;
|
|
@@ -17,6 +17,8 @@ export interface Locale {
|
|
|
17
17
|
'DatePicker.month': string;
|
|
18
18
|
'DatePicker.weekTitle': WeekTitleType;
|
|
19
19
|
'DatePicker.monthTitle': MonthTitleType;
|
|
20
|
+
'DatePicker.months'?: MonthTitleType;
|
|
21
|
+
'DatePicker.monthsShort'?: MonthTitleType;
|
|
20
22
|
'DatePicker.rangePlaceholder': [string, string];
|
|
21
23
|
'DatePicker.rangeYearPlaceholder': [string, string];
|
|
22
24
|
'DatePicker.rangeMonthPlaceholder': [string, string];
|
|
@@ -40,6 +42,8 @@ export interface InnerLocale {
|
|
|
40
42
|
month: string;
|
|
41
43
|
weekTitle: WeekTitleType;
|
|
42
44
|
monthTitle: MonthTitleType;
|
|
45
|
+
months?: MonthTitleType;
|
|
46
|
+
monthsShort?: MonthTitleType;
|
|
43
47
|
rangePlaceholder: [string, string];
|
|
44
48
|
rangeYearPlaceholder: [string, string];
|
|
45
49
|
rangeMonthPlaceholder: [string, string];
|
|
@@ -18,6 +18,8 @@ var locale = {
|
|
|
18
18
|
'DatePicker.year': '年',
|
|
19
19
|
'DatePicker.weekTitle': ['日', '一', '二', '三', '四', '五', '六'],
|
|
20
20
|
'DatePicker.monthTitle': ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
|
|
21
|
+
'DatePicker.months': ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
|
|
22
|
+
'DatePicker.monthsShort': ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
|
|
21
23
|
'DatePicker.rangePlaceholder': ['开始日期', '结束日期'],
|
|
22
24
|
'DatePicker.rangeYearPlaceholder': ['开始年份', '结束年份'],
|
|
23
25
|
'DatePicker.rangeMonthPlaceholder': ['开始月份', '结束月份'],
|
|
@@ -209,17 +209,19 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
|
|
|
209
209
|
getViewDate = _useRangeViewDates2[0],
|
|
210
210
|
setViewDate = _useRangeViewDates2[1];
|
|
211
211
|
var startValueTexts = (0, _useValueTexts.default)((0, _utils2.getValue)(selectedValue, 0), {
|
|
212
|
-
format: _format
|
|
212
|
+
format: _format,
|
|
213
|
+
locale: datePickerLang
|
|
213
214
|
});
|
|
214
215
|
var endValueTexts = (0, _useValueTexts.default)((0, _utils2.getValue)(selectedValue, 1), {
|
|
215
|
-
format: _format
|
|
216
|
+
format: _format,
|
|
217
|
+
locale: datePickerLang
|
|
216
218
|
});
|
|
217
219
|
var _onTextChange = function onTextChange(newText, index) {
|
|
218
220
|
var inputTempDate;
|
|
219
221
|
if (newText === '') {
|
|
220
222
|
triggerChange((0, _utils2.updateValues)(selectedValue, null, index), index);
|
|
221
223
|
} else if (newText && newText.length >= _format.length) {
|
|
222
|
-
inputTempDate = (0, _dateFns.parseDate)(newText, _format);
|
|
224
|
+
inputTempDate = (0, _dateFns.parseDate)(newText, _format, datePickerLang);
|
|
223
225
|
var disabledFunc = index === 0 ? disabledStartDate : disabledEndDate;
|
|
224
226
|
if (inputTempDate && (!disabledFunc || !disabledFunc(inputTempDate))) {
|
|
225
227
|
if (picker !== 'year') {
|
|
@@ -257,14 +259,16 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
|
|
|
257
259
|
hoverRangedValue = _useState2[0],
|
|
258
260
|
setHoverRangedValue = _useState2[1];
|
|
259
261
|
var _useHoverValue = (0, _useHoverValue5.default)(startText, {
|
|
260
|
-
format: _format
|
|
262
|
+
format: _format,
|
|
263
|
+
locale: datePickerLang
|
|
261
264
|
}),
|
|
262
265
|
_useHoverValue2 = (0, _slicedToArray2.default)(_useHoverValue, 3),
|
|
263
266
|
startHoverValue = _useHoverValue2[0],
|
|
264
267
|
onStartEnter = _useHoverValue2[1],
|
|
265
268
|
onStartLeave = _useHoverValue2[2];
|
|
266
269
|
var _useHoverValue3 = (0, _useHoverValue5.default)(endText, {
|
|
267
|
-
format: _format
|
|
270
|
+
format: _format,
|
|
271
|
+
locale: datePickerLang
|
|
268
272
|
}),
|
|
269
273
|
_useHoverValue4 = (0, _slicedToArray2.default)(_useHoverValue3, 3),
|
|
270
274
|
endHoverValue = _useHoverValue4[0],
|
|
@@ -343,7 +347,7 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
|
|
|
343
347
|
setInnerValue(values);
|
|
344
348
|
}
|
|
345
349
|
if (onChange && (!(0, _dateFns.isEqual)((0, _utils2.getValue)(dateValue, 0), (0, _utils2.getValue)(values, 0)) || !(0, _dateFns.isEqual)((0, _utils2.getValue)(dateValue, 1), (0, _utils2.getValue)(values, 1)))) {
|
|
346
|
-
onChange(values, [values && values[0] ? (0, _dateFns.formatDate)(values[0], _format) : '', values && values[1] ? (0, _dateFns.formatDate)(values[1], _format) : '']);
|
|
350
|
+
onChange(values, [values && values[0] ? (0, _dateFns.formatDate)(values[0], _format, datePickerLang) : '', values && values[1] ? (0, _dateFns.formatDate)(values[1], _format, datePickerLang) : '']);
|
|
347
351
|
}
|
|
348
352
|
};
|
|
349
353
|
var triggerChange = function triggerChange(newValue, sourceIndex) {
|
|
@@ -363,8 +367,8 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
|
|
|
363
367
|
}
|
|
364
368
|
}
|
|
365
369
|
setSelectedValue(values);
|
|
366
|
-
var startStr = values && values[0] ? (0, _dateFns.formatDate)(values[0], _format) : '';
|
|
367
|
-
var endStr = values && values[1] ? (0, _dateFns.formatDate)(values[1], _format) : '';
|
|
370
|
+
var startStr = values && values[0] ? (0, _dateFns.formatDate)(values[0], _format, datePickerLang) : '';
|
|
371
|
+
var endStr = values && values[1] ? (0, _dateFns.formatDate)(values[1], _format, datePickerLang) : '';
|
|
368
372
|
if (onCalendarChange) {
|
|
369
373
|
var info = {
|
|
370
374
|
range: sourceIndex === 0 ? 'start' : 'end'
|
|
@@ -27,15 +27,15 @@ import setQuarter from 'date-fns/setQuarter';
|
|
|
27
27
|
import setYear from 'date-fns/setYear';
|
|
28
28
|
import isAfter from 'date-fns/isAfter';
|
|
29
29
|
import isBefore from 'date-fns/isBefore';
|
|
30
|
-
import { DateFormat, DateType } from '../interface';
|
|
30
|
+
import { DateFormat, DateType, InnerLocale } from '../interface';
|
|
31
31
|
export declare const DEFAULT_YEAR_ITEM_NUMBER = 12;
|
|
32
32
|
export declare const localeParse: (format: string) => string;
|
|
33
33
|
export declare function isNullEqual<T>(value1: T, value2: T): boolean | undefined;
|
|
34
34
|
export declare function newDate<DateType extends Date | string | number>(value?: DateType): Date | null;
|
|
35
|
-
export declare function parseDate(value: string, dateFormat: DateFormat): Date | null;
|
|
35
|
+
export declare function parseDate(value: string, dateFormat: DateFormat, locale?: InnerLocale): Date | null;
|
|
36
36
|
export { isDate };
|
|
37
37
|
export declare function isValid(date: DateType): boolean;
|
|
38
|
-
export declare function formatDate(date: DateType, _format: DateFormat, _locale?: string): string | null;
|
|
38
|
+
export declare function formatDate(date: DateType, _format: DateFormat, _locale?: string | InnerLocale): string | null;
|
|
39
39
|
export declare function setTime(date: DateType, { hour, minute, second }: {
|
|
40
40
|
hour?: number | undefined;
|
|
41
41
|
minute?: number | undefined;
|